Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Команда set-version - Установка номера версии и\или номера сборки для конфигураций, расширений, внешних файлов 1С #495

Merged
merged 9 commits into from
Mar 25, 2022
Merged
40 changes: 30 additions & 10 deletions features/СборкаРасширений.feature
Original file line number Diff line number Diff line change
Expand Up @@ -13,42 +13,62 @@

Сценарий: Сборка одного расширения с явно заданной базой

Допустим каталог "epf" не существует
Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os compileext cfe РасширениеНовое1 --ibconnection /F./build/ib --language ru"
Тогда Я сообщаю вывод команды "oscript"
Тогда Код возврата команды "oscript" равен 0

Тогда Вывод команды "oscript" содержит
"""
Список расширений конфигурации:
РасширениеНовое1
"""

Тогда Код возврата команды "oscript" равен 0

Сценарий: Сборка одного расширения и сохранение в файл с явно заданной базой

Допустим каталог "epf" не существует
Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os compileexttocfe -s cfe -o РасширениеНовое1.cfe --ibconnection /F./build/ib --language ru"
Тогда Я сообщаю вывод команды "oscript"
Тогда Код возврата команды "oscript" равен 0

Тогда Вывод команды "oscript" содержит
"""
Список расширений конфигурации:
"""
Тогда Код возврата команды "oscript" равен 0
И файл "РасширениеНовое1.cfe" существует

Сценарий: Сборка одного расширения и сохранение в файл без базы

Допустим каталог "epf" не существует
Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os compileexttocfe -s cfe -o РасширениеНовое1.cfe --language ru"
Тогда Я сообщаю вывод команды "oscript"
Тогда Код возврата команды "oscript" равен 0

Тогда Вывод команды "oscript" содержит
"""
Список расширений конфигурации:
"""
Тогда Код возврата команды "oscript" равен 0
И файл "РасширениеНовое1.cfe" существует

# TODO Сценарий: Сборка каталога расширений с явно заданной базой

Сценарий: Сборка расширения из исходников в cfe-файл с изменением номера сборки
Допустим Я добавляю параметр "<КаталогПроекта>/src/main.os compileexttocfe" для команды "oscript"
И Я добавляю параметр "-s cfe -o РасширениеНовое1.cfe" для команды "oscript"
И Я добавляю параметр "--build-number 1516" для команды "oscript"
И Я добавляю параметр "--language ru" для команды "oscript"
Когда Я выполняю команду "oscript"
Тогда Вывод команды "oscript" содержит
| Изменяю номер сборки в исходниках конфигурации 1С на 1516 |
Тогда Вывод команды "oscript" содержит
"""
Список расширений конфигурации:
"""
И Код возврата команды "oscript" равен 0
И файл "РасширениеНовое1.cfe" существует

Тогда файл "cfe/Configuration.xml" содержит "<Version>1.1.0.1516</Version>"

Дано каталог "cfe-out" не существует
И Я очищаю параметры команды "oscript" в контексте

И Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os compileext cfe РасширениеНовое1 --ibconnection /F./build/ib --language ru"
И Я очищаю параметры команды "oscript" в контексте
Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os decompileext РасширениеНовое1 cfe-out --ibconnection /F./build/ib --language ru"
Тогда Код возврата равен 0

Тогда файл "cfe-out/Configuration.xml" содержит "<Version>1.1.0.1516</Version>"
38 changes: 34 additions & 4 deletions features/СобратьИзИсходников.feature
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# language: ru

Функционал: Проверка сборки из исходников конфигурации
Функционал: Сборка из исходников конфигурации
Как Разработчик/Инженер
Я Хочу иметь возможность загружать файлы конфигурации
Чтобы удостовериться в автоматизации сборки конфигурации из исходников
Expand All @@ -10,8 +10,7 @@
И я подготовил рабочую базу проекта "./build/ib" по умолчанию
И Я очищаю параметры команды "oscript" в контексте


Сценарий: Запуск сборки конфигурации из исходников в файл cf.
Сценарий: Запуск сборки конфигурации из исходников в файл cf
Допустим Я добавляю параметр "<КаталогПроекта>/src/main.os compile" для команды "oscript"
И Я добавляю параметр "-s ./cf" для команды "oscript"
И Я добавляю параметр "-o ./build/1Cv8.cf" для команды "oscript"
Expand All @@ -22,7 +21,7 @@
И Код возврата команды "oscript" равен 0
И файл "./build/1Cv8.cf" существует

