From e1654f5e354f3a58718e2a14233387e9f0c02f16 Mon Sep 17 00:00:00 2001 From: Sergey Batanov Date: Thu, 6 Jun 2024 02:03:36 +0300 Subject: [PATCH] =?UTF-8?q?#216=20=D0=A2=D0=B5=D1=81=D1=82=D1=8B=20=D0=BF?= =?UTF-8?q?=D0=BE=D0=B4=20=D0=BD=D0=BE=D0=B2=D1=8B=D0=B9=20=D1=84=D0=BE?= =?UTF-8?q?=D1=80=D0=BC=D0=B0=D1=82=20=D0=BA=D0=BE=D0=BD=D1=84=D0=B8=D0=B3?= =?UTF-8?q?=D0=B0.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...21\200\320\276\320\271\320\272\320\270.os" | 42 +++++++++++-------- ...266\320\265\320\275\320\270\321\217Opm.os" | 3 ++ tests/fixtures/opm-servers.cfg | 6 ++- tests/packagelist.os | 3 ++ 4 files changed, 35 insertions(+), 19 deletions(-) diff --git "a/features/step_definitions/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270.os" "b/features/step_definitions/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270.os" index 25e44b2..9aa5618 100644 --- "a/features/step_definitions/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270.os" +++ "b/features/step_definitions/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270.os" @@ -32,10 +32,8 @@ //я читаю настройки из файла "opm.cfg" Процедура ЯЧитаюНастройкиИзФайла(Знач ПутьФайла) Экспорт Файл = Новый Файл(ОбъединитьПути(ТекущийКаталог(), ПутьФайла)); - // Ожидаем.Что(Файл.Существует(), СтрШаблон("Ожидали, что файл <%1> существует, а это не так!", Файл.ПолноеИмя)).ЭтоИстина(); НастройкиOpm.СброситьНастройки(); НастроитьOpmИзФайла(Файл.ПолноеИмя); - // НастройкиOpm.УстановитьФайлНастроек(Файл.ПолноеИмя); Настройки = НастройкиOpm.ПолучитьНастройки(); БДД.СохранитьВКонтекст(КлючКонтекста(), Настройки); @@ -88,7 +86,7 @@ Если Не НастройкиПроксиЕсть = Неопределено Тогда - НастройкиПрокси = НастройкиOpmИзФайлов.Прокси; + НастройкиПрокси = НастройкиКакСтруктура(НастройкиOpmИзФайлов.Прокси); Сервер = ПолучитьЗначение(НастройкиПрокси, "Сервер", ""); Порт = Число(ПолучитьЗначение(НастройкиПрокси, "Порт", 0)); @@ -129,20 +127,15 @@ Индекс = 1; Для каждого ТекущийСерверПакетов Из СервераПакетов Цикл - - Сервер = ПолучитьЗначение(ТекущийСерверПакетов, "Сервер", ""); - Порт = Число(ПолучитьЗначение(ТекущийСерверПакетов, "Порт", 80)); - ПутьНаСервере = ПолучитьЗначение(ТекущийСерверПакетов, "ПутьНаСервере", "/"); - РесурсПубликацииПакетов = ПолучитьЗначение(ТекущийСерверПакетов, "РесурсПубликацииПакетов", "/"); - Имя = ПолучитьЗначение(ТекущийСерверПакетов, "Имя", СтрШаблон("ДопСервер_%1",Индекс)); - Приоритет = Число(ПолучитьЗначение(ТекущийСерверПакетов, "Приоритет", 0)); - - Если ПустаяСтрока(Сервер) Тогда + + Попытка + СерверПакетов = СерверыПакетов.ИзНастроек(НастройкиКакСтруктура(ТекущийСерверПакетов), Индекс); + Исключение Продолжить; - КонецЕсли; - - НастройкиOpm.ДобавитьТекущийСерверПакетов(Имя, Сервер, ПутьНаСервере, РесурсПубликацииПакетов, Порт, Приоритет); - Индекс = Индекс +1; + КонецПопытки; + + НастройкиOpm.ДобавитьСерверПакетов(СерверПакетов); + Индекс = Индекс + 1; КонецЦикла; @@ -153,16 +146,29 @@ Функция ПрочитатьФайлНастроек(Знач ПутьФайлаНастроек) Если НЕ Новый Файл(ПутьФайлаНастроек).Существует() Тогда - Возврат НОвый Соответствие; + Возврат Новый Структура; КонецЕсли; Текст = ПрочитатьФайл(ПутьФайлаНастроек); ЧтениеJSON = Новый ЧтениеJSON(); ЧтениеJSON.УстановитьСтроку(Текст); - Настройки = ПрочитатьJSON(ЧтениеJSON, Ложь); + НастройкиКакСоответствие = ПрочитатьJSON(ЧтениеJSON, Истина); ЧтениеJSON.Закрыть(); + + Возврат НастройкиКакСтруктура(НастройкиКакСоответствие); + +КонецФункции + +Функция НастройкиКакСтруктура(Знач НастройкиКакСоответствие) + Перем Настройки; + + Настройки = Новый Структура; + Для Каждого мЭлемент Из НастройкиКакСоответствие Цикл + Настройки.Вставить(мЭлемент.Ключ, мЭлемент.Значение); + КонецЦикла; + Возврат Настройки; КонецФункции diff --git "a/src/cmd/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217Opm.os" "b/src/cmd/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217Opm.os" index 4d6e0ca..4545a45 100644 --- "a/src/cmd/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217Opm.os" +++ "b/src/cmd/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217Opm.os" @@ -226,12 +226,15 @@ Функция НастройкиКакСтруктура(Знач НастройкиКакСоответствие) + Перем Настройки; + Настройки = Новый Структура; Для Каждого мЭлемент Из НастройкиКакСоответствие Цикл Настройки.Вставить(мЭлемент.Ключ, мЭлемент.Значение); КонецЦикла; Возврат Настройки; + КонецФункции Функция ПрочитатьФайл(Знач Путь) diff --git a/tests/fixtures/opm-servers.cfg b/tests/fixtures/opm-servers.cfg index 5e0f772..70a48a5 100644 --- a/tests/fixtures/opm-servers.cfg +++ b/tests/fixtures/opm-servers.cfg @@ -11,7 +11,11 @@ "Имя":"mylocalhost", "Сервер": "http://localhost", "Порт": 8000, - "ПутьНаСервере":"/" + "ПутьНаСервере":"/", + "Авторизация": "", + "Заголовки": { + "X-Dummy": "${USERNAME}" + } } ] } diff --git a/tests/packagelist.os b/tests/packagelist.os index 0efa2a7..3680657 100644 --- a/tests/packagelist.os +++ b/tests/packagelist.os @@ -17,6 +17,9 @@ КонецФункции Процедура ПередЗапускомТеста() Экспорт + // Завязаны на основной хаб. + НастройкиOpm.СброситьНастройки(); + НастройкиOpm.ДобавитьСерверПакетов(СерверыПакетов.ОсновнойСервер()); КонецПроцедуры Процедура ПослеЗапускаТеста() Экспорт