// 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 // Раскомментировать, если выполняется OneScript #Использовать oint #Использовать asserts #Область СлужебныйПрограммныйИнтерфейс // Для YaxUnit Процедура ИсполняемыеСценарии() Экспорт OPI_ПолучениеДанныхТестов.СформироватьТестыЯкс(); КонецПроцедуры // Для Asserts Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт Возврат OPI_ПолучениеДанныхТестов.СформироватьТестыАссертс(); КонецФункции #Область Тесты #Область Telegram Процедура Телеграм_ПолучитьИнформациюБота() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_Token"); Результат = OPI_Telegram.ПолучитьИнформациюБота(Токен); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьИнформациюБота"); Проверка_ТелеграмИнформацияБота(Результат); OPI_Инструменты.Пауза(5); КонецПроцедуры Процедура Телеграм_ПолучитьОбновления() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_Token"); Результат = OPI_Telegram.ПолучитьОбновления(Токен); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьОбновления"); OPI_Telegram.УдалитьWebhook(Токен); Проверка_ТелеграмМассив(Результат); OPI_Инструменты.Пауза(5); КонецПроцедуры Процедура Телеграм_УстановитьWebhook() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_Token"); URL = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_URL"); Результат = OPI_Telegram.УстановитьWebhook(Токен, URL); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УстановитьWebhook"); Проверка_ТелеграмУстановкаВебхук(Результат); OPI_Инструменты.Пауза(5); КонецПроцедуры Процедура Телеграм_УдалитьWebhook() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_Token"); Результат = OPI_Telegram.УдалитьWebhook(Токен); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьWebhook"); Проверка_ТелеграмУдалениеВебхук(Результат); OPI_Инструменты.Пауза(5); КонецПроцедуры Процедура Телеграм_ОтправитьТекстовоеСообщение() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_Token"); IDЧата = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChatID"); IDКанала = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChannelID"); Текст = "Сообщение из автоматического теста"; МассивРезультатов = Новый Массив; МассивРезультатов.Добавить(OPI_Telegram.ОтправитьТекстовоеСообщение(Токен, IDЧата, Текст)); МассивРезультатов.Добавить(OPI_Telegram.ОтправитьТекстовоеСообщение(Токен, IDКанала, Текст)); IDСообщения = OPI_Инструменты.ЧислоВСтроку(МассивРезультатов[1]["result"]["message_id"]); OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Telegram_ChannelMessageID", IDСообщения); Для Каждого Результат Из МассивРезультатов Цикл OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьТекстовоеСообщение"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["text"]).Равно(Текст); КонецЦикла; OPI_Инструменты.Пауза(5); КонецПроцедуры Процедура Телеграм_ОтправитьКартинку() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_Token"); IDЧата = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChatID"); IDКанала = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChannelID"); Текст = "Сообщение из автоматического теста"; Картинка = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Picture"); ИВФ = ПолучитьИмяВременногоФайла("png"); Картинка.Записать(ИВФ); МассивРезультатов = Новый Массив; МассивРезультатов.Добавить(OPI_Telegram.ОтправитьКартинку(Токен, IDЧата , Текст, Картинка)); МассивРезультатов.Добавить(OPI_Telegram.ОтправитьКартинку(Токен, IDКанала, Текст, ИВФ)); Для Каждого Результат Из МассивРезультатов Цикл OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьКартинку"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие") .Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["caption"]).Равно(Текст); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["photo"]).ИмеетТип("Массив"); КонецЦикла; УдалитьФайлы(ИВФ); Результат = OPI_Telegram.СкачатьФайл(Токен, Результат["result"]["photo"][0]["file_id"]); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьКартинку"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("ДвоичныеДанные"); OPI_Инструменты.Пауза(5); КонецПроцедуры Процедура Телеграм_ОтправитьВидео() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_Token"); IDЧата = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChatID"); IDКанала = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChannelID"); Текст = "Сообщение из автоматического теста"; Видео = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Video"); ИВФ = ПолучитьИмяВременногоФайла("mp4"); Видео.Записать(ИВФ); МассивРезультатов = Новый Массив; МассивРезультатов.Добавить(OPI_Telegram.ОтправитьВидео(Токен, IDЧата , Текст, Видео)); МассивРезультатов.Добавить(OPI_Telegram.ОтправитьВидео(Токен, IDКанала, Текст, Видео)); МассивРезультатов.Добавить(OPI_Telegram.ОтправитьВидео(Токен, IDЧата , Текст, ИВФ)); МассивРезультатов.Добавить(OPI_Telegram.ОтправитьВидео(Токен, IDКанала, Текст, ИВФ)); Для Каждого Результат Из МассивРезультатов Цикл OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьВидео"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["caption"]).Равно(Текст); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["video"]["mime_type"]).Равно("video/mp4"); КонецЦикла; УдалитьФайлы(ИВФ); OPI_Инструменты.Пауза(5); КонецПроцедуры Процедура Телеграм_ОтправитьАудио() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_Token"); IDЧата = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChatID"); IDКанала = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChannelID"); Текст = "Сообщение из автоматического теста"; Аудио = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Audio"); ИВФ = ПолучитьИмяВременногоФайла("mp3"); Аудио.Записать(ИВФ); МассивРезультатов = Новый Массив; МассивРезультатов.Добавить(OPI_Telegram.ОтправитьАудио(Токен, IDЧата , Текст, Аудио)); МассивРезультатов.Добавить(OPI_Telegram.ОтправитьАудио(Токен, IDКанала, Текст, Аудио)); OPI_Инструменты.Пауза(5); МассивРезультатов.Добавить(OPI_Telegram.ОтправитьАудио(Токен, IDЧата , Текст, ИВФ)); МассивРезультатов.Добавить(OPI_Telegram.ОтправитьАудио(Токен, IDКанала, Текст, ИВФ)); Для Каждого Результат Из МассивРезультатов Цикл OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьАудио"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["caption"]).Равно(Текст); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["audio"]["mime_type"]).Равно("audio/mpeg"); КонецЦикла; УдалитьФайлы(ИВФ); OPI_Инструменты.Пауза(5); КонецПроцедуры Процедура Телеграм_ОтправитьДокумент() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_Token"); IDЧата = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChatID"); IDКанала = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChannelID"); Текст = "Сообщение из автоматического теста"; Документ = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Document"); ИВФ = ПолучитьИмяВременногоФайла("docx"); Документ.Записать(ИВФ); МассивРезультатов = Новый Массив; МассивРезультатов.Добавить(OPI_Telegram.ОтправитьДокумент(Токен, IDЧата , Текст, Документ)); МассивРезультатов.Добавить(OPI_Telegram.ОтправитьДокумент(Токен, IDКанала, Текст, Документ)); OPI_Инструменты.Пауза(5); МассивРезультатов.Добавить(OPI_Telegram.ОтправитьДокумент(Токен, IDЧата , Текст, ИВФ)); МассивРезультатов.Добавить(OPI_Telegram.ОтправитьДокумент(Токен, IDКанала, Текст, ИВФ)); Для Каждого Результат Из МассивРезультатов Цикл OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьДокумент"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["caption"]).Равно(Текст); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["document"]).ИмеетТип("Соответствие").Заполнено(); КонецЦикла; УдалитьФайлы(ИВФ); OPI_Инструменты.Пауза(5); КонецПроцедуры Процедура Телеграм_ОтправитьГифку() Экспорт Result = "result"; Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_Token"); IDЧата = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChatID"); IDКанала = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChannelID"); Текст = "Сообщение из автоматического теста"; Гифка = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("GIF"); ГифкаURL = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("GIF"); ИВФ = ПолучитьИмяВременногоФайла("gif"); Гифка.Записать(ИВФ); МассивРезультатов = Новый Массив; МассивРезультатов.Добавить(OPI_Telegram.ОтправитьГифку(Токен, IDЧата , Текст, Гифка)); МассивРезультатов.Добавить(OPI_Telegram.ОтправитьГифку(Токен, IDКанала, Текст, ГифкаURL)); OPI_Инструменты.Пауза(5); МассивРезультатов.Добавить(OPI_Telegram.ОтправитьГифку(Токен, IDЧата , Текст, ИВФ)); МассивРезультатов.Добавить(OPI_Telegram.ОтправитьГифку(Токен, IDКанала, Текст, ИВФ)); Для Каждого Результат Из МассивРезультатов Цикл OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьГифку"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Result]["caption"]).Равно(Текст); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Result]["document"]).ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Result]["animation"]["mime_type"]).Равно("video/mp4"); КонецЦикла; УдалитьФайлы(ИВФ); OPI_Инструменты.Пауза(5); КонецПроцедуры Процедура Телеграм_ОтправитьМедиагруппу() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_Token"); IDЧата = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChatID"); IDКанала = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChannelID"); Текст = "Сообщение из автоматического теста"; Картинка = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Picture"); КартинкаURL = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Picture"); КартинкаURL2 = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Picture2"); ИВФ_Картинка = ПолучитьИмяВременногоФайла("png"); Картинка.Записать(ИВФ_Картинка); Видео = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Video"); ИВФ_Видео = ПолучитьИмяВременногоФайла("mp4"); Видео.Записать(ИВФ_Видео); JSON = "{ | """ + КартинкаURL + """ : ""photo"", | """ + КартинкаURL2 + """ : ""photo"" |}"; ИВФ_JSON = ПолучитьИмяВременногоФайла("json"); Документ = Новый ТекстовыйДокумент(); Документ.УстановитьТекст(JSON); Документ.Записать(ИВФ_JSON); МедиагруппаЧат = Новый Соответствие; МедиагруппаЧат.Вставить(Картинка , "photo"); МедиагруппаЧат.Вставить(ИВФ_Видео, "video"); МедиагруппаКанал = Новый Соответствие; МедиагруппаКанал.Вставить(ИВФ_Картинка, "photo"); МедиагруппаКанал.Вставить(Видео , "video"); МассивРезультатов = Новый Массив; МассивРезультатов.Добавить(OPI_Telegram.ОтправитьМедиагруппу(Токен, IDЧата, Текст, МедиагруппаЧат)); МассивРезультатов.Добавить(OPI_Telegram.ОтправитьМедиагруппу(Токен, IDЧата, Текст, ИВФ_JSON)); OPI_Инструменты.Пауза(5); МассивРезультатов.Добавить(OPI_Telegram.ОтправитьМедиагруппу(Токен, IDКанала, Текст, МедиагруппаКанал)); МассивРезультатов.Добавить(OPI_Telegram.ОтправитьМедиагруппу(Токен, IDКанала, Текст, JSON)); Для Каждого Результат Из МассивРезультатов Цикл OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьМедиагруппу"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Массив"); КонецЦикла; УдалитьФайлы(ИВФ_Картинка); УдалитьФайлы(ИВФ_Видео); УдалитьФайлы(ИВФ_JSON); OPI_Инструменты.Пауза(5); КонецПроцедуры Процедура Телеграм_ОтправитьМестоположение() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_Token"); IDЧата = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChatID"); IDКанала = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChannelID"); Ширина = "48.87373649724122"; Долгота = "48.87373649724122"; МассивРезультатов = Новый Массив; МассивРезультатов.Добавить(OPI_Telegram.ОтправитьМестоположение(Токен, IDЧата , Ширина, Долгота)); МассивРезультатов.Добавить(OPI_Telegram.ОтправитьМестоположение(Токен, IDКанала, Ширина, Долгота)); Для Каждого Результат Из МассивРезультатов Цикл OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьМестоположение"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["location"]).ИмеетТип("Соответствие").Заполнено(); КонецЦикла; OPI_Инструменты.Пауза(5); КонецПроцедуры Процедура Телеграм_ОтправитьКонтакт() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_Token"); IDЧата = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChatID"); IDКанала = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChannelID"); Имя = "Петр"; Фамилия = "Петров"; Телефон = "88005553535"; МассивРезультатов = Новый Массив; OPI_Инструменты.Пауза(20); МассивРезультатов.Добавить(OPI_Telegram.ОтправитьКонтакт(Токен, IDЧата , Имя, Фамилия, Телефон)); OPI_Инструменты.Пауза(20); МассивРезультатов.Добавить(OPI_Telegram.ОтправитьКонтакт(Токен, IDКанала, Имя, Фамилия, Телефон)); Для Каждого Результат Из МассивРезультатов Цикл OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьКонтакт"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["contact"]).ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["contact"]["first_name"]).Равно(Имя); КонецЦикла; OPI_Инструменты.Пауза(5); КонецПроцедуры Процедура Телеграм_ОтправитьОпрос() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_Token"); IDЧата = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChatID"); IDКанала = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChannelID"); Вопрос = "Какой ваш любимый цвет?"; МассивОтветов = Новый Массив; МассивОтветов.Добавить("Красный"); МассивОтветов.Добавить("Желтый"); МассивОтветов.Добавить("Зеленый"); МассивОтветов.Добавить("Синий"); СтрочныйМассив = "['Красный', 'Желтый','Зеленый' ,'Синий']"; МассивРезультатов = Новый Массив; МассивРезультатов.Добавить(OPI_Telegram.ОтправитьОпрос(Токен, IDЧата , Вопрос, МассивОтветов, Ложь)); МассивРезультатов.Добавить(OPI_Telegram.ОтправитьОпрос(Токен, IDКанала, Вопрос, МассивОтветов, Истина)); МассивРезультатов.Добавить(OPI_Telegram.ОтправитьОпрос(Токен, IDКанала, Вопрос, СтрочныйМассив, Истина)); Для Каждого Результат Из МассивРезультатов Цикл OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьОпрос"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["poll"]).ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["poll"]["question"]).Равно(Вопрос); КонецЦикла; OPI_Инструменты.Пауза(5); КонецПроцедуры Процедура Телеграм_ПереслатьСообщение() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_Token"); IDЧата = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChatID"); IDКанала = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChannelID"); IDСообщения = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChannelMessageID"); IDСообщения = Число(IDСообщения); Результат = OPI_Telegram.ПереслатьСообщение(Токен, IDСообщения, IDКанала, IDЧата); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПереслатьСообщение"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["forward_origin"]["message_id"]).Равно(IDСообщения); OPI_Инструменты.Пауза(5); КонецПроцедуры Процедура Телеграм_БанРазбан() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_Token"); IDЧата = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChatID"); IDКанала = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChannelID"); Результат = OPI_Telegram.Бан(Токен, IDКанала, IDЧата); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "Бан"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["description"]).Равно("Bad Request: can't remove chat owner"); Результат = OPI_Telegram.Разбан(Токен, IDКанала, IDЧата); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "Разбан"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["description"]).Равно("Bad Request: can't remove chat owner"); OPI_Инструменты.Пауза(5); КонецПроцедуры Процедура Телеграм_СоздатьСсылкуПриглашение() Экспорт Result = "result"; Час = 3600; ЧасовСутки = 24; Сутки = Час * ЧасовСутки; ТекущаяДата = OPI_Инструменты.ПолучитьТекущуюДату(); Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_Token"); IDКанала = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChannelID"); Заголовок = "Ссылка " + Строка(ТекущаяДата); Истечение = ТекущаяДата + Сутки; UnixИстечение = OPI_Инструменты.UNIXTime(Истечение); UnixИстечение = СтрЗаменить(UnixИстечение, ",", ""); UnixИстечение = Лев(UnixИстечение, 10); UnixИстечение = Число(UnixИстечение); Результат = OPI_Telegram.СоздатьСсылкуПриглашение(Токен, IDКанала, Заголовок, Истечение, 200); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьСсылкуПриглашение"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Result]["member_limit"]).Равно(200); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Result]["name"]).Равно(Заголовок); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Result]["expire_date"]).Равно(UnixИстечение); OPI_Инструменты.Пауза(5); КонецПроцедуры Процедура Телеграм_ЗакрепитьОткрепитьСообщение() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_Token"); IDКанала = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChannelID"); IDСообщения = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChannelMessageID"); МассивРезультатов = Новый Массив; МассивРезультатов.Добавить(OPI_Telegram.ЗакрепитьСообщение(Токен, IDКанала, IDСообщения)); МассивРезультатов.Добавить(OPI_Telegram.ОткрепитьСообщение(Токен, IDКанала, IDСообщения)); Для Каждого Результат Из МассивРезультатов Цикл OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "Закрепить/Открепить Сообщение"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).Равно(Истина); КонецЦикла; OPI_Инструменты.Пауза(5); КонецПроцедуры Процедура Телеграм_ПолучитьЧислоУчастников() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_Token"); IDКанала = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChannelID"); Результат = OPI_Telegram.ПолучитьЧислоУчастников(Токен, IDКанала); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьЧислоУчастников"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Число"); OPI_Инструменты.Пауза(5); КонецПроцедуры Процедура Телеграм_ПолучитьСписокАватаровФорума() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_Token"); Результат = OPI_Telegram.ПолучитьСписокИконокАватаров(Токен); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокИконокАватаров"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено(); OPI_Инструменты.Пауза(5); КонецПроцедуры Процедура Телеграм_СоздатьУдалитьТемуФорума() Экспорт Ok_ = "ok"; Result = "result"; ТипСоответствие = Тип("Соответствие"); Текст = "Сообщение из автоматического теста"; Картинка = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Picture"); Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_Token"); Чат = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ForumID"); Имя = "Тестовая тема"; НовоеИмя = "Новый тестовый заголовок"; Иконка = "5357419403325481346"; НовяИконка = "5310132165583840589"; Результат = OPI_Telegram.СоздатьТемуФорума(Токен, Чат, Имя, Иконка); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьТемуФорума"); Тема = Результат[Result]["message_thread_id"]; OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие).Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Ok_]).Равно(Истина); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Result]["name"]).Равно(Имя); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Result]["icon_custom_emoji_id"]).Равно(Иконка); ЧатТема = Чат + "*" + Тема; Результат = OPI_Telegram.ОтправитьТекстовоеСообщение(Токен, ЧатТема, Текст); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьТекстовоеСообщение"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["text"]).Равно(Текст); Результат = OPI_Telegram.ОтправитьКартинку(Токен, ЧатТема , Текст, Картинка); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие") .Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["caption"]).Равно(Текст); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["photo"]).ИмеетТип("Массив"); Результат = OPI_Telegram.ИзменитьТемуФорума(Токен, Чат, Тема, НовоеИмя, НовяИконка); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьТемуФорума"); Проверка_ТелеграмИстина(Результат); OPI_Инструменты.Пауза(5); Результат = OPI_Telegram.ЗакрытьТемуФорума(Токен, Чат, Тема); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗакрытьТемуФорума"); Проверка_ТелеграмИстина(Результат); OPI_Инструменты.Пауза(25); Результат = OPI_Telegram.ОткрытьТемуФорума(Токен, Чат, Тема); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОткрытьТемуФорума"); Проверка_ТелеграмИстина(Результат); OPI_Инструменты.Пауза(25); Результат = OPI_Telegram.УдалитьТемуФорума(Токен, Чат, Тема); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьТемуФорума"); Проверка_ТелеграмИстина(Результат); OPI_Инструменты.Пауза(5); КонецПроцедуры Процедура Телеграм_ОткрытьЗакрытьГлавнуюТему() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_Token"); Чат = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ForumID"); Результат = OPI_Telegram.ОткрытьТемуФорума(Токен, Чат); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОткрытьТемуФорума"); Результат = OPI_Telegram.ЗакрытьТемуФорума(Токен, Чат); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗакрытьТемуФорума"); Проверка_ТелеграмИстина(Результат); OPI_Инструменты.Пауза(5); Результат = OPI_Telegram.ОткрытьТемуФорума(Токен, Чат); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОткрытьТемуФорума"); Проверка_ТелеграмИстина(Результат); OPI_Инструменты.Пауза(5); Результат = OPI_Telegram.ОчиститьСписокЗакрепленныхСообщенийТемы(Токен, Чат); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОчиститьСписокЗакрепленныхСообщенийТемы"); Проверка_ТелеграмИстина(Результат); OPI_Инструменты.Пауза(5); КонецПроцедуры Процедура Телеграм_СкрытьПоказатьГлавнуюТему() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_Token"); Чат = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ForumID"); Результат = OPI_Telegram.СкрытьГлавнуюТемуФорума(Токен, Чат); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СкрытьГлавнуюТемуФорума"); Проверка_ТелеграмИстина(Результат); OPI_Инструменты.Пауза(5); Результат = OPI_Telegram.ПоказатьГлавнуюТемуФорума(Токен, Чат); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПоказатьГлавнуюТемуФорума"); Проверка_ТелеграмИстина(Результат); OPI_Инструменты.Пауза(5); КонецПроцедуры Процедура Телеграм_ИзменитьИмяГлавнойТемы() Экспорт Заголовок = "Новое имя главной темы " + Строка(Новый УникальныйИдентификатор); Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_Token"); Чат = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ForumID"); Результат = OPI_Telegram.ИзменитьИмяГлавнойТемыФорума(Токен, Чат, Заголовок); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьИмяГлавнойТемыФорума"); Проверка_ТелеграмИстина(Результат); OPI_Инструменты.Пауза(5); КонецПроцедуры #КонецОбласти #Область ВК Процедура ВК_СоздатьСсылкуТокена() Экспорт Приложение = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("VK_AppID"); Результат = OPI_VK.СоздатьСсылкуПолученияТокена(Приложение); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьСсылкуПолученияТокена"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат) .ИмеетТип("Строка") .Заполнено(); OPI_Инструменты.Пауза(5); КонецПроцедуры Процедура ВК_СоздатьУдалитьПост() Экспорт Response = "response"; Параметры = ПолучитьПараметрыВК(); Текст = "Пост из автотеста"; URL = "https://github.com/Bayselonarrend/OpenIntegrations"; Картинка = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Picture"); ИВФ = ПолучитьИмяВременногоФайла("png"); Картинка.Записать(ИВФ); МассивКартинок = Новый Массив; МассивКартинок.Добавить(OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Picture")); МассивКартинок.Добавить(OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Picture2")); МассивРезультатов = Новый Массив; МассивРезультатов.Добавить(OPI_VK.СоздатьПост(Текст, Картинка, Ложь , , Параметры)); OPI_Инструменты.Пауза(5); МассивРезультатов.Добавить(OPI_VK.СоздатьПост(Текст, ИВФ , Истина, URL, Параметры)); OPI_Инструменты.Пауза(5); МассивРезультатов.Добавить(OPI_VK.СоздатьПост(Текст, МассивКартинок, Истина, URL, Параметры)); OPI_Инструменты.Пауза(5); Для Каждого Результат Из МассивРезультатов Цикл OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьПост"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Response]["post_id"]).ИмеетТип("Число").Заполнено(); ИДПоста = Результат[Response]["post_id"]; Результат = OPI_VK.УдалитьПост(ИДПоста, Параметры); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьПост"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат) .ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Response]).ИмеетТип("Число").Равно(1); КонецЦикла; УдалитьФайлы(ИВФ); OPI_Инструменты.Пауза(5); КонецПроцедуры Процедура ВК_СоздатьОпрос() Экспорт Параметры = ПолучитьПараметрыВК(); Вопрос = "Вопрос из автотеста"; МассивВариантов = Новый Массив; МассивВариантов.Добавить("Вариант 1"); МассивВариантов.Добавить("Вариант 2"); МассивВариантов.Добавить("Вариант 3"); Результат = OPI_VK.СоздатьОпрос(Вопрос, МассивВариантов, , Параметры); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьОпрос"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["response"]["post_id"]).ИмеетТип("Число").Заполнено(); ИДПоста = Результат["response"]["post_id"]; OPI_VK.УдалитьПост(ИДПоста, Параметры); OPI_Инструменты.Пауза(10); КонецПроцедуры Процедура ВК_СохранитьУдалитьКартинку() Экспорт Параметры = ПолучитьПараметрыВК(); Имя = "Альбом из автотеста"; Описание = "Новый альбом из автотеста"; ОписаниеКартинки = "Картинка автотест"; Картинка = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Picture"); ИВФ = ПолучитьИмяВременногоФайла("png"); ТипСоответствие = Тип("Соответствие"); Response = "response"; Картинка.Записать(ИВФ); Результат = OPI_VK.СоздатьАльбом(Имя, Описание, Параметры); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьАльбом"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие).Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Response]["description"]).Равно(Описание); ИДАльбома = Результат[Response]["id"]; МассивРезультатов = Новый Массив; МассивРезультатов.Добавить(OPI_VK.СохранитьКартинкуВАльбом(ИДАльбома, Картинка, ОписаниеКартинки, Параметры)); OPI_Инструменты.Пауза(5); МассивРезультатов.Добавить(OPI_VK.СохранитьКартинкуВАльбом(ИДАльбома, ИВФ , ОписаниеКартинки, Параметры)); OPI_Инструменты.Пауза(5); Для Каждого Результат Из МассивРезультатов Цикл OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СохранитьКартинкуВАльбом"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие).Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Response][0]["text"]).Равно(ОписаниеКартинки); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Response][0]["album_id"]).Равно(ИДАльбома); ИДКартинки = Результат[Response][0]["id"]; Результат = OPI_VK.УдалитьКартинку(ИДКартинки, Параметры); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьКартинку"); Проверка_ВКИстина(Результат); КонецЦикла; Результат = OPI_VK.УдалитьАльбом(ИДАльбома, Параметры); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьАльбом"); Проверка_ВКИстина(Результат); УдалитьФайлы(ИВФ); OPI_Инструменты.Пауза(5); КонецПроцедуры Процедура ВК_СоздатьИсторию() Экспорт Параметры = ПолучитьПараметрыВК(); URL = "https://github.com/Bayselonarrend/OpenIntegrations"; Картинка = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Picture"); ИВФ = ПолучитьИмяВременногоФайла("png"); Картинка.Записать(ИВФ); МассивРезультатов = Новый Массив; МассивРезультатов.Добавить(OPI_VK.СоздатьИсторию(ИВФ , URL, Параметры)); OPI_Инструменты.Пауза(5); МассивРезультатов.Добавить(OPI_VK.СоздатьИсторию(Картинка, , Параметры)); OPI_Инструменты.Пауза(5); Для Каждого Результат Из МассивРезультатов Цикл OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьИсторию"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["response"]["count"]).ИмеетТип("Число").Равно(1); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["response"]["items"]).ИмеетТип("Массив").Заполнено(); КонецЦикла; УдалитьФайлы(ИВФ); OPI_Инструменты.Пауза(5); КонецПроцедуры Процедура ВК_МетодыОбсуждений() Экспорт Параметры = ПолучитьПараметрыВК(); Название = "Обсуждение из автотеста"; Сообщение = "Сообщение из автотеста"; ТипСоответствие = Тип("Соответствие"); ТипЧисло = Тип("Число"); Response = "response"; Результат = OPI_VK.СоздатьОбсуждение(Название, Сообщение, Параметры); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьОбсуждение"); OPI_Инструменты.Пауза(5); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие).Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Response]).ИмеетТип(ТипЧисло).Заполнено(); ИДОбсуждения = Результат[Response]; Результат = OPI_VK.ЗакрытьОбсуждение(ИДОбсуждения, Ложь, Параметры); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗакрытьОбсуждение"); Проверка_ВКИстина(Результат); Результат = OPI_VK.ОткрытьОбсуждение(ИДОбсуждения, Параметры); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОткрытьОбсуждение"); OPI_Инструменты.Пауза(5); Проверка_ВКИстина(Результат); Результат = OPI_VK.НаписатьВОбсуждение(ИДОбсуждения, Сообщение, Параметры); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "НаписатьВОбсуждение"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие).Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Response]).ИмеетТип(ТипЧисло).Заполнено(); Результат = OPI_VK.ЗакрытьОбсуждение(ИДОбсуждения, Истина, Параметры); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗакрытьОбсуждение"); OPI_Инструменты.Пауза(5); Проверка_ВКИстина(Результат); OPI_Инструменты.Пауза(5); КонецПроцедуры Процедура ВК_ЛайкРепостКоммент() Экспорт Параметры = ПолучитьПараметрыВК(); Текст = "Пост из автотеста"; Сообщение = "Сообщение из автотеста"; ТипСоответствие = Тип("Соответствие"); ТипЧисло = Тип("Число"); Response = "response"; Результат = OPI_VK.СоздатьПост(Текст, Новый Массив, , , Параметры); ИДПоста = Результат[Response]["post_id"]; Результат = OPI_VK.ПоставитьЛайк(ИДПоста, , Параметры); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПоставитьЛайк"); OPI_Инструменты.Пауза(5); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие).Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Response]["likes"]).ИмеетТип(ТипЧисло).Заполнено(); ВнешнийПост = 2571; ВнешняяСтена = -218704372; Результат = OPI_VK.СделатьРепост(ВнешнийПост, ВнешняяСтена, , , Параметры); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СделатьРепост"); OPI_Инструменты.Пауза(5); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие).Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Response]["success"]).ИмеетТип(ТипЧисло).Равно(1); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Response]["wall_repost_count"]).ИмеетТип(ТипЧисло).Равно(1); Результат = OPI_VK.НаписатьКомментарий(ИДПоста, Параметры["owner_id"], Сообщение, Параметры); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "НаписатьКомментарий"); OPI_Инструменты.Пауза(5); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие).Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Response]["comment_id"]).ИмеетТип(ТипЧисло).Заполнено(); OPI_VK.УдалитьПост(ИДПоста, Параметры); OPI_VK.УдалитьПост(Результат[Response]["post_id"], Параметры); OPI_Инструменты.Пауза(5); КонецПроцедуры Процедура ВК_ПолучитьСтатистику() Экспорт ТекущаяДата = OPI_Инструменты.ПолучитьТекущуюДату(); Параметры = ПолучитьПараметрыВК(); Дата0 = НачалоДня(ТекущаяДата); Дата1 = КонецДня(Дата0); ТипСоответствие = Тип("Соответствие"); Результат = OPI_VK.ПолучитьСтатистику(Дата0, Дата1, Параметры); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтатистику"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие).Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["response"][0]["visitors"]).ИмеетТип(ТипСоответствие).Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["response"][0]["reach"]).ИмеетТип(ТипСоответствие).Заполнено(); OPI_Инструменты.Пауза(5); КонецПроцедуры Процедура ВК_ПолучитьСтатистикуПостов() Экспорт Параметры = ПолучитьПараметрыВК(); МассивПостов = Новый Массив; МассивПостов.Добавить(214); МассивПостов.Добавить(215); Результат = OPI_VK.ПолучитьСтатистикуПостов(МассивПостов, Параметры); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтатистикуПостов"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Массив").ИмеетДлину(2); OPI_Инструменты.Пауза(5); КонецПроцедуры Процедура ВК_СоздатьРекламнуюКампанию() Экспорт Параметры = ПолучитьПараметрыВК(); ИДКабинета = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("VK_AdsCabinetID"); Наименование = "Тестовая кампания"; ТипСоответствие = Тип("Соответствие"); ТипЧисло = Тип("Число"); Response = "response"; UID = "id"; Результат = OPI_VK.СоздатьРекламнуюКампанию(ИДКабинета, Наименование, Параметры); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьРекламнуюКампанию"); Результат = Результат[Response][0]; OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["error_code"]).ИмеетТип(ТипЧисло).Равно(602); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[UID]).ИмеетТип(ТипЧисло).Заполнено(); ИДКампании = Результат[UID]; ИДКатегории = 126; Лимит = 150; Результат = OPI_VK.СоздатьПост(Наименование, Новый Массив, , , Параметры); ИДПоста = Результат[Response]["post_id"]; Результат = OPI_VK.СоздатьРекламноеОбъявление(ИДКампании , Лимит , ИДКатегории , ИДПоста , ИДКабинета , Параметры); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьРекламноеОбъявление"); Результат = Результат[Response][0]; OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["error_code"]).ИмеетТип(ТипЧисло).Равно(602); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[UID]).ИмеетТип(ТипЧисло).Заполнено(); ИДОбъявления = Результат[UID]; Результат = OPI_VK.ПриостановитьРекламноеОбъявление(ИДКабинета, ИДОбъявления, Параметры); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПриостановитьРекламноеОбъявление"); Результат = Результат[Response][0]; OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[UID]).ИмеетТип(ТипЧисло).Заполнено(); OPI_VK.УдалитьПост(ИДПоста, Параметры); OPI_Инструменты.Пауза(5); КонецПроцедуры Процедура ВК_ОтправитьСообщение() Экспорт Параметры = ПолучитьПараметрыВК(); Пользователь = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("VK_UserID"); Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("VK_CommunityToken"); Текст = "Сообщение из автотеста"; МассивКнопок = Новый Массив; МассивКнопок.Добавить("Кнопка 1"); МассивКнопок.Добавить("Кнопка 2"); Клавиатура = OPI_VK.СформироватьКлавиатуру(МассивКнопок); Результат = OPI_VK.НаписатьСообщение(Текст, Пользователь, Токен, Клавиатура, Параметры); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "НаписатьСообщение"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["response"]).ИмеетТип("Число").Заполнено(); OPI_Инструменты.Пауза(5); КонецПроцедуры Процедура ВК_ПолучитьКатегорииТоваров() Экспорт Параметры = ПолучитьПараметрыВК(); Результат = OPI_VK.ПолучитьСписокКатегорийТоваров(Параметры); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокКатегорийТоваров"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат) .ИмеетТип("Соответствие") .Заполнено(); OPI_Инструменты.Пауза(5); КонецПроцедуры Процедура ВК_СоздатьТоварПодборку() Экспорт Параметры = ПолучитьПараметрыВК(); ТипСоответствие = Тип("Соответствие"); ТипЧисло = Тип("Число"); Response = "response"; Картинка = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Picture"); ИВФ = ПолучитьИмяВременногоФайла("png"); Картинка.Записать(ИВФ); Результат = OPI_VK.СоздатьПодборкуТоваров("Тестовая подборка" , Картинка , Истина , Ложь , Параметры); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьПодборкуТоваров"); OPI_Инструменты.Пауза(5); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Response]["albums_count"]).ИмеетТип(ТипЧисло).Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Response]["market_album_id"]).ИмеетТип(ТипЧисло).Заполнено(); ИДПодборки = Результат[Response]["market_album_id"]; Результат = OPI_VK.ИзменитьПодборкуТоваров("Измененная подборка", ИДПодборки, , , , Параметры); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьПодборкуТоваров"); OPI_Инструменты.Пауза(5); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Response]).ИмеетТип(ТипЧисло).Равно(1); МассивКартинок = Новый Массив; МассивКартинок.Добавить(OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Picture")); МассивКартинок.Добавить(OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Picture2")); Товар = Новый Соответствие(); Товар.Вставить("Имя" , "Тестовый товар"); Товар.Вставить("Описание" , "Описание товара"); Товар.Вставить("Категория" , "20173"); Товар.Вставить("Цена" , 1); Товар.Вставить("СтараяЦена" , 15); Товар.Вставить("ОсновноеФото" , Картинка); Товар.Вставить("URL" , "https://github.com/Bayselonarrend/OpenIntegrations"); Товар.Вставить("ДополнительныеФото" , МассивКартинок); Товар.Вставить("ГлавныйВГруппе" , Истина); Товар.Вставить("Ширина" , 20); Товар.Вставить("Высота" , 30); Товар.Вставить("Глубина" , 40); Товар.Вставить("Вес" , 100); Товар.Вставить("SKU" , "12345"); Товар.Вставить("ДоступныйОстаток" , "10"); Результат = OPI_VK.ДобавитьТовар(Товар, ИДПодборки, Параметры); // Добавление товара OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьТовар"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Response]["market_item_id"]).ИмеетТип(ТипЧисло).Заполнено(); ИДТовара = Результат[Response]["market_item_id"]; Товар = Новый Соответствие; Товар.Вставить("Имя", "Тестовый товар измененный"); Результат = OPI_VK.ИзменитьТовар(ИДТовара, Товар, , Параметры); // Изменение товара OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьТовар"); Проверка_ВКИстина(Результат); Результат = OPI_VK.ДобавитьТоварВПодборку(ИДТовара, ИДПодборки, Параметры); // Добавление в подборку OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьТоварВПодборку"); OPI_Инструменты.Пауза(5); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Response]).ИмеетТип(ТипЧисло).Заполнено(); Результат = OPI_VK.УдалитьТоварИзПодборки(ИДТовара, ИДПодборки, Параметры); // Удаляет из подборки OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьТоварИзПодборки"); OPI_Инструменты.Пауза(5); Проверка_ВКИстина(Результат); Результат = OPI_VK.УдалитьТовар(ИДТовара, Параметры); // Удаление товара OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьТовар"); OPI_Инструменты.Пауза(5); Проверка_ВКИстина(Результат); Результат = OPI_VK.УдалитьПодборку(ИДПодборки, Параметры); // Уадление подборки OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьПодборку"); OPI_Инструменты.Пауза(5); Проверка_ВКИстина(Результат); УдалитьФайлы(ИВФ); OPI_Инструменты.Пауза(5); КонецПроцедуры Процедура ВК_СоздатьТоварСоСвойствами() Экспорт Параметры = ПолучитьПараметрыВК(); ТипСоответствие = Тип("Соответствие"); ТипЧисло = Тип("Число"); MII = "market_item_id"; Response = "response"; Желтый = "Желтый"; Красный = "Красный"; Картинка = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Picture"); ИВФ = ПолучитьИмяВременногоФайла("png"); Картинка.Записать(ИВФ); МассивВариантов = Новый Массив; МассивВариантов.Добавить(Желтый); МассивВариантов.Добавить("Синий"); МассивВариантов.Добавить(Красный); Результат = OPI_VK.СоздатьСвойствоТовара("Цвет", Параметры); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьСвойствоТовара"); OPI_Инструменты.Пауза(5); Свойство = Результат[Response]["property_id"]; Свойство = OPI_Инструменты.ЧислоВСтроку(Свойство); СоответствиеСвойств = Новый Соответствие; OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Response]["property_id"]).ИмеетТип(ТипЧисло).Заполнено(); Результат = OPI_VK.ИзменитьСвойствоТовара("Цвет (изм.)", Свойство, Параметры); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьСвойствоТовара"); OPI_Инструменты.Пауза(5); Проверка_ВКИстина(Результат); Для Каждого Вариант Из МассивВариантов Цикл Результат = OPI_VK.ДобавитьВариантСвойстваТовара(Вариант, Свойство, Параметры); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьВариантСвойстваТовара"); OPI_Инструменты.Пауза(5); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Response]["variant_id"]).ИмеетТип(ТипЧисло).Заполнено(); ИДВарианта = Результат[Response]["variant_id"]; СоответствиеСвойств.Вставить(Вариант, ИДВарианта); Результат = OPI_VK.ИзменитьВариантСвойстваТовара(Вариант + Строка(Новый УникальныйИдентификатор()) , Свойство , ИДВарианта , Параметры); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьВариантСвойстваТовара"); Проверка_ВКИстина(Результат); КонецЦикла; МассивКартинок = Новый Массив; МассивКартинок.Добавить(ИВФ); МассивКартинок.Добавить(Картинка); Товар = Новый Соответствие(); Товар.Вставить("Имя" , "Тестовый товар (" + Желтый + ")"); Товар.Вставить("Описание" , "Описание товара"); Товар.Вставить("Категория" , "20173"); Товар.Вставить("Цена" , 1); Товар.Вставить("СтараяЦена" , 15); Товар.Вставить("ОсновноеФото" , Картинка); Товар.Вставить("URL" , "https://github.com/Bayselonarrend/OpenIntegrations"); Товар.Вставить("ДополнительныеФото" , МассивКартинок); Товар.Вставить("ГлавныйВГруппе" , Истина); Товар.Вставить("НомерГруппы" , Неопределено); Товар.Вставить("Ширина" , 20); Товар.Вставить("Высота" , 30); Товар.Вставить("Глубина" , 40); Товар.Вставить("Вес" , 100); Товар.Вставить("SKU" , 12345); Товар.Вставить("ДоступныйОстаток" , "10"); Товар.Вставить("ЗначенияСвойств" , СоответствиеСвойств[Желтый]); Результат = OPI_VK.ДобавитьТовар(Товар, , Параметры); // Добавление товара OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьТовар"); OPI_Инструменты.Пауза(5); ИДЖелтого = Результат[Response]["market_item_id"]; OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Response][MII]).ИмеетТип(ТипЧисло).Заполнено(); Товар.Вставить("Имя" , "Тестовый товар (" + Красный + ")"); Товар.Вставить("ЗначенияСвойств", СоответствиеСвойств[Красный]); Результат = OPI_VK.ДобавитьТовар(Товар, , Параметры); // Добавление товара OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьТовар"); OPI_Инструменты.Пауза(5); ИДКрасного = Результат[Response][MII]; OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Response][MII]).ИмеетТип(ТипЧисло).Заполнено(); МассивТоваров = Новый Массив; МассивТоваров.Добавить(ИДЖелтого); МассивТоваров.Добавить(ИДКрасного); Результат = OPI_VK.ПолучитьТоварыПоИД(МассивТоваров, Параметры); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьТоварыПоИД"); OPI_Инструменты.Пауза(5); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Response]["items"]).ИмеетТип("Массив").ИмеетДлину(2); Результат = OPI_VK.СгруппироватьТовары(МассивТоваров, , Параметры); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СгруппироватьТовары"); OPI_Инструменты.Пауза(5); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Response]["item_group_id"]).ИмеетТип(ТипЧисло).Заполнено(); OPI_VK.УдалитьТовар(ИДЖелтого , Параметры); OPI_VK.УдалитьТовар(ИДКрасного, Параметры); Для Каждого Вариант Из СоответствиеСвойств Цикл Удаление = OPI_VK.УдалитьВариантСвойстваТовара(Вариант.Значение, Параметры); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьВариантСвойстваТовара"); OPI_Инструменты.Пауза(5); Проверка_ВКИстина(Удаление); КонецЦикла; Удаление = OPI_VK.УдалитьСвойствоТовара(Свойство, Параметры); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьСвойствоТовара"); OPI_Инструменты.Пауза(5); Проверка_ВКИстина(Удаление); УдалитьФайлы(ИВФ); КонецПроцедуры Процедура ВК_ПолучитьСписокТоваров() Экспорт Параметры = ПолучитьПараметрыВК(); Картинка = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Picture"); МассивКартинок = Новый Массив; МассивКартинок.Добавить(Картинка); Товар = Новый Соответствие(); Товар.Вставить("Имя" , "Тестовый товар 2"); Товар.Вставить("Описание" , "Описание товара"); Товар.Вставить("Категория" , "20173"); Товар.Вставить("Цена" , 1); Товар.Вставить("СтараяЦена" , 15); Товар.Вставить("ОсновноеФото" , Картинка); Товар.Вставить("URL" , "https://github.com/Bayselonarrend/OpenIntegrations"); Товар.Вставить("ДополнительныеФото" , МассивКартинок); Товар.Вставить("ГлавныйВГруппе" , Истина); Товар.Вставить("НомерГруппы" , Неопределено); Товар.Вставить("Ширина" , 20); Товар.Вставить("Высота" , 30); Товар.Вставить("Глубина" , 40); Товар.Вставить("Вес" , 100); Товар.Вставить("SKU" , 12345); Товар.Вставить("ДоступныйОстаток" , "10"); Результат = OPI_VK.ДобавитьТовар(Товар, , Параметры); ИДТовара = Результат["response"]["market_item_id"]; OPI_Инструменты.Пауза(5); Результат = OPI_VK.ПолучитьСписокТоваров(, Параметры); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокТоваров"); OPI_Инструменты.Пауза(5); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат) .ИмеетТип("Массив").Заполнено(); OPI_VK.УдалитьТовар(ИДТовара, Параметры); OPI_Инструменты.Пауза(5); КонецПроцедуры Процедура ВК_ПолучитьСписокПодборок() Экспорт Параметры = ПолучитьПараметрыВК(); Картинка = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Picture"); Результат = OPI_VK.СоздатьПодборкуТоваров("Тестовая подборка" , Картинка , Истина , Ложь , Параметры); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьПодборкуТоваров"); ИДПодборки = Результат["response"]["market_album_id"]; Результат = OPI_VK.ПолучитьСписокПодборок(Параметры); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокПодборок"); OPI_Инструменты.Пауза(5); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат) .ИмеетТип("Массив").Заполнено(); OPI_VK.УдалитьПодборку(ИДПодборки, Параметры); OPI_Инструменты.Пауза(5); КонецПроцедуры Процедура ВК_ПолучитьСписокСвойств() Экспорт Параметры = ПолучитьПараметрыВК(); Результат = OPI_VK.ПолучитьСписокСвойств(Параметры); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокСвойств"); OPI_Инструменты.Пауза(5); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат) .ИмеетТип("Массив").Заполнено(); OPI_Инструменты.Пауза(5); КонецПроцедуры Процедура ВК_ПолучитьСписокЗаказов() Экспорт Параметры = ПолучитьПараметрыВК(); Результат = OPI_VK.ПолучитьСписокЗаказов(Параметры); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокЗаказов"); OPI_Инструменты.Пауза(5); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат) .ИмеетТип("Массив").Заполнено(); OPI_Инструменты.Пауза(5); КонецПроцедуры #КонецОбласти #Область YandexDisk Процедура ЯДиск_ПолучитьИнформациюОДиске() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("YandexDisk_Token"); Соответствие = "Соответствие"; Результат = OPI_YandexDisk.ПолучитьИнформациюОДиске(Токен); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьИнформациюОДиске"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(Соответствие).Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["system_folders"]).ИмеетТип(Соответствие); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["user"]).ИмеетТип(Соответствие); OPI_Инструменты.Пауза(5); КонецПроцедуры Процедура ЯДиск_СоздатьПапку() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("YandexDisk_Token"); Путь = "/" + Строка(Новый УникальныйИдентификатор); Результат = OPI_YandexDisk.СоздатьПапку(Токен, Путь); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьПапку"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["type"]).Равно("dir"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["path"]).Равно("disk:" + Путь); OPI_YandexDisk.УдалитьОбъект(Токен, Путь, Ложь); OPI_Инструменты.Пауза(5); КонецПроцедуры Процедура ЯДиск_ЗагрузитьПоАдресуПолучитьОбъект() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("YandexDisk_Token"); Путь = "/" + Строка(Новый УникальныйИдентификатор) + ".png"; URL = "https://raw.githubusercontent.com/Bayselonarrend/OpenIntegrations/main/Media/logo.png"; OPI_YandexDisk.ЗагрузитьФайлПоURL(Токен, Путь, URL); OPI_Инструменты.Пауза(5); Результат = OPI_YandexDisk.ПолучитьОбъект(Токен, Путь); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьОбъект"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["type"]).Равно("file"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["path"]).Равно("disk:" + Путь); OPI_YandexDisk.УдалитьОбъект(Токен, Путь, Ложь); OPI_Инструменты.Пауза(5); КонецПроцедуры Процедура ЯДиск_ЗагрузитьУдалитьФайл() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("YandexDisk_Token"); Путь = "/" + Строка(Новый УникальныйИдентификатор) + ".png"; Картинка = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Picture"); ИВФ = ПолучитьИмяВременногоФайла("png"); Картинка.Записать(ИВФ); Результат = OPI_YandexDisk.ЗагрузитьФайл(Токен, Путь, Картинка, Истина); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗагрузитьФайл"); Проверка_Пусто(Результат); OPI_Инструменты.Пауза(5); Результат = OPI_YandexDisk.УдалитьОбъект(Токен, Путь, Ложь); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьОбъект"); Проверка_Пусто(Результат); Результат = OPI_YandexDisk.ЗагрузитьФайл(Токен, Путь, ИВФ, Истина); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗагрузитьФайл"); Проверка_Пусто(Результат); OPI_Инструменты.Пауза(5); Результат = OPI_YandexDisk.УдалитьОбъект(Токен, Путь, Ложь); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьОбъект"); Проверка_Пусто(Результат); УдалитьФайлы(ИВФ); OPI_Инструменты.Пауза(5); КонецПроцедуры Процедура ЯДиск_СоздатьКопиюОбъекта() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("YandexDisk_Token"); ПутьОригинала = "/" + Строка(Новый УникальныйИдентификатор) + ".png"; ПутьКопии = "/" + Строка(Новый УникальныйИдентификатор) + ".png"; URL = "https://raw.githubusercontent.com/Bayselonarrend/" + "OpenIntegrations/main/Media/logo.png"; OPI_YandexDisk.ЗагрузитьФайлПоURL(Токен, ПутьОригинала, URL); OPI_Инструменты.Пауза(5); Результат = OPI_YandexDisk.СоздатьКопиюОбъекта(Токен, ПутьОригинала, ПутьКопии, Истина); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьКопиюОбъекта"); OPI_Инструменты.Пауза(5); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["type"]).Равно("file"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["path"]).Равно("disk:" + ПутьКопии); OPI_YandexDisk.УдалитьОбъект(Токен, ПутьОригинала, Ложь); OPI_YandexDisk.УдалитьОбъект(Токен, ПутьКопии, Ложь); OPI_Инструменты.Пауза(5); КонецПроцедуры Процедура ЯДиск_ПолучитьСсылкуНаСкачивание() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("YandexDisk_Token"); Путь = "/" + Строка(Новый УникальныйИдентификатор) + ".png"; URL = "https://raw.githubusercontent.com/Bayselonarrend/OpenIntegrations/main/Media/logo.png"; OPI_YandexDisk.ЗагрузитьФайлПоURL(Токен, Путь, URL); OPI_Инструменты.Пауза(5); Результат = OPI_YandexDisk.ПолучитьСсылкуДляСкачивания(Токен, Путь); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСсылкуДляСкачивания"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["method"]).Равно("GET"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["href"]).ИмеетТип("Строка").Заполнено(); URL = Результат["href"]; Результат = OPI_YandexDisk.СкачатьФайл(Токен, Путь); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("ДвоичныеДанные").Заполнено(); OPI_YandexDisk.УдалитьОбъект(Токен, Путь, Ложь); КонецПроцедуры Процедура ЯДиск_ПолучитьСписокФайлов() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("YandexDisk_Token"); Количество = 2; Отступ = 1; Результат = OPI_YandexDisk.ПолучитьСписокФайлов(Токен, Количество, Отступ, "image"); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокФайлов"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["limit"]).Равно(Количество); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["offset"]).Равно(Отступ); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["items"]).ИмеетТип("Массив"); OPI_Инструменты.Пауза(5); КонецПроцедуры Процедура ЯДиск_ПереместитьОбъект() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("YandexDisk_Token"); ПутьОригинала = "/" + Строка(Новый УникальныйИдентификатор) + ".png"; ПутьКопии = "/" + Строка(Новый УникальныйИдентификатор) + ".png"; URL = "https://raw.githubusercontent.com/Bayselonarrend/" + "OpenIntegrations/main/Media/logo.png"; OPI_YandexDisk.ЗагрузитьФайлПоURL(Токен, ПутьОригинала, URL); OPI_Инструменты.Пауза(15); Результат = OPI_YandexDisk.ПереместитьОбъект(Токен, ПутьОригинала, ПутьКопии, Истина); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПереместитьОбъект"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["type"]).Равно("file"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["path"]).Равно("disk:" + ПутьКопии); OPI_YandexDisk.УдалитьОбъект(Токен, ПутьОригинала, Ложь); OPI_YandexDisk.УдалитьОбъект(Токен, ПутьКопии, Ложь); OPI_Инструменты.Пауза(5); КонецПроцедуры Процедура ЯДиск_ДействияПубличныхОбъектов() Экспорт PUrl = "public_url"; Соответствие = "Соответствие"; Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("YandexDisk_Token"); Путь = "/" + Строка(Новый УникальныйИдентификатор) + ".png"; URL = "https://raw.githubusercontent.com/Bayselonarrend/OpenIntegrations/main/Media/logo.png"; OPI_YandexDisk.ЗагрузитьФайлПоURL(Токен, Путь, URL); OPI_Инструменты.Пауза(5); МассивРезультатов = Новый Массив; МассивРезультатов.Добавить(OPI_YandexDisk.ОпубликоватьОбъект(Токен, Путь)); ПубличныйURL = МассивРезультатов[0][PUrl]; Результат = OPI_YandexDisk.ПолучитьСсылкуСкачиванияПубличногоОбъекта(Токен, ПубличныйURL); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСсылкуСкачиванияПубличногоОбъекта"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(Соответствие).Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["method"]).Равно("GET"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["href"]).ИмеетТип("Строка").Заполнено(); Результат = OPI_YandexDisk.ПолучитьПубличныйОбъект(Токен, ПубличныйURL); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьПубличныйОбъект"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(Соответствие).Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["type"]).Равно("file"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["path"]).Равно("/"); МассивРезультатов.Добавить(OPI_YandexDisk.СохранитьПубличныйОбъектНаДиск(Токен, ПубличныйURL)); МассивРезультатов.Добавить(OPI_YandexDisk.ОтменитьПубликациюОбъекта(Токен, Путь)); Счетчик = 0; Для Каждого Результат Из МассивРезультатов Цикл OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "Изменение публикации"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(Соответствие).Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["type"]).Равно("file"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["path"]).Заполнено(); Если Счетчик = 0 Тогда OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[PUrl]).ИмеетТип("Строка").Заполнено(); Иначе OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[PUrl]).ИмеетТип("Неопределено"); КонецЕсли; Счетчик = Счетчик + 1; КонецЦикла; OPI_YandexDisk.УдалитьОбъект(Токен, Путь, Ложь); OPI_Инструменты.Пауза(5); КонецПроцедуры Процедура ЯДиск_ПолучитьСписокОпубликованных() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("YandexDisk_Token"); Количество = 2; Отступ = 1; Результат = OPI_YandexDisk.ПолучитьСписокОпубликованныхОбъектов(Токен, Количество, Отступ); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокОпубликованныхОбъектов"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["limit"]).Равно(Количество); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["offset"]).Равно(Отступ); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["items"]).ИмеетТип("Массив"); OPI_Инструменты.Пауза(5); КонецПроцедуры #КонецОбласти #Область Viber Процедура Вайбер_ПолучитьИнформациюОКанале() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_ChannelToken"); Результат = OPI_Viber.ПолучитьИнформациюОКанале(Токен); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьИнформациюОКанале"); Проверка_ВайберОк(Результат); OPI_Инструменты.Пауза(5); КонецПроцедуры Процедура Вайбер_ПолучитьДанныеПользователя() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_ChannelToken"); Пользователь = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_ChannelAdminID"); Результат = OPI_Viber.ПолучитьДанныеПользователя(Токен, Пользователь); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьДанныеПользователя"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["chat_hostname"]).Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["status_message"]).Заполнено(); OPI_Инструменты.Пауза(5); КонецПроцедуры Процедура Вайбер_ПолучитьОнлайнПользователей() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_ChannelToken"); Пользователь = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_UserID"); Результат = OPI_Viber.ПолучитьОнлайнПользователей(Токен, Пользователь); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьОнлайнПользователей"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["users"]).ИмеетТип("Массив"); Проверка_ВайберОк(Результат); OPI_Инструменты.Пауза(5); КонецПроцедуры Процедура Вайбер_ОтправитьТекстовоеСообщение() Экспорт Текст = "Тестовое сообщение"; ТокенКанал = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_ChannelToken"); ТокенБота = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_Token"); Пользователь = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_UserID"); Администратор = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_ChannelAdminID"); МассивКнопок = Новый Массив; МассивКнопок.Добавить("Кнопка 1"); МассивКнопок.Добавить("Кнопка 2"); МассивКнопок.Добавить("Кнопка 3"); Клавиатура = OPI_Viber.СформироватьКлавиатуруИзМассиваКнопок(МассивКнопок); Результат = OPI_Viber.ОтправитьТекстовоеСообщение(ТокенБота, Текст, Пользователь, Ложь, Клавиатура); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьТекстовоеСообщение"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["message_token"]).Заполнено(); Проверка_ВайберОк(Результат); Результат = OPI_Viber.ОтправитьТекстовоеСообщение(ТокенКанал, Текст, Администратор, Истина, Клавиатура); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьТекстовоеСообщение"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["message_token"]).Заполнено(); Проверка_ВайберОк(Результат); OPI_Инструменты.Пауза(5); КонецПроцедуры Процедура Вайбер_ОтправитьКартинку() Экспорт Текст = "Тестовое сообщение"; Картинка = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Picture"); ТокенКанал = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_ChannelToken"); ТокенБота = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_Token"); Пользователь = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_UserID"); Администратор = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_ChannelAdminID"); Результат = OPI_Viber.ОтправитьКартинку(ТокенБота, Картинка, Пользователь, Ложь, Текст); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьКартинку"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["message_token"]).Заполнено(); Проверка_ВайберОк(Результат); Результат = OPI_Viber.ОтправитьКартинку(ТокенКанал, Картинка, Администратор, Истина, Текст); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьКартинку"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["message_token"]).Заполнено(); Проверка_ВайберОк(Результат); OPI_Инструменты.Пауза(5); КонецПроцедуры Процедура Вайбер_ОтправитьФайл() Экспорт Документ = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Document"); ТокенКанал = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_ChannelToken"); ТокенБота = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_Token"); Пользователь = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_UserID"); Администратор = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_ChannelAdminID"); Результат = OPI_Viber.ОтправитьФайл(ТокенБота, Документ, Пользователь, Ложь, "docx"); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьФайл"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["message_token"]).Заполнено(); Проверка_ВайберОк(Результат); Результат = OPI_Viber.ОтправитьФайл(ТокенКанал, Документ, Администратор, Истина, "docx"); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьФайл"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["message_token"]).Заполнено(); Проверка_ВайберОк(Результат); OPI_Инструменты.Пауза(5); КонецПроцедуры Процедура Вайбер_ОтправитьКонтакт() Экспорт Имя = "Петр Петров"; Телефон = "+123456789"; ТокенКанал = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_ChannelToken"); ТокенБота = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_Token"); Пользователь = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_UserID"); Администратор = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_ChannelAdminID"); Результат = OPI_Viber.ОтправитьКонтакт(ТокенБота, Имя, Телефон, Пользователь, Ложь); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьКонтакт"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["message_token"]).Заполнено(); Проверка_ВайберОк(Результат); Результат = OPI_Viber.ОтправитьКонтакт(ТокенКанал, Имя, Телефон, Администратор, Истина); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьКонтакт"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["message_token"]).Заполнено(); Проверка_ВайберОк(Результат); OPI_Инструменты.Пауза(5); КонецПроцедуры Процедура Вайбер_ОтправитьЛокацию() Экспорт Широта = "48.87373649724122"; Долгота = "2.2954639195323967"; ТокенКанал = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_ChannelToken"); ТокенБота = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_Token"); Пользователь = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_UserID"); Администратор = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_ChannelAdminID"); Результат = OPI_Viber.ОтправитьЛокацию(ТокенБота, Широта, Долгота, Пользователь, Ложь); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьЛокацию"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["message_token"]).Заполнено(); Проверка_ВайберОк(Результат); Результат = OPI_Viber.ОтправитьЛокацию(ТокенКанал, Широта, Долгота, Администратор, Истина); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьЛокацию"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["message_token"]).Заполнено(); Проверка_ВайберОк(Результат); OPI_Инструменты.Пауза(5); КонецПроцедуры Процедура Вайбер_ОтправитьСсылку() Экспорт URL = "https://github.com/Bayselonarrend/OpenIntegrations"; ТокенКанал = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_ChannelToken"); ТокенБота = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_Token"); Пользователь = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_UserID"); Администратор = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_ChannelAdminID"); Результат = OPI_Viber.ОтправитьСсылку(ТокенБота, URL, Пользователь, Ложь); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьСсылку"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["message_token"]).Заполнено(); Проверка_ВайберОк(Результат); Результат = OPI_Viber.ОтправитьСсылку(ТокенКанал, URL, Администратор, Истина); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьСсылку"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["message_token"]).Заполнено(); Проверка_ВайберОк(Результат); OPI_Инструменты.Пауза(5); КонецПроцедуры #КонецОбласти #Область GoogleWorkspace Процедура ГВ_ПолучитьСсылкуАвторизации() Экспорт ClientID = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_ClientID"); Результат = OPI_GoogleWorkspace.СформироватьСсылкуПолученияКода(ClientID); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат) .ИмеетТип("Строка") .Заполнено(); OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Google_Link", Результат); OPI_Инструменты.Пауза(5); КонецПроцедуры Процедура ГВ_ПолучитьТокен() Экспорт ClientID = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_ClientID"); ClientSecret = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_ClientSecret"); Code = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_Code"); Результат = OPI_GoogleWorkspace.ПолучитьТокенПоКоду(ClientID, ClientSecret, Code); Если ЗначениеЗаполнено(Результат["access_token"]) И ЗначениеЗаполнено(Результат["refresh_token"]) Тогда OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Google_Token" , Результат["access_token"]); OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Google_Refresh", Результат["refresh_token"]); КонецЕсли; OPI_Инструменты.Пауза(5); КонецПроцедуры Процедура ГВ_ОбновитьТокен() Экспорт ClientID = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_ClientID"); ClientSecret = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_ClientSecret"); RefreshToken = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_Refresh"); Результат = OPI_GoogleWorkspace.ОбновитьТокен(ClientID, ClientSecret, RefreshToken); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["access_token"]).Заполнено(); OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Google_Token", Результат["access_token"]); OPI_Инструменты.Пауза(5); КонецПроцедуры #КонецОбласти #Область GoogleCalendar Процедура ГК_ПолучитьСписокКалендарей() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_Token"); Результат = OPI_GoogleCalendar.ПолучитьСписокКалендарей(Токен); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокКалендарей"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат) .ИмеетТип("Массив"); OPI_Инструменты.Пауза(5); КонецПроцедуры Процедура ГК_СоздатьУдалитьКалендарь() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_Token"); Наименование = "Тестовый календарь"; Описание = "Тестовое описание"; НаименованиеИзмененное = Наименование + " (изм.)"; ТипСоответствие = Тип("Соответствие"); ТипСтрока = Тип("Строка"); Summary = "summary"; Черный = "#000000"; Желтый = "#ffd800"; Результат = OPI_GoogleCalendar.СоздатьКалендарь(Токен, Наименование); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьКалендарь"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Summary]).Равно(Наименование); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["id"]).ИмеетТип(ТипСтрока).Заполнено(); Календарь = Результат["id"]; Результат = OPI_GoogleCalendar.ИзменитьМетаданныеКалендаря(Токен , Календарь , НаименованиеИзмененное , Описание); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьМетаданныеКалендаря"); Проверка_ГКОбъект(Результат, НаименованиеИзмененное, Описание); Результат = OPI_GoogleCalendar.ПолучитьМетаданныеКалендаря(Токен, Календарь); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьМетаданныеКалендаря"); Проверка_ГКОбъект(Результат, НаименованиеИзмененное, Описание); Результат = OPI_GoogleCalendar.ДобавитьКалендарьВСписок(Токен, Календарь); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьКалендарьВСписок"); Проверка_ГКОбъект(Результат, НаименованиеИзмененное, Описание); Результат = OPI_GoogleCalendar.ИзменитьКалендарьСписка(Токен, Календарь, Черный, Желтый, Ложь); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьКалендарьСписка"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Summary]).Равно(НаименованиеИзмененное); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["foregroundColor"]).Равно(Черный); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["backgroundColor"]).Равно(Желтый); Результат = OPI_GoogleCalendar.ПолучитьКалендарьСписка(Токен, Календарь); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьКалендарьСписка"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Summary]).Равно(НаименованиеИзмененное); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["foregroundColor"]).Равно(Черный); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["backgroundColor"]).Равно(Желтый); Результат = OPI_GoogleCalendar.ОчиститьОсновнойКалендарь(Токен); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОчиститьОсновнойКалендарь"); Проверка_Пусто(Результат); Результат = OPI_GoogleCalendar.УдалитьКалендарьИзСписка(Токен, Календарь); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьКалендарьИзСписка"); Проверка_Пусто(Результат); Результат = OPI_GoogleCalendar.УдалитьКалендарь(Токен, Календарь); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьКалендарь"); Проверка_Пусто(Результат); OPI_Инструменты.Пауза(5); КонецПроцедуры Процедура ГК_СоздатьУдалитьСобытие() Экспорт ТекущаяДата = OPI_Инструменты.ПолучитьТекущуюДату(); Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_Token"); Календарь = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_CalendarID"); Наименование = "Новое событие"; Описание = "Описание тестового события"; ОписаниеИзм = "Описание тестового события (изм.)"; UID = "id"; Час = 3600; Вложения = Новый Соответствие; Вложения.Вставить("Картинка1" , "https://opi.neocities.org/assets/images/logo_long-e8fdcca6ff8b32e679ea49a1ccdd3eac.png"); Вложения.Вставить("Картинка2" , "https://github.com/Bayselonarrend/OpenIntegrations/raw/main/Media/logo.png?v1"); СоответствиеСобытия = Новый Соответствие; СоответствиеСобытия.Вставить("Описание" , Описание); СоответствиеСобытия.Вставить("Заголовок" , Наименование); СоответствиеСобытия.Вставить("МестоПроведения" , "В офисе"); СоответствиеСобытия.Вставить("ДатаНачала" , ТекущаяДата); СоответствиеСобытия.Вставить("ДатаОкончания" , СоответствиеСобытия["ДатаНачала"] + Час); СоответствиеСобытия.Вставить("МассивURLФайловВложений" , Вложения); СоответствиеСобытия.Вставить("ОтправлятьУведомления" , Истина); Результат = OPI_GoogleCalendar.СоздатьСобытие(Токен, Календарь, СоответствиеСобытия); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьСобытие"); Событие = Результат[UID]; Проверка_ГКОбъект(Результат, Наименование, Описание); СоответствиеСобытия = Новый Соответствие; СоответствиеСобытия.Вставить("Описание", ОписаниеИзм); Результат = OPI_GoogleCalendar.ИзменитьСобытие(Токен, Календарь, СоответствиеСобытия, Событие); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьСобытие"); Проверка_ГКОбъект(Результат, Наименование, ОписаниеИзм); Результат = OPI_GoogleCalendar.ПолучитьСобытие(Токен, Календарь, Событие); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСобытие"); Проверка_ГКОбъект(Результат, Наименование, ОписаниеИзм); Результат = OPI_GoogleCalendar.ПереместитьСобытие(Токен, Календарь, Календарь, Событие); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПереместитьСобытие"); Проверка_ГКОбъект(Результат, Наименование, ОписаниеИзм); Результат = OPI_GoogleCalendar.УдалитьСобытие(Токен, Календарь, Событие); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьСобытие"); Проверка_Пусто(Результат); OPI_Инструменты.Пауза(5); КонецПроцедуры Процедура ГК_ПолучитьСписокСобытий() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_Token"); Календарь = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_CalendarID"); Результат = OPI_GoogleCalendar.ПолучитьСписокСобытий(Токен, Календарь); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокСобытий"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Массив"); OPI_Инструменты.Пауза(5); КонецПроцедуры #КонецОбласти #Область GoogleDrive Процедура ГД_ПолучитьСписокКаталогов() Экспорт MimeType = "mimeType"; Name = "name"; Имя = "Тестовая папка"; Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_Token"); Результат = OPI_GoogleDrive.ПолучитьСписокКаталогов(Токен, Имя, Истина); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокКаталогов"); Результат = Результат[0]; OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["files"]).ИмеетТип("Массив"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[MimeType]).Равно("application/vnd.google-apps.folder"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Name]).Заполнено(); OPI_Инструменты.Пауза(5); Идентификатор = Результат["id"]; OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("GD_Catalog", Идентификатор); Результат = OPI_GoogleDrive.ПолучитьИнформациюОбОбъекте(Токен, Идентификатор); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьИнформациюОбОбъекте"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[MimeType]).Равно("application/vnd.google-apps.folder"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Name]).Заполнено(); OPI_Инструменты.Пауза(5); КонецПроцедуры Процедура ГД_ЗагрузитьУдалитьФайл() Экспорт ЛишниеБайты = 2; Kind = "kind"; Content = "content"; MIME = "MIME"; MimeType = "mimeType"; Name = "name"; Id_ = "id"; МассивУдаляемых = Новый Массив; Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_Token"); Картинка = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Picture"); КартинкаЗамены = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Picture2"); Каталог = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("GD_Catalog"); Описание = OPI_GoogleDrive.ПолучитьОписаниеФайла(); Описание.Вставить("Родитель", Каталог); Результат = OPI_GoogleDrive.ЗагрузитьФайл(Токен, Картинка, Описание); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗагрузитьФайл"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[MimeType]).Равно(Описание[MIME]); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Name]).Равно(Описание["Имя"]); Идентификатор = Результат[Id_]; МассивУдаляемых.Добавить(Идентификатор); НовоеИмя = "Скопированный файл.jpeg"; Результат = OPI_GoogleDrive.СкопироватьОбъект(Токен, Идентификатор, НовоеИмя, "root"); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СкоприроватьОбъект"); OPI_Инструменты.Пауза(5); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[MimeType]).Равно(Описание[MIME]); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Name]).Равно(НовоеИмя); МассивУдаляемых.Добавить(Результат[Id_]); Результат = OPI_GoogleDrive.СкачатьФайл(Токен, Идентификатор); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СкачатьФайл"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат.Размер()).Равно(Картинка.Размер() + ЛишниеБайты); OPI_Инструменты.Пауза(5); НовоеИмя = "Обновленный файл.jpg"; Результат = OPI_GoogleDrive.ОбновитьФайл(Токен, Идентификатор, КартинкаЗамены, НовоеИмя); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОбновитьФайл"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[MimeType]).Равно(Описание[MIME]); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Name]).Равно(НовоеИмя); OPI_Инструменты.Пауза(5); Комментарий = "Yo"; Результат = OPI_GoogleDrive.СоздатьКомментарий(Токен, Идентификатор, Комментарий); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьКомментарий"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Content]).Равно(Комментарий); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Kind]).Равно("drive#comment"); OPI_Инструменты.Пауза(5); Для Каждого Удаляемый Из МассивУдаляемых Цикл Результат = OPI_GoogleDrive.УдалитьОбъект(Токен, Удаляемый); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьОбъект"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(ЗначениеЗаполнено(Результат)).Равно(Ложь); OPI_Инструменты.Пауза(2); КонецЦикла; OPI_Инструменты.Пауза(5); КонецПроцедуры Процедура ГД_СоздатьУдалитьКомментарий() Экспорт Kind = "kind"; Content = "content"; Id_ = "id"; Comments = "comments"; Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_Token"); Каталог = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("GD_Catalog"); Картинка = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Picture"); Описание = OPI_GoogleDrive.ПолучитьОписаниеФайла(); Описание.Вставить("Родитель", Каталог); Результат = OPI_GoogleDrive.ЗагрузитьФайл(Токен, Картинка, Описание); Идентификатор = Результат[Id_]; Комментарий = "Новый комментарий"; МассивРезультатов = Новый Массив; Результат = OPI_GoogleDrive.СоздатьКомментарий(Токен, Идентификатор, Комментарий); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьКомментарий"); ИДКомментария = Результат[Id_]; МассивРезультатов.Добавить(Результат); Результат = OPI_GoogleDrive.ПолучитьКомментарий(Токен, Идентификатор, ИДКомментария); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьКомментарий"); МассивРезультатов.Добавить(Результат); Результат = OPI_GoogleDrive.ПолучитьСписокКомментариев(Токен, Идентификатор); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокКомментариев"); Комментарии = Результат[Comments]; ОбъектКомментарий = Комментарии[Комментарии.ВГраница()]; МассивРезультатов.Добавить(ОбъектКомментарий); Для Каждого Результат Из МассивРезультатов Цикл OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Content]).Равно(Комментарий); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Kind]).Равно("drive#comment"); КонецЦикла; Результат = OPI_GoogleDrive.УдалитьКомментарий(Токен, Идентификатор, ИДКомментария); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьКомментарий"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(ЗначениеЗаполнено(Результат)).Равно(Ложь); OPI_GoogleDrive.УдалитьОбъект(Токен, Идентификатор); КонецПроцедуры Процедура ГД_СоздатьКаталог() Экспорт Name = "name"; Имя = "Тестовая папка"; Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_Token"); Каталог = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("GD_Catalog"); МассивРезультатов = Новый Массив; МассивРезультатов.Добавить(OPI_GoogleDrive.СоздатьПапку(Токен, Имя)); МассивРезультатов.Добавить(OPI_GoogleDrive.СоздатьПапку(Токен, Имя, Каталог)); Для Каждого Результат Из МассивРезультатов Цикл OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьПапку"); ИДКаталога = Результат["id"]; OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Name]).Равно(Имя); OPI_GoogleDrive.УдалитьОбъект(Токен, ИДКаталога); КонецЦикла; КонецПроцедуры #КонецОбласти #Область GoogleSheets Процедура ГТ_СоздатьТаблицу() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_Token"); Наименование = "Тестовая таблица"; МассивЛистов = Новый Массив; МассивЛистов.Добавить("Лист1"); МассивЛистов.Добавить("Лист2"); Результат = OPI_GoogleSheets.СоздатьКнигу(Токен, Наименование, МассивЛистов); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьКнигу"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["properties"]["title"]).Равно(Наименование); Для Н = 0 По МассивЛистов.ВГраница() Цикл ИмяЛиста = Результат["sheets"][Н]["properties"]["title"]; OPI_ПолучениеДанныхТестов.ОжидаетЧто(ИмяЛиста).Равно(МассивЛистов[Н]); Лист = Результат["sheets"][Н]["properties"]["sheetId"]; Лист = OPI_Инструменты.ЧислоВСтроку(Лист); КонецЦикла; Книга = Результат["spreadsheetId"]; OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("GS_Spreadsheet", Книга); OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("GS_Sheet" , Лист); Результат = OPI_GoogleSheets.СоздатьКнигу(Токен, Наименование, МассивЛистов); Книга2 = Результат["spreadsheetId"]; Результат = OPI_GoogleSheets.КопироватьЛист(Токен, Книга, Книга2, Лист); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "КопироватьЛист"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["title"]).Равно(ИмяЛиста + " (копия)"); Наименование = "Тестовый лист"; Результат = OPI_GoogleSheets.ДобавитьЛист(Токен, Книга, Наименование); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьЛист"); НовыйЛист = Результат["replies"][0]["addSheet"]["properties"]["sheetId"]; НовыйЛист = OPI_Инструменты.ЧислоВСтроку(НовыйЛист); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["spreadsheetId"]).Равно(Книга); Результат = OPI_GoogleSheets.УдалитьЛист(Токен, Книга, НовыйЛист); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьЛист"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["spreadsheetId"]).Равно(Книга); Наименование = "Тестовая таблица (изм.)"; Результат = OPI_GoogleSheets.ИзменитьНаименованиеКниги(Токен, Книга, Наименование); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьНаименованиеКниги"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["spreadsheetId"]).Равно(Книга); КонецПроцедуры Процедура ГТ_ПолучитьТаблицу() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_Token"); Книга = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("GS_Spreadsheet"); Наименование = "Тестовая таблица (изм.)"; Результат = OPI_GoogleSheets.ПолучитьКнигу(Токен, Книга); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьТаблицу"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["properties"]["title"]).Равно(Наименование); КонецПроцедуры Процедура ГТ_ЗаполнитьОчиститьЯчейки() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_Token"); Книга = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("GS_Spreadsheet"); Лист = "Лист2"; СтруктураЯчеек = Новый Соответствие; СтруктураЯчеек.Вставить("A1", "Это A1"); СтруктураЯчеек.Вставить("A2", "Это A2"); СтруктураЯчеек.Вставить("B2", "Это B2"); СтруктураЯчеек.Вставить("B3", "Это B3"); СтруктураЯчеек.Вставить("A3", "Это A3"); СтруктураЯчеек.Вставить("A4", "Это A4"); СтруктураЯчеек.Вставить("B1", "Это B1"); СтруктураЯчеек.Вставить("B4", "Это B4"); МассивЯчеек = Новый Массив; МассивЯчеек.Добавить("B2"); МассивЯчеек.Добавить("A3"); МассивЯчеек.Добавить("B4"); Результат = OPI_GoogleSheets.УстановитьЗначенияЯчеек(Токен, Книга, СтруктураЯчеек, Лист); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УстановитьЗначенияЯчеек"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["spreadsheetId"]).Равно(Книга); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["totalUpdatedCells"]).Равно(СтруктураЯчеек.Количество()); Результат = OPI_GoogleSheets.ПолучитьЗначенияЯчеек(Токен, Книга, МассивЯчеек, Лист); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьЗначенияЯчеек"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["spreadsheetId"]).Равно(Книга); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["valueRanges"].Количество()).Равно(МассивЯчеек.Количество()); Результат = OPI_GoogleSheets.ПолучитьЗначенияЯчеек(Токен, Книга, , Лист); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьЗначенияЯчеек"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["spreadsheetId"]).Равно(Книга); МассивЯчеек = Новый Массив; МассивЯчеек.Добавить("B2"); МассивЯчеек.Добавить("A3"); МассивЯчеек.Добавить("B4"); Результат = OPI_GoogleSheets.ОчиститьЯчейки(Токен, Книга, МассивЯчеек, Лист); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОчиститьЯчейки"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["spreadsheetId"]).Равно(Книга); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["clearedRanges"].Количество()).Равно(МассивЯчеек.Количество()); КонецПроцедуры #КонецОбласти #Область Twitter Процедура Твиттер_ПолучитьСсылкуАвторизации() Экспорт Параметры = ПолучитьПараметрыТвиттер(); Результат = OPI_Twitter.ПолучитьСсылкуАвторизации(Параметры); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Строка").Заполнено(); OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Twitter_URL", Результат); OPI_Инструменты.Пауза(5); КонецПроцедуры Процедура Твиттер_ОбновитьТокен() Экспорт Параметры = ПолучитьПараметрыТвиттер(); Результат = OPI_Twitter.ОбновитьТокен(Параметры); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["access_token"]).Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["refresh_token"]).Заполнено(); Рефреш = Результат["refresh_token"]; Токен = Результат["access_token"]; Если ЗначениеЗаполнено(Рефреш) И Не Рефреш = "null" Тогда OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Twitter_Refresh", Рефреш); КонецЕсли; Если ЗначениеЗаполнено(Токен) И Не Токен = "null" Тогда OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Twitter_Token" , Токен); КонецЕсли; OPI_Инструменты.Пауза(5); КонецПроцедуры Процедура Твиттер_СоздатьТекстовыйТвит() Экспорт Параметры = ПолучитьПараметрыТвиттер(); Текст = "Тестовый твитт" + Строка(Новый УникальныйИдентификатор); Результат = OPI_Twitter.СоздатьТекстовыйТвит(Текст, Параметры); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьТекстовыйТвит"); Проверка_ТвиттерТекст(Результат, Текст); OPI_Инструменты.Пауза(5); КонецПроцедуры Процедура Твиттер_СоздатьТвитСКартинкой() Экспорт Параметры = ПолучитьПараметрыТвиттер(); Текст = "Тестовый твитт" + Строка(Новый УникальныйИдентификатор); Картинка = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Picture"); ИВФ = ПолучитьИмяВременногоФайла("png"); Картинка.Записать(ИВФ); Результат = OPI_Twitter.СоздатьТвитКартинки(Текст, Картинка, Параметры); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьТвитКартинки"); Проверка_ТвиттерТекст(Результат, Текст); Результат = OPI_Twitter.СоздатьТвитКартинки(Текст, ИВФ, Параметры); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьТвитКартинки"); Проверка_ТвиттерТекст(Результат, Текст); УдалитьФайлы(ИВФ); OPI_Инструменты.Пауза(20); КонецПроцедуры Процедура Твиттер_СоздатьТвитСВидео() Экспорт Параметры = ПолучитьПараметрыТвиттер(); Текст = "Тестовый твитт" + Строка(Новый УникальныйИдентификатор); Видео = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Video"); ИВФ = ПолучитьИмяВременногоФайла("mp4"); Видео.Записать(ИВФ); Результат = OPI_Twitter.СоздатьТвитВидео(Текст, Видео, Параметры); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьТвитВидео"); Проверка_ТвиттерТекст(Результат, Текст); Результат = OPI_Twitter.СоздатьТвитВидео(Текст, ИВФ, Параметры); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьТвитВидео"); Проверка_ТвиттерТекст(Результат, Текст); УдалитьФайлы(ИВФ); OPI_Инструменты.Пауза(20); КонецПроцедуры Процедура Твиттер_СоздатьТвитСГиф() Экспорт Параметры = ПолучитьПараметрыТвиттер(); Текст = "Тестовый твитт" + Строка(Новый УникальныйИдентификатор); Гифка = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("GIF"); ИВФ = ПолучитьИмяВременногоФайла("gif"); Гифка.Записать(ИВФ); Результат = OPI_Twitter.СоздатьТвитГифки(Текст, Гифка, Параметры); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьТвитГифки"); Проверка_ТвиттерТекст(Результат, Текст); Результат = OPI_Twitter.СоздатьТвитГифки(Текст, ИВФ, Параметры); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьТвитГифки"); Проверка_ТвиттерТекст(Результат, Текст); УдалитьФайлы(ИВФ); OPI_Инструменты.Пауза(20); КонецПроцедуры Процедура Твиттер_СоздатьТвитСОпросом() Экспорт Параметры = ПолучитьПараметрыТвиттер(); Текст = "Тестовый твитт" + Строка(Новый УникальныйИдентификатор); МассивОтветов = Новый Массив; МассивОтветов.Добавить("Вариант 1"); МассивОтветов.Добавить("Вариант 2"); Результат = OPI_Twitter.СоздатьТвитОпрос(Текст, МассивОтветов, 60, Параметры); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьТвитОпрос"); Проверка_ТвиттерТекст(Результат, Текст); OPI_Инструменты.Пауза(20); КонецПроцедуры #КонецОбласти #Область Notion Процедура Ноушн_СоздатьСтраницу() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Notion_Token"); Родитель = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Notion_Parent"); Заголовок = "Тестовый заголовок"; Результат = OPI_Notion.СоздатьСтраницу(Токен, Родитель, Заголовок); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьСтраницу"); Проверка_НоушнОбъект(Результат); КонецПроцедуры Процедура Ноушн_СоздатьИзменитьБазу() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Notion_Token"); Родитель = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Notion_Parent"); Заголовок = "Тестовый заголовок"; Свойства = Новый Соответствие; Свойства.Вставить("Имя" , "title"); Свойства.Вставить("Описание" , "rich_text"); Свойства.Вставить("Номер" , "number"); Свойства.Вставить("Статус" , "status"); Свойства.Вставить("Дата создания" , "date"); Свойства.Вставить("Картинка" , "files"); Свойства.Вставить("Активен" , "checkbox"); Свойства.Вставить("Сайт" , "url"); Свойства.Вставить("Почта" , "email"); Свойства.Вставить("Телефон" , "phone_number"); Свойства.Вставить("Пользователь" , "people"); ВыборЗначения = Новый Соответствие; ВыборЗначения.Вставить("Новый", "green"); ВыборЗначения.Вставить("В работе", "yellow"); ВыборЗначения.Вставить("Удаленный", "red"); Свойства.Вставить("Статус", ВыборЗначения); Результат = OPI_Notion.СоздатьБазуДанных(Токен, Родитель, Заголовок, Свойства); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьБазуДанных"); Проверка_НоушнОбъект(Результат, "database"); База = Результат["id"]; Заголовок = "Тестовый заголовок"; Описание = "Тестовое описание"; Свойства = Новый Соответствие; Свойства.Вставить("Почта", "rich_text"); // Тип поля "Почта" будет изменен с email на текст Свойства.Вставить("Сайт"); // Поле "Сайт" будет удалено Результат = OPI_Notion.ИзменитьСвойстваБазы(Токен, База, Свойства, Заголовок, Описание); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьСвойстваБазы"); Проверка_НоушнОбъект(Результат, "database"); КонецПроцедуры Процедура Ноушн_ПолучитьИнформациюОСтранице() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Notion_Token"); Страница = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Notion_Page"); Результат = OPI_Notion.ПолучитьСтраницу(Токен, Страница); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтраницу"); Проверка_НоушнОбъект(Результат); КонецПроцедуры Процедура Ноушн_ПолучитьИнформациюОБазе() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Notion_Token"); База = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Notion_Base"); Результат = OPI_Notion.ПолучитьБазуДанных(Токен, База); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьБазуДанных"); Проверка_НоушнОбъект(Результат, "database"); КонецПроцедуры Процедура Ноушн_СоздатьСтраницуВБазу() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Notion_Token"); База = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Notion_Base"); Картинка = Новый Соответствие; Картинка.Вставить("Лого", OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Picture")); Свойства = Новый Соответствие; Свойства.Вставить("Имя" , "ООО Вектор"); Свойства.Вставить("Описание" , "Наш первый клиент"); Свойства.Вставить("Номер" , 1); Свойства.Вставить("Статус" , "Обычный"); Свойства.Вставить("Дата создания" , OPI_Инструменты.ПолучитьТекущуюДату()); Свойства.Вставить("Картинка" , Картинка); Свойства.Вставить("Активен" , Истина); Свойства.Вставить("Сайт" , "https://vector.ru"); Свойства.Вставить("Почта" , "mail@vector.ru"); Свойства.Вставить("Телефон" , "88005553535"); Свойства.Вставить("Статус" , "Новый"); Результат = OPI_Notion.СоздатьСтраницуВБазу(Токен, База, Свойства); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьСтраницуВБазу"); Проверка_НоушнОбъект(Результат); Родитель = СтрЗаменить(Результат["parent"]["database_id"], "-", ""); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Родитель).Равно(База); КонецПроцедуры Процедура Ноушн_ИзменитьСвойстваСтраницы() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Notion_Token"); Страница = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Notion_Page"); Иконка = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Picture"); Обложка = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Picture2"); Архивировать = Ложь; Свойства = Новый Соответствие; Свойства.Вставить("Активен" , Ложь); Свойства.Вставить("Почта" , "vector@mail.ru"); Результат = OPI_Notion.ИзменитьСвойстваСтраницы(Токен , Страница , Свойства , Иконка , Обложка , Архивировать); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьСвойстваСтраницы"); Проверка_НоушнОбъект(Результат); КонецПроцедуры Процедура Ноушн_СоздатьУдалитьБлок() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Notion_Token"); Родитель = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Notion_Parent"); Блок = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Notion_Block"); Результат = OPI_Notion.ВернутьБлок(Токен, Блок); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ВернутьБлок"); Проверка_НоушнОбъект(Результат, "block"); Результат = OPI_Notion.СоздатьБлок(Токен, Родитель, Результат); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьБлок"); Проверка_НоушнОбъект(Результат, "list"); Блок = Результат["results"][0]["id"]; Результат = OPI_Notion.ВернутьДочерниеБлоки(Токен, Блок); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ВернутьДочерниеБлоки"); Проверка_НоушнОбъект(Результат, "list"); Результат = OPI_Notion.УдалитьБлок(Токен, Блок); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьБлок"); Проверка_НоушнОбъект(Результат, "block"); КонецПроцедуры Процедура Ноушн_ПолучитьПользователей() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Notion_Token"); Результат = OPI_Notion.СписокПользователей(Токен); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СписокПользователей"); Проверка_НоушнОбъект(Результат, "list"); КонецПроцедуры Процедура Ноушн_ПолучитьДанныеПользователя() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Notion_Token"); Пользователь = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Notion_User"); Результат = OPI_Notion.ПолучитьДанныеПользователя(Токен, Пользователь); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьДанныеПользователя"); Проверка_НоушнОбъект(Результат, "user"); КонецПроцедуры #КонецОбласти #Область Slack Процедура Слак_ПолучитьИнформациюОБоте() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_Token"); Результат = OPI_Slack.ПолучитьИнформациюОБоте(Токен); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьИнформациюОБоте"); Проверка_СлакОк(Результат); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["bot_id"]).Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["user_id"]).Заполнено(); КонецПроцедуры Процедура Слак_ПолучитьСписокПользователей() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_Token"); Результат = OPI_Slack.ПолучитьСписокПользователей(Токен); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокПользователей"); Проверка_СлакОк(Результат); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["members"]).ИмеетТип("Массив"); КонецПроцедуры Процедура Слак_ПолучитьСписокОбластей() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_Token"); Результат = OPI_Slack.ПолучитьСписокРабочихОбластей(Токен); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокРабочихОбластей"); Проверка_СлакОк(Результат); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["teams"]).ИмеетТип("Массив"); КонецПроцедуры Процедура Слак_ОтправитьУдалитьСообщение() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_Token"); Канал = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_Channel"); Текст = "Тестовое сообщение 1"; Текст2 = "Тестовое сообщение 2"; Отметки = Новый Массив; Картинка = "https://github.com/Bayselonarrend/OpenIntegrations/raw/main/Media/logo.png?v1"; Результат = OPI_Slack.ОтправитьСообщение(Токен, Канал, Текст); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьСообщение"); Проверка_СлакОк(Результат); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["channel"]).Равно(Канал); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ts"]).Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["message"]["text"]).Равно(Текст); Отметка = Результат["ts"]; Результат = OPI_Slack.ИзменитьСообщение(Токен, Канал, Отметка, Текст2); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьСообщение"); Проверка_СлакОк(Результат); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["channel"]).Равно(Канал); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ts"]).Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["message"]["text"]).Равно(Текст2); Результат = OPI_Slack.ПолучитьСписокОтветовНаСообщение(Токен, Канал, Отметка); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокОтветовНаСообщение"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["messages"]).ИмеетТип("Массив"); Результат = OPI_Slack.ПолучитьСсылкуНаСообщение(Токен, Канал, Отметка); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСсылкуНаСообщение"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["channel"]).Равно(Канал); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["permalink"]).Заполнено(); Проверка_СлакОк(Результат); Отметки.Добавить(Отметка); МассивБлоков = Новый Массив; Блок = OPI_Slack.СформироватьБлокКартинку(Картинка, "Yo"); МассивБлоков.Добавить(Блок); Результат = OPI_Slack.ОтправитьСообщение(Токен, Канал, Текст, , МассивБлоков); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьСообщение (картинка)"); Проверка_СлакОк(Результат); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["channel"]).Равно(Канал); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ts"]).Заполнено(); Отметки.Добавить(Результат["ts"]); Блок = OPI_Slack.СформироватьБлокКартинку(Картинка, "Yo"); БлокJSON = OPI_Инструменты.JSONСтрокой(Блок); ИВФ = ПолучитьИмяВременногоФайла("json"); ТекстовыйДокумент = Новый ТекстовыйДокумент(); ТекстовыйДокумент.УстановитьТекст(БлокJSON); ТекстовыйДокумент.Записать(ИВФ); Результат = OPI_Slack.ОтправитьСообщение(Токен, Канал, Текст, , ИВФ); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьСообщение (json)"); Проверка_СлакОк(Результат); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["channel"]).Равно(Канал); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ts"]).Заполнено(); Отметки.Добавить(Результат["ts"]); Блоки = "['" + ИВФ + "','" + ИВФ + "']"; Результат = OPI_Slack.ОтправитьСообщение(Токен, Канал, Текст, , Блоки); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьСообщение (json массив)"); Проверка_СлакОк(Результат); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["channel"]).Равно(Канал); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ts"]).Заполнено(); Отметки.Добавить(Результат["ts"]); УдалитьФайлы(ИВФ); Для Каждого Отметка Из Отметки Цикл Результат = OPI_Slack.УдалитьСообщение(Токен, Канал, Отметка); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьСообщение"); Проверка_СлакОк(Результат); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["channel"]).Равно(Канал); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ts"]).Заполнено(); КонецЦикла; Час = 3600; Сутки = 24; Отправка = OPI_Инструменты.ПолучитьТекущуюДату() + (Сутки * Час); Результат = OPI_Slack.ОтправитьСообщение(Токен, Канал, Текст, Отправка); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьСообщение (отложенное)"); Проверка_СлакОк(Результат); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["channel"]).Равно(Канал); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["scheduled_message_id"]).Заполнено(); Отметка = Результат["scheduled_message_id"]; Результат = OPI_Slack.УдалитьСообщение(Токен, Канал, Отметка, Истина); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьСообщение"); Проверка_СлакОк(Результат); КонецПроцедуры Процедура Слак_ОтправитьУдалитьЭфемерное() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_Token"); Канал = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_Channel"); Пользователь = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_User"); Картинка = "https://github.com/Bayselonarrend/OpenIntegrations/raw/main/Media/logo.png?v1"; Текст = "Тестовое сообщение 1"; Блок = OPI_Slack.СформироватьБлокКартинку(Картинка, "Yo"); Результат = OPI_Slack.ОтправитьЭфемерноеСообщение(Токен, Канал, Текст, Пользователь, Блок); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьСообщение"); Проверка_СлакОк(Результат); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["message_ts"]).Заполнено(); КонецПроцедуры Процедура Слак_ПолучитьОтложенныеСообщения() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_Token"); Канал = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_Channel"); Результат = OPI_Slack.ПолучитьСписокОтложенныхСообщений(Токен, Канал); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокОтложенныхСообщений"); Проверка_СлакОк(Результат); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["scheduled_messages"]).ИмеетТип("Массив"); КонецПроцедуры Процедура Слак_СоздатьАрхивироватьКанал() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_Token"); Пользователь = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_User"); Имя = "testconv" + Строка(Новый УникальныйИдентификатор); Тема = "Тестовая тема"; Цель = "Тестовая цель"; #Область СоздатьКанал Результат = OPI_Slack.СоздатьКанал(Токен, Имя); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьКанал"); Данные = Результат["channel"]; Канал = Данные["id"]; Проверка_СлакОк(Результат); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Данные["name"]).Равно(Имя); #КонецОбласти #Область УстановитьТемуКанала Результат = OPI_Slack.УстановитьТемуКанала(Токен, Канал, Тема); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УстановитьТемуКанала"); Данные = Результат["channel"]; Канал = Данные["id"]; Проверка_СлакОк(Результат); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Данные["name"]).Равно(Имя); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Данные["topic"]["value"]).Равно(Тема); #КонецОбласти #Область УстановитьЦельКанала Результат = OPI_Slack.УстановитьЦельКанала(Токен, Канал, Цель); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УстановитьЦельКанала"); Проверка_СлакОк(Результат); #КонецОбласти #Область ПолучитьКанал Результат = OPI_Slack.ПолучитьКанал(Токен, Канал); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьКанал"); Данные = Результат["channel"]; Канал = Данные["id"]; Проверка_СлакОк(Результат); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Данные["name"]).Равно(Имя); #КонецОбласти #Область ПригласитьПользователейВКанал Результат = OPI_Slack.ПригласитьПользователейВКанал(Токен, Канал, Пользователь); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПригласитьПользователейВКанал"); Данные = Результат["channel"]; Канал = Данные["id"]; Проверка_СлакОк(Результат); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Данные["name"]).Равно(Имя); #КонецОбласти #Область ВыгнатьПользователяИзКанала Результат = OPI_Slack.ВыгнатьПользователяИзКанала(Токен, Канал, Пользователь); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ВыгнатьПользователяИзКанала"); Проверка_СлакОк(Результат); #КонецОбласти #Область ПолучитьИсториюКанала Результат = OPI_Slack.ПолучитьИсториюКанала(Токен, Канал); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьИсториюКанала"); Проверка_СлакОк(Результат); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["messages"]).ИмеетТип("Массив"); #КонецОбласти #Область ПолучитьСписокПользователейКанала Результат = OPI_Slack.ПолучитьСписокПользователейКанала(Токен, Канал); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокПользователейКанала"); Проверка_СлакОк(Результат); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["members"]).ИмеетТип("Массив"); #КонецОбласти #Область ПокинутьКанал Результат = OPI_Slack.ПокинутьКанал(Токен, Канал); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПокинутьКанал"); Проверка_СлакОк(Результат); #КонецОбласти #Область ВступитьВКанал Результат = OPI_Slack.ВступитьВКанал(Токен, Канал); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ВступитьВКанал"); Данные = Результат["channel"]; Канал = Данные["id"]; Проверка_СлакОк(Результат); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Данные["name"]).Равно(Имя); #КонецОбласти #Область ПереименоватьКанал НовоеИмя = "testconv" + Строка(Новый УникальныйИдентификатор); Результат = OPI_Slack.ПереименоватьКанал(Токен, Канал, НовоеИмя); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПереименоватьКанал"); Данные = Результат["channel"]; Канал = Данные["id"]; Проверка_СлакОк(Результат); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Данные["name"]).Равно(НовоеИмя); #КонецОбласти #Область АрхивироватьКанал Результат = OPI_Slack.АрхивироватьКанал(Токен, Канал); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "АрхивироватьКанал"); Проверка_СлакОк(Результат); #КонецОбласти КонецПроцедуры Процедура Слак_ПолучитьСписокКаналов() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_Token"); Результат = OPI_Slack.ПолучитьСписокКаналов(Токен); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокКаналов"); Проверка_СлакОк(Результат); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["channels"]).ИмеетТип("Массив"); КонецПроцедуры Процедура Слак_ОткрытьЗакрытьДиалог() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_Token"); Пользователь = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_User"); Текст = "Yo, dude"; Результат = OPI_Slack.ОткрытьДиалог(Токен, Пользователь); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОткрытьДиалог"); Диалог = Результат["channel"]["id"]; Проверка_СлакОк(Результат); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["channel"]).ИмеетТип("Соответствие"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Диалог).Заполнено(); Результат = OPI_Slack.ОтправитьСообщение(Токен, Диалог, Текст); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьСообщение"); Проверка_СлакОк(Результат); Результат = OPI_Slack.ЗакрытьДиалог(Токен, Диалог); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗакрытьДиалог"); Проверка_СлакОк(Результат); КонецПроцедуры Процедура Слак_ПолучитьСписокФайлов() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_Token"); Канал = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_Channel"); Результат = OPI_Slack.ПолучитьСписокФайлов(Токен, Канал); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокФайлов"); Проверка_СлакОк(Результат); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["files"]).ИмеетТип("Массив"); КонецПроцедуры Процедура Слак_ЗагрузитьУдалитьФайл() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_Token"); Файл = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Document"); Канал = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_Channel"); МассивФайлов = Новый Массив; ИмяФайла = "megadoc.docx"; Заголовок = "Новый файл"; Результат = OPI_Slack.ЗагрузитьФайл(Токен, Файл, ИмяФайла, Заголовок); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗагрузитьФайл"); ЗагруженныйФайл = Результат["files"][0]; МассивФайлов.Добавить(ЗагруженныйФайл["id"]); Проверка_СлакОк(Результат); OPI_ПолучениеДанныхТестов.ОжидаетЧто(ЗагруженныйФайл["name"]).Равно(ИмяФайла); Результат = OPI_Slack.ЗагрузитьФайл(Токен, Файл, ИмяФайла, Заголовок, Канал); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗагрузитьФайл (в канал)"); ЗагруженныйФайл = Результат["files"][0]; МассивФайлов.Добавить(ЗагруженныйФайл["id"]); Проверка_СлакОк(Результат); OPI_ПолучениеДанныхТестов.ОжидаетЧто(ЗагруженныйФайл["name"]).Равно(ИмяФайла); Результат = OPI_Slack.ПолучитьДанныеФайла(Токен, ЗагруженныйФайл["id"]); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьФайл"); ЗагруженныйФайл = Результат["file"]; Проверка_СлакОк(Результат); OPI_ПолучениеДанныхТестов.ОжидаетЧто(ЗагруженныйФайл["name"]).Равно(ИмяФайла); Для Каждого ЗагруженныйФайл Из МассивФайлов Цикл Результат = OPI_Slack.УдалитьФайл(Токен, ЗагруженныйФайл); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьФайл"); Проверка_СлакОк(Результат); КонецЦикла; КонецПроцедуры Процедура Слак_ПолучитьСписокВФ() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_Token"); Канал = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_Channel"); Результат = OPI_Slack.ПолучитьСписокВнешнихФайлов(Токен); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокВнешнихФайлов"); Проверка_СлакОк(Результат); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["files"]).ИмеетТип("Массив"); Результат = OPI_Slack.ПолучитьСписокВнешнихФайлов(Токен, Канал); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокВнешнихФайлов"); Проверка_СлакОк(Результат); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["files"]).ИмеетТип("Массив"); КонецПроцедуры Процедура Слак_ЗагрузитьУдалитьВФ() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_Token"); Файл = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Document"); Канал = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_Channel"); Заголовок = "Новый файл"; Результат = OPI_Slack.ДобавитьВнешнийФайл(Токен, Файл, Заголовок); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьВнешнийФайл"); ЗагруженныйФайл = Результат["file"]; Проверка_СлакОк(Результат); OPI_ПолучениеДанныхТестов.ОжидаетЧто(ЗагруженныйФайл["title"]).Равно(Заголовок); Результат = OPI_Slack.ПолучитьВнешнийФайл(Токен, ЗагруженныйФайл["id"]); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьВнешнийФайл"); ЗагруженныйФайл = Результат["file"]; Проверка_СлакОк(Результат); OPI_ПолучениеДанныхТестов.ОжидаетЧто(ЗагруженныйФайл["title"]).Равно(Заголовок); Результат = OPI_Slack.ОтправитьВнешнийФайл(Токен, ЗагруженныйФайл["id"], Канал); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьВнешнийФайл"); Проверка_СлакОк(Результат); Результат = OPI_Slack.УдалитьВнешнийФайл(Токен, ЗагруженныйФайл["id"]); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьВнешнийФайл"); Проверка_СлакОк(Результат); КонецПроцедуры #КонецОбласти #Область Airtable Процедура АТ_СоздатьБазу() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Airtable_Token"); Область = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Airtable_Workspace"); Наименование = "Тестовая база"; МассивПолей = Новый Массив; МассивПолей.Добавить(OPI_Airtable.ПолучитьПолеНомера("Номер")); МассивПолей.Добавить(OPI_Airtable.ПолучитьПолеСтроковое("Строковое")); ИмяТаблицы = "Тестовая таблица"; СоответствиеТаблиц = Новый Соответствие; СоответствиеТаблиц.Вставить(ИмяТаблицы, МассивПолей); Результат = OPI_Airtable.СоздатьБазу(Токен, Область, Наименование, СоответствиеТаблиц); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьБазу"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["id"]).Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["tables"][0]["name"]).Равно(ИмяТаблицы); База = Результат["id"]; OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Airtable_Base", База); Результат = OPI_Airtable.ПолучитьТаблицыБазы(Токен, База); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьТаблицыБазы"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["tables"]).Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["tables"]).ИмеетТип("Массив"); Результат = OPI_Airtable.ПолучитьСписокБаз(Токен); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокБаз"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["bases"]).Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["bases"]).ИмеетТип("Массив"); КонецПроцедуры Процедура АТ_СоздатьТаблицу() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Airtable_Token"); База = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Airtable_Base"); МассивПолей = Новый Массив; МассивПолей.Добавить(OPI_Airtable.ПолучитьПолеНомера("Номер")); МассивПолей.Добавить(OPI_Airtable.ПолучитьПолеСтроковое("Строковое")); ИмяТаблицы = "Тестовая таблица 2"; Описание = "Новая таблица"; Результат = OPI_Airtable.СоздатьТаблицу(Токен, База, ИмяТаблицы, МассивПолей, Описание); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьТаблицу"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["name"]).Равно(ИмяТаблицы); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["description"]).Равно(Описание); Таблица = Результат["id"]; ИмяТаблицы = "Тестовая таблица 2 (изм.)"; Описание = "Новая таблица (изм.)"; OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Airtable_Table", Таблица); Результат = OPI_Airtable.ИзменитьТаблицу(Токен, База, Таблица, ИмяТаблицы, Описание); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьТаблицу"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["name"]).Равно(ИмяТаблицы); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["description"]).Равно(Описание); КонецПроцедуры Процедура АТ_СоздатьПоле() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Airtable_Token"); База = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Airtable_Base"); Таблица = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Airtable_Table"); Имя = Строка(Новый УникальныйИдентификатор); Поле = OPI_Airtable.ПолучитьПолеНомера(Имя); Результат = OPI_Airtable.СоздатьПоле(Токен, База, Таблица, Поле); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьПоле"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["name"]).Равно(Имя); Поле = Результат["id"]; Имя = Имя + "(изм.)"; Описание = "Новое описание"; Результат = OPI_Airtable.ИзменитьПоле(Токен, База, Таблица, Поле, Имя, Описание); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьПоле"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["name"]).Равно(Имя); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["description"]).Равно(Описание); КонецПроцедуры Процедура АТ_СоздатьУдалитьЗаписи() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Airtable_Token"); База = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Airtable_Base"); Таблица = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Airtable_Table"); Числовой = 10; Строчный = "Привет"; ОписаниеСтроки1 = Новый Структура("Номер,Строковое", Числовой, Строчный); ОписаниеСтроки2 = Новый Структура("Номер,Строковое", Числовой, Строчный); МассивУдаляемых = Новый Массив; МассивОписаний = Новый Массив; МассивОписаний.Добавить(ОписаниеСтроки1); МассивОписаний.Добавить(ОписаниеСтроки2); Результат = OPI_Airtable.СоздатьЗаписи(Токен, База, Таблица, МассивОписаний); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьЗаписи"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["records"]).ИмеетТип("Массив"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["records"].Количество()).Равно(2); Для Каждого Запись Из Результат["records"] Цикл МассивУдаляемых.Добавить(Запись["id"]); КонецЦикла; Результат = OPI_Airtable.СоздатьЗаписи(Токен, База, Таблица, ОписаниеСтроки1); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьЗаписи (одна)"); ОдиночнаяЗапись = Результат["id"]; OPI_ПолучениеДанныхТестов.ОжидаетЧто(ОдиночнаяЗапись).Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["createdTime"]).Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["fields"]["Номер"]).Равно(Числовой); OPI_ПолучениеДанныхТестов.ОжидаетЧто(СокрЛП(Результат["fields"]["Строковое"])).Равно(Строчный); Результат = OPI_Airtable.ПолучитьЗапись(Токен, База, Таблица, ОдиночнаяЗапись); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьЗапись"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["id"]).Равно(ОдиночнаяЗапись); Текст = "Тестовый комментарий"; Результат = OPI_Airtable.СоздатьКомментарий(Токен, База, Таблица, ОдиночнаяЗапись, Текст); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьКомментарий"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["text"]).Равно(Текст); Коммент = Результат["id"]; Текст = "Тестовый комментарий (изм.)"; Результат = OPI_Airtable.ИзменитьКомментарий(Токен, База, Таблица, ОдиночнаяЗапись, Коммент, Текст); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьКомментарий"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["text"]).Равно(Текст); Результат = OPI_Airtable.ПолучитьКомментарии(Токен, База, Таблица, ОдиночнаяЗапись); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьКомментарии"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["comments"]).ИмеетТип("Массив"); Результат = OPI_Airtable.УдалитьКомментарий(Токен, База, Таблица, ОдиночнаяЗапись, Коммент); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьКомментарий"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["deleted"]).Равно(Истина); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["id"]).Равно(Коммент); Результат = OPI_Airtable.ПолучитьСписокЗаписей(Токен, База, Таблица); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокЗаписей"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["records"]).ИмеетТип("Массив"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["records"]).Заполнено(); Результат = OPI_Airtable.УдалитьЗаписи(Токен, База, Таблица, МассивУдаляемых); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьЗаписи"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["records"]).ИмеетТип("Массив"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["records"]).Заполнено(); Результат = OPI_Airtable.УдалитьЗаписи(Токен, База, Таблица, ОдиночнаяЗапись); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьЗаписи (одна)"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["records"]).ИмеетТип("Массив"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["records"]).Заполнено(); КонецПроцедуры #КонецОбласти #КонецОбласти #КонецОбласти #Область СлужебныеПроцедурыИФункции Функция ПолучитьПараметрыВК() Параметры = Новый Структура; НомерГруппы = 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")); Возврат Параметры; КонецФункции #Область Проверки Процедура Проверка_ТелеграмИстина(Знач Результат) OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).Равно(Истина); КонецПроцедуры Процедура Проверка_ТелеграмИнформацияБота(Знач Результат) OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["username"]).Заполнено(); КонецПроцедуры Процедура Проверка_ТелеграмМассив(Результат) OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие") .Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Массив"); КонецПроцедуры Процедура Проверка_ТелеграмУстановкаВебхук(Знач Результат) OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).Равно(Истина); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["description"]).Равно("Webhook was set"); КонецПроцедуры Процедура Проверка_ТелеграмУдалениеВебхук(Знач Результат) OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).Равно(Истина); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["description"]).Равно("Webhook was deleted"); КонецПроцедуры Процедура Проверка_ВКИстина(Знач Результат) OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["response"]).ИмеетТип("Число").Равно(1); КонецПроцедуры Процедура Проверка_ГКОбъект(Знач Результат, Знач Наименование, Знач Описание) OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["summary"]).Равно(Наименование); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["description"]).Равно(Описание); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["id"]).ИмеетТип("Строка").Заполнено(); КонецПроцедуры Процедура Проверка_Пусто(Знач Результат) OPI_ПолучениеДанныхТестов.ОжидаетЧто(ЗначениеЗаполнено(Результат)).Равно(Ложь); КонецПроцедуры Процедура Проверка_ТвиттерТекст(Знач Результат, Знач Текст) ТекстОтвета = Результат["data"]["text"]; ТекстОтвета = Лев(ТекстОтвета, СтрДлина(Текст)); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(ТекстОтвета).Равно(Текст); КонецПроцедуры Процедура Проверка_ВайберОк(Знач Результат) OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["status_message"]).Равно("ok"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["status"]).Равно(0); КонецПроцедуры Процедура Проверка_НоушнОбъект(Знач Результат, Знач Вид = "page") OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["object"]).Равно(Вид); КонецПроцедуры Процедура Проверка_СлакОк(Знач Результат) OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина); КонецПроцедуры #КонецОбласти #КонецОбласти