Сценарий: Запуск сборки конфигурации из исходников в текущую базу данных.
Сценарий: Запуск сборки конфигурации из исходников в текущую базу данных
Допустим Я добавляю параметр "<КаталогПроекта>/src/main.os compile" для команды "oscript"
И Я добавляю параметр "-s ./cf" для команды "oscript"
И Я добавляю параметр "-c" для команды "oscript"
Expand All @@ -33,3 +32,34 @@
| Загрузка конфигурации из файлов успешно завершена|
И Код возврата команды "oscript" равен 0
И файл "./cf/ConfigDumpInfo.xml" существует

Сценарий: Запуск сборки конфигурации из исходников в файл cf с изменением номера сборки
Допустим Я добавляю параметр "<КаталогПроекта>/src/main.os compile" для команды "oscript"
И Я добавляю параметр "-s ./cf" для команды "oscript"
И Я добавляю параметр "-o ./build/1Cv8.cf" для команды "oscript"
И Я добавляю параметр "--build-number 1514" для команды "oscript"
И Я добавляю параметр "--language ru" для команды "oscript"
Когда Я выполняю команду "oscript"
Тогда Вывод команды "oscript" содержит
| Изменяю номер сборки в исходниках конфигурации 1С на 1514 |
| Сохранение конфигурации успешно завершено|
И Код возврата команды "oscript" равен 0

Тогда файл "./build/1Cv8.cf" существует
Тогда файл "cf/Configuration.xml" содержит "<Version>1.0.0.1514</Version>"

Дано файл "build/cf/Configuration.xml" не существует
Дано Я создаю каталог "build/cf" в рабочем каталоге
И Я очищаю параметры команды "oscript" в контексте

Дано Я добавляю параметр "<КаталогПроекта>/src/main.os decompile" для команды "oscript"
И Я добавляю параметр "-i ./build/1Cv8.cf" для команды "oscript"
И Я добавляю параметр "-o ./build/cf" для команды "oscript"
И Я добавляю параметр "--ibconnection /F./build/ib" для команды "oscript"
И Я добавляю параметр "--language ru" для команды "oscript"
Когда Я выполняю команду "oscript"
Тогда Вывод команды "oscript" содержит
| Запускаю выгрузку конфигурации в исходники |
| Выгрузка в исходники завершена |
И Код возврата команды "oscript" равен 0
Тогда файл "build/cf/Configuration.xml" содержит "<Version>1.0.0.1514</Version>"
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
# language: ru

Функционал: Установка номера версии или сборки файлов конфигурации, расширений, внешних обработок, отчетов
Как Разработчик/Инженер по тестированию
Я Хочу иметь возможность автоматической\автоматизированной установки номеров версий или сборок файлов 1С
Чтобы быстро выпускать новые релизы или собирать артефакты, отличающиеся номерами

Контекст:
Допустим я подготовил репозиторий и рабочий каталог проекта
И я подготовил рабочую базу проекта "./build/ib" по умолчанию

И Я сохраняю значение "INFO" в переменную окружения "LOGOS_LEVEL"
Дано Я очищаю параметры команды "oscript" в контексте

Сценарий: Изменение версии конфигурации, указан путь Configuration.xml для конфигурации

# И Я сохраняю значение "DEBUG" в переменную окружения "LOGOS_LEVEL"
Тогда файл "cf/Configuration.xml" содержит "<Version>1.0.0.0</Version>"

Когда Я добавляю параметр "<КаталогПроекта>/src/main.os set-version" для команды "oscript"
И Я добавляю параметр "--new-version 2.0.0.0" для команды "oscript"
И Я добавляю параметр "--src cf/Configuration.xml" для команды "oscript"

Когда Я выполняю команду "oscript"
# И Я сообщаю вывод команды "oscript"
Тогда Вывод команды "oscript" содержит
| Изменяю версию в исходниках конфигурации 1С на 2.0.0.0 |
| Старая версия 1.0.0.0 |

И Код возврата команды "oscript" равен 0

Тогда файл "cf/Configuration.xml" содержит "<Version>2.0.0.0</Version>"

Сценарий: Изменение версии конфигурации, указан путь Configuration.xml для расширения

Дано Я копирую каталог "cfe" из каталога "tests/fixtures" проекта в рабочий каталог
Тогда файл "cfe/Configuration.xml" содержит "<Version>1.1.0.0</Version>"

Когда Я добавляю параметр "<КаталогПроекта>/src/main.os set-version" для команды "oscript"
И Я добавляю параметр "--new-version 2.0.0.0" для команды "oscript"
И Я добавляю параметр "--src cfe/Configuration.xml" для команды "oscript"

