forked from oscript-library/configor
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathПровайдерПараметровVAULT.os
More file actions
112 lines (79 loc) · 4.56 KB
/
Copy pathПровайдерПараметровVAULT.os
File metadata and controls
112 lines (79 loc) · 4.56 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
#Использовать "../src"
#Использовать asserts
#Использовать 1connector
#Использовать 1commands
Перем ПроцессВина;
Перем АдресВина;
&ПередКаждым
Процедура ЗапуститьВино() Экспорт
ЗапуститьТестовыйВолт();
КонецПроцедуры
&ПослеКаждого
Процедура ОстановитьВино() Экспорт
УбитьТестовыйВолт();
КонецПроцедуры
&Тест
Процедура ПроверитьПолучениеПараметровИзVaultСНормальнымАдресом() Экспорт
НастройкиVault = Новый Структура;
НастройкиVault.Вставить("Адрес", АдресВина);
НастройкиVault.Вставить("Токен", "VAULT_TOKEN");
НастройкиVault.Вставить("Запрос", "my_secret_store/super_secret");
ПроверитьПолучениеПараметровИзVault(НастройкиVault);
КонецПроцедуры
&Тест
Процедура ПроверитьПолучениеПараметровИзVaultСАдресомСоСлешемНаКонце() Экспорт
НастройкиVault = Новый Структура;
НастройкиVault.Вставить("Адрес", АдресВина + "/");
НастройкиVault.Вставить("Токен", "VAULT_TOKEN");
НастройкиVault.Вставить("Запрос", "my_secret_store/super_secret");
ПроверитьПолучениеПараметровИзVault(НастройкиVault);
КонецПроцедуры
Процедура ПроверитьПолучениеПараметровИзVault(Знач НастройкиVault) Экспорт
// Дано
МенеджерПараметров = Новый МенеджерПараметров();
МенеджерПараметров.ДобавитьПровайдерПараметров(Новый ПровайдерПараметровVAULT());
МенеджерПараметров.УстановитьНастройкиVault(НастройкиVault);
// Когда
МенеджерПараметров.Прочитать();
// Тогда
Ожидаем.Что(МенеджерПараметров.Параметр("owner.contact.email")).Равно("");
Ожидаем.Что(МенеджерПараметров.Параметр("owner.contact.tel")).Равно("77777777");
Ожидаем.Что(МенеджерПараметров.Параметр("owner.person.address")).Равно("Alpha Centauri");
Ожидаем.Что(МенеджерПараметров.Параметр("admin.contact.email")).Равно("admin.ru");
Ожидаем.Что(МенеджерПараметров.Параметр("person.address")).ЭтоНеопределено();
КонецПроцедуры
Функция КаталогFixtures()
Возврат ОбъединитьПути(КаталогБиблиотеки(), "tests", "fixtures");
КонецФункции
Функция КаталогБиблиотеки()
Возврат ОбъединитьПути(ТекущийСценарий().Каталог, "..");
КонецФункции
Процедура ЗапуститьТестовыйВолт()
Путь = ОбъединитьПути(КаталогFixtures(), "ТестовыйVault");
ЗапускВина = Новый Команда;
ЗапускВина.УстановитьСтрокуЗапуска("oscript main.os");
ЗапускВина.УстановитьРабочийКаталог(Путь);
ПроцессВина = ЗапускВина.ЗапуститьПроцесс();
Для Сч = 0 По 10 Цикл
Приостановить(1000);
Попытка
Ответ = КоннекторHTTP.Get(
СтрШаблон("%1/ping", АдресВина), ,
Новый Структура("Заголовки", Новый Соответствие)
).Текст();
Если Ответ = "ОК" Тогда
Прервать;
КонецЕсли;
Исключение
Продолжить;
КонецПопытки;
КонецЦикла;
КонецПроцедуры
Процедура УбитьТестовыйВолт()
КоннекторHTTP.Get(
СтрШаблон("%1/kill", АдресВина), ,
Новый Структура("Заголовки", Новый Соответствие)
);
ПроцессВина.Завершить();
КонецПроцедуры
АдресВина = "http://localhost:3333/v1";