Skip to content

Commit 6a4141b

Browse files
Merge pull request xDrivenDevelopment#139 from zeratulayuris/improve-install-check
Добавил проверку установки в разных сценариях
2 parents d9596d8 + 3dbfa9b commit 6a4141b

File tree

2 files changed

+93
-28
lines changed

2 files changed

+93
-28
lines changed
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
// Реализация шагов BDD-фич/сценариев c помощью фреймворка https://github.com/artbear/1bdd
2+
#Использовать 1commands
3+
#Использовать asserts
4+
5+
Перем БДД; //контекст фреймворка 1bdd
6+
Перем Лог;
7+
8+
// Метод выдает список шагов, реализованных в данном файле-шагов
9+
Функция ПолучитьСписокШагов(КонтекстФреймворкаBDD) Экспорт
10+
БДД = КонтекстФреймворкаBDD;
11+
12+
ВсеШаги = Новый Массив;
13+
14+
ВсеШаги.Добавить("ЯУстанавливаюPrecommitВРабочийКаталогСПараметрами");
15+
ВсеШаги.Добавить("ФайлХукаВРепозиторииРабочегоКаталогаСодержит");
16+
17+
Возврат ВсеШаги;
18+
КонецФункции
19+
20+
// Реализация шагов
21+
22+
// Процедура выполняется перед запуском каждого сценария
23+
Процедура ПередЗапускомСценария(Знач Узел) Экспорт
24+
25+
КонецПроцедуры
26+
27+
// Процедура выполняется после завершения каждого сценария
28+
Процедура ПослеЗапускаСценария(Знач Узел) Экспорт
29+
30+
КонецПроцедуры
31+
32+
// Я устанавливаю Precommit в рабочий каталог с параметрами "Параметры"
33+
Процедура ЯУстанавливаюPrecommitВРабочийКаталогСПараметрами(Знач Параметры) Экспорт
34+
35+
ПараметрыКоманды = Новый Массив;
36+
ПараметрыКоманды.Добавить(ОбъединитьПути(КаталогПроекта(), "v8files-extractor.os"));
37+
ПараметрыКоманды.Добавить("--install");
38+
Если ЗначениеЗаполнено(Параметры) Тогда
39+
ПараметрыКоманды.Добавить(Параметры);
40+
КонецЕсли;
41+
42+
Команда = Новый Команда;
43+
44+
Команда.УстановитьКоманду("oscript");
45+
Команда.УстановитьКодировкуВывода(КодировкаТекста.UTF8);
46+
Команда.УстановитьРабочийКаталог(РабочийКаталог());
47+
Команда.ДобавитьПараметры(ПараметрыКоманды);
48+
49+
Лог.Отладка("Устанавливаем precommit1c с параметрами %1", СтрСоединить(Команда.ПолучитьПараметры(), " "));
50+
51+
КодВозврата = Команда.Исполнить();
52+
53+
Если КодВозврата <> 0 Тогда
54+
Лог.Ошибка("Получен ненулевой код возврата " + КодВозврата + ". Выполнение скрипта остановлено!");
55+
ВызватьИсключение СокрЛП(Команда.ПолучитьВывод());
56+
Иначе
57+
Лог.Отладка("Код возврата равен 0");
58+
КонецЕсли;
59+
60+
КонецПроцедуры
61+
62+
// Файл хука в репозитории рабочего каталога содержит "Параметры"
63+
Процедура ФайлХукаВРепозиторииРабочегоКаталогаСодержит(Знач Параметры) Экспорт
64+
СтрокаШага = СтрШаблон("файл "".git/hooks/pre-commit"" в рабочем каталоге содержит ""oscript -encoding=utf-8 .git/hooks/v8files-extractor.os --git-precommit src %1""",
65+
Параметры);
66+
БДД.ВыполнитьШаг(СтрокаШага);
67+
КонецПроцедуры
68+
69+
//{ Служебные методы
70+
71+
Функция РабочийКаталог()
72+
Возврат БДД.ПолучитьИзКонтекста("РабочийКаталог");
73+
КонецФункции
74+
75+
Функция КаталогПроекта()
76+
Возврат БДД.ПолучитьИзКонтекста("КаталогПроекта");
77+
КонецФункции
78+
79+
//}
80+
81+
Лог = Логирование.ПолучитьЛог("bdd");

features/РепозиторийGit.feature

Lines changed: 12 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,8 @@
4444
И В рабочем каталоге существует файл ".git/hooks/tools/v8unpack.exe"
4545
И вывод команды "oscript" не содержит "У текущего репозитария не заданы необходимые настройки!"
4646

