diff --git a/src/ru/OPI/src/CommonModules/OPI_GreenAPI/Module.bsl b/src/ru/OPI/src/CommonModules/OPI_GreenAPI/Module.bsl index 487486e684..621ef42d72 100644 --- a/src/ru/OPI/src/CommonModules/OPI_GreenAPI/Module.bsl +++ b/src/ru/OPI/src/CommonModules/OPI_GreenAPI/Module.bsl @@ -97,8 +97,8 @@ // Устанавливает настройки инстанса // // Примечание -// Метод в документации API: [GetSettings](@green-api.com/docs/api/account/SetSettings/) -// +// Метод в документации API: [SetSettings](@green-api.com/docs/api/account/SetSettings/) +// // Параметры: // Настройки - Структура Из КлючИЗначение - Настройки инстанса. См. ПолучитьСтруктуруНастроекИнстанса - settings // ПараметрыДоступа - Структура Из КлючИЗначение - Параметры доступа. См. СформироватьПараметрыДоступа - access @@ -116,6 +116,96 @@ КонецФункции +// Получить состояние инстанса +// Получает состояние инстанса +// +// Примечание: +// Метод в документации API: [GetStateInstance](@green-api.com/docs/api/account/GetStateInstance/) +// +// Параметры: +// ПараметрыДоступа - Структура Из КлючИЗначение - Параметры доступа. См. СформироватьПараметрыДоступа - access +// +// Возвращаемое значение: +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Green API +Функция ПолучитьСостояниеИнстанса(Знач ПараметрыДоступа) Экспорт + + URL = СформироватьОсновнойURL(ПараметрыДоступа, "getStateInstance"); + Ответ = OPI_Инструменты.Get(URL); + + Возврат Ответ; + +КонецФункции + +// Перезапустить инстанс +// Перезапускает инстанс +// +// Примечание: +// Метод в документации API: [Reboot](@green-api.com/docs/api/account/Reboot/) +// +// Параметры: +// ПараметрыДоступа - Структура Из КлючИЗначение - Параметры доступа. См. СформироватьПараметрыДоступа - access +// +// Возвращаемое значение: +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Green API +Функция ПерезапуститьИнстанс(Знач ПараметрыДоступа) Экспорт + + URL = СформироватьОсновнойURL(ПараметрыДоступа, "reboot"); + Ответ = OPI_Инструменты.Get(URL); + + Возврат Ответ; + +КонецФункции + +// Разлогинить инстанс +// Разлогинивает инстанс +// +// Примечание: +// Метод в документации API: [Logout](@green-api.com/docs/api/account/Logout/) +// +// Параметры: +// ПараметрыДоступа - Структура Из КлючИЗначение - Параметры доступа. См. СформироватьПараметрыДоступа - access +// +// Возвращаемое значение: +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Green API +Функция РазлогинитьИнстанс(Знач ПараметрыДоступа) Экспорт + + URL = СформироватьОсновнойURL(ПараметрыДоступа, "logout"); + Ответ = OPI_Инструменты.Get(URL); + + Возврат Ответ; + +КонецФункции + +// Получить QR +// Получает QR-код авторизации +// +// Примечание: +// Метод в документации API: [QR](@green-api.com/docs/api/account/QR/) +// +// Параметры: +// ПараметрыДоступа - Структура Из КлючИЗначение - Параметры доступа. См. СформироватьПараметрыДоступа - access +// +// Возвращаемое значение: +// ДвоичныеДанные, Соответствие Из КлючИЗначение - QR код или информация об ошибке +Функция ПолучитьQR(Знач ПараметрыДоступа) Экспорт + + URL = СформироватьОсновнойURL(ПараметрыДоступа, "qr"); + Ответ = OPI_Инструменты.Get(URL); + + Попытка + + Если Ответ["type"] = "qrCode" Тогда + Результат = Base64Значение(Ответ["message"]); + КонецЕсли; + + Исключение + Результат = Ответ; + КонецПопытки; + + Возврат Результат; + +КонецФункции + // Получить структуру настроек инстанса // Получает шаблон структуры для установки настроек инстанса // diff --git a/src/ru/OPI/src/CommonModules/OPI_ПолучениеДанныхТестов/Module.bsl b/src/ru/OPI/src/CommonModules/OPI_ПолучениеДанныхТестов/Module.bsl index 1cc353e9e0..80f05930e5 100644 --- a/src/ru/OPI/src/CommonModules/OPI_ПолучениеДанныхТестов/Module.bsl +++ b/src/ru/OPI/src/CommonModules/OPI_ПолучениеДанныхТестов/Module.bsl @@ -2142,6 +2142,24 @@ КонецПроцедуры +Процедура Проверка_ГринАвторизован(Знач Результат) Экспорт + + ОжидаетЧто(Результат["stateInstance"]).Равно("authorized"); + +КонецПроцедуры + +Процедура Проверка_ГринПерезапуск(Знач Результат) Экспорт + + ОжидаетЧто(Результат["isReboot"]).Равно(Истина); + +КонецПроцедуры + +Процедура Проверка_ГринРазлогин(Знач Результат) Экспорт + + ОжидаетЧто(Результат["isLogout"]).Равно(Истина); + +КонецПроцедуры + #КонецОбласти #КонецОбласти diff --git a/src/ru/OPI/src/CommonModules/OPI_Тесты/Module.bsl b/src/ru/OPI/src/CommonModules/OPI_Тесты/Module.bsl index d9f73044cb..a2b619f1a2 100644 --- a/src/ru/OPI/src/CommonModules/OPI_Тесты/Module.bsl +++ b/src/ru/OPI/src/CommonModules/OPI_Тесты/Module.bsl @@ -2375,7 +2375,11 @@ GreenAPI_ПолучитьНастройкиИнстанса(ПараметрыТеста); GreenAPI_ПолучитьСтруктуруНастроекИнстанса(ПараметрыТеста); GreenAPI_УстановитьНастройкиИнстанса(ПараметрыТеста); - + GreenAPI_ПолучитьСостояниеИнстанса(ПараметрыТеста); + GreenAPI_ПерезапуститьИнстанс(ПараметрыТеста); + //GreenAPI_РазлогинитьИнстанс(ПараметрыТеста); + //GreenAPI_ПолучитьQR(ПараметрыТеста); + КонецПроцедуры #КонецОбласти @@ -18169,6 +18173,74 @@ КонецПроцедуры +Процедура 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_ПерезапуститьИнстанс(ПараметрыФункции) + + 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_ПолучитьQR(ПараметрыФункции) + + ApiUrl = ПараметрыФункции["GreenAPI_ApiURL"]; + MediaUrl = ПараметрыФункции["GreenAPI_MediaURL"]; + IdInstance = ПараметрыФункции["GreenAPI_IdInstance"]; + ApiTokenInstance = ПараметрыФункции["GreenAPI_Token"]; + + ПараметрыДоступа = OPI_GreenAPI.СформироватьПараметрыДоступа(ApiUrl, MediaUrl, IdInstance, ApiTokenInstance); + Результат = OPI_GreenAPI.ПолучитьQR(ПараметрыДоступа); + + // END + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьQR", "GreenAPI"); + OPI_ПолучениеДанныхТестов.Проверка_ДвоичныеДанные(Результат, 0); + +КонецПроцедуры + +Процедура 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_ПолучениеДанныхТестов.Проверка_ГринРазлогин(Результат); + +КонецПроцедуры + #КонецОбласти #КонецОбласти diff --git a/src/ru/OPI/src/CommonModules/OPI_ТестыCLI/Module.bsl b/src/ru/OPI/src/CommonModules/OPI_ТестыCLI/Module.bsl index 43f422ed7f..781109f9f0 100644 --- a/src/ru/OPI/src/CommonModules/OPI_ТестыCLI/Module.bsl +++ b/src/ru/OPI/src/CommonModules/OPI_ТестыCLI/Module.bsl @@ -2343,7 +2343,11 @@ CLI_GreenAPI_ПолучитьНастройкиИнстанса(ПараметрыТеста); CLI_GreenAPI_ПолучитьСтруктуруНастроекИнстанса(ПараметрыТеста); CLI_GreenAPI_УстановитьНастройкиИнстанса(ПараметрыТеста); - + CLI_GreenAPI_ПолучитьСостояниеИнстанса(ПараметрыТеста); + CLI_GreenAPI_ПерезапуститьИнстанс(ПараметрыТеста); + CLI_GreenAPI_ПолучитьQR(ПараметрыТеста); + CLI_GreenAPI_РазлогинитьИнстанс(ПараметрыТеста); + КонецПроцедуры #КонецОбласти @@ -20375,6 +20379,106 @@ КонецПроцедуры +Процедура 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", "ПолучитьСостояниеИнстанса", Опции); + + 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", "ПерезапуститьИнстанс", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПерезапуститьИнстанс", "GreenAPI"); + OPI_ПолучениеДанныхТестов.Проверка_ГринПерезапуск(Результат); + +КонецПроцедуры + +Процедура CLI_GreenAPI_ПолучитьQR(ПараметрыФункции) + + 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", "ПолучитьQR", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьQR", "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", "РазлогинитьИнстанс", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "РазлогинитьИнстанс", "GreenAPI"); + OPI_ПолучениеДанныхТестов.Проверка_ГринПерезапуск(Результат); + +КонецПроцедуры + #КонецОбласти #КонецОбласти