Skip to content

Commit 0a826bf

Browse files
committed
* Переделано ожидание запуска вина, вместо константного ожидания отправляем проверочный запрос раз в секунду
* Во время остановки вина завершаем в т.ч его процесс
1 parent 973be2d commit 0a826bf

File tree

2 files changed

+59
-22
lines changed

2 files changed

+59
-22
lines changed

tests/fixtures/ТестовыйVault/app/controls/test_controller.os

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,12 @@
3636
ФоновыеЗадания.Выполнить(ЭтотОбъект, "ОстановитсяОтложено");
3737
КонецПроцедуры
3838

39+
&ТочкаМаршрута("ping")
40+
Процедура Проверка(ТелоЗапросОбъект, Ответ) Экспорт
41+
Ответ.УстановитьТипКонтента("txt");
42+
Ответ.ТелоТекст = "ОК";
43+
КонецПроцедуры
44+
3945
Процедура ОстановитсяОтложено() Экспорт
4046
Приостановить(100);
4147
ВебСервер.Стоп();

tests/ПровайдерПараметровVAULT.os

Lines changed: 53 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -3,33 +3,34 @@
33
#Использовать 1connector
44
#Использовать 1commands
55

6+
Перем ПроцессВина;
7+
Перем АдресВина;
8+
9+
&ПередКаждым
10+
Процедура ЗапуститьВино() Экспорт
11+
ЗапуститьТестовыйВолт();
12+
КонецПроцедуры
13+
14+
&ПослеКаждого
15+
Процедура ОстановитьВино() Экспорт
16+
УбитьТестовыйВолт();
17+
КонецПроцедуры
18+
619
&Тест
720
Процедура ПроверитьПолучениеПараметровИзVault() Экспорт
821

922
// Дано
10-
1123
НастройкиVault = Новый Структура;
12-
НастройкиVault.Вставить("Адрес", "http://localhost:3333");
24+
НастройкиVault.Вставить("Адрес", АдресВина);
1325
НастройкиVault.Вставить("Токен", "VAULT_TOKEN");
1426
НастройкиVault.Вставить("Запрос", "v1/my_secret_store/super_secret");
1527

1628
МенеджерПараметров = Новый МенеджерПараметров();
1729
МенеджерПараметров.ДобавитьПровайдерПараметров(Новый ПровайдерПараметровVAULT());
1830
МенеджерПараметров.УстановитьНастройкиVault(НастройкиVault);
1931

20-
ЗапуститьТестовыйВолт();
21-
Приостановить(1000); // чтобы вино успело стартануть
22-
2332
// Когда
24-
25-
Попытка
26-
МенеджерПараметров.Прочитать();
27-
Исключение
28-
УбитьТестовыйВолт(НастройкиVault["Адрес"]);
29-
ВызватьИсключение;
30-
КонецПопытки;
31-
32-
УбитьТестовыйВолт(НастройкиVault["Адрес"]);
33+
МенеджерПараметров.Прочитать();
3334

3435
// Тогда
3536
Ожидаем.Что(МенеджерПараметров.Параметр("owner.contact.email")).Равно("");
@@ -48,18 +49,48 @@
4849
Возврат ОбъединитьПути(ТекущийСценарий().Каталог, "..");
4950
КонецФункции
5051

51-
Функция ЗапуститьТестовыйВолт()
52-
52+
Процедура ЗапуститьТестовыйВолт()
53+
5354
Путь = ОбъединитьПути(КаталогFixtures(), "ТестовыйVault");
5455

5556
ЗапускВина = Новый Команда;
5657
ЗапускВина.УстановитьСтрокуЗапуска("oscript main.os");
5758
ЗапускВина.УстановитьРабочийКаталог(Путь);
5859

59-
Возврат ЗапускВина.ЗапуститьПроцесс();
60-
КонецФункции
60+
ПроцессВина = ЗапускВина.ЗапуститьПроцесс();
6161

62-
Функция УбитьТестовыйВолт(Знач Адрес)
63-
URL = СтрШаблон("%1/v1/kill", Адрес);
64-
Возврат КоннекторHTTP.Get(URL, , Новый Структура("Заголовки", Новый Соответствие));
65-
КонецФункции
62+
Для Сч = 0 По 10 Цикл
63+
64+
Приостановить(1000);
65+
66+
Попытка
67+
68+
Ответ = КоннекторHTTP.Get(
69+
СтрШаблон("%1/v1/ping", АдресВина), ,
70+
Новый Структура("Заголовки", Новый Соответствие)
71+
).Текст();
72+
73+
Если Ответ = "ОК" Тогда
74+
Прервать;
75+
КонецЕсли;
76+
77+
Исключение
78+
Продолжить;
79+
КонецПопытки;
80+
81+
КонецЦикла;
82+
83+
КонецПроцедуры
84+
85+
Процедура УбитьТестовыйВолт()
86+
87+
КоннекторHTTP.Get(
88+
СтрШаблон("%1/v1/kill", АдресВина), ,
89+
Новый Структура("Заголовки", Новый Соответствие)
90+
);
91+
92+
ПроцессВина.Завершить();
93+
94+
КонецПроцедуры
95+
96+
АдресВина = "http://localhost:3333";

0 commit comments

Comments
 (0)