47-
Сценарий: Установка precommit1c в репозиторий с указанием сервисной базы
48-
Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --install --ib-connection-string /Fc:/test/ib --ib-user UserTest --ib-pwd ********"
47+
Структура сценария: Установка precommit1c в репозиторий с параметрами: <Параметры>
48+
Когда Я устанавливаю Precommit в рабочий каталог с параметрами <Параметры>
4949
И Я выполняю команду "oscript" с параметрами ".git/hooks/v8files-extractor.os --git-check-config"
5050
Тогда В рабочем каталоге существует каталог ".git/hooks"
5151
И В рабочем каталоге существует каталог ".git/hooks/v8Reader"
@@ -54,31 +54,15 @@
5454
И В рабочем каталоге существует файл ".git/hooks/pre-commit"
5555
И В рабочем каталоге существует файл ".git/hooks/v8files-extractor.os"
5656
И В рабочем каталоге существует файл ".git/hooks/tools/v8unpack.exe"
57-
И файл ".git/hooks/pre-commit" в рабочем каталоге содержит "oscript -encoding=utf-8 .git/hooks/v8files-extractor.os --git-precommit src --ib-connection-string /Fc:/test/ib --ib-user UserTest --ib-pwd ********"
57+
И Файл хука в репозитории рабочего каталога содержит <Параметры>
5858
И вывод команды "oscript" не содержит "У текущего репозитария не заданы необходимые настройки!"
5959

60-
Сценарий: Установка precommit1c в репозиторий с использованием конфигуратора
61-
Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --install --use-designer"
62-
И Я выполняю команду "oscript" с параметрами ".git/hooks/v8files-extractor.os --git-check-config"
63-
Тогда В рабочем каталоге существует каталог ".git/hooks"
64-
И В рабочем каталоге существует каталог ".git/hooks/v8Reader"
65-
И В рабочем каталоге существует каталог ".git/hooks/tools"
66-
И В рабочем каталоге существует файл ".git/hooks/v8Reader/V8Reader.epf"
67-
И В рабочем каталоге существует файл ".git/hooks/pre-commit"
68-
И В рабочем каталоге существует файл ".git/hooks/v8files-extractor.os"
69-
И В рабочем каталоге существует файл ".git/hooks/tools/v8unpack.exe"
70-
И файл ".git/hooks/pre-commit" в рабочем каталоге содержит "oscript -encoding=utf-8 .git/hooks/v8files-extractor.os --git-precommit src --use-designer"
71-
И вывод команды "oscript" не содержит "У текущего репозитария не заданы необходимые настройки!"
72-
73-
Сценарий: Установка precommit1c в репозиторий с указанием сервисной базы и использованием конфигуратора
74-
Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --install --use-designer --ib-connection-string /Fc:/test/ib --ib-user UserTest --ib-pwd ********"
75-
И Я выполняю команду "oscript" с параметрами ".git/hooks/v8files-extractor.os --git-check-config"
76-
Тогда В рабочем каталоге существует каталог ".git/hooks"
77-
И В рабочем каталоге существует каталог ".git/hooks/v8Reader"
78-
И В рабочем каталоге существует каталог ".git/hooks/tools"
79-
И В рабочем каталоге существует файл ".git/hooks/v8Reader/V8Reader.epf"
80-
И В рабочем каталоге существует файл ".git/hooks/pre-commit"
81-
И В рабочем каталоге существует файл ".git/hooks/v8files-extractor.os"
82-
И В рабочем каталоге существует файл ".git/hooks/tools/v8unpack.exe"
83-
И файл ".git/hooks/pre-commit" в рабочем каталоге содержит "oscript -encoding=utf-8 .git/hooks/v8files-extractor.os --git-precommit src --use-designer --ib-connection-string /Fc:/test/ib --ib-user UserTest --ib-pwd ********"
84-
И вывод команды "oscript" не содержит "У текущего репозитария не заданы необходимые настройки!"
60+
Примеры:
61+
|Параметры|
62+
|--use-designer|
63+
|--remove-orig-bin-files|
64+
|--ib-connection-string /Fc:/test/ib --ib-user UserTest --ib-pwd ********|
65+
|--use-designer --remove-orig-bin-files|
66+
|--use-designer --ib-connection-string /Fc:/test/ib --ib-user UserTest --ib-pwd ********|
67+
|--remove-orig-bin-files --ib-connection-string /Fc:/test/ib --ib-user UserTest --ib-pwd ********|
68+
|--use-designer --remove-orig-bin-files --ib-connection-string /Fc:/test/ib --ib-user UserTest --ib-pwd ********|

0 commit comments

Comments
 (0)