1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2024-12-16 11:38:11 +02:00
OpenIntegrations/OInt/core/tests/OPI_Тесты.os

1701 lines
108 KiB
Plaintext
Raw Normal View History

2024-03-02 15:33:34 +02:00
// 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";
2024-03-01 22:33:57 +02:00
МассивРезультатов = Новый Массив;
2024-03-01 22:33:57 +02:00
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;
2024-03-01 21:58:55 +02:00
ТекущаяДата = 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)
КонецПроцедуры
2024-03-02 15:33:34 +02:00
Процедура Телеграм_СкрытьПоказатьГлавнуюТему() Экспорт
Токен = 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"], Параметры);
КонецПроцедуры
Процедура ВК_ПолучитьСтатистику() Экспорт
2024-03-01 21:58:55 +02:00
ТекущаяДата = 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.ЗагрузитьФайл(Токен, Путь, Картинка, Истина);
2024-03-01 21:58:55 +02:00
Проверка_Пусто(Результат);
OPI_Инструменты.Пауза(10);
Результат = OPI_YandexDisk.УдалитьОбъект(Токен, Путь, Ложь);
2024-03-01 21:58:55 +02:00
Проверка_Пусто(Результат);
Результат = OPI_YandexDisk.ЗагрузитьФайл(Токен, Путь, ИВФ, Истина);
2024-03-01 21:58:55 +02:00
Проверка_Пусто(Результат);
OPI_Инструменты.Пауза(10);
Результат = OPI_YandexDisk.УдалитьОбъект(Токен, Путь, Ложь);
2024-03-01 21:58:55 +02:00
Проверка_Пусто(Результат);
УдалитьФайлы(ИВФ);
КонецПроцедуры
Процедура ЯДиск_СоздатьКопиюОбъекта() Экспорт
Токен = 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.ОчиститьОсновнойКалендарь(Токен);
2024-03-01 21:58:55 +02:00
Проверка_Пусто(Результат);
Результат = OPI_GoogleCalendar.УдалитьКалендарьИзСписка(Токен, Календарь);
2024-03-01 21:58:55 +02:00
Проверка_Пусто(Результат);
Результат = OPI_GoogleCalendar.УдалитьКалендарь(Токен, Календарь);
2024-03-01 21:58:55 +02:00
Проверка_Пусто(Результат);
КонецПроцедуры
Процедура ГК_СоздатьУдалитьСобытие() Экспорт
2024-03-01 21:58:55 +02:00
ТекущаяДата = 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.ПереместитьСобытие(Токен, Календарь, Календарь, Событие);
Проверка_ГКОбъект(Результат, Наименование, ОписаниеИзм);
2024-03-01 21:58:55 +02:00
Результат = 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"]).ИмеетТип("Строка").Заполнено();
КонецПроцедуры
2024-03-01 21:58:55 +02:00
Процедура Проверка_Пусто(Знач Результат)
OPI_ПолучениеДанныхТестов.ОжидаетЧто(ЗначениеЗаполнено(Результат)).Равно(Ложь);
КонецПроцедуры
#КонецОбласти
#КонецОбласти
// BSLLS:Typo-on