Skip to content

Commit 9d6e21e

Browse files
Merge pull request #101 from ovcharenko-di/compatibility
Отключение несовместимых плагинов при выполнении команд sync и all, новые фичи для проверки совместимости
2 parents 04a92ed + 9eba9a5 commit 9d6e21e

File tree

6 files changed

+120
-58
lines changed

6 files changed

+120
-58
lines changed

features/compatibility.feature

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# language: ru
2+
3+
Функционал: Работа комбинаций плагинов
4+
Как Пользователь
5+
Я хочу выполнять автоматическую синхронизацию даже если активированы несовместимые плагины
6+
Чтобы синхронизация выполнялась корректно всегда
7+
8+
Контекст: Тестовый контекст
9+
Когда Я очищаю параметры команды "gitsync" в контексте
10+
И Я устанавливаю рабочий каталог во временный каталог
11+
И Я создаю новый объект ГитРепозиторий
12+
И Я устанавливаю путь выполнения команды "gitsync" к текущей библиотеке
13+
И Я устанавливаю текущие плагины
14+
И Я создаю временный каталог и сохраняю его в переменной "КаталогХранилища1С"
15+
И я скопировал каталог тестового хранилища конфигурации в каталог из переменной "КаталогХранилища1С"
16+
И Я создаю временный каталог и сохраняю его в переменной "ПутьКаталогаИсходников"
17+
И Я инициализирую репозиторий в каталоге из переменной "ПутьКаталогаИсходников"
18+
И я включаю отладку лога с именем "oscript.app.gitsync"
19+
И Я создаю временный каталог и сохраняю его в переменной "ВременнаяДиректория"
20+
И Я добавляю параметр "--tempdir" для команды "gitsync" из переменной "ВременнаяДиректория"
21+
# И Я добавляю параметр "-v" для команды "gitsync"
22+
И Я добавляю параметр "sync" для команды "gitsync"
23+
И Я выключаю все плагины
24+
25+
Сценарий: Cинхронизация с использованием плагинов increment и use-ibcmd
26+
Допустим Я включаю плагин "increment"
27+
И Я включаю плагин "use-ibcmd"
28+
И Я создаю временный каталог и сохраняю его в переменной "РабочийКаталогАвтономногоСервера"
29+
И Я добавляю параметр "--ibcmd-data" для команды "gitsync" из переменной "РабочийКаталогАвтономногоСервера"
30+
И Я добавляю позиционный параметр для команды "gitsync" из переменной "КаталогХранилища1С"
31+
И Я добавляю позиционный параметр для команды "gitsync" из переменной "ПутьКаталогаИсходников"
32+
И Я записываю "9" в файл VERSION
33+
Когда Я выполняю команду "gitsync"
34+
Тогда Вывод команды "gitsync" содержит "Завершена синхронизации с git"
35+
Тогда Вывод команды "gitsync" содержит
36+
| Плагин "increment" не совместим с плагином "use-ibcmd" и будет отключен на время выполнения синхронизации |
37+
И Вывод команды "gitsync" не содержит "Внешнее исключение"
38+
И Код возврата команды "gitsync" равен 0
39+
40+
Сценарий: Cинхронизация с использованием плагинов increment и drop-config-dump
41+
Допустим Я включаю плагин "increment"
42+
И Я включаю плагин "drop-config-dump"
43+
И Я добавляю позиционный параметр для команды "gitsync" из переменной "КаталогХранилища1С"
44+
И Я добавляю позиционный параметр для команды "gitsync" из переменной "ПутьКаталогаИсходников"
45+
И Я записываю "9" в файл VERSION
46+
Когда Я выполняю команду "gitsync"
47+
Тогда Вывод команды "gitsync" содержит "Завершена синхронизации с git"
48+
Тогда Вывод команды "gitsync" содержит
49+
| Плагин "increment" не совместим с плагином "drop-config-dump" и будет отключен на время выполнения синхронизации |
50+
И Вывод команды "gitsync" не содержит "Внешнее исключение"
51+
И Код возврата команды "gitsync" равен 0

features/dropConfigDump.feature

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# language: ru
2+
3+
Функционал: Работа плагина отключения версионирования файла дампа версий объектов конфигурации (ConfigDumpInfo.xml)
4+
Как Пользователь
5+
Я хочу выполнять автоматическую синхронизацию и не версионировать при этом ConfigDumpInfo.xml
6+
Чтобы в репозитории не было лишних изменений
7+
8+
Контекст: Тестовый контекст drop-config-dump
9+
Когда Я очищаю параметры команды "gitsync" в контексте
10+
И Я устанавливаю рабочий каталог во временный каталог
11+
И Я создаю новый объект ГитРепозиторий
12+
И Я устанавливаю путь выполнения команды "gitsync" к текущей библиотеке
13+
И Я устанавливаю текущие плагины
14+
И Я создаю временный каталог и сохраняю его в переменной "КаталогХранилища1С"
15+
И я скопировал каталог тестового хранилища конфигурации в каталог из переменной "КаталогХранилища1С"
16+
И Я создаю временный каталог и сохраняю его в переменной "ПутьКаталогаИсходников"
17+
И Я инициализирую репозиторий в каталоге из переменной "ПутьКаталогаИсходников"
18+
И я включаю отладку лога с именем "oscript.app.gitsync"
19+
И Я создаю временный каталог и сохраняю его в переменной "ВременнаяДиректория"
20+
И Я добавляю параметр "--tempdir" для команды "gitsync" из переменной "ВременнаяДиректория"
21+
# И Я добавляю параметр "-v" для команды "gitsync"
22+
И Я добавляю параметр "sync" для команды "gitsync"
23+
И Я выключаю все плагины
24+
И Я включаю плагин "drop-config-dump"
25+
26+
Сценарий: Cинхронизация с использованием плагина drop-config-dump
27+
Допустим Я добавляю позиционный параметр для команды "gitsync" из переменной "КаталогХранилища1С"
28+
И Я добавляю позиционный параметр для команды "gitsync" из переменной "ПутьКаталогаИсходников"
29+
И Я записываю "9" в файл VERSION
30+
Когда Я выполняю команду "gitsync"
31+
И Вывод команды "gitsync" не содержит "Внешнее исключение"
32+
И Код возврата команды "gitsync" равен 0
33+
И Каталог из переменной "ПутьКаталогаИсходников" не содержит файл "ConfigDumpInfo.xml"