Когда Я выполняю команду "oscript"
Тогда Вывод команды "oscript" содержит
| Изменяю версию в исходниках конфигурации 1С на 2.0.0.0 |
| Старая версия 1.1.0.0 |

И Код возврата команды "oscript" равен 0

Тогда файл "cfe/Configuration.xml" содержит "<Version>2.0.0.0</Version>"

Сценарий: Изменение версии конфигурации, указан каталог корня исходников конфигурации

Когда Я добавляю параметр "<КаталогПроекта>/src/main.os set-version" для команды "oscript"
И Я добавляю параметр "--new-version 2.0.0.0" для команды "oscript"
И Я добавляю параметр "--src cf" для команды "oscript"

Когда Я выполняю команду "oscript"
# И Я сообщаю вывод команды "oscript"
Тогда Вывод команды "oscript" содержит
| Изменяю версию в исходниках конфигурации 1С на 2.0.0.0 |
| Старая версия 1.0.0.0 |

И Код возврата команды "oscript" равен 0

Тогда файл "cf/Configuration.xml" содержит "<Version>2.0.0.0</Version>"

Сценарий: Изменение версии конфигурации, указан каталог корня исходников расширения

Дано Я копирую каталог "cfe" из каталога "tests/fixtures" проекта в рабочий каталог

Когда Я добавляю параметр "<КаталогПроекта>/src/main.os set-version" для команды "oscript"
И Я добавляю параметр "--new-version 2.0.0.0" для команды "oscript"
И Я добавляю параметр "--src cfe" для команды "oscript"

Когда Я выполняю команду "oscript"
Тогда Вывод команды "oscript" содержит
| Изменяю версию в исходниках конфигурации 1С на 2.0.0.0 |
| Старая версия 1.1.0.0 |

И Код возврата команды "oscript" равен 0

Тогда файл "cfe/Configuration.xml" содержит "<Version>2.0.0.0</Version>"

Сценарий: Изменение версии и конфигурации и расширения, указан каталог корня проекта

Дано Я копирую каталог "cfe" из каталога "tests/fixtures" проекта в рабочий каталог

Когда Я добавляю параметр "<КаталогПроекта>/src/main.os set-version" для команды "oscript"
И Я добавляю параметр "--new-version 2.0.0.0" для команды "oscript"
И Я добавляю параметр "--src ." для команды "oscript"

Когда Я выполняю команду "oscript"
Тогда Вывод команды "oscript" содержит
| Изменяю версию в исходниках конфигурации 1С на 2.0.0.0 |
| Старая версия 1.0.0.0 |
| Старая версия 1.1.0.0 |

И Код возврата команды "oscript" равен 0

Тогда файл "cf/Configuration.xml" содержит "<Version>2.0.0.0</Version>"
Тогда файл "cfe/Configuration.xml" содержит "<Version>2.0.0.0</Version>"

Сценарий: Изменение версии, если в файле не задана версия

Дано Я копирую каталог "cfe_without_version" из каталога "tests/fixtures" проекта в рабочий каталог

Когда Я добавляю параметр "<КаталогПроекта>/src/main.os set-version" для команды "oscript"
И Я добавляю параметр "--new-version 2.0.0.0" для команды "oscript"
И Я добавляю параметр "--src cfe_without_version" для команды "oscript"

Когда Я выполняю команду "oscript"
Тогда Вывод команды "oscript" содержит
| Изменяю версию в исходниках конфигурации 1С на 2.0.0.0 |
| Старая версия |

И Код возврата команды "oscript" равен 0

Тогда файл "cfe_without_version/Configuration.xml" содержит "<Version>2.0.0.0</Version>"
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-i",
"Краткая команда 'Путь к файлу cf --in', пример: -i ./1Cv8.cf");
Парсер.ДобавитьПараметрФлагКоманды(ОписаниеКоманды, "--current", "Флаг выгрузки из текущей базы или -с");
Парсер.ДобавитьПараметрФлагКоманды(ОписаниеКоманды, "-c", "Флаг выгрузки из текущей базы, кратка форма от --current");
Парсер.ДобавитьПараметрФлагКоманды(ОписаниеКоманды, "-c", "Флаг выгрузки из текущей базы, краткая форма от --current");
Парсер.ДобавитьПараметрФлагКоманды(ОписаниеКоманды, "--userenames", "Использовать файл переименований renames");

Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-v", "Путь к файлу версии, краткая от --versions");
Expand Down
Loading