1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2026-06-20 09:19:27 +02:00

GAPI: Настройки инстанса

This commit is contained in:
Anton Titovets
2025-02-23 12:54:38 +03:00
parent af1065a049
commit bb1cedc59e
13 changed files with 4736 additions and 4049 deletions
@@ -239,6 +239,7 @@
СоответствиеПризнаковСекретов.Вставить("Token" , 2);
СоответствиеПризнаковСекретов.Вставить("Key" , 2);
СоответствиеПризнаковСекретов.Вставить("Refresh" , 2);
СоответствиеПризнаковСекретов.Вставить("IdInstance" , 2);
СоответствиеПризнаковСекретов.Вставить("Password" , 3);
СоответствиеПризнаковСекретов.Вставить("Bitrix24_URL", 1.3);
BIN
View File
Binary file not shown.
+4078 -4048
View File
File diff suppressed because it is too large Load Diff
+8
View File
@@ -4723,6 +4723,8 @@
// Структура Из КлючИЗначение - Структура полей
Функция ПолучитьСтруктуруПользовательскихНастроекКаледнаря(Знач Пустая = Ложь) Экспорт
OPI_ПреобразованиеТипов.ПолучитьБулево(Пустая);
СтруктураНастроек = Новый Структура;
СтруктураНастроек.Вставить("view" , "<стандартное представление: day, week, month, list>");
@@ -4773,6 +4775,8 @@
// Структура Из КлючИЗначение - Структура полей
Функция ПолучитьСтруктуруКалендаря(Знач Пустая = Ложь) Экспорт
OPI_ПреобразованиеТипов.ПолучитьБулево(Пустая);
СтруктураКалендаря = Новый Структура;
СтруктураКалендаря.Вставить("type" , "<тип календаря: user (пользователя), group (группы)>");
@@ -5016,6 +5020,8 @@
// Структура Из КлючИЗначение - Структура полей
Функция ПолучитьСтруктуруСобытияКалендаря(Знач Пустая = Ложь) Экспорт
OPI_ПреобразованиеТипов.ПолучитьБулево(Пустая);
СтруктураСобытия = Новый Структура;
СтруктураСобытия.Вставить("type" , "<тип календаря: user, group, company_calendar>");
@@ -5090,6 +5096,8 @@
// Структура Из КлючИЗначение - Структура полей
Функция ПолучитьСтруктуруФильтраСобытийКалендарей(Знач Пустая = Ложь) Экспорт
OPI_ПреобразованиеТипов.ПолучитьБулево(Пустая);
СтруктураФильтра = Новый Структура;
СтруктураФильтра.Вставить("from" , "<дата начала выборки. 3 месяца до текущепо умолчанию>");
+65
View File
@@ -93,6 +93,71 @@
КонецФункции
// Установить настройки инстанса
// Устанавливает настройки инстанса
//
// Примечание
// Метод в документации API: [GetSettings](@green-api.com/docs/api/account/SetSettings/)
//
// Параметры:
// Настройки - Структура Из КлючИЗначение - Настройки инстанса. См. ПолучитьСтруктуруНастроекИнстанса - settings
// ПараметрыДоступа - Структура Из КлючИЗначение - Параметры доступа. См. СформироватьПараметрыДоступа - access
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Green API
Функция УстановитьНастройкиИнстанса(Знач Настройки, Знач ПараметрыДоступа) Экспорт
OPI_ПреобразованиеТипов.ПолучитьКоллекциюКлючИЗначение(ПараметрыДоступа);
URL = СформироватьОсновнойURL(ПараметрыДоступа, "setSettings");
Ответ = OPI_Инструменты.Post(URL, Настройки);
Возврат Ответ;
КонецФункции
// Получить структуру настроек инстанса
// Получает шаблон структуры для установки настроек инстанса
//
// Параметры:
// Пустая - Булево - Истина > структура с пустыми значениями, Ложь > в значениях будут описания полей - empty
//
// Возвращаемое значение:
// Структура Из КлючИЗначение - Структура настроек инстанса
Функция ПолучитьСтруктуруНастроекИнстанса(Знач Пустая = Ложь) Экспорт
OPI_ПреобразованиеТипов.ПолучитьБулево(Пустая);
СтруктураНастроек = Новый Структура;
СтруктураНастроек.Вставить("webhookUrl" , "<URL для отправки уведомлений>");
СтруктураНастроек.Вставить("webhookUrlToken" , "<токен для доступа к вашему серверу уведомлений, если требуется>");
СтруктураНастроек.Вставить("delaySendMessagesMilliseconds" , "<интервал отправки сообщений в миллисекундах>");
СтруктураНастроек.Вставить("markIncomingMessagesReaded" , "<отмечать входящие сообщения прочитанными: yes, no>");
СтруктураНастроек.Вставить("markIncomingMessagesReadedOnReply", "<отмечать входящие сообщения прочитанными при отправке сообщения в чат: yes, no>");
СтруктураНастроек.Вставить("outgoingWebhook" , "<получать уведомления о статусах отправки/доставки/прочтении исходящих сообщений: yes, no>");
СтруктураНастроек.Вставить("outgoingMessageWebhook" , "<получать уведомления о сообщениях, отправленных с телефона: yes, no>");
СтруктураНастроек.Вставить("outgoingAPIMessageWebhook" , "<получать уведомления о сообщениях, отправленных через API: yes, no>");
СтруктураНастроек.Вставить("stateWebhook" , "<получать уведомления об изменении состояния авторизации инстанса: yes, no>");
СтруктураНастроек.Вставить("incomingWebhook" , "<получать уведомления о входящих сообщениях и файлах: yes, no>");
СтруктураНастроек.Вставить("deviceWebhook" , "<получать уведомления об устройстве (телефоне) и уровне заряда батареи: yes, no>");
СтруктураНастроек.Вставить("keepOnlineStatus" , "<выставляет статус 'В сети' для вашего аккаунта>");
СтруктураНастроек.Вставить("pollMessageWebhook" , "<получать уведомления о создании опроса и голосовании в опросе: yes, no>");
СтруктураНастроек.Вставить("incomingBlockWebhook" , "<получать уведомления о добавлении чата в список заблокированных контактов: yes, no>");
СтруктураНастроек.Вставить("incomingCallWebhook" , "<получать уведомления о статусах входящего звонка: yes, no>");
СтруктураНастроек.Вставить("editedMessageWebhook" , "<получать уведомления о факте того, что сообщение было отредактировано: yes, no>");
СтруктураНастроек.Вставить("deletedMessageWebhook" , "<получать уведомления о факте того, что сообщение было удалено: yes, no>");
Если Пустая Тогда
СтруктураНастроек = OPI_Инструменты.ОчиститьКоллекциюРекурсивно(СтруктураНастроек);
КонецЕсли;
//@skip-check constructor-function-return-section
Возврат СтруктураНастроек;
КонецФункции
#КонецОбласти
#КонецОбласти
+103
View File
@@ -2361,6 +2361,25 @@
#КонецОбласти
#Область GreenAPI
Процедура GAPI_Аккаунт() Экспорт
ПараметрыТеста = Новый Структура;
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("GreenAPI_ApiURL" , ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("GreenAPI_MediaURL" , ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("GreenAPI_IdInstance", ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("GreenAPI_Token" , ПараметрыТеста);
GreenAPI_СформироватьПараметрыДоступа(ПараметрыТеста);
GreenAPI_ПолучитьНастройкиИнстанса(ПараметрыТеста);
GreenAPI_ПолучитьСтруктуруНастроекИнстанса(ПараметрыТеста);
GreenAPI_УстановитьНастройкиИнстанса(ПараметрыТеста);
КонецПроцедуры
#КонецОбласти
#КонецОбласти
#КонецОбласти
@@ -18068,6 +18087,90 @@
#КонецОбласти
#Область GreenAPI
Процедура GreenAPI_СформироватьПараметрыДоступа(ПараметрыФункции)
ApiUrl = ПараметрыФункции["GreenAPI_ApiURL"];
MediaUrl = ПараметрыФункции["GreenAPI_MediaURL"];
IdInstance = ПараметрыФункции["GreenAPI_IdInstance"];
ApiTokenInstance = ПараметрыФункции["GreenAPI_Token"];
Результат = OPI_GreenAPI.СформироватьПараметрыДоступа(ApiUrl, MediaUrl, IdInstance, ApiTokenInstance);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СформироватьПараметрыДоступа", "GreenAPI");
OPI_ПолучениеДанныхТестов.Проверка_Структура(Результат);
КонецПроцедуры
Процедура GreenAPI_ПолучитьНастройкиИнстанса(ПараметрыФункции)
ApiUrl = ПараметрыФункции["GreenAPI_ApiURL"];
MediaUrl = ПараметрыФункции["GreenAPI_MediaURL"];
IdInstance = ПараметрыФункции["GreenAPI_IdInstance"];
ApiTokenInstance = ПараметрыФункции["GreenAPI_Token"];
ПараметрыДоступа = OPI_GreenAPI.СформироватьПараметрыДоступа(ApiUrl, MediaUrl, IdInstance, ApiTokenInstance);
Результат = OPI_GreenAPI.ПолучитьНастройкиИнстанса(ПараметрыДоступа);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьНастройкиИнстанса", "GreenAPI");
OPI_ПолучениеДанныхТестов.Проверка_ГринИнстанс(Результат);
КонецПроцедуры
Процедура GreenAPI_ПолучитьСтруктуруНастроекИнстанса(ПараметрыФункции)
Результат = OPI_GreenAPI.ПолучитьСтруктуруНастроекИнстанса();
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтруктуруНастроекИнстанса", "GreenAPI");
OPI_ПолучениеДанныхТестов.Проверка_Структура(Результат);
Результат = OPI_GreenAPI.ПолучитьСтруктуруНастроекИнстанса(Истина);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтруктуруНастроекИнстанса (пустая)", "GreenAPI");
Для Каждого Элемент Из Результат Цикл
Если OPI_Инструменты.ЭтоПримитивныйТип(Элемент.Значение) Тогда
OPI_ПолучениеДанныхТестов.Проверка_Пусто(Элемент.Значение);
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Процедура GreenAPI_УстановитьНастройкиИнстанса(ПараметрыФункции)
ApiUrl = ПараметрыФункции["GreenAPI_ApiURL"];
MediaUrl = ПараметрыФункции["GreenAPI_MediaURL"];
IdInstance = ПараметрыФункции["GreenAPI_IdInstance"];
ApiTokenInstance = ПараметрыФункции["GreenAPI_Token"];
ПараметрыДоступа = OPI_GreenAPI.СформироватьПараметрыДоступа(ApiUrl, MediaUrl, IdInstance, ApiTokenInstance);
СтруктураНастроек = Новый Структура;
СтруктураНастроек.Вставить("pollMessageWebhook" , "yes");
СтруктураНастроек.Вставить("incomingBlockWebhook" , "no");
СтруктураНастроек.Вставить("incomingCallWebhook" , "no");
СтруктураНастроек.Вставить("editedMessageWebhook" , "yes");
СтруктураНастроек.Вставить("deletedMessageWebhook", "yes");
Результат = OPI_GreenAPI.УстановитьНастройкиИнстанса(СтруктураНастроек, ПараметрыДоступа);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьНастройкиИнстанса", "GreenAPI");
OPI_ПолучениеДанныхТестов.Проверка_ГринСохранениеНастроек(Результат);
КонецПроцедуры
#КонецОбласти
#КонецОбласти
#КонецОбласти
+136
View File
@@ -2329,6 +2329,25 @@
#КонецОбласти
#Область GreenAPI
Процедура CLI_GAPI_Аккаунт() Экспорт
ПараметрыТеста = Новый Структура;
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("GreenAPI_ApiURL" , ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("GreenAPI_MediaURL" , ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("GreenAPI_IdInstance", ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("GreenAPI_Token" , ПараметрыТеста);
CLI_GreenAPI_СформироватьПараметрыДоступа(ПараметрыТеста);
CLI_GreenAPI_ПолучитьНастройкиИнстанса(ПараметрыТеста);
CLI_GreenAPI_ПолучитьСтруктуруНастроекИнстанса(ПараметрыТеста);
CLI_GreenAPI_УстановитьНастройкиИнстанса(ПараметрыТеста);
КонецПроцедуры
#КонецОбласти
#КонецОбласти
#КонецОбласти
@@ -20241,6 +20260,123 @@
#КонецОбласти
#Область GreenAPI
Процедура CLI_GreenAPI_СформироватьПараметрыДоступа(ПараметрыФункции)
ApiUrl = ПараметрыФункции["GreenAPI_ApiURL"];
MediaUrl = ПараметрыФункции["GreenAPI_MediaURL"];
IdInstance = ПараметрыФункции["GreenAPI_IdInstance"];
ApiTokenInstance = ПараметрыФункции["GreenAPI_Token"];
Опции = Новый Структура;
Опции.Вставить("api" , ApiUrl);
Опции.Вставить("media", MediaUrl);
Опции.Вставить("id" , IdInstance);
Опции.Вставить("token", ApiTokenInstance);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("greenapi", "СформироватьПараметрыДоступа", Опции);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СформироватьПараметрыДоступа", "GreenAPI");
OPI_ПолучениеДанныхТестов.Проверка_Соответствие(Результат);
КонецПроцедуры
Процедура CLI_GreenAPI_ПолучитьНастройкиИнстанса(ПараметрыФункции)
ApiUrl = ПараметрыФункции["GreenAPI_ApiURL"];
MediaUrl = ПараметрыФункции["GreenAPI_MediaURL"];
IdInstance = ПараметрыФункции["GreenAPI_IdInstance"];
ApiTokenInstance = ПараметрыФункции["GreenAPI_Token"];
Опции = Новый Структура;
Опции.Вставить("api" , ApiUrl);
Опции.Вставить("media", MediaUrl);
Опции.Вставить("id" , IdInstance);
Опции.Вставить("token", ApiTokenInstance);
ПараметрыДоступа = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("greenapi", "СформироватьПараметрыДоступа", Опции);
Опции = Новый Структура;
Опции.Вставить("access", ПараметрыДоступа);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("greenapi", "ПолучитьНастройкиИнстанса", Опции);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьНастройкиИнстанса", "GreenAPI");
OPI_ПолучениеДанныхТестов.Проверка_ГринИнстанс(Результат);
КонецПроцедуры
Процедура CLI_GreenAPI_ПолучитьСтруктуруНастроекИнстанса(ПараметрыФункции)
Опции = Новый Структура;
Опции.Вставить("empty", Ложь);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("greenapi", "ПолучитьСтруктуруНастроекИнстанса", Опции);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтруктуруНастроекИнстанса", "GreenAPI");
OPI_ПолучениеДанныхТестов.Проверка_Структура(Результат);
Опции = Новый Структура;
Опции.Вставить("empty", Истина);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("greenapi", "ПолучитьСтруктуруНастроекИнстанса", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтруктуруНастроекИнстанса (пустая)", "GreenAPI");
Для Каждого Элемент Из Результат Цикл
Если OPI_Инструменты.ЭтоПримитивныйТип(Элемент.Значение) Тогда
OPI_ПолучениеДанныхТестов.Проверка_Пусто(Элемент.Значение);
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Процедура CLI_GreenAPI_УстановитьНастройкиИнстанса(ПараметрыФункции)
ApiUrl = ПараметрыФункции["GreenAPI_ApiURL"];
MediaUrl = ПараметрыФункции["GreenAPI_MediaURL"];
IdInstance = ПараметрыФункции["GreenAPI_IdInstance"];
ApiTokenInstance = ПараметрыФункции["GreenAPI_Token"];
Опции = Новый Структура;
Опции.Вставить("api" , ApiUrl);
Опции.Вставить("media", MediaUrl);
Опции.Вставить("id" , IdInstance);
Опции.Вставить("token", ApiTokenInstance);
ПараметрыДоступа = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("greenapi", "СформироватьПараметрыДоступа", Опции);
СтруктураНастроек = Новый Структура;
СтруктураНастроек.Вставить("pollMessageWebhook" , "yes");
СтруктураНастроек.Вставить("incomingBlockWebhook" , "no");
СтруктураНастроек.Вставить("incomingCallWebhook" , "no");
СтруктураНастроек.Вставить("editedMessageWebhook" , "yes");
СтруктураНастроек.Вставить("deletedMessageWebhook", "yes");
Опции = Новый Структура;
Опции.Вставить("settings", СтруктураНастроек);
Опции.Вставить("access" , ПараметрыДоступа);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("greenapi", "УстановитьНастройкиИнстанса", Опции);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УстановитьНастройкиИнстанса", "GreenAPI");
OPI_ПолучениеДанныхТестов.Проверка_ГринСохранениеНастроек(Результат);
КонецПроцедуры
#КонецОбласти
#КонецОбласти
#КонецОбласти
@@ -73,6 +73,7 @@
Разделы.Вставить("YandexMetrika" , 5);
Разделы.Вставить("S3" , 5);
Разделы.Вставить("TCP" , 5);
Разделы.Вставить("GreenAPI" , 5);
Возврат Разделы;
@@ -107,6 +108,7 @@
Разделы.Вставить("YandexMetrika" , СтандартныеЗависимости);
Разделы.Вставить("S3" , СтандартныеЗависимости);
Разделы.Вставить("TCP" , СтандартныеЗависимости);
Разделы.Вставить("GreenAPI" , СтандартныеЗависимости);
Возврат Разделы;
@@ -137,6 +139,7 @@
TCP = "TCP";
SQLite = "SQLite";
Postgres = "PostgreSQL";
GreenAPI = "GreenAPI";
ТаблицаТестов = Новый ТаблицаЗначений;
ТаблицаТестов.Колонки.Добавить("Метод");
@@ -276,6 +279,7 @@
НовыйТест(ТаблицаТестов, "SQLL_ORM" , "ORM" , SQLite);
НовыйТест(ТаблицаТестов, "Postgres_ОсновныеМетоды" , "Основные методы" , Postgres);
НовыйТест(ТаблицаТестов, "Postgres_ORM" , "ORM" , Postgres);
НовыйТест(ТаблицаТестов, "GAPI_Аккаунт" , "Аккаунт" , GreenAPI);
Возврат ТаблицаТестов;
@@ -2126,6 +2130,18 @@
КонецПроцедуры
Процедура Проверка_ГринИнстанс(Знач Результат) Экспорт
ОжидаетЧто(Результат["wid"]).Заполнено();
КонецПроцедуры
Процедура Проверка_ГринСохранениеНастроек(Знач Результат) Экспорт
ОжидаетЧто(Результат["saveSettings"]).Равно(Истина);
КонецПроцедуры
#КонецОбласти
#КонецОбласти
@@ -4723,6 +4723,8 @@
// Структура Из КлючИЗначение - Структура полей
Функция ПолучитьСтруктуруПользовательскихНастроекКаледнаря(Знач Пустая = Ложь) Экспорт
OPI_ПреобразованиеТипов.ПолучитьБулево(Пустая);
СтруктураНастроек = Новый Структура;
СтруктураНастроек.Вставить("view" , "<стандартное представление: day, week, month, list>");
@@ -4773,6 +4775,8 @@
// Структура Из КлючИЗначение - Структура полей
Функция ПолучитьСтруктуруКалендаря(Знач Пустая = Ложь) Экспорт
OPI_ПреобразованиеТипов.ПолучитьБулево(Пустая);
СтруктураКалендаря = Новый Структура;
СтруктураКалендаря.Вставить("type" , "<тип календаря: user (пользователя), group (группы)>");
@@ -5016,6 +5020,8 @@
// Структура Из КлючИЗначение - Структура полей
Функция ПолучитьСтруктуруСобытияКалендаря(Знач Пустая = Ложь) Экспорт
OPI_ПреобразованиеТипов.ПолучитьБулево(Пустая);
СтруктураСобытия = Новый Структура;
СтруктураСобытия.Вставить("type" , "<тип календаря: user, group, company_calendar>");
@@ -5090,6 +5096,8 @@
// Структура Из КлючИЗначение - Структура полей
Функция ПолучитьСтруктуруФильтраСобытийКалендарей(Знач Пустая = Ложь) Экспорт
OPI_ПреобразованиеТипов.ПолучитьБулево(Пустая);
СтруктураФильтра = Новый Структура;
СтруктураФильтра.Вставить("from" , "<дата начала выборки. 3 месяца до текущепо умолчанию>");
@@ -93,6 +93,71 @@
КонецФункции
// Установить настройки инстанса
// Устанавливает настройки инстанса
//
// Примечание
// Метод в документации API: [GetSettings](@green-api.com/docs/api/account/SetSettings/)
//
// Параметры:
// Настройки - Структура Из КлючИЗначение - Настройки инстанса. См. ПолучитьСтруктуруНастроекИнстанса - settings
// ПараметрыДоступа - Структура Из КлючИЗначение - Параметры доступа. См. СформироватьПараметрыДоступа - access
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Green API
Функция УстановитьНастройкиИнстанса(Знач Настройки, Знач ПараметрыДоступа) Экспорт
OPI_ПреобразованиеТипов.ПолучитьКоллекциюКлючИЗначение(ПараметрыДоступа);
URL = СформироватьОсновнойURL(ПараметрыДоступа, "setSettings");
Ответ = OPI_Инструменты.Post(URL, Настройки);
Возврат Ответ;
КонецФункции
// Получить структуру настроек инстанса
// Получает шаблон структуры для установки настроек инстанса
//
// Параметры:
// Пустая - Булево - Истина > структура с пустыми значениями, Ложь > в значениях будут описания полей - empty
//
// Возвращаемое значение:
// Структура Из КлючИЗначение - Структура настроек инстанса
Функция ПолучитьСтруктуруНастроекИнстанса(Знач Пустая = Ложь) Экспорт
OPI_ПреобразованиеТипов.ПолучитьБулево(Пустая);
СтруктураНастроек = Новый Структура;
СтруктураНастроек.Вставить("webhookUrl" , "<URL для отправки уведомлений>");
СтруктураНастроек.Вставить("webhookUrlToken" , "<токен для доступа к вашему серверу уведомлений, если требуется>");
СтруктураНастроек.Вставить("delaySendMessagesMilliseconds" , "<интервал отправки сообщений в миллисекундах>");
СтруктураНастроек.Вставить("markIncomingMessagesReaded" , "<отмечать входящие сообщения прочитанными: yes, no>");
СтруктураНастроек.Вставить("markIncomingMessagesReadedOnReply", "<отмечать входящие сообщения прочитанными при отправке сообщения в чат: yes, no>");
СтруктураНастроек.Вставить("outgoingWebhook" , "<получать уведомления о статусах отправки/доставки/прочтении исходящих сообщений: yes, no>");
СтруктураНастроек.Вставить("outgoingMessageWebhook" , "<получать уведомления о сообщениях, отправленных с телефона: yes, no>");
СтруктураНастроек.Вставить("outgoingAPIMessageWebhook" , "<получать уведомления о сообщениях, отправленных через API: yes, no>");
СтруктураНастроек.Вставить("stateWebhook" , "<получать уведомления об изменении состояния авторизации инстанса: yes, no>");
СтруктураНастроек.Вставить("incomingWebhook" , "<получать уведомления о входящих сообщениях и файлах: yes, no>");
СтруктураНастроек.Вставить("deviceWebhook" , "<получать уведомления об устройстве (телефоне) и уровне заряда батареи: yes, no>");
СтруктураНастроек.Вставить("keepOnlineStatus" , "<выставляет статус 'В сети' для вашего аккаунта>");
СтруктураНастроек.Вставить("pollMessageWebhook" , "<получать уведомления о создании опроса и голосовании в опросе: yes, no>");
СтруктураНастроек.Вставить("incomingBlockWebhook" , "<получать уведомления о добавлении чата в список заблокированных контактов: yes, no>");
СтруктураНастроек.Вставить("incomingCallWebhook" , "<получать уведомления о статусах входящего звонка: yes, no>");
СтруктураНастроек.Вставить("editedMessageWebhook" , "<получать уведомления о факте того, что сообщение было отредактировано: yes, no>");
СтруктураНастроек.Вставить("deletedMessageWebhook" , "<получать уведомления о факте того, что сообщение было удалено: yes, no>");
Если Пустая Тогда
СтруктураНастроек = OPI_Инструменты.ОчиститьКоллекциюРекурсивно(СтруктураНастроек);
КонецЕсли;
//@skip-check constructor-function-return-section
Возврат СтруктураНастроек;
КонецФункции
#КонецОбласти
#КонецОбласти
@@ -121,4 +186,4 @@
КонецФункции
#КонецОбласти
#КонецОбласти
@@ -73,6 +73,7 @@
Разделы.Вставить("YandexMetrika" , 5);
Разделы.Вставить("S3" , 5);
Разделы.Вставить("TCP" , 5);
Разделы.Вставить("GreenAPI" , 5);
Возврат Разделы;
@@ -107,6 +108,7 @@
Разделы.Вставить("YandexMetrika" , СтандартныеЗависимости);
Разделы.Вставить("S3" , СтандартныеЗависимости);
Разделы.Вставить("TCP" , СтандартныеЗависимости);
Разделы.Вставить("GreenAPI" , СтандартныеЗависимости);
Возврат Разделы;
@@ -137,6 +139,7 @@
TCP = "TCP";
SQLite = "SQLite";
Postgres = "PostgreSQL";
GreenAPI = "GreenAPI";
ТаблицаТестов = Новый ТаблицаЗначений;
ТаблицаТестов.Колонки.Добавить("Метод");
@@ -276,6 +279,7 @@
НовыйТест(ТаблицаТестов, "SQLL_ORM" , "ORM" , SQLite);
НовыйТест(ТаблицаТестов, "Postgres_ОсновныеМетоды" , "Основные методы" , Postgres);
НовыйТест(ТаблицаТестов, "Postgres_ORM" , "ORM" , Postgres);
НовыйТест(ТаблицаТестов, "GAPI_Аккаунт" , "Аккаунт" , GreenAPI);
Возврат ТаблицаТестов;
@@ -2126,6 +2130,18 @@
КонецПроцедуры
Процедура Проверка_ГринИнстанс(Знач Результат) Экспорт
ОжидаетЧто(Результат["wid"]).Заполнено();
КонецПроцедуры
Процедура Проверка_ГринСохранениеНастроек(Знач Результат) Экспорт
ОжидаетЧто(Результат["saveSettings"]).Равно(Истина);
КонецПроцедуры
#КонецОбласти
#КонецОбласти
+103
View File
@@ -2361,6 +2361,25 @@
#КонецОбласти
#Область GreenAPI
Процедура GAPI_Аккаунт() Экспорт
ПараметрыТеста = Новый Структура;
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("GreenAPI_ApiURL" , ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("GreenAPI_MediaURL" , ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("GreenAPI_IdInstance", ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("GreenAPI_Token" , ПараметрыТеста);
GreenAPI_СформироватьПараметрыДоступа(ПараметрыТеста);
GreenAPI_ПолучитьНастройкиИнстанса(ПараметрыТеста);
GreenAPI_ПолучитьСтруктуруНастроекИнстанса(ПараметрыТеста);
GreenAPI_УстановитьНастройкиИнстанса(ПараметрыТеста);
КонецПроцедуры
#КонецОбласти
#КонецОбласти
#КонецОбласти
@@ -18068,6 +18087,90 @@
#КонецОбласти
#Область GreenAPI
Процедура GreenAPI_СформироватьПараметрыДоступа(ПараметрыФункции)
ApiUrl = ПараметрыФункции["GreenAPI_ApiURL"];
MediaUrl = ПараметрыФункции["GreenAPI_MediaURL"];
IdInstance = ПараметрыФункции["GreenAPI_IdInstance"];
ApiTokenInstance = ПараметрыФункции["GreenAPI_Token"];
Результат = OPI_GreenAPI.СформироватьПараметрыДоступа(ApiUrl, MediaUrl, IdInstance, ApiTokenInstance);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СформироватьПараметрыДоступа", "GreenAPI");
OPI_ПолучениеДанныхТестов.Проверка_Структура(Результат);
КонецПроцедуры
Процедура GreenAPI_ПолучитьНастройкиИнстанса(ПараметрыФункции)
ApiUrl = ПараметрыФункции["GreenAPI_ApiURL"];
MediaUrl = ПараметрыФункции["GreenAPI_MediaURL"];
IdInstance = ПараметрыФункции["GreenAPI_IdInstance"];
ApiTokenInstance = ПараметрыФункции["GreenAPI_Token"];
ПараметрыДоступа = OPI_GreenAPI.СформироватьПараметрыДоступа(ApiUrl, MediaUrl, IdInstance, ApiTokenInstance);
Результат = OPI_GreenAPI.ПолучитьНастройкиИнстанса(ПараметрыДоступа);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьНастройкиИнстанса", "GreenAPI");
OPI_ПолучениеДанныхТестов.Проверка_ГринИнстанс(Результат);
КонецПроцедуры
Процедура GreenAPI_ПолучитьСтруктуруНастроекИнстанса(ПараметрыФункции)
Результат = OPI_GreenAPI.ПолучитьСтруктуруНастроекИнстанса();
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтруктуруНастроекИнстанса", "GreenAPI");
OPI_ПолучениеДанныхТестов.Проверка_Структура(Результат);
Результат = OPI_GreenAPI.ПолучитьСтруктуруНастроекИнстанса(Истина);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтруктуруНастроекИнстанса (пустая)", "GreenAPI");
Для Каждого Элемент Из Результат Цикл
Если OPI_Инструменты.ЭтоПримитивныйТип(Элемент.Значение) Тогда
OPI_ПолучениеДанныхТестов.Проверка_Пусто(Элемент.Значение);
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Процедура GreenAPI_УстановитьНастройкиИнстанса(ПараметрыФункции)
ApiUrl = ПараметрыФункции["GreenAPI_ApiURL"];
MediaUrl = ПараметрыФункции["GreenAPI_MediaURL"];
IdInstance = ПараметрыФункции["GreenAPI_IdInstance"];
ApiTokenInstance = ПараметрыФункции["GreenAPI_Token"];
ПараметрыДоступа = OPI_GreenAPI.СформироватьПараметрыДоступа(ApiUrl, MediaUrl, IdInstance, ApiTokenInstance);
СтруктураНастроек = Новый Структура;
СтруктураНастроек.Вставить("pollMessageWebhook" , "yes");
СтруктураНастроек.Вставить("incomingBlockWebhook" , "no");
СтруктураНастроек.Вставить("incomingCallWebhook" , "no");
СтруктураНастроек.Вставить("editedMessageWebhook" , "yes");
СтруктураНастроек.Вставить("deletedMessageWebhook", "yes");
Результат = OPI_GreenAPI.УстановитьНастройкиИнстанса(СтруктураНастроек, ПараметрыДоступа);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьНастройкиИнстанса", "GreenAPI");
OPI_ПолучениеДанныхТестов.Проверка_ГринСохранениеНастроек(Результат);
КонецПроцедуры
#КонецОбласти
#КонецОбласти
#КонецОбласти
@@ -2329,6 +2329,25 @@
#КонецОбласти
#Область GreenAPI
Процедура CLI_GAPI_Аккаунт() Экспорт
ПараметрыТеста = Новый Структура;
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("GreenAPI_ApiURL" , ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("GreenAPI_MediaURL" , ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("GreenAPI_IdInstance", ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("GreenAPI_Token" , ПараметрыТеста);
CLI_GreenAPI_СформироватьПараметрыДоступа(ПараметрыТеста);
CLI_GreenAPI_ПолучитьНастройкиИнстанса(ПараметрыТеста);
CLI_GreenAPI_ПолучитьСтруктуруНастроекИнстанса(ПараметрыТеста);
CLI_GreenAPI_УстановитьНастройкиИнстанса(ПараметрыТеста);
КонецПроцедуры
#КонецОбласти
#КонецОбласти
#КонецОбласти
@@ -20241,6 +20260,123 @@
#КонецОбласти
#Область GreenAPI
Процедура CLI_GreenAPI_СформироватьПараметрыДоступа(ПараметрыФункции)
ApiUrl = ПараметрыФункции["GreenAPI_ApiURL"];
MediaUrl = ПараметрыФункции["GreenAPI_MediaURL"];
IdInstance = ПараметрыФункции["GreenAPI_IdInstance"];
ApiTokenInstance = ПараметрыФункции["GreenAPI_Token"];
Опции = Новый Структура;
Опции.Вставить("api" , ApiUrl);
Опции.Вставить("media", MediaUrl);
Опции.Вставить("id" , IdInstance);
Опции.Вставить("token", ApiTokenInstance);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("greenapi", "СформироватьПараметрыДоступа", Опции);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СформироватьПараметрыДоступа", "GreenAPI");
OPI_ПолучениеДанныхТестов.Проверка_Соответствие(Результат);
КонецПроцедуры
Процедура CLI_GreenAPI_ПолучитьНастройкиИнстанса(ПараметрыФункции)
ApiUrl = ПараметрыФункции["GreenAPI_ApiURL"];
MediaUrl = ПараметрыФункции["GreenAPI_MediaURL"];
IdInstance = ПараметрыФункции["GreenAPI_IdInstance"];
ApiTokenInstance = ПараметрыФункции["GreenAPI_Token"];
Опции = Новый Структура;
Опции.Вставить("api" , ApiUrl);
Опции.Вставить("media", MediaUrl);
Опции.Вставить("id" , IdInstance);
Опции.Вставить("token", ApiTokenInstance);
ПараметрыДоступа = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("greenapi", "СформироватьПараметрыДоступа", Опции);
Опции = Новый Структура;
Опции.Вставить("access", ПараметрыДоступа);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("greenapi", "ПолучитьНастройкиИнстанса", Опции);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьНастройкиИнстанса", "GreenAPI");
OPI_ПолучениеДанныхТестов.Проверка_ГринИнстанс(Результат);
КонецПроцедуры
Процедура CLI_GreenAPI_ПолучитьСтруктуруНастроекИнстанса(ПараметрыФункции)
Опции = Новый Структура;
Опции.Вставить("empty", Ложь);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("greenapi", "ПолучитьСтруктуруНастроекИнстанса", Опции);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтруктуруНастроекИнстанса", "GreenAPI");
OPI_ПолучениеДанныхТестов.Проверка_Структура(Результат);
Опции = Новый Структура;
Опции.Вставить("empty", Истина);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("greenapi", "ПолучитьСтруктуруНастроекИнстанса", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтруктуруНастроекИнстанса (пустая)", "GreenAPI");
Для Каждого Элемент Из Результат Цикл
Если OPI_Инструменты.ЭтоПримитивныйТип(Элемент.Значение) Тогда
OPI_ПолучениеДанныхТестов.Проверка_Пусто(Элемент.Значение);
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Процедура CLI_GreenAPI_УстановитьНастройкиИнстанса(ПараметрыФункции)
ApiUrl = ПараметрыФункции["GreenAPI_ApiURL"];
MediaUrl = ПараметрыФункции["GreenAPI_MediaURL"];
IdInstance = ПараметрыФункции["GreenAPI_IdInstance"];
ApiTokenInstance = ПараметрыФункции["GreenAPI_Token"];
Опции = Новый Структура;
Опции.Вставить("api" , ApiUrl);
Опции.Вставить("media", MediaUrl);
Опции.Вставить("id" , IdInstance);
Опции.Вставить("token", ApiTokenInstance);
ПараметрыДоступа = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("greenapi", "СформироватьПараметрыДоступа", Опции);
СтруктураНастроек = Новый Структура;
СтруктураНастроек.Вставить("pollMessageWebhook" , "yes");
СтруктураНастроек.Вставить("incomingBlockWebhook" , "no");
СтруктураНастроек.Вставить("incomingCallWebhook" , "no");
СтруктураНастроек.Вставить("editedMessageWebhook" , "yes");
СтруктураНастроек.Вставить("deletedMessageWebhook", "yes");
Опции = Новый Структура;
Опции.Вставить("settings", СтруктураНастроек);
Опции.Вставить("access" , ПараметрыДоступа);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("greenapi", "УстановитьНастройкиИнстанса", Опции);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УстановитьНастройкиИнстанса", "GreenAPI");
OPI_ПолучениеДанныхТестов.Проверка_ГринСохранениеНастроек(Результат);
КонецПроцедуры
#КонецОбласти
#КонецОбласти
#КонецОбласти