You've already forked OpenIntegrations
mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-08-10 22:41:43 +02:00
PXY: Обновление ключа
This commit is contained in:
13276
service/dictionaries/en.json
vendored
13276
service/dictionaries/en.json
vendored
File diff suppressed because it is too large
Load Diff
63
src/ru/OInt/core/Modules/OPI_ПроксиИнтеграций.os
vendored
63
src/ru/OInt/core/Modules/OPI_ПроксиИнтеграций.os
vendored
@@ -387,6 +387,44 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Обновить ключ обработчика
|
||||
// Заменяет ключ обработчика на новый
|
||||
//
|
||||
// Параметры:
|
||||
// Проект - Строка - Путь к файлу проекта - proj
|
||||
// КлючОбработчика - Строка - Ключ обработчика - handler
|
||||
// НовыйКлюч - Строка - Свой ключ, если необходимо. Стандартный UUID по умолчанию - key
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура Из КлючИЗначение - Информация об обработчике
|
||||
Функция ОбновитьКлючОбработчика(Знач Проект, Знач КлючОбработчика, Знач НовыйКлюч = "") Экспорт
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(КлючОбработчика);
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(НовыйКлюч);
|
||||
|
||||
Результат = ПроверитьСуществованиеПроекта(Проект);
|
||||
|
||||
Если Не Результат["result"] Тогда
|
||||
Возврат Результат;
|
||||
Иначе
|
||||
Проект = Результат["path"];
|
||||
КонецЕсли;
|
||||
|
||||
НовыйКлюч = ?(ЗначениеЗаполнено(НовыйКлюч), НовыйКлюч, ПолучитьUUID(9));
|
||||
|
||||
СтруктураЗаписи = Новый Структура("key", НовыйКлюч);
|
||||
Результат = ИзменитьПоляОбработчика(Проект, КлючОбработчика, СтруктураЗаписи);
|
||||
|
||||
Если Не Результат["result"] Тогда
|
||||
Возврат Результат;
|
||||
КонецЕсли;
|
||||
|
||||
Результат = ПолучитьОбработчикЗапросов(Проект, НовыйКлюч);
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область УстановкаАргументов
|
||||
@@ -595,6 +633,7 @@
|
||||
|
||||
Если Ключ = "ТаблицаОбработчиков" Тогда Возврат "handlers"
|
||||
ИначеЕсли Ключ = "ТаблицаАргументов" Тогда Возврат "arguments"
|
||||
ИначеЕсли Ключ = "ТаблицаНастроек" Тогда Возврат "settings"
|
||||
|
||||
Иначе Возврат "" КонецЕсли;
|
||||
|
||||
@@ -606,6 +645,10 @@
|
||||
МассивИмен.Добавить("ТаблицаОбработчиков");
|
||||
МассивИмен.Добавить("ТаблицаАргументов");
|
||||
|
||||
Если Не ТолькоОбработчики Тогда
|
||||
МассивИмен.Добавить("ТаблицаНастроек");
|
||||
КонецЕсли;
|
||||
|
||||
Возврат МассивИмен;
|
||||
|
||||
КонецФункции
|
||||
@@ -629,6 +672,13 @@
|
||||
Возврат Результат;
|
||||
КонецЕсли;
|
||||
|
||||
Результат = СоздатьТаблицуНастроек(Путь);
|
||||
|
||||
Если Не Результат["result"] Тогда
|
||||
УдалитьФайлы(Путь);
|
||||
Возврат Результат;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
@@ -664,6 +714,19 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция СоздатьТаблицуНастроек(Путь)
|
||||
|
||||
СтруктураТаблицы = Новый Соответствие();
|
||||
СтруктураТаблицы.Вставить("name" , "TEXT PRIMARY KEY NOT NULL UNIQUE");
|
||||
СтруктураТаблицы.Вставить("value" , "TEXT");
|
||||
|
||||
ИмяТаблицыАргументов = КонстантноеЗначение("ТаблицаНастроек");
|
||||
Результат = OPI_SQLite.СоздатьТаблицу(ИмяТаблицыАргументов, СтруктураТаблицы, Путь);
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьУникальныйКлючОбработчика(Путь)
|
||||
|
||||
СекретныйКлюч = ПолучитьUUID(9);
|
||||
|
76
src/ru/OInt/tests/Modules/internal/OPI_Тесты.os
vendored
76
src/ru/OInt/tests/Modules/internal/OPI_Тесты.os
vendored
@@ -2328,6 +2328,9 @@
|
||||
ПроксиИнтеграций_ИзменитьОбработчикЗапросов(ПараметрыТеста);
|
||||
ПроксиИнтеграций_ОтключитьОбработчикЗапросов(ПараметрыТеста);
|
||||
ПроксиИнтеграций_ВключитьОбработчикЗапросов(ПараметрыТеста);
|
||||
ПроксиИнтеграций_ОбновитьКлючОбработчика(ПараметрыТеста);
|
||||
ПроксиИнтеграций_УстановитьАргументОбработчика(ПараметрыТеста);
|
||||
ПроксиИнтеграций_ПолучитьАргументыОбработчика(ПараметрыТеста);
|
||||
ПроксиИнтеграций_УдалитьОбработчикЗапросов(ПараметрыТеста);
|
||||
|
||||
Попытка
|
||||
@@ -17329,6 +17332,79 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ПроксиИнтеграций_ОбновитьКлючОбработчика(ПараметрыФункции)
|
||||
|
||||
Проект = ПараметрыФункции["Proxy_ProjectPath"];
|
||||
КлючОбработчика = ПараметрыФункции["Proxy_HandlerKey"];
|
||||
НовыйКлюч = "mykey";
|
||||
|
||||
// Свой ключ
|
||||
|
||||
Результат = OPI_ПроксиИнтеграций.ОбновитьКлючОбработчика(Проект, КлючОбработчика, НовыйКлюч);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОбновитьКлючОбработчика", "ПроксиИнтеграций"); // SKIP
|
||||
OPI_ПолучениеДанныхТестов.Проверка_ПроксиКлюч(Результат, НовыйКлюч, Истина); // SKIP
|
||||
|
||||
// Новый случайный ключ
|
||||
|
||||
Результат = OPI_ПроксиИнтеграций.ОбновитьКлючОбработчика(Проект, НовыйКлюч);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОбновитьКлючОбработчика (рандом)", "ПроксиИнтеграций");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_ПроксиКлюч(Результат, НовыйКлюч, Ложь);
|
||||
|
||||
Ключ = Результат["data"]["key"];
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Proxy_HandlerKey", Ключ);
|
||||
OPI_Инструменты.ДобавитьПоле("Proxy_HandlerKey", Ключ, "Строка", ПараметрыФункции);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ПроксиИнтеграций_УстановитьАргументОбработчика(ПараметрыФункции)
|
||||
|
||||
Проект = ПараметрыФункции["Proxy_ProjectPath"];
|
||||
КлючОбработчика = ПараметрыФункции["Proxy_HandlerKey"];
|
||||
Аргумент = "token";
|
||||
Значение = "12345";
|
||||
|
||||
Результат = OPI_ПроксиИнтеграций.УстановитьАргументОбработчика(Проект
|
||||
, КлючОбработчика
|
||||
, Аргумент
|
||||
, Значение);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УстановитьАргументОбработчика", "ПроксиИнтеграций");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Массив(Результат["data"]["args"], 1);
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Истина(Результат["data"]["args"][0]["strict"]);
|
||||
|
||||
Результат = OPI_ПроксиИнтеграций.УстановитьАргументОбработчика(Проект
|
||||
, КлючОбработчика
|
||||
, "another"
|
||||
, Значение
|
||||
, Ложь);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УстановитьАргументОбработчика (не строгий)", "ПроксиИнтеграций");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Массив(Результат["data"]["args"], 2);
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Ложь(Результат["data"]["args"][1]["strict"]);
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ПроксиИнтеграций_ПолучитьАргументыОбработчика(ПараметрыФункции)
|
||||
|
||||
Проект = ПараметрыФункции["Proxy_ProjectPath"];
|
||||
КлючОбработчика = ПараметрыФункции["Proxy_HandlerKey"];
|
||||
|
||||
Результат = OPI_ПроксиИнтеграций.ПолучитьАргументыОбработчика(Проект, КлючОбработчика);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьАргументыОбработчика", "ПроксиИнтеграций");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Массив(Результат["data"], 2);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
@@ -619,10 +619,18 @@
|
||||
|
||||
Процедура Проверка_Истина(Знач Результат) Экспорт
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьБулево(Результат);
|
||||
ОжидаетЧто(Результат).Равно(Истина);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_Ложь(Знач Результат) Экспорт
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьБулево(Результат);
|
||||
ОжидаетЧто(Результат).Равно(Ложь);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_ТелеграмИстина(Знач Результат) Экспорт
|
||||
|
||||
ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
|
||||
@@ -2133,6 +2141,15 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_ПроксиКлюч(Знач Результат, Знач Ключ, Знач Равно) Экспорт
|
||||
|
||||
ТекущийКлюч = Результат["data"]["key"];
|
||||
Равенство = ТекущийКлюч = Ключ;
|
||||
|
||||
ОжидаетЧто(Равенство).Равно(Равно);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
@@ -619,10 +619,18 @@
|
||||
|
||||
Процедура Проверка_Истина(Знач Результат) Экспорт
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьБулево(Результат);
|
||||
ОжидаетЧто(Результат).Равно(Истина);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_Ложь(Знач Результат) Экспорт
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьБулево(Результат);
|
||||
ОжидаетЧто(Результат).Равно(Ложь);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_ТелеграмИстина(Знач Результат) Экспорт
|
||||
|
||||
ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
|
||||
@@ -2133,6 +2141,15 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_ПроксиКлюч(Знач Результат, Знач Ключ, Знач Равно) Экспорт
|
||||
|
||||
ТекущийКлюч = Результат["data"]["key"];
|
||||
Равенство = ТекущийКлюч = Ключ;
|
||||
|
||||
ОжидаетЧто(Равенство).Равно(Равно);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
@@ -387,6 +387,44 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Обновить ключ обработчика
|
||||
// Заменяет ключ обработчика на новый
|
||||
//
|
||||
// Параметры:
|
||||
// Проект - Строка - Путь к файлу проекта - proj
|
||||
// КлючОбработчика - Строка - Ключ обработчика - handler
|
||||
// НовыйКлюч - Строка - Свой ключ, если необходимо. Новый стандартный UUID по умолчанию - key
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура Из КлючИЗначение - Информация об обработчике
|
||||
Функция ОбновитьКлючОбработчика(Знач Проект, Знач КлючОбработчика, Знач НовыйКлюч = "") Экспорт
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(КлючОбработчика);
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(НовыйКлюч);
|
||||
|
||||
Результат = ПроверитьСуществованиеПроекта(Проект);
|
||||
|
||||
Если Не Результат["result"] Тогда
|
||||
Возврат Результат;
|
||||
Иначе
|
||||
Проект = Результат["path"];
|
||||
КонецЕсли;
|
||||
|
||||
НовыйКлюч = ?(ЗначениеЗаполнено(НовыйКлюч), НовыйКлюч, ПолучитьUUID(9));
|
||||
|
||||
СтруктураЗаписи = Новый Структура("key", НовыйКлюч);
|
||||
Результат = ИзменитьПоляОбработчика(Проект, КлючОбработчика, СтруктураЗаписи);
|
||||
|
||||
Если Не Результат["result"] Тогда
|
||||
Возврат Результат;
|
||||
КонецЕсли;
|
||||
|
||||
Результат = ПолучитьОбработчикЗапросов(Проект, НовыйКлюч);
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область УстановкаАргументов
|
||||
@@ -595,6 +633,7 @@
|
||||
|
||||
Если Ключ = "ТаблицаОбработчиков" Тогда Возврат "handlers"
|
||||
ИначеЕсли Ключ = "ТаблицаАргументов" Тогда Возврат "arguments"
|
||||
ИначеЕсли Ключ = "ТаблицаНастроек" Тогда Возврат "settings"
|
||||
|
||||
Иначе Возврат "" КонецЕсли;
|
||||
|
||||
@@ -606,6 +645,10 @@
|
||||
МассивИмен.Добавить("ТаблицаОбработчиков");
|
||||
МассивИмен.Добавить("ТаблицаАргументов");
|
||||
|
||||
Если Не ТолькоОбработчики Тогда
|
||||
МассивИмен.Добавить("ТаблицаНастроек");
|
||||
КонецЕсли;
|
||||
|
||||
Возврат МассивИмен;
|
||||
|
||||
КонецФункции
|
||||
@@ -629,6 +672,13 @@
|
||||
Возврат Результат;
|
||||
КонецЕсли;
|
||||
|
||||
Результат = СоздатьТаблицуНастроек(Путь);
|
||||
|
||||
Если Не Результат["result"] Тогда
|
||||
УдалитьФайлы(Путь);
|
||||
Возврат Результат;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
@@ -664,6 +714,19 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция СоздатьТаблицуНастроек(Путь)
|
||||
|
||||
СтруктураТаблицы = Новый Соответствие();
|
||||
СтруктураТаблицы.Вставить("name" , "TEXT PRIMARY KEY NOT NULL UNIQUE");
|
||||
СтруктураТаблицы.Вставить("value" , "TEXT");
|
||||
|
||||
ИмяТаблицыАргументов = КонстантноеЗначение("ТаблицаНастроек");
|
||||
Результат = OPI_SQLite.СоздатьТаблицу(ИмяТаблицыАргументов, СтруктураТаблицы, Путь);
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьУникальныйКлючОбработчика(Путь)
|
||||
|
||||
СекретныйКлюч = ПолучитьUUID(9);
|
||||
|
@@ -2328,6 +2328,9 @@
|
||||
ПроксиИнтеграций_ИзменитьОбработчикЗапросов(ПараметрыТеста);
|
||||
ПроксиИнтеграций_ОтключитьОбработчикЗапросов(ПараметрыТеста);
|
||||
ПроксиИнтеграций_ВключитьОбработчикЗапросов(ПараметрыТеста);
|
||||
ПроксиИнтеграций_ОбновитьКлючОбработчика(ПараметрыТеста);
|
||||
ПроксиИнтеграций_УстановитьАргументОбработчика(ПараметрыТеста);
|
||||
ПроксиИнтеграций_ПолучитьАргументыОбработчика(ПараметрыТеста);
|
||||
ПроксиИнтеграций_УдалитьОбработчикЗапросов(ПараметрыТеста);
|
||||
|
||||
Попытка
|
||||
@@ -17329,6 +17332,79 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ПроксиИнтеграций_ОбновитьКлючОбработчика(ПараметрыФункции)
|
||||
|
||||
Проект = ПараметрыФункции["Proxy_ProjectPath"];
|
||||
КлючОбработчика = ПараметрыФункции["Proxy_HandlerKey"];
|
||||
НовыйКлюч = "mykey";
|
||||
|
||||
// Свой ключ
|
||||
|
||||
Результат = OPI_ПроксиИнтеграций.ОбновитьКлючОбработчика(Проект, КлючОбработчика, НовыйКлюч);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОбновитьКлючОбработчика", "ПроксиИнтеграций"); // SKIP
|
||||
OPI_ПолучениеДанныхТестов.Проверка_ПроксиКлюч(Результат, НовыйКлюч, Истина); // SKIP
|
||||
|
||||
// Новый случайный ключ
|
||||
|
||||
Результат = OPI_ПроксиИнтеграций.ОбновитьКлючОбработчика(Проект, НовыйКлюч);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОбновитьКлючОбработчика (рандом)", "ПроксиИнтеграций");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_ПроксиКлюч(Результат, НовыйКлюч, Ложь);
|
||||
|
||||
Ключ = Результат["data"]["key"];
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Proxy_HandlerKey", Ключ);
|
||||
OPI_Инструменты.ДобавитьПоле("Proxy_HandlerKey", Ключ, "Строка", ПараметрыФункции);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ПроксиИнтеграций_УстановитьАргументОбработчика(ПараметрыФункции)
|
||||
|
||||
Проект = ПараметрыФункции["Proxy_ProjectPath"];
|
||||
КлючОбработчика = ПараметрыФункции["Proxy_HandlerKey"];
|
||||
Аргумент = "token";
|
||||
Значение = "12345";
|
||||
|
||||
Результат = OPI_ПроксиИнтеграций.УстановитьАргументОбработчика(Проект
|
||||
, КлючОбработчика
|
||||
, Аргумент
|
||||
, Значение);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УстановитьАргументОбработчика", "ПроксиИнтеграций");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Массив(Результат["data"]["args"], 1);
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Истина(Результат["data"]["args"][0]["strict"]);
|
||||
|
||||
Результат = OPI_ПроксиИнтеграций.УстановитьАргументОбработчика(Проект
|
||||
, КлючОбработчика
|
||||
, "another"
|
||||
, Значение
|
||||
, Ложь);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УстановитьАргументОбработчика (не строгий)", "ПроксиИнтеграций");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Массив(Результат["data"]["args"], 2);
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Ложь(Результат["data"]["args"][1]["strict"]);
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ПроксиИнтеграций_ПолучитьАргументыОбработчика(ПараметрыФункции)
|
||||
|
||||
Проект = ПараметрыФункции["Proxy_ProjectPath"];
|
||||
КлючОбработчика = ПараметрыФункции["Proxy_HandlerKey"];
|
||||
|
||||
Результат = OPI_ПроксиИнтеграций.ПолучитьАргументыОбработчика(Проект, КлючОбработчика);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьАргументыОбработчика", "ПроксиИнтеграций");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Массив(Результат["data"], 2);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
Reference in New Issue
Block a user