features/step_definitions/shared.os

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@
1717

1818
ВсеШаги = Новый Массив;
1919

20+
ВсеШаги.Добавить("КаталогИзПеременнойСодержитФайл");
21+
ВсеШаги.Добавить("КаталогИзПеременнойНеСодержитФайл");
2022
ВсеШаги.Добавить("ЯУстанавливаюПутьВыполненияКомандыКТекущейБиблиотеке");
2123
ВсеШаги.Добавить("ЯСкопировалКаталогТестовогоХранилищаКонфигурацииВоВременныйКаталог");
2224
ВсеШаги.Добавить("ЯСохраняюЗначениеВременногоКаталогаВПеременной");
@@ -48,6 +50,40 @@
4850

4951
КонецФункции
5052

53+
//Каталог из переменной "ПутьКаталогаИсходников" содержит файл "module.bsl"
54+
Процедура КаталогИзПеременнойСодержитФайл(Знач ПеременнаяКаталога, Знач ИмяФайла) Экспорт
55+
56+
КаталогИсходников = БДД.ПолучитьИзКонтекста(ПеременнаяКаталога);
57+
58+
ПутьКФайлу = ОбъединитьПути(КаталогИсходников, ИмяФайла);
59+
Файл = Новый Файл(ПутьКФайлу);
60+
Если Не Файл.Существует() Тогда
61+
62+
МассивФайлов = НайтиФайлы(КаталогИсходников, ПолучитьМаскуВсеФайлы(), Истина);
63+
Для каждого Файл Из МассивФайлов Цикл
64+
65+
Сообщить(Файл.ПолноеИмя);
66+
67+
КонецЦикла;
68+
69+
ВызватьИсключение СтрШаблон("Каталог не содержит нужного файла <%1>", ПутьКФайлу);
70+
КонецЕсли;
71+
72+
КонецПроцедуры
73+
74+
//Каталог из переменной "ПутьКаталогаИсходников" не содержит файл "module.bsl"
75+
Процедура КаталогИзПеременнойНеСодержитФайл(Знач ПеременнаяКаталога, Знач ИмяФайла) Экспорт
76+
77+
КаталогИсходников = БДД.ПолучитьИзКонтекста(ПеременнаяКаталога);
78+
79+
ПутьКФайлу = ОбъединитьПути(КаталогИсходников, ИмяФайла);
80+
Файл = Новый Файл(ПутьКФайлу);
81+
Если Файл.Существует() Тогда
82+
ВызватьИсключение СтрШаблон("Каталог содержит искомый файл <%1>", ПутьКФайлу);
83+
КонецЕсли;
84+
85+
КонецПроцедуры
86+
5187
//Я создаю временный каталог и сохраняю его в переменной "КаталогПлагинов"
5288
Процедура ЯСоздаюВременныйКаталогИСохраняюЕгоВПеременной(Знач ИмяПеременной) Экспорт
5389

features/step_definitions/unpackForm.os

Lines changed: 0 additions & 48 deletions
This file was deleted.

src/Классы/dropConfigDump.os

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -74,11 +74,6 @@
7474

7575
Обработчик = СтандартныйОбработчик;
7676

77-
Если НЕ (ВРег(ТекущаяКоманда) = "ALL"
78-
ИЛИ ВРег(ТекущаяКоманда) = "SYNC") Тогда
79-
Возврат;
80-
КонецЕсли;
81-
8277
МенеджерПлагинов = ПараметрыПриложения.МенеджерПлагинов();
8378
ИндексПлагинов = МенеджерПлагинов.ПолучитьИндексПлагинов();
8479
ОтключаемыеПлагины = ОтключаемыеПлагины();

src/Классы/useIbcmd.os

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -95,11 +95,6 @@
9595
Инкрементально = Ложь;
9696
ЧислоПотоков = 0;
9797

98-
Если НЕ (ВРег(ТекущаяКоманда) = "ALL"
99-
ИЛИ ВРег(ТекущаяКоманда) = "SYNC") Тогда
100-
Возврат;
101-
КонецЕсли;
102-
10398
МенеджерПлагинов = ПараметрыПриложения.МенеджерПлагинов();
10499
ИндексПлагинов = МенеджерПлагинов.ПолучитьИндексПлагинов();
105100
ОтключаемыеПлагины = ОтключаемыеПлагины();

0 commit comments

Comments
 (0)