// 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 // @skip-check undefined-variable // BSLLS:Typo-off //Раскомментировать, если выполняется OneScript #Использовать ".." #Использовать asserts #Область СлужебныйПрограммныйИнтерфейс //Для YaxUnit Процедура ИсполняемыеСценарии() Экспорт OPI_ПолучениеДанныхТестов.СформироватьТестыЯкс(); КонецПроцедуры //Для Asserts Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт // BSLLS:UnusedParameters-off Возврат OPI_ПолучениеДанныхТестов.СформироватьТестыАссертс(); КонецФункции #Область Тесты #Область Telegram Процедура Телеграм_ПолучитьИнформациюБота() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Телеграм_Токен"); Результат = OPI_Telegram.ПолучитьИнформациюБота(Токен); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["username"]).Заполнено(); КонецПроцедуры Процедура Телеграм_ПолучитьОбновления() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Телеграм_Токен"); Результат = OPI_Telegram.ПолучитьОбновления(Токен); OPI_Telegram.УдалитьWebhook(Токен); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие") .Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Массив"); КонецПроцедуры Процедура Телеграм_УстановитьWebhook() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Телеграм_Токен"); URL = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Телеграм_URL"); Результат = OPI_Telegram.УстановитьWebhook(Токен, URL); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).Равно(Истина); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["description"]).Равно("Webhook was set"); КонецПроцедуры Процедура Телеграм_УдалитьWebhook() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Телеграм_Токен"); Результат = OPI_Telegram.УдалитьWebhook(Токен); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).Равно(Истина); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["description"]).Равно("Webhook was deleted"); КонецПроцедуры Процедура Телеграм_ОтправитьТекстовоеСообщение() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Телеграм_Токен"); IDЧата = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Телеграм_Чат"); IDКанала = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Телеграм_Канал"); Текст = "Сообщение из автоматического теста"; МассивРезультатов = Новый Массив; МассивРезультатов.Добавить(OPI_Telegram.ОтправитьТекстовоеСообщение(Токен, IDЧата, Текст)); МассивРезультатов.Добавить(OPI_Telegram.ОтправитьТекстовоеСообщение(Токен, IDКанала, Текст)); IDСообщения = OPI_Инструменты.ЧислоВСтроку(МассивРезультатов[1]["result"]["message_id"]); OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Телеграм_IDСообщенияКанала", IDСообщения); Для Каждого Результат Из МассивРезультатов Цикл OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["text"]).Равно(Текст); КонецЦикла; КонецПроцедуры Процедура Телеграм_ОтправитьКартинку() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Телеграм_Токен"); IDЧата = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Телеграм_Чат"); IDКанала = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Телеграм_Канал"); Текст = "Сообщение из автоматического теста"; Картинка = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Картинка"); ИВФ = ПолучитьИмяВременногоФайла("png"); Картинка.Записать(ИВФ); МассивРезультатов = Новый Массив; МассивРезультатов.Добавить(OPI_Telegram.ОтправитьКартинку(Токен, IDЧата , Текст, Картинка)); МассивРезультатов.Добавить(OPI_Telegram.ОтправитьКартинку(Токен, IDКанала, Текст, Картинка)); МассивРезультатов.Добавить(OPI_Telegram.ОтправитьКартинку(Токен, IDЧата , Текст, ИВФ)); МассивРезультатов.Добавить(OPI_Telegram.ОтправитьКартинку(Токен, IDКанала, Текст, ИВФ)); Для Каждого Результат Из МассивРезультатов Цикл OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие") .Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["caption"]).Равно(Текст); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["photo"]).ИмеетТип("Массив"); КонецЦикла; УдалитьФайлы(ИВФ); КонецПроцедуры Процедура Телеграм_ОтправитьВидео() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Телеграм_Токен"); IDЧата = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Телеграм_Чат"); IDКанала = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Телеграм_Канал"); Текст = "Сообщение из автоматического теста"; Видео = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Видео"); ИВФ = ПолучитьИмяВременногоФайла("mp4"); Видео.Записать(ИВФ); МассивРезультатов = Новый Массив; МассивРезультатов.Добавить(OPI_Telegram.ОтправитьВидео(Токен, IDЧата , Текст, Видео)); МассивРезультатов.Добавить(OPI_Telegram.ОтправитьВидео(Токен, IDКанала, Текст, Видео)); МассивРезультатов.Добавить(OPI_Telegram.ОтправитьВидео(Токен, IDЧата , Текст, ИВФ)); МассивРезультатов.Добавить(OPI_Telegram.ОтправитьВидео(Токен, IDКанала, Текст, ИВФ)); Для Каждого Результат Из МассивРезультатов Цикл OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["caption"]).Равно(Текст); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["video"]["mime_type"]).Равно("video/mp4"); КонецЦикла; УдалитьФайлы(ИВФ); КонецПроцедуры Процедура Телеграм_ОтправитьАудио() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Телеграм_Токен"); IDЧата = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Телеграм_Чат"); IDКанала = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Телеграм_Канал"); Текст = "Сообщение из автоматического теста"; Аудио = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Аудио"); ИВФ = ПолучитьИмяВременногоФайла("mp3"); Аудио.Записать(ИВФ); МассивРезультатов = Новый Массив; МассивРезультатов.Добавить(OPI_Telegram.ОтправитьАудио(Токен, IDЧата , Текст, Аудио)); МассивРезультатов.Добавить(OPI_Telegram.ОтправитьАудио(Токен, IDКанала, Текст, Аудио)); МассивРезультатов.Добавить(OPI_Telegram.ОтправитьАудио(Токен, IDЧата , Текст, ИВФ)); МассивРезультатов.Добавить(OPI_Telegram.ОтправитьАудио(Токен, IDКанала, Текст, ИВФ)); Для Каждого Результат Из МассивРезультатов Цикл OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["caption"]).Равно(Текст); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["audio"]["mime_type"]).Равно("audio/mpeg"); КонецЦикла; УдалитьФайлы(ИВФ); КонецПроцедуры Процедура Телеграм_ОтправитьДокумент() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Телеграм_Токен"); IDЧата = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Телеграм_Чат"); IDКанала = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Телеграм_Канал"); Текст = "Сообщение из автоматического теста"; Документ = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Документ"); ИВФ = ПолучитьИмяВременногоФайла("docx"); Документ.Записать(ИВФ); МассивРезультатов = Новый Массив; МассивРезультатов.Добавить(OPI_Telegram.ОтправитьДокумент(Токен, IDЧата , Текст, Документ)); МассивРезультатов.Добавить(OPI_Telegram.ОтправитьДокумент(Токен, IDКанала, Текст, Документ)); МассивРезультатов.Добавить(OPI_Telegram.ОтправитьДокумент(Токен, IDЧата , Текст, ИВФ)); МассивРезультатов.Добавить(OPI_Telegram.ОтправитьДокумент(Токен, IDКанала, Текст, ИВФ)); Для Каждого Результат Из МассивРезультатов Цикл OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["caption"]).Равно(Текст); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["document"]).ИмеетТип("Соответствие").Заполнено(); КонецЦикла; УдалитьФайлы(ИВФ); КонецПроцедуры Процедура Телеграм_ОтправитьГифку() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Телеграм_Токен"); IDЧата = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Телеграм_Чат"); IDКанала = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Телеграм_Канал"); Текст = "Сообщение из автоматического теста"; Гифка = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Гифка"); ИВФ = ПолучитьИмяВременногоФайла("gif"); Гифка.Записать(ИВФ); МассивРезультатов = Новый Массив; МассивРезультатов.Добавить(OPI_Telegram.ОтправитьГифку(Токен, IDЧата , Текст, Гифка)); МассивРезультатов.Добавить(OPI_Telegram.ОтправитьГифку(Токен, IDКанала, Текст, Гифка)); МассивРезультатов.Добавить(OPI_Telegram.ОтправитьГифку(Токен, IDЧата , Текст, ИВФ)); МассивРезультатов.Добавить(OPI_Telegram.ОтправитьГифку(Токен, IDКанала, Текст, ИВФ)); Для Каждого Результат Из МассивРезультатов Цикл OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["caption"]).Равно(Текст); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["document"]).ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["animation"]["mime_type"]).Равно("video/mp4"); КонецЦикла; УдалитьФайлы(ИВФ); КонецПроцедуры Процедура Телеграм_ОтправитьМедиагруппу() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Телеграм_Токен"); IDЧата = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Телеграм_Чат"); IDКанала = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Телеграм_Канал"); Текст = "Сообщение из автоматического теста"; Картинка = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Картинка"); ИВФ_Картинка = ПолучитьИмяВременногоФайла("png"); Картинка.Записать(ИВФ_Картинка); Видео = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Видео"); ИВФ_Видео = ПолучитьИмяВременногоФайла("mp4"); Видео.Записать(ИВФ_Видео); МедиагруппаЧат = Новый Соответствие; МедиагруппаЧат.Вставить(Картинка , "photo"); МедиагруппаЧат.Вставить(ИВФ_Видео, "video"); МедиагруппаКанал = Новый Соответствие; МедиагруппаКанал.Вставить(ИВФ_Картинка, "photo"); МедиагруппаКанал.Вставить(Видео , "video"); МассивРезультатов = Новый Массив; МассивРезультатов.Добавить(OPI_Telegram.ОтправитьМедиагруппу(Токен, IDЧата, Текст, МедиагруппаЧат)); МассивРезультатов.Добавить(OPI_Telegram.ОтправитьМедиагруппу(Токен, IDКанала, Текст, МедиагруппаКанал)); Для Каждого Результат Из МассивРезультатов Цикл OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Массив"); КонецЦикла; УдалитьФайлы(ИВФ_Картинка); УдалитьФайлы(ИВФ_Видео); КонецПроцедуры Процедура Телеграм_ОтправитьМестоположение() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Телеграм_Токен"); IDЧата = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Телеграм_Чат"); IDКанала = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Телеграм_Канал"); Ширина = "48.87373649724122"; Долгота = "48.87373649724122"; МассивРезультатов = Новый Массив; МассивРезультатов.Добавить(OPI_Telegram.ОтправитьМестоположение(Токен, IDЧата , Ширина, Долгота)); МассивРезультатов.Добавить(OPI_Telegram.ОтправитьМестоположение(Токен, IDКанала, Ширина, Долгота)); Для Каждого Результат Из МассивРезультатов Цикл OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["location"]).ИмеетТип("Соответствие").Заполнено(); КонецЦикла; КонецПроцедуры Процедура Телеграм_ОтправитьКонтакт() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Телеграм_Токен"); IDЧата = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Телеграм_Чат"); IDКанала = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Телеграм_Канал"); Имя = "Петр"; Фамилия = "Петров"; Телефон = "88005553535"; МассивРезультатов = Новый Массив; OPI_Инструменты.Пауза(20); МассивРезультатов.Добавить(OPI_Telegram.ОтправитьКонтакт(Токен, IDЧата , Имя, Фамилия, Телефон)); OPI_Инструменты.Пауза(20); МассивРезультатов.Добавить(OPI_Telegram.ОтправитьКонтакт(Токен, IDКанала, Имя, Фамилия, Телефон)); Для Каждого Результат Из МассивРезультатов Цикл OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["contact"]).ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["contact"]["first_name"]).Равно(Имя); КонецЦикла; КонецПроцедуры Процедура Телеграм_ОтправитьОпрос() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Телеграм_Токен"); IDЧата = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Телеграм_Чат"); IDКанала = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Телеграм_Канал"); Вопрос = "Какой ваш любимый цвет?"; МассивОтветов = Новый Массив; МассивОтветов.Добавить("Красный"); МассивОтветов.Добавить("Желтый"); МассивОтветов.Добавить("Зеленый"); МассивРезультатов = Новый Массив; МассивРезультатов.Добавить(OPI_Telegram.ОтправитьОпрос(Токен, IDЧата , Вопрос, МассивОтветов, Ложь)); МассивРезультатов.Добавить(OPI_Telegram.ОтправитьОпрос(Токен, IDКанала, Вопрос, МассивОтветов, Истина)); Для Каждого Результат Из МассивРезультатов Цикл OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["poll"]).ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["poll"]["question"]).Равно(Вопрос); КонецЦикла; КонецПроцедуры Процедура Телеграм_ПереслатьСообщение() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Телеграм_Токен"); IDЧата = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Телеграм_Чат"); IDКанала = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Телеграм_Канал"); IDСообщения = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Телеграм_IDСообщенияКанала"); IDСообщения = Число(IDСообщения); Результат = OPI_Telegram.ПереслатьСообщение(Токен, IDСообщения, IDКанала, IDЧата); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["forward_origin"]["message_id"]).Равно(IDСообщения); КонецПроцедуры Процедура Телеграм_БанРазбан() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Телеграм_Токен"); IDЧата = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Телеграм_Чат"); IDКанала = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Телеграм_Канал"); МассивРезультатов = Новый Массив; МассивРезультатов.Добавить(OPI_Telegram.Бан(Токен, IDКанала, IDЧата)); МассивРезультатов.Добавить(OPI_Telegram.Разбан(Токен, IDКанала, IDЧата)); Для Каждого Результат Из МассивРезультатов Цикл OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["description"]).Равно("Bad Request: can't remove chat owner"); КонецЦикла; КонецПроцедуры Процедура Телеграм_СоздатьСсылкуПриглашение() Экспорт Час = 3600; ТекущаяДата = OPI_Инструменты.ПолучитьТекущуюДату(); Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Телеграм_Токен"); IDКанала = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Телеграм_Канал"); Заголовок = "Ссылка " + Строка(ТекущаяДата); Истечение = ТекущаяДата + Час; UnixИстечение = Число(OPI_Инструменты.UNIXTime(Истечение)); Результат = OPI_Telegram.СоздатьСсылкуПриглашение(Токен, IDКанала, Заголовок, Истечение, 200); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["member_limit"]).Равно(200); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["name"]).Равно(Заголовок); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["expire_date"]).Равно(UnixИстечение); КонецПроцедуры Процедура Телеграм_ЗакрепитьОткрепитьСообщение() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Телеграм_Токен"); IDКанала = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Телеграм_Канал"); IDСообщения = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Телеграм_IDСообщенияКанала"); МассивРезультатов = Новый Массив; МассивРезультатов.Добавить(OPI_Telegram.ЗакрепитьСообщение(Токен, IDКанала, IDСообщения)); МассивРезультатов.Добавить(OPI_Telegram.ОткрепитьСообщение(Токен, IDКанала, IDСообщения)); Для Каждого Результат Из МассивРезультатов Цикл OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).Равно(Истина); КонецЦикла; КонецПроцедуры Процедура Телеграм_ПолучитьЧислоУчастников() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Телеграм_Токен"); IDКанала = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Телеграм_Канал"); Результат = OPI_Telegram.ПолучитьЧислоУчастников(Токен, IDКанала); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Число"); КонецПроцедуры Процедура Телеграм_ПолучитьСписокАватаровФорума() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Телеграм_Токен"); Результат = OPI_Telegram.ПолучитьСписокИконокАватаров(Токен); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено(); КонецПроцедуры Процедура Телеграм_СоздатьУдалитьТемуФорума() Экспорт Ok_ = "ok"; Result = "result"; ТипСоответствие = Тип("Соответствие"); Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Телеграм_Токен"); Чат = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Телеграм_Форум"); Имя = "Тестовая тема"; НовоеИмя = "Новый тестовый заголовок"; Иконка = "5357419403325481346"; НовяИконка = "5310132165583840589"; Результат = OPI_Telegram.СоздатьТемуФорума(Токен, Чат, Имя, Иконка); Тема = Результат[Result]["message_thread_id"]; OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие).Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Ok_]).Равно(Истина); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Result]["name"]).Равно(Имя); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Result]["icon_custom_emoji_id"]).Равно(Иконка); Результат = OPI_Telegram.ИзменитьТемуФорума(Токен, Чат, Тема, НовоеИмя, НовяИконка); Проверка_ТелеграмИстина(Результат); OPI_Инструменты.Пауза(10); Результат = OPI_Telegram.ЗакрытьТемуФорума(Токен, Чат, Тема); Проверка_ТелеграмИстина(Результат); OPI_Инструменты.Пауза(25); Результат = OPI_Telegram.ОткрытьТемуФорума(Токен, Чат, Тема); Проверка_ТелеграмИстина(Результат); OPI_Инструменты.Пауза(25); Результат = OPI_Telegram.УдалитьТемуФорума(Токен, Чат, Тема); Проверка_ТелеграмИстина(Результат); КонецПроцедуры Процедура Телеграм_ОткрытьЗакрытьГлавнуюТему() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Телеграм_Токен"); Чат = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Телеграм_Форум"); Результат = OPI_Telegram.ЗакрытьТемуФорума(Токен, Чат); Проверка_ТелеграмИстина(Результат); OPI_Инструменты.Пауза(10); Результат = OPI_Telegram.ОткрытьТемуФорума(Токен, Чат); Проверка_ТелеграмИстина(Результат); OPI_Инструменты.Пауза(10); Результат = OPI_Telegram.ОчиститьСписокЗакрепленныхСообщенийТемы(Токен, Чат); Проверка_ТелеграмИстина(Результат); OPI_Инструменты.Пауза(10) КонецПроцедуры Процедура Телеграм_СкрытьПоказатьГлавнуюТему() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Телеграм_Токен"); Чат = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Телеграм_Форум"); Результат = OPI_Telegram.СкрытьГлавнуюТемуФорума(Токен, Чат); Проверка_ТелеграмИстина(Результат); OPI_Инструменты.Пауза(10); Результат = OPI_Telegram.ПоказатьГлавнуюТемуФорума(Токен, Чат); Проверка_ТелеграмИстина(Результат); OPI_Инструменты.Пауза(10); КонецПроцедуры Процедура Телеграм_ИзменитьИмяГлавнойТемы() Экспорт Заголовок = "Новое имя главной темы " + Строка(Новый УникальныйИдентификатор); Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Телеграм_Токен"); Чат = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Телеграм_Форум"); Результат = OPI_Telegram.ИзменитьИмяГлавнойТемыФорума(Токен, Чат, Заголовок); Проверка_ТелеграмИстина(Результат); КонецПроцедуры #КонецОбласти #Область ВК Процедура ВК_СоздатьСсылкуТокена() Экспорт Приложение = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("ВК_Приложение"); Результат = OPI_VK.СоздатьСсылкуПолученияТокена(Приложение); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат) .ИмеетТип("Строка") .Заполнено(); КонецПроцедуры Процедура ВК_СоздатьУдалитьПост() Экспорт Параметры = ПолучитьПараметрыВК(); Текст = "Пост из автотеста"; URL = "https://github.com/Bayselonarrend/OpenIntegrations"; Картинка = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Картинка"); ИВФ = ПолучитьИмяВременногоФайла("png"); Картинка.Записать(ИВФ); МассивРезультатов = Новый Массив; МассивРезультатов.Добавить(OPI_VK.СоздатьПост(Текст, Картинка, Ложь , , Параметры)); OPI_Инструменты.Пауза(10); МассивРезультатов.Добавить(OPI_VK.СоздатьПост(Текст, ИВФ , Истина, URL, Параметры)); OPI_Инструменты.Пауза(10); Для Каждого Результат Из МассивРезультатов Цикл OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["response"]["post_id"]).ИмеетТип("Число").Заполнено(); ИДПоста = Результат["response"]["post_id"]; Удаление = OPI_VK.УдалитьПост(ИДПоста, Параметры); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Удаление) .ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Удаление["response"]).ИмеетТип("Число").Равно(1); КонецЦикла; УдалитьФайлы(ИВФ); КонецПроцедуры Процедура ВК_СоздатьОпрос() Экспорт Параметры = ПолучитьПараметрыВК(); Вопрос = "Вопрос из автотеста"; МассивВариантов = Новый Массив; МассивВариантов.Добавить("Вариант 1"); МассивВариантов.Добавить("Вариант 2"); МассивВариантов.Добавить("Вариант 3"); Результат = OPI_VK.СоздатьОпрос(Вопрос, МассивВариантов, , Параметры); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["response"]["post_id"]).ИмеетТип("Число").Заполнено(); ИДПоста = Результат["response"]["post_id"]; OPI_VK.УдалитьПост(ИДПоста, Параметры); КонецПроцедуры Процедура ВК_СохранитьУдалитьКартинку() Экспорт Параметры = ПолучитьПараметрыВК(); Имя = "Альбом из автотеста"; Описание = "Новый альбом из автотеста"; ОписаниеКартинки = "Картинка автотест"; Картинка = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Картинка"); ИВФ = ПолучитьИмяВременногоФайла("png"); ТипСоответствие = Тип("Соответствие"); Response = "response"; Картинка.Записать(ИВФ); Альбом = OPI_VK.СоздатьАльбом(Имя, Описание, Параметры); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Альбом).ИмеетТип(ТипСоответствие).Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Альбом["response"]["description"]).Равно(Описание); ИДАльбома = Альбом[Response]["id"]; МассивРезультатов = Новый Массив; МассивРезультатов.Добавить(OPI_VK.СохранитьКартинкуВАльбом(ИДАльбома, Картинка, ОписаниеКартинки, Параметры)); OPI_Инструменты.Пауза(10); МассивРезультатов.Добавить(OPI_VK.СохранитьКартинкуВАльбом(ИДАльбома, ИВФ , ОписаниеКартинки, Параметры)); OPI_Инструменты.Пауза(10); Для Каждого Результат Из МассивРезультатов Цикл OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие).Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["response"][0]["text"]).Равно(ОписаниеКартинки); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["response"][0]["album_id"]).Равно(ИДАльбома); ИДКартинки = Результат[Response][0]["id"]; Удаление = OPI_VK.УдалитьКартинку(ИДКартинки, Параметры); Проверка_ВКИстина(Удаление); КонецЦикла; Удаление = OPI_VK.УдалитьАльбом(ИДАльбома, Параметры); Проверка_ВКИстина(Удаление); УдалитьФайлы(ИВФ); КонецПроцедуры Процедура ВК_СоздатьИсторию() Экспорт Параметры = ПолучитьПараметрыВК(); URL = "https://github.com/Bayselonarrend/OpenIntegrations"; Картинка = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Картинка"); ИВФ = ПолучитьИмяВременногоФайла("png"); Картинка.Записать(ИВФ); МассивРезультатов = Новый Массив; МассивРезультатов.Добавить(OPI_VK.СоздатьИсторию(ИВФ , URL, Параметры)); OPI_Инструменты.Пауза(10); МассивРезультатов.Добавить(OPI_VK.СоздатьИсторию(Картинка, , Параметры)); OPI_Инструменты.Пауза(10); Для Каждого Результат Из МассивРезультатов Цикл OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["response"]["count"]).ИмеетТип("Число").Равно(1); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["response"]["items"]).ИмеетТип("Массив").Заполнено(); КонецЦикла; УдалитьФайлы(ИВФ); КонецПроцедуры Процедура ВК_МетодыОбсуждений() Экспорт Параметры = ПолучитьПараметрыВК(); Название = "Обсуждение из автотеста"; Сообщение = "Сообщение из автотеста"; ТипСоответствие = Тип("Соответствие"); ТипЧисло = Тип("Число"); Response = "response"; Результат = OPI_VK.СоздатьОбсуждение(Название, Сообщение, Параметры); OPI_Инструменты.Пауза(5); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие).Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Response]).ИмеетТип(ТипЧисло).Заполнено(); ИДОбсуждения = Результат[Response]; Закрытие = OPI_VK.ЗакрытьОбсуждение(ИДОбсуждения, Ложь, Параметры); Проверка_ВКИстина(Закрытие); Открытие = OPI_VK.ОткрытьОбсуждение(ИДОбсуждения, Параметры); OPI_Инструменты.Пауза(5); Проверка_ВКИстина(Открытие); Отправка = OPI_VK.НаписатьВОбсуждение(ИДОбсуждения, Сообщение, Параметры); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Отправка).ИмеетТип(ТипСоответствие).Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Отправка[Response]).ИмеетТип(ТипЧисло).Заполнено(); Удаление = OPI_VK.ЗакрытьОбсуждение(ИДОбсуждения, Истина, Параметры); OPI_Инструменты.Пауза(5); Проверка_ВКИстина(Удаление); КонецПроцедуры Процедура ВК_ЛайкРепостКоммент() Экспорт Параметры = ПолучитьПараметрыВК(); Текст = "Пост из автотеста"; Сообщение = "Сообщение из автотеста"; ТипСоответствие = Тип("Соответствие"); ТипЧисло = Тип("Число"); Response = "response"; Результат = OPI_VK.СоздатьПост(Текст, Новый Массив, , , Параметры); ИДПоста = Результат[Response]["post_id"]; Лайк = OPI_VK.ПоставитьЛайк(ИДПоста, , Параметры); OPI_Инструменты.Пауза(5); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Лайк).ИмеетТип(ТипСоответствие).Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Лайк["response"]["likes"]).ИмеетТип(ТипЧисло).Заполнено(); ВнешнийПост = 2571; ВнешняяСтена = -218704372; Репост = OPI_VK.СделатьРепост(ВнешнийПост, ВнешняяСтена, , , Параметры); OPI_Инструменты.Пауза(5); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Репост).ИмеетТип(ТипСоответствие).Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Репост["response"]["success"]).ИмеетТип(ТипЧисло).Равно(1); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Репост["response"]["wall_repost_count"]).ИмеетТип(ТипЧисло).Равно(1); Комментарий = OPI_VK.НаписатьКомментарий(ИДПоста, Параметры["owner_id"], Сообщение, Параметры); OPI_Инструменты.Пауза(5); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Комментарий).ИмеетТип(ТипСоответствие).Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Комментарий["response"]["comment_id"]).ИмеетТип(ТипЧисло).Заполнено(); OPI_VK.УдалитьПост(ИДПоста, Параметры); OPI_VK.УдалитьПост(Репост[Response]["post_id"], Параметры); КонецПроцедуры Процедура ВК_ПолучитьСтатистику() Экспорт ТекущаяДата = OPI_Инструменты.ПолучитьТекущуюДату(); Параметры = ПолучитьПараметрыВК(); Дата0 = НачалоДня(ТекущаяДата); Дата1 = КонецДня(Дата0); ТипСоответствие = Тип("Соответствие"); Результат = OPI_VK.ПолучитьСтатистику(Дата0, Дата1, Параметры); OPI_Инструменты.Пауза(10); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие).Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["response"][0]["visitors"]).ИмеетТип(ТипСоответствие).Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["response"][0]["reach"]).ИмеетТип(ТипСоответствие).Заполнено(); КонецПроцедуры Процедура ВК_ПолучитьСтатистикуПостов() Экспорт Параметры = ПолучитьПараметрыВК(); МассивПостов = Новый Массив; МассивПостов.Добавить(214); МассивПостов.Добавить(215); Результат = OPI_VK.ПолучитьСтатистикуПостов(МассивПостов, Параметры); OPI_Инструменты.Пауза(10); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат) .ИмеетТип("Массив").ИмеетДлину(2); КонецПроцедуры Процедура ВК_СоздатьРекламнуюКампанию() Экспорт Параметры = ПолучитьПараметрыВК(); ИДКабинета = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("ВК_Кабинет"); Наименование = "Тестовая кампания"; ТипСоответствие = Тип("Соответствие"); ТипЧисло = Тип("Число"); Response = "response"; UID = "id"; Результат = OPI_VK.СоздатьРекламнуюКампанию(ИДКабинета, Наименование, Параметры); Результат = Результат[Response][0]; OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["error_code"]).ИмеетТип(ТипЧисло).Равно(602); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[UID]).ИмеетТип(ТипЧисло).Заполнено(); ИДКампании = Результат[UID]; ИДКатегории = 126; Лимит = 150; Результат = OPI_VK.СоздатьПост(Наименование, Новый Массив, , , Параметры); ИДПоста = Результат[Response]["post_id"]; Объявление = OPI_VK.СоздатьРекламноеОбъявление(ИДКампании , Лимит , ИДКатегории , ИДПоста , ИДКабинета , Параметры); Объявление = Объявление[Response][0]; OPI_ПолучениеДанныхТестов.ОжидаетЧто(Объявление).ИмеетТип(ТипСоответствие); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Объявление["error_code"]).ИмеетТип(ТипЧисло).Равно(602); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Объявление[UID]).ИмеетТип(ТипЧисло).Заполнено(); ИДОбъявления = Объявление[UID]; Остановка = OPI_VK.ПриостановитьРекламноеОбъявление(ИДКабинета, ИДОбъявления, Параметры); Остановка = Остановка[Response][0]; OPI_ПолучениеДанныхТестов.ОжидаетЧто(Остановка).ИмеетТип(ТипСоответствие); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Остановка[UID]).ИмеетТип(ТипЧисло).Заполнено(); OPI_VK.УдалитьПост(ИДПоста, Параметры); КонецПроцедуры Процедура ВК_ОтправитьСообщение() Экспорт Параметры = ПолучитьПараметрыВК(); Пользователь = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("ВК_Пользователь"); Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("ВК_КТ"); Текст = "Сообщение из автотеста"; МассивКнопок = Новый Массив; МассивКнопок.Добавить("Кнопка 1"); МассивКнопок.Добавить("Кнопка 2"); Клавиатура = OPI_VK.СформироватьКлавиатуру(МассивКнопок); Результат = OPI_VK.НаписатьСообщение(Текст, Пользователь, Токен, Клавиатура, Параметры); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["response"]).ИмеетТип("Число").Заполнено(); КонецПроцедуры Процедура ВК_ПолучитьКатегорииТоваров() Экспорт Параметры = ПолучитьПараметрыВК(); Результат = OPI_VK.ПолучитьСписокКатегорийТоваров(Параметры); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат) .ИмеетТип("Соответствие") .Заполнено(); КонецПроцедуры Процедура ВК_СоздатьТоварПодборку() Экспорт Параметры = ПолучитьПараметрыВК(); ТипСоответствие = Тип("Соответствие"); ТипЧисло = Тип("Число"); Response = "response"; Картинка = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Картинка"); ИВФ = ПолучитьИмяВременногоФайла("png"); Картинка.Записать(ИВФ); Результат = OPI_VK.СоздатьПодборкуТоваров("Тестовая подборка" , Картинка , Истина , Ложь , Параметры); OPI_Инструменты.Пауза(5); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["response"]["albums_count"]).ИмеетТип(ТипЧисло).Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["response"]["market_album_id"]).ИмеетТип(ТипЧисло).Заполнено(); ИДПодборки = Результат[Response]["market_album_id"]; Результат = OPI_VK.ИзменитьПодборкуТоваров("Измененная подборка", ИДПодборки, , , , Параметры); OPI_Инструменты.Пауза(5); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Response]).ИмеетТип(ТипЧисло).Равно(1); МассивКартинок = Новый Массив; МассивКартинок.Добавить(ИВФ); МассивКартинок.Добавить(Картинка); Товар = Новый Соответствие(); Товар.Вставить("Имя" , "Тестовый товар"); Товар.Вставить("Описание" , "Описание товара"); Товар.Вставить("Категория" , "20173"); Товар.Вставить("Цена" , 1); Товар.Вставить("СтараяЦена" , 15); Товар.Вставить("ОсновноеФото" , Картинка); Товар.Вставить("URL" , "https://github.com/Bayselonarrend/OpenIntegrations"); Товар.Вставить("ДополнительныеФото" , МассивКартинок); Товар.Вставить("ГлавныйВГруппе" , Истина); Товар.Вставить("Ширина" , 20); Товар.Вставить("Высота" , 30); Товар.Вставить("Глубина" , 40); Товар.Вставить("Вес" , 100); Товар.Вставить("SKU" , "12345"); Товар.Вставить("ДоступныйОстаток" , "10"); Результат = OPI_VK.ДобавитьТовар(Товар, ИДПодборки, Параметры); // Добавление товара OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["response"]["market_item_id"]).ИмеетТип(ТипЧисло).Заполнено(); ИДТовара = Результат[Response]["market_item_id"]; Товар = Новый Соответствие; Товар.Вставить("Имя", "Тестовый товар измененный"); Результат = OPI_VK.ИзменитьТовар(ИДТовара, Товар, , Параметры); // Изменение товара Проверка_ВКИстина(Результат); Результат = OPI_VK.ДобавитьТоварВПодборку(ИДТовара, ИДПодборки, Параметры); // Добавление в подборку OPI_Инструменты.Пауза(5); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Response]).ИмеетТип(ТипЧисло).Заполнено(); Результат = OPI_VK.УдалитьТоварИзПодборки(ИДТовара, ИДПодборки, Параметры); // Удаляет из подборки OPI_Инструменты.Пауза(5); Проверка_ВКИстина(Результат); Результат = OPI_VK.УдалитьТовар(ИДТовара, Параметры); // Удаление товара OPI_Инструменты.Пауза(5); Проверка_ВКИстина(Результат); Результат = OPI_VK.УдалитьПодборку(ИДПодборки, Параметры); // Уадление подборки OPI_Инструменты.Пауза(5); Проверка_ВКИстина(Результат); УдалитьФайлы(ИВФ); КонецПроцедуры Процедура ВК_СоздатьТоварСоСвойствами() Экспорт Параметры = ПолучитьПараметрыВК(); ТипСоответствие = Тип("Соответствие"); ТипЧисло = Тип("Число"); Response = "response"; Желтый = "Желтый"; Красный = "Красный"; Картинка = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Картинка"); ИВФ = ПолучитьИмяВременногоФайла("png"); Картинка.Записать(ИВФ); МассивВариантов = Новый Массив; МассивВариантов.Добавить(Желтый); МассивВариантов.Добавить("Синий"); МассивВариантов.Добавить(Красный); Результат = OPI_VK.СоздатьСвойствоТовара("Цвет", Параметры); OPI_Инструменты.Пауза(10); Свойство = Результат[Response]["property_id"]; Свойство = OPI_Инструменты.ЧислоВСтроку(Свойство); СоответствиеСвойств = Новый Соответствие; OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["response"]["property_id"]).ИмеетТип(ТипЧисло).Заполнено(); Результат = OPI_VK.ИзменитьСвойствоТовара("Цвет (изм.)", Свойство, Параметры); OPI_Инструменты.Пауза(10); Проверка_ВКИстина(Результат); Для Каждого Вариант Из МассивВариантов Цикл Результат = OPI_VK.ДобавитьВариантСвойстваТовара(Вариант, Свойство, Параметры); OPI_Инструменты.Пауза(5); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["response"]["variant_id"]).ИмеетТип(ТипЧисло).Заполнено(); ИДВарианта = Результат[Response]["variant_id"]; СоответствиеСвойств.Вставить(Вариант, ИДВарианта); Результат = OPI_VK.ИзменитьВариантСвойстваТовара(Вариант + " (изм.)" , Свойство , ИДВарианта , Параметры); Проверка_ВКИстина(Результат); КонецЦикла; МассивКартинок = Новый Массив; МассивКартинок.Добавить(ИВФ); МассивКартинок.Добавить(Картинка); Товар = Новый Соответствие(); Товар.Вставить("Имя" , "Тестовый товар (" + Желтый + ")"); Товар.Вставить("Описание" , "Описание товара"); Товар.Вставить("Категория" , "20173"); Товар.Вставить("Цена" , 1); Товар.Вставить("СтараяЦена" , 15); Товар.Вставить("ОсновноеФото" , Картинка); Товар.Вставить("URL" , "https://github.com/Bayselonarrend/OpenIntegrations"); Товар.Вставить("ДополнительныеФото" , МассивКартинок); Товар.Вставить("ГлавныйВГруппе" , Истина); Товар.Вставить("НомерГруппы" , Неопределено); Товар.Вставить("Ширина" , 20); Товар.Вставить("Высота" , 30); Товар.Вставить("Глубина" , 40); Товар.Вставить("Вес" , 100); Товар.Вставить("SKU" , 12345); Товар.Вставить("ДоступныйОстаток" , "10"); Товар.Вставить("ЗначенияСвойств" , СоответствиеСвойств[Желтый]); Результат = OPI_VK.ДобавитьТовар(Товар, , Параметры); // Добавление товара OPI_Инструменты.Пауза(10); ИДЖелтого = Результат[Response]["market_item_id"]; OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["response"]["market_item_id"]).ИмеетТип(ТипЧисло).Заполнено(); Товар.Вставить("Имя" , "Тестовый товар (" + Красный + ")"); Товар.Вставить("ЗначенияСвойств", СоответствиеСвойств[Красный]); Результат = OPI_VK.ДобавитьТовар(Товар, , Параметры); // Добавление товара OPI_Инструменты.Пауза(10); ИДКрасного = Результат[Response]["market_item_id"]; OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["response"]["market_item_id"]).ИмеетТип(ТипЧисло).Заполнено(); МассивТоваров = Новый Массив; МассивТоваров.Добавить(ИДЖелтого); МассивТоваров.Добавить(ИДКрасного); Результат = OPI_VK.ПолучитьТоварыПоИД(МассивТоваров, Параметры); OPI_Инструменты.Пауза(10); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["response"]["items"]).ИмеетТип("Массив").ИмеетДлину(2); Результат = OPI_VK.СгруппироватьТовары(МассивТоваров, , Параметры); OPI_Инструменты.Пауза(10); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["response"]["item_group_id"]).ИмеетТип(ТипЧисло).Заполнено(); OPI_VK.УдалитьТовар(ИДЖелтого , Параметры); OPI_VK.УдалитьТовар(ИДКрасного, Параметры); Для Каждого Вариант Из СоответствиеСвойств Цикл Удаление = OPI_VK.УдалитьВариантСвойстваТовара(Вариант.Значение, Параметры); OPI_Инструменты.Пауза(5); Проверка_ВКИстина(Удаление); КонецЦикла; Удаление = OPI_VK.УдалитьСвойствоТовара(Свойство, Параметры); OPI_Инструменты.Пауза(10); Проверка_ВКИстина(Удаление); УдалитьФайлы(ИВФ); КонецПроцедуры Процедура ВК_ПолучитьСписокТоваров() Экспорт Параметры = ПолучитьПараметрыВК(); Картинка = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Картинка"); МассивКартинок = Новый Массив; МассивКартинок.Добавить(Картинка); Товар = Новый Соответствие(); Товар.Вставить("Имя" , "Тестовый товар 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_Инструменты.Пауза(5); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат) .ИмеетТип("Массив").Заполнено(); OPI_VK.УдалитьТовар(ИДТовара, Параметры); КонецПроцедуры Процедура ВК_ПолучитьСписокПодборок() Экспорт Параметры = ПолучитьПараметрыВК(); Картинка = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Картинка"); Результат = OPI_VK.СоздатьПодборкуТоваров("Тестовая подборка" , Картинка , Истина , Ложь , Параметры); ИДПодборки = Результат["response"]["market_album_id"]; Результат = OPI_VK.ПолучитьСписокПодборок(Параметры); OPI_Инструменты.Пауза(5); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат) .ИмеетТип("Массив").Заполнено(); OPI_VK.УдалитьПодборку(ИДПодборки, Параметры); КонецПроцедуры Процедура ВК_ПолучитьСписокСвойств() Экспорт Параметры = ПолучитьПараметрыВК(); Результат = OPI_VK.ПолучитьСписокСвойств(Параметры); OPI_Инструменты.Пауза(5); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат) .ИмеетТип("Массив").Заполнено(); КонецПроцедуры Процедура ВК_ПолучитьСписокЗаказов() Экспорт Параметры = ПолучитьПараметрыВК(); Результат = OPI_VK.ПолучитьСписокЗаказов(Параметры); OPI_Инструменты.Пауза(5); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат) .ИмеетТип("Массив").Заполнено(); КонецПроцедуры #КонецОбласти #Область YandexDisk Процедура ЯДиск_ПолучитьИнформациюОДиске() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("ЯДиск_Токен"); Соответствие = "Соответствие"; Результат = OPI_YandexDisk.ПолучитьИнформациюОДиске(Токен); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(Соответствие).Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["system_folders"]).ИмеетТип(Соответствие); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["user"]).ИмеетТип(Соответствие); КонецПроцедуры Процедура ЯДиск_СоздатьПапку() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("ЯДиск_Токен"); Путь = "/" + Строка(Новый УникальныйИдентификатор); Результат = OPI_YandexDisk.СоздатьПапку(Токен, Путь); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["type"]).Равно("dir"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["path"]).Равно("disk:" + Путь); OPI_YandexDisk.УдалитьОбъект(Токен, Путь, Ложь); КонецПроцедуры Процедура ЯДиск_ЗагрузитьПоАдресуПолучитьОбъект() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("ЯДиск_Токен"); Путь = "/" + Строка(Новый УникальныйИдентификатор) + ".png"; URL = "https://raw.githubusercontent.com/Bayselonarrend/OpenIntegrations/main/Media/logo.png"; OPI_YandexDisk.ЗагрузитьФайлПоURL(Токен, Путь, URL); OPI_Инструменты.Пауза(10); Результат = OPI_YandexDisk.ПолучитьОбъект(Токен, Путь); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["type"]).Равно("file"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["path"]).Равно("disk:" + Путь); OPI_YandexDisk.УдалитьОбъект(Токен, Путь, Ложь); КонецПроцедуры Процедура ЯДиск_ЗагрузитьУдалитьФайл() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("ЯДиск_Токен"); Путь = "/" + Строка(Новый УникальныйИдентификатор) + ".png"; Картинка = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Картинка"); ИВФ = ПолучитьИмяВременногоФайла("png"); Картинка.Записать(ИВФ); Результат = OPI_YandexDisk.ЗагрузитьФайл(Токен, Путь, Картинка, Истина); Проверка_Пусто(Результат); OPI_Инструменты.Пауза(10); Результат = OPI_YandexDisk.УдалитьОбъект(Токен, Путь, Ложь); Проверка_Пусто(Результат); Результат = OPI_YandexDisk.ЗагрузитьФайл(Токен, Путь, ИВФ, Истина); Проверка_Пусто(Результат); OPI_Инструменты.Пауза(10); Результат = OPI_YandexDisk.УдалитьОбъект(Токен, Путь, Ложь); Проверка_Пусто(Результат); УдалитьФайлы(ИВФ); КонецПроцедуры Процедура ЯДиск_СоздатьКопиюОбъекта() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("ЯДиск_Токен"); ПутьОригинала = "/" + Строка(Новый УникальныйИдентификатор) + ".png"; ПутьКопии = "/" + Строка(Новый УникальныйИдентификатор) + ".png"; URL = "https://raw.githubusercontent.com/Bayselonarrend/" + "OpenIntegrations/main/Media/logo.png"; OPI_YandexDisk.ЗагрузитьФайлПоURL(Токен, ПутьОригинала, URL); OPI_Инструменты.Пауза(10); Результат = OPI_YandexDisk.СоздатьКопиюОбъекта(Токен, ПутьОригинала, ПутьКопии, Истина); OPI_Инструменты.Пауза(10); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["type"]).Равно("file"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["path"]).Равно("disk:" + ПутьКопии); OPI_YandexDisk.УдалитьОбъект(Токен, ПутьОригинала, Ложь); OPI_YandexDisk.УдалитьОбъект(Токен, ПутьКопии, Ложь); КонецПроцедуры Процедура ЯДиск_ПолучитьСсылкуНаСкачивание() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("ЯДиск_Токен"); Путь = "/" + Строка(Новый УникальныйИдентификатор) + ".png"; URL = "https://raw.githubusercontent.com/Bayselonarrend/OpenIntegrations/main/Media/logo.png"; OPI_YandexDisk.ЗагрузитьФайлПоURL(Токен, Путь, URL); OPI_Инструменты.Пауза(10); Результат = OPI_YandexDisk.ПолучитьСсылкуДляСкачивания(Токен, Путь); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["method"]).Равно("GET"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["href"]).ИмеетТип("Строка").Заполнено(); OPI_YandexDisk.УдалитьОбъект(Токен, Путь, Ложь); КонецПроцедуры Процедура ЯДиск_ПолучитьСписокФайлов() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("ЯДиск_Токен"); Количество = 2; Отступ = 1; Результат = OPI_YandexDisk.ПолучитьСписокФайлов(Токен, Количество, Отступ, "image"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["limit"]).Равно(Количество); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["offset"]).Равно(Отступ); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["items"]).ИмеетТип("Массив"); КонецПроцедуры Процедура ЯДиск_ПереместитьОбъект() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("ЯДиск_Токен"); ПутьОригинала = "/" + Строка(Новый УникальныйИдентификатор) + ".png"; ПутьКопии = "/" + Строка(Новый УникальныйИдентификатор) + ".png"; URL = "https://raw.githubusercontent.com/Bayselonarrend/" + "OpenIntegrations/main/Media/logo.png"; OPI_YandexDisk.ЗагрузитьФайлПоURL(Токен, ПутьОригинала, URL); OPI_Инструменты.Пауза(15); Результат = OPI_YandexDisk.ПереместитьОбъект(Токен, ПутьОригинала, ПутьКопии, Истина); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["type"]).Равно("file"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["path"]).Равно("disk:" + ПутьКопии); OPI_YandexDisk.УдалитьОбъект(Токен, ПутьОригинала, Ложь); OPI_YandexDisk.УдалитьОбъект(Токен, ПутьКопии, Ложь); КонецПроцедуры Процедура ЯДиск_ДействияПубличныхОбъектов() Экспорт PUrl = "public_url"; Соответствие = "Соответствие"; Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("ЯДиск_Токен"); Путь = "/" + Строка(Новый УникальныйИдентификатор) + ".png"; URL = "https://raw.githubusercontent.com/Bayselonarrend/OpenIntegrations/main/Media/logo.png"; OPI_YandexDisk.ЗагрузитьФайлПоURL(Токен, Путь, URL); OPI_Инструменты.Пауза(10); МассивРезультатов = Новый Массив; МассивРезультатов.Добавить(OPI_YandexDisk.ОпубликоватьОбъект(Токен, Путь)); ПубличныйURL = МассивРезультатов[0][PUrl]; МассивРезультатов.Добавить(OPI_YandexDisk.СохранитьПубличныйОбъектНаДиск(Токен, ПубличныйURL)); ПубличныйОбъект = OPI_YandexDisk.ПолучитьПубличныйОбъект(Токен, ПубличныйURL); СсылкаСкачивания = OPI_YandexDisk.ПолучитьСсылкуСкачиванияПубличногоОбъекта(Токен, ПубличныйURL); МассивРезультатов.Добавить(OPI_YandexDisk.ОтменитьПубликациюОбъекта(Токен, Путь)); Счетчик = 0; Для Каждого Результат Из МассивРезультатов Цикл OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(Соответствие).Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["type"]).Равно("file"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["path"]).Заполнено(); Если Счетчик = 0 Тогда OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[PUrl]).ИмеетТип("Строка").Заполнено(); Иначе OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[PUrl]).ИмеетТип("Неопределено"); КонецЕсли; Счетчик = Счетчик + 1; КонецЦикла; OPI_ПолучениеДанныхТестов.ОжидаетЧто(СсылкаСкачивания).ИмеетТип(Соответствие).Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(СсылкаСкачивания["method"]).Равно("GET"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(СсылкаСкачивания["href"]).ИмеетТип("Строка").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(ПубличныйОбъект).ИмеетТип(Соответствие).Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(ПубличныйОбъект["type"]).Равно("file"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(ПубличныйОбъект["path"]).Равно("/"); OPI_YandexDisk.УдалитьОбъект(Токен, Путь, Ложь); КонецПроцедуры Процедура ЯДиск_ПолучитьСписокОпубликованных() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("ЯДиск_Токен"); Количество = 2; Отступ = 1; Результат = OPI_YandexDisk.ПолучитьСписокОпубликованныхОбъектов(Токен, Количество, Отступ); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["limit"]).Равно(Количество); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["offset"]).Равно(Отступ); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["items"]).ИмеетТип("Массив"); КонецПроцедуры #КонецОбласти #Область GoogleCalendar Процедура ГК_ПолучитьСсылкуАвторизации() Экспорт ClientID = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_ClientID"); Результат = OPI_GoogleWorkspace.СформироватьСсылкуПолученияКода(ClientID); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат) .ИмеетТип("Строка") .Заполнено(); OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Google_Link", Результат); КонецПроцедуры Процедура ГК_ПолучитьТокен() Экспорт 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"]); КонецЕсли; КонецПроцедуры Процедура ГК_ОбновитьТокен() Экспорт 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_ПолучениеДанныхТестов.ПолучитьПараметр("Google_Token"); Результат = OPI_GoogleCalendar.ПолучитьСписокКалендарей(Токен); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат) .ИмеетТип("Массив"); КонецПроцедуры Процедура ГК_СоздатьУдалитьКалендарь() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_Token"); Наименование = "Тестовый календарь"; Описание = "Тестовое описание"; НаименованиеИзмененное = Наименование + " (изм.)"; ТипСоответствие = Тип("Соответствие"); ТипСтрока = Тип("Строка"); Summary = "summary"; Черный = "#000000"; Желтый = "#ffd800"; Результат = OPI_GoogleCalendar.СоздатьКалендарь(Токен, Наименование); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Summary]).Равно(Наименование); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["id"]).ИмеетТип(ТипСтрока).Заполнено(); Календарь = Результат["id"]; Результат = OPI_GoogleCalendar.ИзменитьМетаданныеКалендаря(Токен , Календарь , НаименованиеИзмененное , Описание); Проверка_ГКОбъект(Результат, НаименованиеИзмененное, Описание); Результат = OPI_GoogleCalendar.ПолучитьМетаданныеКалендаря(Токен, Календарь); Проверка_ГКОбъект(Результат, НаименованиеИзмененное, Описание); Результат = OPI_GoogleCalendar.ДобавитьКалендарьВСписок(Токен, Календарь); Проверка_ГКОбъект(Результат, НаименованиеИзмененное, Описание); Результат = OPI_GoogleCalendar.ИзменитьКалендарьСписка(Токен, Календарь, Черный, Желтый, Ложь); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Summary]).Равно(НаименованиеИзмененное); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["foregroundColor"]).Равно(Черный); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["backgroundColor"]).Равно(Желтый); Результат = OPI_GoogleCalendar.ПолучитьКалендарьСписка(Токен, Календарь); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Summary]).Равно(НаименованиеИзмененное); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["foregroundColor"]).Равно(Черный); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["backgroundColor"]).Равно(Желтый); Результат = OPI_GoogleCalendar.ОчиститьОсновнойКалендарь(Токен); Проверка_Пусто(Результат); Результат = OPI_GoogleCalendar.УдалитьКалендарьИзСписка(Токен, Календарь); Проверка_Пусто(Результат); Результат = OPI_GoogleCalendar.УдалитьКалендарь(Токен, Календарь); Проверка_Пусто(Результат); КонецПроцедуры Процедура ГК_СоздатьУдалитьСобытие() Экспорт ТекущаяДата = OPI_Инструменты.ПолучитьТекущуюДату(); Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_Token"); Календарь = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_Календарь"); Наименование = "Новое событие"; Описание = "Описание тестового события"; ОписаниеИзм = "Описание тестового события (изм.)"; 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.СоздатьСобытие(Токен, Календарь, СоответствиеСобытия); Событие = Результат[UID]; Проверка_ГКОбъект(Результат, Наименование, Описание); СоответствиеСобытия = Новый Соответствие; СоответствиеСобытия.Вставить("Описание", ОписаниеИзм); Результат = OPI_GoogleCalendar.ИзменитьСобытие(Токен, Календарь, СоответствиеСобытия, Событие); Проверка_ГКОбъект(Результат, Наименование, ОписаниеИзм); Результат = OPI_GoogleCalendar.ПолучитьСобытие(Токен, Календарь, Событие); Проверка_ГКОбъект(Результат, Наименование, ОписаниеИзм); Результат = OPI_GoogleCalendar.ПереместитьСобытие(Токен, Календарь, Календарь, Событие); Проверка_ГКОбъект(Результат, Наименование, ОписаниеИзм); Результат = OPI_GoogleCalendar.УдалитьСобытие(Токен, Календарь, Событие); Проверка_Пусто(Результат); КонецПроцедуры Процедура ГК_ПолучитьСписокСобытий() Экспорт Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_Token"); Календарь = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_Календарь"); Результат = OPI_GoogleCalendar.ПолучитьСписокСобытий(Токен, Календарь); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Массив"); КонецПроцедуры #КонецОбласти #Область Twitter Процедура Твиттер_ОбновитьТокен() Экспорт Параметры = ПолучитьПараметрыТвиттер(); Результат = OPI_Twitter.ОбновитьТокен(Параметры); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["access_token"]).Заполнено(); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["refresh_token"]).Заполнено(); Рефреш = Результат["refresh_token"]; Токен = Результат["acess_token"]; OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Twitter_Refresh", Рефреш); OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Twitter_Token" , Токен); КонецПроцедуры #КонецОбласти #КонецОбласти #КонецОбласти #Область СлужебныеПроцедурыИФункции Функция ПолучитьПараметрыВК() Параметры = Новый Структура; НомерГруппы = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("ВК_НомерГруппы"); Параметры.Вставить("access_token" , OPI_ПолучениеДанныхТестов.ПолучитьПараметр("ВК_Токен")); Параметры.Вставить("owner_id" , "-" + НомерГруппы); Параметры.Вставить("app_id" , OPI_ПолучениеДанныхТестов.ПолучитьПараметр("ВК_Приложение")); Параметры.Вставить("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_ПолучениеДанныхТестов.ОжидаетЧто(Результат["response"]).ИмеетТип("Число").Равно(1); КонецПроцедуры Процедура Проверка_ГКОбъект(Знач Результат, Знач Наименование, Знач Описание) OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["summary"]).Равно(Наименование); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["description"]).Равно(Описание); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["id"]).ИмеетТип("Строка").Заполнено(); КонецПроцедуры Процедура Проверка_Пусто(Знач Результат) OPI_ПолучениеДанныхТестов.ОжидаетЧто(ЗначениеЗаполнено(Результат)).Равно(Ложь); КонецПроцедуры #КонецОбласти #КонецОбласти // BSLLS:Typo-on