diff --git a/src/ru/OPI/src/CommonModules/OPI_ПолучениеДанныхТестов/Module.bsl b/src/ru/OPI/src/CommonModules/OPI_ПолучениеДанныхТестов/Module.bsl index 98b137dcad..66e9341815 100644 --- a/src/ru/OPI/src/CommonModules/OPI_ПолучениеДанныхТестов/Module.bsl +++ b/src/ru/OPI/src/CommonModules/OPI_ПолучениеДанныхТестов/Module.bsl @@ -258,6 +258,30 @@ КонецФункции +Функция СформироватьТестыЯксCLI() Экспорт + + Модуль = ПолучитьОбщийМодуль("ЮТТесты"); + Разделы = ПолучитьСоответствиеРазделовТестирования(); + ТаблицаТестов = ПолучитьТаблицуТестов(); + + Для Каждого Раздел Из Разделы Цикл + + ТекущийРаздел = Раздел.Ключ; + Отбор = Новый Структура("Раздел", ТекущийРаздел); + ТестыРаздела = ТаблицаТестов.НайтиСтроки(Отбор); + + Набор = Модуль.ДобавитьТестовыйНабор("CLI_" + ТекущийРаздел); + + Для Каждого Тест Из ТестыРаздела Цикл + Набор.ДобавитьСерверныйТест("CLI_" + Тест.Метод, Тест.Синоним); + КонецЦикла; + + КонецЦикла; + + Возврат ""; + +КонецФункции + Функция СформироватьТестыАссертс() Экспорт ТаблицаТестов = ПолучитьТаблицуТестов(); @@ -366,6 +390,12 @@ КонецПроцедуры +Процедура ЗаписатьЛогCLI(Знач Результат, Знач Метод, Знач Библиотека = "") Экспорт + + ЗаписатьЛог(Результат, Метод + " (CLI)"); + +КонецПроцедуры + Функция ВыполнитьТестCLI(Знач Библиотека, Знач Метод, Знач Опции) Экспорт ФайлРезультата = ПолучитьИмяВременногоФайла(); diff --git a/src/ru/OPI/src/CommonModules/OPI_ТестыCLI/Module.bsl b/src/ru/OPI/src/CommonModules/OPI_ТестыCLI/Module.bsl new file mode 100644 index 0000000000..7c71a1bd22 --- /dev/null +++ b/src/ru/OPI/src/CommonModules/OPI_ТестыCLI/Module.bsl @@ -0,0 +1,1209 @@ +// OneScript: ./OInt/tests/Modules/internal/OPI_ТестыCLI.os + +// MIT License + +// Copyright (c) 2023 Anton Tsitavets + +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. + +// https://github.com/Bayselonarrend/OpenIntegrations + +// Набор тестов для YAxUnit + +// BSLLS:Typo-off +// BSLLS:LatinAndCyrillicSymbolInWord-off +// BSLLS:IncorrectLineBreak-off +// BSLLS:UsingServiceTag-off +// BSLLS:UnusedParameters-off +// BSLLS:DuplicateStringLiteral-off + +//@skip-check undefined-variable +//@skip-check wrong-string-literal-content +//@skip-check module-structure-top-region +//@skip-check module-structure-method-in-regions +//@skip-check undefined-function-or-procedure +//@skip-check wrong-string-literal-content +//@skip-check module-unused-local-variable + +// Раскомментировать, если выполняется OneScript +// #Использовать oint +// #Использовать asserts + +#Область СлужебныйПрограммныйИнтерфейс + +Процедура ИсполняемыеСценарии() Экспорт + + OPI_ПолучениеДанныхТестов.СформироватьТестыЯксCLI(); + +КонецПроцедуры + +#Область ЗапускаемыеТесты + +#Область Telegram + +Процедура CLI_Телеграм_ПолучитьИнформациюБота() Экспорт + + ПараметрыТеста = Новый Структура; + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_Token", ПараметрыТеста); + + CLI_Telegram_ПолучитьИнформациюБота(ПараметрыТеста); + +КонецПроцедуры + +Процедура CLI_Телеграм_ПолучитьОбновления() Экспорт + + ПараметрыТеста = Новый Структура; + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_Token", ПараметрыТеста); + + CLI_Telegram_УдалитьWebhook(ПараметрыТеста); + CLI_Telegram_ПолучитьОбновления(ПараметрыТеста); + +КонецПроцедуры + +Процедура CLI_Телеграм_УстановитьWebhook() Экспорт + + ПараметрыТеста = Новый Структура; + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_Token", ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_URL" , ПараметрыТеста); + + CLI_Telegram_УстановитьWebhook(ПараметрыТеста); + CLI_Telegram_УдалитьWebhook(ПараметрыТеста); + +КонецПроцедуры + +Процедура CLI_Телеграм_ОтправитьТекстовоеСообщение() Экспорт + + ПараметрыТеста = Новый Структура; + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_Token" , ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChatID" , ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChannelID", ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("String" , ПараметрыТеста); + + CLI_Telegram_ОтправитьТекстовоеСообщение(ПараметрыТеста); + +КонецПроцедуры + +Процедура CLI_Телеграм_ОтправитьКартинку() Экспорт + + ПараметрыТеста = Новый Структура; + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_Token" , ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChatID" , ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChannelID", ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("String" , ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture" , ПараметрыТеста); + + CLI_Telegram_ОтправитьКартинку(ПараметрыТеста); + CLI_Telegram_СкачатьФайл(ПараметрыТеста); + +КонецПроцедуры + +Процедура CLI_Телеграм_ОтправитьВидео() Экспорт + + ПараметрыТеста = Новый Структура; + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_Token" , ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChatID" , ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChannelID", ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("String" , ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Video" , ПараметрыТеста); + + CLI_Telegram_ОтправитьВидео(ПараметрыТеста); + CLI_Telegram_СкачатьФайл(ПараметрыТеста); + +КонецПроцедуры + +Процедура CLI_Телеграм_ОтправитьАудио() Экспорт + + ПараметрыТеста = Новый Структура; + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_Token" , ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChatID" , ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChannelID", ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("String" , ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Audio" , ПараметрыТеста); + + CLI_Telegram_ОтправитьАудио(ПараметрыТеста); + CLI_Telegram_СкачатьФайл(ПараметрыТеста); + +КонецПроцедуры + +Процедура CLI_Телеграм_ОтправитьДокумент() Экспорт + + ПараметрыТеста = Новый Структура; + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_Token" , ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChatID" , ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChannelID", ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("String" , ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Document" , ПараметрыТеста); + + CLI_Telegram_ОтправитьДокумент(ПараметрыТеста); + +КонецПроцедуры + +Процедура CLI_Телеграм_ОтправитьГифку() Экспорт + + ПараметрыТеста = Новый Структура; + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_Token" , ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChatID" , ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChannelID", ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("String" , ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("GIF" , ПараметрыТеста); + + CLI_Telegram_ОтправитьГифку(ПараметрыТеста); + +КонецПроцедуры + +Процедура CLI_Телеграм_ОтправитьМедиагруппу() Экспорт + + ПараметрыТеста = Новый Структура; + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_Token" , ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChatID" , ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChannelID", ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("String" , ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture" , ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Video" , ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Document" , ПараметрыТеста); + + CLI_Telegram_ОтправитьМеидагруппу(ПараметрыТеста); + +КонецПроцедуры + +Процедура CLI_Телеграм_ОтправитьМестоположение() Экспорт + + ПараметрыТеста = Новый Структура; + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_Token" , ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChatID" , ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChannelID", ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Long" , ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Lat" , ПараметрыТеста); + + CLI_Telegram_ОтправитьМестоположение(ПараметрыТеста); + +КонецПроцедуры + +Процедура CLI_Телеграм_ОтправитьКонтакт() Экспорт + + ПараметрыТеста = Новый Структура; + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_Token" , ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChatID" , ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChannelID", ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Name" , ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Surname" , ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Phone" , ПараметрыТеста); + + CLI_Telegram_ОтправитьКонтакт(ПараметрыТеста); + +КонецПроцедуры + +Процедура CLI_Телеграм_ОтправитьОпрос() Экспорт + + ПараметрыТеста = Новый Структура; + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_Token" , ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChatID" , ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChannelID", ПараметрыТеста); + + CLI_Telegram_ОтправитьОпрос(ПараметрыТеста); + +КонецПроцедуры + +Процедура CLI_Телеграм_ПереслатьСообщение() Экспорт + + ПараметрыТеста = Новый Структура; + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_Token" , ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChatID" , ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChannelID" , ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChannelMessageID", ПараметрыТеста); + + CLI_Telegram_ПереслатьСообщение(ПараметрыТеста); + +КонецПроцедуры + +Процедура CLI_Телеграм_БанРазбан() Экспорт + + ПараметрыТеста = Новый Структура; + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_Token" , ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChatID" , ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChannelID" , ПараметрыТеста); + + CLI_Telegram_Бан(ПараметрыТеста); + CLI_Telegram_Разбан(ПараметрыТеста); + +КонецПроцедуры + +Процедура CLI_Телеграм_СоздатьСсылкуПриглашение() Экспорт + + ПараметрыТеста = Новый Структура; + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_Token" , ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChannelID", ПараметрыТеста); + + CLI_Telegram_СоздатьСсылкуПриглашение(ПараметрыТеста); + +КонецПроцедуры + +Процедура CLI_Телеграм_ЗакрепитьОткрепитьСообщение() Экспорт + + ПараметрыТеста = Новый Структура; + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_Token" , ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChannelID" , ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChannelMessageID", ПараметрыТеста); + + CLI_Telegram_ЗакрепитьСообщение(ПараметрыТеста); + CLI_Telegram_ОткрепитьСообщение(ПараметрыТеста); + CLI_Telegram_УдалитьСообщение(ПараметрыТеста); + +КонецПроцедуры + +Процедура CLI_Телеграм_ПолучитьЧислоУчастников() Экспорт + + ПараметрыТеста = Новый Структура; + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_Token" , ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChannelID", ПараметрыТеста); + + CLI_Telegram_ПолучитьЧислоУчастников(ПараметрыТеста); + +КонецПроцедуры + +Процедура CLI_Телеграм_ПолучитьСписокАватаровФорума() Экспорт + + ПараметрыТеста = Новый Структура; + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_Token", ПараметрыТеста); + + CLI_Telegram_ПолучитьСписокАватаровФорума(ПараметрыТеста); + +КонецПроцедуры + +Процедура CLI_Телеграм_СоздатьУдалитьТемуФорума() Экспорт + + ПараметрыТеста = Новый Структура; + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_Token" , ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ForumID", ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture" , ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("String" , ПараметрыТеста); + + CLI_Telegram_СоздатьТемуФорума(ПараметрыТеста); + CLI_Telegram_ИзменитьТемуФорума(ПараметрыТеста); + CLI_Telegram_ЗакрытьТемуФорума(ПараметрыТеста); + CLI_Telegram_ОткрытьТемуФорума(ПараметрыТеста); + CLI_Telegram_ОчиститьСписокЗакрепленныхСообщенийТемы(ПараметрыТеста); + CLI_Telegram_УдалитьТемуФорума(ПараметрыТеста); + +КонецПроцедуры + +Процедура CLI_Телеграм_СкрытьПоказатьГлавнуюТему() Экспорт + + ПараметрыТеста = Новый Структура; + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_Token" , ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ForumID", ПараметрыТеста); + + CLI_Telegram_СкрытьГлавнуюТемуФорума(ПараметрыТеста); + CLI_Telegram_ПоказатьГлавнуюТемуФорума(ПараметрыТеста); + +КонецПроцедуры + +Процедура CLI_Телеграм_ИзменитьИмяГлавнойТемы() Экспорт + + ПараметрыТеста = Новый Структура; + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_Token" , ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ForumID", ПараметрыТеста); + + CLI_Telegram_ИзменитьИмяГлавнойТемыФорума(ПараметрыТеста); + +КонецПроцедуры + +#КонецОбласти + +#КонецОбласти + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +Функция ПолучитьПараметрыВК() + + Параметры = Новый Структура; + НомерГруппы = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("VK_GroupID"); + + Параметры.Вставить("access_token" , OPI_ПолучениеДанныхТестов.ПолучитьПараметр("VK_Token")); + Параметры.Вставить("owner_id" , "-" + НомерГруппы); + Параметры.Вставить("app_id" , OPI_ПолучениеДанныхТестов.ПолучитьПараметр("VK_AppID")); + Параметры.Вставить("group_id" , НомерГруппы); + + Возврат Параметры; + +КонецФункции + +Функция ПолучитьПараметрыАвторизацииТвиттер() + + Параметры = Новый Соответствие; + + Параметры.Вставить("redirect_uri" , OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Twitter_Redirect")); + Параметры.Вставить("client_id" , OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Twitter_ClinetID")); + Параметры.Вставить("client_secret" , OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Twitter_ClientSecret")); + Параметры.Вставить("access_token" , OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Twitter_Token")); + Параметры.Вставить("refresh_token" , OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Twitter_Refresh")); + Параметры.Вставить("oauth_token" , OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Twitter_OAuthToken")); + Параметры.Вставить("oauth_token_secret" , OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Twitter_OAuthSecret")); + + Параметры.Вставить("oauth_consumer_key" + , OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Twitter_OAuthConsumerKey")); + Параметры.Вставить("oauth_consumer_secret" + , OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Twitter_OAuthConsumerSecret")); + + Возврат Параметры; + +КонецФункции + +#Область АтомарныеТесты + +#Область Telegram + +Процедура CLI_Telegram_ПолучитьИнформациюБота(ПараметрыФункции) + + Опции = Новый Структура("token", ПараметрыФункции["Telegram_Token"]); + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("telegram", "ПолучитьИнформациюБота", Опции); + + // END + + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ПолучитьИнформациюБота", "Telegram"); + + OPI_ПолучениеДанныхТестов.Проверка_ТелеграмИнформацияБота(Результат); + + OPI_Инструменты.Пауза(5); + +КонецПроцедуры + +Процедура CLI_Telegram_ПолучитьОбновления(ПараметрыФункции) + + Опции = Новый Структура("token", ПараметрыФункции["Telegram_Token"]); + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("telegram", "ПолучитьОбновления", Опции); + + // END + + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ПолучитьОбновления", "Telegram"); + + OPI_ПолучениеДанныхТестов.Проверка_ТелеграмМассив(Результат); + + OPI_Инструменты.Пауза(5); + +КонецПроцедуры + +Процедура CLI_Telegram_УстановитьWebhook(ПараметрыФункции) + + Опции = Новый Структура; + Опции.Вставить("token", ПараметрыФункции["Telegram_Token"]); + Опции.Вставить("url" , ПараметрыФункции["Telegram_URL"]); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("telegram", "УстановитьWebhook", Опции); + + // END + + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "УстановитьWebhook", "Telegram"); + + OPI_ПолучениеДанныхТестов.Проверка_ТелеграмУстановкаВебхук(Результат); + + OPI_Инструменты.Пауза(5); + +КонецПроцедуры + +Процедура CLI_Telegram_УдалитьWebhook(ПараметрыФункции) + + Опции = Новый Структура("token", ПараметрыФункции["Telegram_Token"]); + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("telegram", "УдалитьWebhook", Опции); + + // END + + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "УдалитьWebhook", "Telegram"); + + OPI_ПолучениеДанныхТестов.Проверка_ТелеграмУдалениеВебхук(Результат); + + OPI_Инструменты.Пауза(5); + +КонецПроцедуры + +Процедура CLI_Telegram_ОтправитьТекстовоеСообщение(ПараметрыФункции) + + Текст = ПараметрыФункции["String"]; + + Опции = Новый Структура; + Опции.Вставить("token", ПараметрыФункции["Telegram_Token"]); + Опции.Вставить("chat" , ПараметрыФункции["Telegram_ChatID"]); + Опции.Вставить("text" , Текст); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("telegram", "ОтправитьТекстовоеСообщение", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ОтправитьТекстовоеСообщение", "Telegram"); + + OPI_ПолучениеДанныхТестов.Проверка_ТелеграмСообщение(Результат, Текст); // SKIP + + Опции.Вставить("chat", ПараметрыФункции["Telegram_ChannelID"]); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("telegram", "ОтправитьТекстовоеСообщение", Опции); + + // END + + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ОтправитьТекстовоеСообщение (канал)"); + + OPI_ПолучениеДанныхТестов.Проверка_ТелеграмСообщение(Результат, Текст); + + IDСообщения = OPI_Инструменты.ЧислоВСтроку(Результат["result"]["message_id"]); + OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Telegram_ChannelMessageID", IDСообщения); + + // Дополнительный тест 1 + Опции.Вставить("text" , "Текст html %F0%9F%93%9E 10%"); + Опции.Вставить("parsemode", "HTML"); + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("telegram", "ОтправитьТекстовоеСообщение", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ОтправитьТекстовоеСообщение (HTML)"); + + OPI_ПолучениеДанныхТестов.Проверка_ТелеграмОк(Результат); + + // Дополнительный тест 2 + Опции.Вставить("text" , "%F0%9F%A4%BC"); + Опции.Вставить("parsemode", "Markdown"); + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("telegram", "ОтправитьТекстовоеСообщение", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ОтправитьТекстовоеСообщение (emoji)"); + + OPI_ПолучениеДанныхТестов.Проверка_ТелеграмОк(Результат); + + // Дополнительный тест 3 + Опции.Вставить("text" , "Текст %F0%9F%A5%9D и emoji \(10%\)"); + Опции.Вставить("parsemode", "MarkdownV2"); + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("telegram", "ОтправитьТекстовоеСообщение", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ОтправитьТекстовоеСообщение (текст и emoji)"); + + OPI_ПолучениеДанныхТестов.Проверка_ТелеграмОк(Результат); + + OPI_Инструменты.Пауза(5); + +КонецПроцедуры + +Процедура CLI_Telegram_ОтправитьКартинку(ПараметрыФункции) + + Текст = ПараметрыФункции["String"]; + Картинка = ПараметрыФункции["Picture"]; + + Опции = Новый Структура; + Опции.Вставить("token" , ПараметрыФункции["Telegram_Token"]); + Опции.Вставить("chat" , ПараметрыФункции["Telegram_ChatID"]); + Опции.Вставить("text" , Текст); + Опции.Вставить("picture" , Картинка); + + КартинкаПуть = ПолучитьИмяВременногоФайла("png"); + КопироватьФайл(Картинка, КартинкаПуть); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("telegram", "ОтправитьКартинку", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ОтправитьКартинку", "Telegram"); + OPI_ПолучениеДанныхТестов.Проверка_ТелеграмКартинка(Результат, Текст); // SKIP + + Опции.Вставить("picture" , КартинкаПуть); + Опции.Вставить("chat" , ПараметрыФункции["Telegram_ChannelID"]); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("telegram", "ОтправитьКартинку", Опции); + + // END + + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ОтправитьКартинку (Путь)"); + OPI_ПолучениеДанныхТестов.Проверка_ТелеграмКартинка(Результат, Текст); // SKIP + + УдалитьФайлы(КартинкаПуть); + + IDФайла = Результат["result"]["photo"][0]["file_id"]; + OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Telegram_FileID", IDФайла); + + ПараметрыФункции.Вставить("Telegram_FileID", IDФайла); + + OPI_Инструменты.Пауза(5); + +КонецПроцедуры + +Процедура CLI_Telegram_ОтправитьВидео(ПараметрыФункции) + + Текст = ПараметрыФункции["String"]; + Видео = ПараметрыФункции["Video"]; + + Опции = Новый Структура; + Опции.Вставить("token" , ПараметрыФункции["Telegram_Token"]); + Опции.Вставить("chat" , ПараметрыФункции["Telegram_ChatID"]); + Опции.Вставить("text" , Текст); + Опции.Вставить("video" , Видео); + + ВидеоПуть = ПолучитьИмяВременногоФайла("mp4"); + КопироватьФайл(Видео, ВидеоПуть); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("telegram", "ОтправитьВидео", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ОтправитьВидео", "Telegram"); + OPI_ПолучениеДанныхТестов.Проверка_ТелеграмВидео(Результат, Текст); // SKIP + + Опции.Вставить("video" , ВидеоПуть); + Опции.Вставить("chat" , ПараметрыФункции["Telegram_ChannelID"]); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("telegram", "ОтправитьВидео", Опции); + + // END + + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ОтправитьВидео (Путь)"); + OPI_ПолучениеДанныхТестов.Проверка_ТелеграмВидео(Результат, Текст); // SKIP + + УдалитьФайлы(ВидеоПуть); + + IDФайла = Результат["result"]["video"]["file_id"]; + OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Telegram_FileID", IDФайла); + + ПараметрыФункции.Вставить("Telegram_FileID", IDФайла); + + OPI_Инструменты.Пауза(5); + +КонецПроцедуры + +Процедура CLI_Telegram_ОтправитьАудио(ПараметрыФункции) + + Текст = ПараметрыФункции["String"]; + Аудио = ПараметрыФункции["Audio"]; + + Опции = Новый Структура; + Опции.Вставить("token" , ПараметрыФункции["Telegram_Token"]); + Опции.Вставить("chat" , ПараметрыФункции["Telegram_ChatID"]); + Опции.Вставить("text" , Текст); + Опции.Вставить("audio" , Аудио); + + АудиоПуть = ПолучитьИмяВременногоФайла("mp3"); + КопироватьФайл(Аудио, АудиоПуть); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("telegram", "ОтправитьАудио", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ОтправитьАудио", "Telegram"); + OPI_ПолучениеДанныхТестов.Проверка_ТелеграмАудио(Результат, Текст); // SKIP + + Опции.Вставить("audio" , АудиоПуть); + Опции.Вставить("chat" , ПараметрыФункции["Telegram_ChannelID"]); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("telegram", "ОтправитьАудио", Опции); + + // END + + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ОтправитьАудио (Путь)"); + OPI_ПолучениеДанныхТестов.Проверка_ТелеграмАудио(Результат, Текст); // SKIP + + УдалитьФайлы(АудиоПуть); + + IDФайла = Результат["result"]["audio"]["file_id"]; + OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Telegram_FileID", IDФайла); + + ПараметрыФункции.Вставить("Telegram_FileID", IDФайла); + + OPI_Инструменты.Пауза(5); + +КонецПроцедуры + +Процедура CLI_Telegram_ОтправитьДокумент(ПараметрыФункции) + + Текст = ПараметрыФункции["String"]; + Документ = ПараметрыФункции["Document"]; + + Опции = Новый Структура; + Опции.Вставить("token" , ПараметрыФункции["Telegram_Token"]); + Опции.Вставить("chat" , ПараметрыФункции["Telegram_ChatID"]); + Опции.Вставить("text" , Текст); + Опции.Вставить("doc" , Документ); + + ДокументПуть = ПолучитьИмяВременногоФайла("docx"); + КопироватьФайл(Документ, ДокументПуть); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("telegram", "ОтправитьДокумент", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ОтправитьДокумент", "Telegram"); + OPI_ПолучениеДанныхТестов.Проверка_ТелеграмДокумент(Результат, Текст); // SKIP + + Опции.Вставить("doc" , ДокументПуть); + Опции.Вставить("chat", ПараметрыФункции["Telegram_ChannelID"]); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("telegram", "ОтправитьДокумент", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ОтправитьДокумент (Путь)"); + OPI_ПолучениеДанныхТестов.Проверка_ТелеграмДокумент(Результат, Текст); // SKIP + + Опции.Вставить("filename", "custom.docx"); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("telegram", "ОтправитьДокумент", Опции); + + // END + + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ОтправитьДокумент (Имя)"); + OPI_ПолучениеДанныхТестов.Проверка_ТелеграмДокумент(Результат, Текст); // SKIP + + УдалитьФайлы(ДокументПуть); + + OPI_Инструменты.Пауза(5); + +КонецПроцедуры + +Процедура CLI_Telegram_ОтправитьГифку(ПараметрыФункции) + + Текст = ПараметрыФункции["String"]; + Гифка = ПараметрыФункции["GIF"]; + + Опции = Новый Структура; + Опции.Вставить("token", ПараметрыФункции["Telegram_Token"]); + Опции.Вставить("chat" , ПараметрыФункции["Telegram_ChatID"]); + Опции.Вставить("text" , Текст); + Опции.Вставить("gif" , Гифка); + + ГифкаПуть = ПолучитьИмяВременногоФайла("gif"); + КопироватьФайл(Гифка, ГифкаПуть); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("telegram", "ОтправитьГифку", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ОтправитьГифку", "Telegram"); + OPI_ПолучениеДанныхТестов.Проверка_ТелеграмГифка(Результат, Текст); // SKIP + + Опции.Вставить("gif" , ГифкаПуть); + Опции.Вставить("chat", ПараметрыФункции["Telegram_ChannelID"]); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("telegram", "ОтправитьГифку", Опции); + + // END + + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ОтправитьГифку (Путь)"); + OPI_ПолучениеДанныхТестов.Проверка_ТелеграмГифка(Результат, Текст); // SKIP + + УдалитьФайлы(ГифкаПуть); + + OPI_Инструменты.Пауза(5); + +КонецПроцедуры + +Процедура CLI_Telegram_ОтправитьМеидагруппу(ПараметрыФункции) + + Картинка = ПараметрыФункции["Picture"]; + Видео = ПараметрыФункции["Video"]; + + КартинкаПуть = ПолучитьИмяВременногоФайла("png"); + КопироватьФайл(Картинка, КартинкаПуть); + + Медиагруппа = Новый Соответствие; + Медиагруппа.Вставить(КартинкаПуть, "photo"); + Медиагруппа.Вставить(Видео , "video"); + + Опции = Новый Структура; + Опции.Вставить("token" , ПараметрыФункции["Telegram_Token"]); + Опции.Вставить("chat" , ПараметрыФункции["Telegram_ChatID"]); + Опции.Вставить("text" , ПараметрыФункции["String"]); + Опции.Вставить("media" , Медиагруппа); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("telegram", "ОтправитьМедиагруппу", Опции); + + // END + + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ОтправитьМедиагруппу", "Telegram"); + OPI_ПолучениеДанныхТестов.Проверка_ТелеграмМедиагруппа(Результат); + + ДокументURL = ПараметрыФункции["Document"]; + ДокументПуть = ПолучитьИмяВременногоФайла("docx"); + + КопироватьФайл(ДокументURL, ДокументПуть); + + МедиаГруппа = Новый Соответствие; + Медиагруппа.Вставить(ДокументURL , "document"); + Медиагруппа.Вставить(ДокументПуть, "document"); + + Опции.Вставить("chat" , ПараметрыФункции["Telegram_ChannelID"]); + Опции.Вставить("media" , Медиагруппа); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("telegram", "ОтправитьМедиагруппу", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ОтправитьМедиагруппу (доки)", "Telegram"); + OPI_ПолучениеДанныхТестов.Проверка_ТелеграмМедиагруппа(Результат); + + УдалитьФайлы(КартинкаПуть); + УдалитьФайлы(ДокументПуть); + + OPI_Инструменты.Пауза(5); + +КонецПроцедуры + +Процедура CLI_Telegram_ОтправитьМестоположение(ПараметрыФункции) + + Опции = Новый Структура; + Опции.Вставить("token" , ПараметрыФункции["Telegram_Token"]); + Опции.Вставить("chat" , ПараметрыФункции["Telegram_ChatID"]); + Опции.Вставить("lat" , ПараметрыФункции["Lat"]); + Опции.Вставить("long" , ПараметрыФункции["Long"]); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("telegram", "ОтправитьМестоположение", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ОтправитьМестоположение", "Telegram"); + OPI_ПолучениеДанныхТестов.Проверка_ТелеграмМестоположение(Результат); // SKIP + + Опции.Вставить("chat", ПараметрыФункции["Telegram_ChannelID"]); + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("telegram", "ОтправитьМестоположение", Опции); + + // END + + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ОтправитьМестоположение (канал)"); + OPI_ПолучениеДанныхТестов.Проверка_ТелеграмМестоположение(Результат); + + OPI_Инструменты.Пауза(5); + +КонецПроцедуры + +Процедура CLI_Telegram_ОтправитьКонтакт(ПараметрыФункции) + + Имя = ПараметрыФункции["Name"]; + + Опции = Новый Структура; + Опции.Вставить("token" , ПараметрыФункции["Telegram_Token"]); + Опции.Вставить("chat" , ПараметрыФункции["Telegram_ChatID"]); + Опции.Вставить("surname", ПараметрыФункции["Surname"]); + Опции.Вставить("phone" , ПараметрыФункции["Phone"]); + Опции.Вставить("name" , Имя); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("telegram", "ОтправитьКонтакт", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ОтправитьКонтакт", "Telegram"); + OPI_ПолучениеДанныхТестов.Проверка_ТелеграмКонтакт(Результат, Имя); // SKIP + + Опции.Вставить("chat", ПараметрыФункции["Telegram_ChannelID"]); + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("telegram", "ОтправитьКонтакт", Опции); + + // END + + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ОтправитьКонтакт (канал)"); + OPI_ПолучениеДанныхТестов.Проверка_ТелеграмКонтакт(Результат, Имя); + + OPI_Инструменты.Пауза(5); + +КонецПроцедуры + +Процедура CLI_Telegram_ОтправитьОпрос(ПараметрыФункции) + + Вопрос = "Какой ваш любимый цвет?"; + + МассивОтветов = Новый Массив; + МассивОтветов.Добавить("Красный"); + МассивОтветов.Добавить("Желтый"); + МассивОтветов.Добавить("Зеленый"); + МассивОтветов.Добавить("Синий"); + + Опции = Новый Структура; + Опции.Вставить("token" , ПараметрыФункции["Telegram_Token"]); + Опции.Вставить("chat" , ПараметрыФункции["Telegram_ChatID"]); + Опции.Вставить("question", Вопрос); + Опции.Вставить("options" , МассивОтветов); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("telegram", "ОтправитьОпрос", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ОтправитьОпрос", "Telegram"); + OPI_ПолучениеДанныхТестов.Проверка_ТелеграмОпрос(Результат, Вопрос); // SKIP + + Опции.Вставить("chat", ПараметрыФункции["Telegram_ChannelID"]); + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("telegram", "ОтправитьОпрос", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ОтправитьОпрос (канал)"); + OPI_ПолучениеДанныхТестов.Проверка_ТелеграмОпрос(Результат, Вопрос); // SKIP + + OPI_Инструменты.Пауза(5); + +КонецПроцедуры + +Процедура CLI_Telegram_СкачатьФайл(ПараметрыФункции) + + Опции = Новый Структура; + Опции.Вставить("token" , ПараметрыФункции["Telegram_Token"]); + Опции.Вставить("fileid" , ПараметрыФункции["Telegram_FileID"]); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("telegram", "СкачатьФайл", Опции); + + // END + + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "СкачатьФайл", "Telegram"); + OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("ДвоичныеДанные"); + +КонецПроцедуры + +Процедура CLI_Telegram_ПереслатьСообщение(ПараметрыФункции) + + IDСообщения = ПараметрыФункции["Telegram_ChannelMessageID"]; + + Опции = Новый Структура; + Опции.Вставить("token" , ПараметрыФункции["Telegram_Token"]); + Опции.Вставить("from" , ПараметрыФункции["Telegram_ChannelID"]); + Опции.Вставить("to" , ПараметрыФункции["Telegram_ChatID"]); + Опции.Вставить("message", IDСообщения); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("telegram", "ПереслатьСообщение", Опции); + + // END + + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ПереслатьСообщение", "Telegram"); + OPI_ПолучениеДанныхТестов.Проверка_ТелеграмПереслать(Результат, IDСообщения); + + OPI_Инструменты.Пауза(5); + +КонецПроцедуры + +Процедура CLI_Telegram_Бан(ПараметрыФункции) + + Опции = Новый Структура; + Опции.Вставить("token", ПараметрыФункции["Telegram_Token"]); + Опции.Вставить("chat" , ПараметрыФункции["Telegram_ChannelID"]); + Опции.Вставить("user" , ПараметрыФункции["Telegram_ChatID"]); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("telegram", "Бан", Опции); + + // END + + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "Бан", "Telegram"); + + OPI_ПолучениеДанныхТестов.Проверка_ТелеграмБан(Результат); + OPI_Инструменты.Пауза(5); + +КонецПроцедуры + +Процедура CLI_Telegram_Разбан(ПараметрыФункции) + + Опции = Новый Структура; + Опции.Вставить("token", ПараметрыФункции["Telegram_Token"]); + Опции.Вставить("chat" , ПараметрыФункции["Telegram_ChannelID"]); + Опции.Вставить("user" , ПараметрыФункции["Telegram_ChatID"]); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("telegram", "Разбан", Опции); + + // END + + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "Разбан", "Telegram"); + OPI_ПолучениеДанныхТестов.Проверка_ТелеграмБан(Результат); + + OPI_Инструменты.Пауза(5); + +КонецПроцедуры + +Процедура CLI_Telegram_СоздатьСсылкуПриглашение(ПараметрыФункции) + + Сутки = 86400; + ТекущаяДата = OPI_Инструменты.ПолучитьТекущуюДату(); + + Заголовок = "Ссылка " + Строка(ТекущаяДата); + Истечение = ТекущаяДата + Сутки; + UnixИстечение = OPI_Инструменты.UNIXTime(Истечение); + + Опции = Новый Структура; + Опции.Вставить("token" , ПараметрыФункции["Telegram_Token"]); + Опции.Вставить("chat" , ПараметрыФункции["Telegram_ChannelID"]); + Опции.Вставить("expire", Истечение); + Опции.Вставить("title" , Заголовок); + Опции.Вставить("limit" , 200); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("telegram", "СоздатьСсылкуПриглашение", Опции); + + // END + + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "СоздатьСсылкуПриглашение", "Telegram"); + OPI_ПолучениеДанныхТестов.Проверка_ТелеграмПриглашение(Результат, Заголовок, UnixИстечение); + + OPI_Инструменты.Пауза(5); + +КонецПроцедуры + +Процедура CLI_Telegram_ЗакрепитьСообщение(ПараметрыФункции) + + Опции = Новый Структура; + Опции.Вставить("token" , ПараметрыФункции["Telegram_Token"]); + Опции.Вставить("chat" , ПараметрыФункции["Telegram_ChannelID"]); + Опции.Вставить("message", ПараметрыФункции["Telegram_ChannelMessageID"]); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("telegram", "ЗакрепитьСообщение", Опции); + + // END + + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ЗакрепитьСообщение", "Telegram"); + OPI_ПолучениеДанныхТестов.Проверка_ТелеграмИстина(Результат); + + OPI_Инструменты.Пауза(5); + +КонецПроцедуры + +Процедура CLI_Telegram_ОткрепитьСообщение(ПараметрыФункции) + + Опции = Новый Структура; + Опции.Вставить("token" , ПараметрыФункции["Telegram_Token"]); + Опции.Вставить("chat" , ПараметрыФункции["Telegram_ChannelID"]); + Опции.Вставить("message", ПараметрыФункции["Telegram_ChannelMessageID"]); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("telegram", "ОткрепитьСообщение", Опции); + + // END + + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ОткрепитьСообщение", "Telegram"); + OPI_ПолучениеДанныхТестов.Проверка_ТелеграмИстина(Результат); + + OPI_Инструменты.Пауза(5); + +КонецПроцедуры + +Процедура CLI_Telegram_ПолучитьЧислоУчастников(ПараметрыФункции) + + Опции = Новый Структура; + Опции.Вставить("token" , ПараметрыФункции["Telegram_Token"]); + Опции.Вставить("chat" , ПараметрыФункции["Telegram_ChannelID"]); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("telegram", "ПолучитьЧислоУчастников", Опции); + + // END + + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ПолучитьЧислоУчастников", "Telegram"); + + OPI_ПолучениеДанныхТестов.Проверка_ТелеграмЧисло(Результат); + + OPI_Инструменты.Пауза(5); + +КонецПроцедуры + +Процедура CLI_Telegram_ПолучитьСписокАватаровФорума(ПараметрыФункции) + + Опции = Новый Структура; + Опции.Вставить("token" , ПараметрыФункции["Telegram_Token"]); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("telegram", "ПолучитьСписокИконокАватаров", Опции); + + // END + + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ПолучитьСписокИконокАватаров", "Telegram"); + + OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено(); + + OPI_Инструменты.Пауза(5); + +КонецПроцедуры + +Процедура CLI_Telegram_СоздатьТемуФорума(ПараметрыФункции) + + Имя = "Тестовая тема " + Строка(Новый УникальныйИдентификатор); + Иконка = "5357419403325481346"; + Чат = ПараметрыФункции["Telegram_ForumID"]; + Токен = ПараметрыФункции["Telegram_Token"]; + + Опции = Новый Структура; + Опции.Вставить("token" , Токен); + Опции.Вставить("forum" , Чат); + Опции.Вставить("icon" , Иконка); + Опции.Вставить("title" , Имя); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("telegram", "СоздатьТемуФорума", Опции); + + // END + + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "СоздатьТемуФорума", "Telegram"); + + Тема = Результат["result"]["message_thread_id"]; + + OPI_Инструменты.ДобавитьПоле("Telegram_TopicID", Тема, "Строка", ПараметрыФункции); + OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Telegram_TopicID", ПараметрыФункции["Telegram_TopicID"]); + + OPI_ПолучениеДанныхТестов.Проверка_ТелеграмСозданиеТемы(Результат, Имя, Иконка); + + ЧатТема = Чат + "*" + Тема; + Текст = ПараметрыФункции["String"]; + Результат = OPI_Telegram.ОтправитьТекстовоеСообщение(Токен, ЧатТема, Текст); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ОтправитьТекстовоеСообщение (форум)"); + OPI_ПолучениеДанныхТестов.Проверка_ТелеграмСообщение(Результат, Текст); + +КонецПроцедуры + +Процедура CLI_Telegram_ИзменитьТемуФорума(ПараметрыФункции) + + Опции = Новый Структура; + Опции.Вставить("token" , ПараметрыФункции["Telegram_Token"]); + Опции.Вставить("forum" , ПараметрыФункции["Telegram_ForumID"]); + Опции.Вставить("icon" , "5310132165583840589"); + Опции.Вставить("title" , "Новый тестовый заголовок"); + Опции.Вставить("topic" , ПараметрыФункции["Telegram_TopicID"]); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("telegram", "ИзменитьТемуФорума", Опции); + + // END + + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ИзменитьТемуФорума", "Telegram"); + OPI_ПолучениеДанныхТестов.Проверка_ТелеграмИстина(Результат); + + OPI_Инструменты.Пауза(5); + +КонецПроцедуры + +Процедура CLI_Telegram_ЗакрытьТемуФорума(ПараметрыФункции) + + Токен = ПараметрыФункции["Telegram_Token"]; + Чат = ПараметрыФункции["Telegram_ForumID"]; + + Опции = Новый Структура; + Опции.Вставить("token" , Токен); + Опции.Вставить("forum" , Чат); + + OPI_Telegram.ОткрытьТемуФорума(Токен, Чат); // SKIP + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("telegram", "ЗакрытьТемуФорума", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ЗакрытьТемуФорума (главная)"); + OPI_ПолучениеДанныхТестов.Проверка_ТелеграмИстина(Результат); // SKIP + + Опции.Вставить("topic" , ПараметрыФункции["Telegram_TopicID"]); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("telegram", "ЗакрытьТемуФорума", Опции); + + // END + + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ЗакрытьТемуФорума", "Telegram"); + OPI_ПолучениеДанныхТестов.Проверка_ТелеграмИстина(Результат); + + OPI_Инструменты.Пауза(25); + +КонецПроцедуры + +Процедура CLI_Telegram_ОткрытьТемуФорума(ПараметрыФункции) + + Опции = Новый Структура; + Опции.Вставить("token" , ПараметрыФункции["Telegram_Token"]); + Опции.Вставить("forum" , ПараметрыФункции["Telegram_ForumID"]); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("telegram", "ОткрытьТемуФорума", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ОткрытьТемуФорума (главная)"); + OPI_ПолучениеДанныхТестов.Проверка_ТелеграмИстина(Результат); + + Опции.Вставить("topic" , ПараметрыФункции["Telegram_TopicID"]); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("telegram", "ОткрытьТемуФорума", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ОткрытьТемуФорума", "Telegram"); + OPI_ПолучениеДанныхТестов.Проверка_ТелеграмИстина(Результат); + + OPI_Инструменты.Пауза(25); + +КонецПроцедуры + +Процедура CLI_Telegram_УдалитьТемуФорума(ПараметрыФункции) + + Опции = Новый Структура; + Опции.Вставить("token" , ПараметрыФункции["Telegram_Token"]); + Опции.Вставить("forum" , ПараметрыФункции["Telegram_ForumID"]); + Опции.Вставить("topic" , ПараметрыФункции["Telegram_TopicID"]); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("telegram", "УдалитьТемуФорума", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "УдалитьТемуФорума", "Telegram"); + OPI_ПолучениеДанныхТестов.Проверка_ТелеграмИстина(Результат); + + OPI_Инструменты.Пауза(25); + +КонецПроцедуры + +Процедура CLI_Telegram_ОчиститьСписокЗакрепленныхСообщенийТемы(ПараметрыФункции) + + Опции = Новый Структура; + Опции.Вставить("token" , ПараметрыФункции["Telegram_Token"]); + Опции.Вставить("forum" , ПараметрыФункции["Telegram_ForumID"]); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("telegram", "ОчиститьСписокЗакрепленныхСообщенийТемы", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ОчиститьСписокЗакрепленныхСообщенийТемы (главная)"); + OPI_ПолучениеДанныхТестов.Проверка_ТелеграмИстина(Результат); // SKIP + + Опции.Вставить("topic" , ПараметрыФункции["Telegram_TopicID"]); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("telegram", "ОчиститьСписокЗакрепленныхСообщенийТемы", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ОчиститьСписокЗакрепленныхСообщенийТемы", "Telegram"); + OPI_ПолучениеДанныхТестов.Проверка_ТелеграмИстина(Результат); + + OPI_Инструменты.Пауза(5); + +КонецПроцедуры + +Процедура CLI_Telegram_СкрытьГлавнуюТемуФорума(ПараметрыФункции) + + Опции = Новый Структура; + Опции.Вставить("token" , ПараметрыФункции["Telegram_Token"]); + Опции.Вставить("forum" , ПараметрыФункции["Telegram_ForumID"]); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("telegram", "СкрытьГлавнуюТемуФорума", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "СкрытьГлавнуюТемуФорума", "Telegram"); + OPI_ПолучениеДанныхТестов.Проверка_ТелеграмИстина(Результат); + + OPI_Инструменты.Пауза(5); + +КонецПроцедуры + +Процедура CLI_Telegram_ПоказатьГлавнуюТемуФорума(ПараметрыФункции) + + Опции = Новый Структура; + Опции.Вставить("token" , ПараметрыФункции["Telegram_Token"]); + Опции.Вставить("forum" , ПараметрыФункции["Telegram_ForumID"]); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("telegram", "ПоказатьГлавнуюТемуФорума", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ПоказатьГлавнуюТемуФорума", "Telegram"); + OPI_ПолучениеДанныхТестов.Проверка_ТелеграмИстина(Результат); + + OPI_Инструменты.Пауза(5); + +КонецПроцедуры + +Процедура CLI_Telegram_ИзменитьИмяГлавнойТемыФорума(ПараметрыФункции) + + + Опции = Новый Структура; + Опции.Вставить("token" , ПараметрыФункции["Telegram_Token"]); + Опции.Вставить("forum" , ПараметрыФункции["Telegram_ForumID"]); + Опции.Вставить("title" , "Новое имя главной темы " + Строка(Новый УникальныйИдентификатор)); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("telegram", "ИзменитьИмяГлавнойТемыФорума", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ИзменитьИмяГлавнойТемыФорума", "Telegram"); + OPI_ПолучениеДанныхТестов.Проверка_ТелеграмИстина(Результат); + + OPI_Инструменты.Пауза(5); + +КонецПроцедуры + +Процедура CLI_Telegram_УдалитьСообщение(ПараметрыФункции) + + Опции = Новый Структура; + Опции.Вставить("token" , ПараметрыФункции["Telegram_Token"]); + Опции.Вставить("chat" , ПараметрыФункции["Telegram_ChannelID"]); + Опции.Вставить("message", ПараметрыФункции["Telegram_ChannelMessageID"]); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("telegram", "УдалитьСообщение", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "УдалитьСообщение", "Telegram"); + OPI_ПолучениеДанныхТестов.Проверка_ТелеграмИстина(Результат); + + OPI_Инструменты.Пауза(5); + +КонецПроцедуры + +#КонецОбласти + +#КонецОбласти + +#КонецОбласти + + diff --git a/src/ru/OPI/src/CommonModules/OPI_ТестыCLI/OPI_ТестыCLI.mdo b/src/ru/OPI/src/CommonModules/OPI_ТестыCLI/OPI_ТестыCLI.mdo new file mode 100644 index 0000000000..4a550c90c5 --- /dev/null +++ b/src/ru/OPI/src/CommonModules/OPI_ТестыCLI/OPI_ТестыCLI.mdo @@ -0,0 +1,11 @@ + + + OPI_ТестыCLI + + ru + Тесты CLI + + true + true + true + diff --git a/src/ru/OPI/src/Configuration/Configuration.mdo b/src/ru/OPI/src/Configuration/Configuration.mdo index f87f789578..0d1ebbf99e 100644 --- a/src/ru/OPI/src/Configuration/Configuration.mdo +++ b/src/ru/OPI/src/Configuration/Configuration.mdo @@ -63,5 +63,6 @@ CommonModule.OPI_Neocities CommonModule.OPI_CDEK CommonModule.OPI_Тесты + CommonModule.OPI_ТестыCLI CommonModule.OPI_ПолучениеДанныхТестов