Skip to content

Commit

Permalink
Merge branch 'release/2.4.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
nixel2007 committed Dec 11, 2017
2 parents f43a465 + 410186a commit dbb748a
Show file tree
Hide file tree
Showing 20 changed files with 1,118 additions and 198 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,4 @@ exec\.log
bdd-log\.xml

*.ospx
oscript_modules/
4 changes: 3 additions & 1 deletion Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,9 @@ pipeline {
script {
if( fileExists ('tasks/test.os') ){
bat 'chcp 65001 > nul && oscript tasks/test.os'
junit 'tests.xml'

junit allowEmptyResults: true, testResults: 'tests.xml'
junit allowEmptyResults: true, testResults: 'bdd-log.xml'
}
else
echo 'no testing task'
Expand Down
42 changes: 42 additions & 0 deletions config-example.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
{
"gitsync-options":
{
"global":
{
"email-domain": "server.com",
"v8-version": "8.3.10",
"git-executable": "git"
}
},
"repositories" : [
{
"name" : "test",
"git-local-path": "Путь",
"git-remote": "адрес2",
"v8-storage-dir": "каталог2",
"process-fatform-modules": "on",
"push-every-n-commits": 5,
"auto-set-tags": "on",
"stop-if-empty-comment": "on",
"check-authors": "on"
//"email-domain",
//"v8-version",
//"git-executable",
},
{
"name" : "test2",
"git-local-path": "Путь2",
"git-remote": "адрес2",
"v8-storage-dir": "каталог2",
"process-fatform-modules": "on",
"push-every-n-commits": 5,
"auto-set-tags": "on",
"stop-if-empty-comment": "on",
"check-authors": "on"
//"email-domain",
//"v8-version",
//"git-executable",

}
]
}
95 changes: 95 additions & 0 deletions features/gitsync-sync.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
# language: ru

Функционал: Инициализация каталога исходников конфигурации
Как Пользователь
Я хочу выполнять автоматическую синхронизацию конфигурации из хранилища
Чтобы автоматизировать свою работы с хранилищем с git

Контекст: Тестовый контекст
Когда Я очищаю параметры команды "gitsync" в контексте
И Я устанавливаю путь выполнения команды "gitsync" к текущей библиотеке
И Я добавляю параметр "sync" для команды "gitsync"
И Я создаю временный каталог и сохраняю его в контекст
И я скопировал каталог тестового хранилища конфигурации во временный каталог
И Я сохраняю значение временного каталога в переменной "КаталогХранилища1С"
И Я создаю временный каталог и сохраняю его в контекст
И Я сохраняю значение временного каталога в переменной "ПутьКаталогаИсходников"
И Я создаю тестовой файл AUTHORS
И Я записываю "0" в файл VERSION
И Я создаю временный каталог и сохраняю его в контекст
И Я инициализирую bare репозиторий во временном каталоге
И Я сохраняю значение временного каталога в переменной "URLРепозитория"
И я инициализирую связь "ПутьКаталогаИсходников" с внешним репозиторием "URLРепозитория"
И я включаю отладку лога с именем "oscript.app.gitsync"
И Я добавляю позиционный параметр для команды "gitsync" из переменной "КаталогХранилища1С"
И Я добавляю позиционный параметр для команды "gitsync" из переменной "URLРепозитория"
И Я добавляю позиционный параметр для команды "gitsync" из переменной "ПутьКаталогаИсходников"

Сценарий: Простая синхронизация хранилища с git-репозиторием
Допустим Я создаю временный каталог и сохраняю его в контекст
И Я сохраняю значение временного каталога в переменной "ВременнаяДиректория"
И Я добавляю параметр "-tempdir" для команды "gitsync" из переменной "ВременнаяДиректория"
Когда Я выполняю команду "gitsync"
Тогда Вывод команды "gitsync" содержит "ИНФОРМАЦИЯ - Синхронизация завершена"
И Вывод команды "gitsync" не содержит "Внешнее исключение"
И Код возврата команды "gitsync" равен 0

Сценарий: Синхронизация хранилища с git-репозиторием без tool1CD
Допустим Я добавляю параметры для команды "gitsync"
|--storage-user Администратор|
|-useVendorUnload|
Когда Я выполняю команду "gitsync"
Тогда Вывод команды "gitsync" содержит "ИНФОРМАЦИЯ - Синхронизация завершена"
И Вывод команды "gitsync" не содержит "Внешнее исключение"
И Код возврата команды "gitsync" равен 0

Сценарий: Синхронизация хранилища с git-репозиторием с дополнительными параметрами без tool1CD
Допустим Я добавляю параметр "-useVendorUnload" для команды "gitsync"
И Я создаю временный каталог и сохраняю его в контекст
И Я сохраняю значение временного каталога в переменной "ВременнаяДиректория"
И Я добавляю параметр "-tempdir" для команды "gitsync" из переменной "ВременнаяДиректория"
И Я добавляю параметры для команды "gitsync"
|--storage-user Администратор|
|-useVendorUnload|
|-check-authors|
|-auto-set-tags|
|-process-fatform-modules|
И Я добавляю параметр "-push-every-n-commits 5" для команды "gitsync"
Когда Я выполняю команду "gitsync"
Тогда Вывод команды "gitsync" содержит "ИНФОРМАЦИЯ - Синхронизация завершена"
И Вывод команды "gitsync" не содержит "Внешнее исключение"
И Код возврата команды "gitsync" равен 0

Сценарий: Синхронизация хранилища с git-репозиторием с выгрузкой только изменений
Допустим Я создаю временный каталог и сохраняю его в контекст
И Я сохраняю значение временного каталога в переменной "ВременнаяДиректория"
И Я добавляю параметр "-increment" для команды "gitsync"
Когда Я выполняю команду "gitsync"
Тогда Вывод команды "gitsync" содержит "ИНФОРМАЦИЯ - Синхронизация завершена"
И Вывод команды "gitsync" не содержит "Внешнее исключение"
И Код возврата команды "gitsync" равен 0

Сценарий: Синхронизация хранилища с git-репозиторием с выгрузкой только изменений без tool1CD
Допустим Я добавляю параметры для команды "gitsync"
|--storage-user Администратор|
|-increment|
|-useVendorUnload|
Когда Я выполняю команду "gitsync"
Тогда Вывод команды "gitsync" содержит "ИНФОРМАЦИЯ - Синхронизация завершена"
И Вывод команды "gitsync" не содержит "Внешнее исключение"
И Код возврата команды "gitsync" равен 0


Сценарий: Синхронизация хранилища с git-репозиторием с проверкой заполненности комментария
Допустим Я добавляю параметр "-stop-if-empty-comment" для команды "gitsync"
Когда Я выполняю команду "gitsync"
Тогда Вывод команды "gitsync" содержит "КРИТИЧНАЯОШИБКА - Нашли следующую версию <4> от автора <Администратор>, а комментарий не задан!"
И Код возврата команды "gitsync" равен 1

Сценарий: Синхронизация хранилища с git-репозиторием с проверкой авторов версий в хранилище
Допустим Я добавляю параметр "-check-authors" для команды "gitsync"
И Я создаю неполный тестовой файл AUTHORS
И Я инициализирую связь "ПутьКаталогаИсходников" с внешним репозиторием "URLРепозитория"
Когда Я выполняю команду "gitsync"
Тогда Вывод команды "gitsync" содержит "КРИТИЧНАЯОШИБКА - Пользователю хранилища <Администратор> не сопоставлен пользователь git."
И Код возврата команды "gitsync" равен 1
2 changes: 1 addition & 1 deletion features/step_definitions/gitsync-init.os
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@

ОжидаемыйКодВозврата = 0;

СтрокаКоманды = СтрШаблон("oscript.exe %1 %2 %3 %4", "-encoding=utf-8", ПутьГитсинк, Команда, БДД.ПолучитьИзКонтекста("ПараметрыГитсинк"));
СтрокаКоманды = СтрШаблон("oscript %1 %2 %3 %4", "-encoding=utf-8", ПутьГитсинк, Команда, БДД.ПолучитьИзКонтекста("ПараметрыГитсинк"));

ТекстФайла = "";
КодВозврата = ВыполнитьПроцесс(СтрокаКоманды, ТекстФайла);
Expand Down
Loading

0 comments on commit dbb748a

Please sign in to comment.