Skip to content

Commit

Permalink
Merge pull request vanessa-opensource#158 from pumbaEO/feature/addlan…
Browse files Browse the repository at this point in the history
…guage

Feature/addlanguage
  • Loading branch information
artbear authored Sep 4, 2017
2 parents f8bd383 + defb6e5 commit 875bb7a
Show file tree
Hide file tree
Showing 31 changed files with 791 additions and 251 deletions.
8 changes: 8 additions & 0 deletions features/ИнициализацияОкружения.feature
Original file line number Diff line number Diff line change
Expand Up @@ -78,3 +78,11 @@
И В списке баз есть база по пути "<РабочийКаталог>/./build/ib"
И В списке баз нахожу базу для проекта "<РабочийКаталог>"

Сценарий: Инициализация рабочей базы по умолчанию с en языком в ./build/ib
Когда Я сохраняю каталог проекта в контекст
И Я выполняю команду "oscript" c параметрами "<КаталогПроекта>/src/main.os init-dev --src ./cf --nocacheuse --language en"
И Я сообщаю вывод команды "oscript"
Тогда Вывод команды "oscript" содержит "Database configuration successfully updated"
И Код возврата команды "oscript" равен 0
И Файл "build/ib/1Cv8.1CD" существует
И Файл "build/ibservice/1Cv8.1CD" не существует
28 changes: 28 additions & 0 deletions features/ОбновлениеКонфигурацииБД.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# language: ru

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

Контекст: Подготовка репозитория и рабочего каталога проекта 1С
Допустим я включаю отладку лога с именем "oscript.app.vanessa-runner"
И Я очищаю параметры команды "oscript" в контексте

Допустим Я создаю временный каталог и сохраняю его в контекст
И Я устанавливаю временный каталог как рабочий каталог
И Я инициализирую репозиторий git в рабочем каталоге
Допустим Я создаю каталог "build/out" в рабочем каталоге
И Я копирую каталог "cf" из каталога "tests/fixtures" проекта в рабочий каталог

И Я установил рабочий каталог как текущий каталог

Сценарий: Обновление dev базы по умолчанию в ./build/ibservice
Когда Я сохраняю каталог проекта в контекст
Когда Я выполняю команду "oscript" c параметрами "<КаталогПроекта>/src/main.os init-dev --src ./cf --nocacheuse --dev"
И Я очищаю параметры команды "oscript" в контексте

Тогда Я выполняю команду "oscript" c параметрами "<КаталогПроекта>/src/main.os updatedb --ibconnection /F./build/ibservice --uccode test"
И Я сообщаю вывод команды "oscript"
Тогда Вывод команды "oscript" содержит "Обновление конфигурации базы данных успешно завершено"
И Код возврата команды "oscript" равен 0
59 changes: 59 additions & 0 deletions features/ПроверкаСинтаксиса.feature
Original file line number Diff line number Diff line change
Expand Up @@ -61,3 +61,62 @@
И Файл "junit.xml" содержит 'status="passed"'
И Код возврата команды "oscript" равен 0
# Тогда в лог-файле запуска продукта есть строка 'testsuite name="Синтаксическая проверка конфигурации"'

Сценарий: Синтаксическая проверка базы с ошибками c результатами в формате JUnit с группировкой
# Допустим я включаю отладку лога с именем "oscript.app.vanessa-runner"
Допустим Я очищаю параметры команды "oscript" в контексте

И Я копирую каталог "cfbad" из каталога "tests/fixtures" проекта в рабочий каталог
И Я выполняю команду "oscript" c параметрами "<КаталогПроекта>/src/main.os init-dev --src ./cfbad --nocacheuse --ibconnection /F./build/ib"

Когда Я очищаю параметры команды "oscript" в контексте
Когда Я добавляю параметр "<КаталогПроекта>/src/main.os syntax-check" для команды "oscript"
И Я добавляю параметр "--junitpath junit.xml" для команды "oscript"
И Я добавляю параметр "--groupbymetadata" для команды "oscript"
И Я добавляю параметр "--ibconnection /Fbuild/ib" для команды "oscript"
И Я добавляю параметр "--mode -ThinClient -WebClient -Server -ExternalConnection -ThickClientOrdinaryApplication" для команды "oscript"
Когда Я выполняю команду "oscript"
И файл "junit.xml" существует
И Файл "junit.xml" содержит
"""
<testsuite name="CheckConfig.junit">
"""
И Файл "junit.xml" содержит 'status="failure"'

Сценарий: Синтаксическая проверка базы с ошибками c результатами в формате JUnit БЕЗ группировки
# Допустим я включаю отладку лога с именем "oscript.app.vanessa-runner"
Допустим Я очищаю параметры команды "oscript" в контексте

И Я копирую каталог "cfbad" из каталога "tests/fixtures" проекта в рабочий каталог
И Я выполняю команду "oscript" c параметрами "<КаталогПроекта>/src/main.os init-dev --src ./cfbad --nocacheuse --ibconnection /F./build/ib"

Когда Я очищаю параметры команды "oscript" в контексте
Когда Я добавляю параметр "<КаталогПроекта>/src/main.os syntax-check" для команды "oscript"
И Я добавляю параметр "--junitpath junit.xml" для команды "oscript"
И Я добавляю параметр "--ibconnection /Fbuild/ib" для команды "oscript"
И Я добавляю параметр "--mode -ThinClient -WebClient -Server -ExternalConnection -ThickClientOrdinaryApplication" для команды "oscript"
Когда Я выполняю команду "oscript"
И файл "junit.xml" существует
И Файл "junit.xml" содержит
"""
<testsuite name="CheckConfig.junit">
"""
И Файл "junit.xml" содержит 'status="failure"'

Сценарий: Синтаксическая проверка базы с ошибками пустых обработчиков с группировкой
# Допустим я включаю отладку лога с именем "oscript.app.vanessa-runner"
Допустим Я очищаю параметры команды "oscript" в контексте

Когда Я очищаю параметры команды "oscript" в контексте
И Я добавляю параметр "<КаталогПроекта>/src/main.os syntax-check" для команды "oscript"
И Я добавляю параметр "--junitpath junit.xml" для команды "oscript"
И Я добавляю параметр "--groupbymetadata" для команды "oscript"
И Я добавляю параметр "--ibconnection /Fbuild/ib" для команды "oscript"
И Я добавляю параметр "--mode -ThinClient -WebClient -Server -ExternalConnection -ThickClientOrdinaryApplication -EmptyHandlers" для команды "oscript"
Когда Я выполняю команду "oscript"
И файл "junit.xml" существует
И Файл "junit.xml" содержит
"""
<testsuite name="CheckConfig.junit">
"""
И Файл "junit.xml" содержит 'status="passed"'
5 changes: 5 additions & 0 deletions src/main.os
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,8 @@
СоответствиеПеременных.Вставить("RUNNER_PATHXUNIT", "--pathxunit");
СоответствиеПеременных.Вставить("RUNNER_VANESSASETTINGS", "--vanessasettings");
СоответствиеПеременных.Вставить("RUNNER_NOCACHEUSE", "--nocacheuse");
СоответствиеПеременных.Вставить("RUNNER_LOCALE", "--locale");
СоответствиеПеременных.Вставить("RUNNER_LANGUAGE", "--language");

Возврат Новый ФиксированноеСоответствие(СоответствиеПеременных);
КонецФункции
Expand Down Expand Up @@ -186,6 +188,7 @@
УстановитьКаталогТекущегоПроекта(ЗначенияПараметров["--root"]);

ДобавитьДанныеПодключения(ЗначенияПараметров);

КонецПроцедуры

Процедура ДобавитьДанныеПодключения(ЗначенияПараметров)
Expand Down Expand Up @@ -238,6 +241,8 @@

СтруктураПодключения.Вставить("Пользователь", ЗначенияПараметров["--db-user"]);
СтруктураПодключения.Вставить("Пароль", ЗначенияПараметров["--db-pwd"]);
СтруктураПодключения.Вставить("КодЯзыка", ЗначенияПараметров["--language"]);
СтруктураПодключения.Вставить("КодЯзыкаСеанса", ЗначенияПараметров["--locale"]);

Рез = Новый Структура;
Для каждого КлючЗначение Из СтруктураПодключения Цикл
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,11 +49,21 @@
ДанныеПодключения = ПараметрыКоманды["ДанныеПодключения"];

МенеджерКонфигуратора = Новый МенеджерКонфигуратора;

МенеджерКонфигуратора.ВыгрузитьКонфигурациюВФайл(
ПараметрыКоманды["cfpath"],
МенеджерКонфигуратора.Инициализация(
ДанныеПодключения.СтрокаПодключения, ДанныеПодключения.Пользователь, ДанныеПодключения.Пароль,
ПараметрыКоманды["--v8version"]);
ПараметрыКоманды["--v8version"], , ДанныеПодключения.КодЯзыка
);

Попытка
МенеджерКонфигуратора.ВыгрузитьКонфигурациюВФайл(
ПараметрыКоманды["cfpath"]
);
Исключение
МенеджерКонфигуратора.Деструктор();
ВызватьИсключение ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());;
КонецПопытки;

МенеджерКонфигуратора.Деструктор();

Возврат МенеджерКомандПриложения.РезультатыКоманд().Успех;
КонецФункции // ВыполнитьКоманду
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,12 +63,25 @@

ОжидатьЗавершения = Не ПараметрыКоманды["--no-wait"];

МенеджерКонфигуратора.ЗапуститьВРежимеПредприятия(
МенеджерКонфигуратора.Инициализация(
ДанныеПодключения.СтрокаПодключения, ДанныеПодключения.Пользователь, ДанныеПодключения.Пароль,
ПараметрыКоманды["--uccode"], ПараметрыКоманды["--command"],
ПутьОбработки1С,
ЗапускатьТолстыйКлиент, ПараметрыКоманды["--v8version"],
ПараметрыКоманды["--additional"], ОжидатьЗавершения);
ПараметрыКоманды["--v8version"], ПараметрыКоманды["--uccode"],
ДанныеПодключения.КодЯзыка, ДанныеПодключения.КодЯзыкаСеанса
);

Попытка
МенеджерКонфигуратора.ЗапуститьВРежимеПредприятия(
ПараметрыКоманды["--command"],
ПутьОбработки1С,
ЗапускатьТолстыйКлиент,
ПараметрыКоманды["--additional"], ОжидатьЗавершения);

Исключение
МенеджерКонфигуратора.Деструктор();
ВызватьИсключение ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());;
КонецПопытки;

МенеджерКонфигуратора.Деструктор();

Возврат МенеджерКомандПриложения.РезультатыКоманд().Успех;
КонецФункции // ВыполнитьКоманду
Expand Down
Loading

0 comments on commit 875bb7a

Please sign in to comment.