1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2024-12-29 02:57:35 +02:00

Начало переработки автотестов

This commit is contained in:
Anton Titovets 2024-05-17 17:05:07 +03:00
parent 1413adcda5
commit 50efc304a5
2 changed files with 277 additions and 126 deletions

View File

@ -89,7 +89,6 @@
НовыйТест(ТаблицаТестов, "Телеграм_ПолучитьИнформациюБота" , "Получить информацию бота" , Телеграм);
НовыйТест(ТаблицаТестов, "Телеграм_ПолучитьОбновления" , "Получить обновления" , Телеграм);
НовыйТест(ТаблицаТестов, "Телеграм_УстановитьWebhook" , "Установить Webhook" , Телеграм);
НовыйТест(ТаблицаТестов, "Телеграм_УдалитьWebhook" , "Удалить Webhook" , Телеграм);
НовыйТест(ТаблицаТестов, "Телеграм_ОтправитьТекстовоеСообщение" , "Отправить текстовое сообщение" , Телеграм);
НовыйТест(ТаблицаТестов, "Телеграм_ОтправитьКартинку" , "Отправить картинку" , Телеграм);
НовыйТест(ТаблицаТестов, "Телеграм_ОтправитьВидео" , "Отправить видео" , Телеграм);
@ -322,6 +321,20 @@
КонецФункции
Процедура ПараметрВКоллекцию(Параметр, Коллекция) Экспорт
Значение = ПолучитьПараметр(Параметр);
Коллекция.Вставить(Параметр, Значение);
КонецПроцедуры
Процедура ДвоичныеВКоллекцию(Параметр, Коллекция) Экспорт
Значение = ПолучитьДвоичные(Параметр);
Коллекция.Вставить(Параметр, Значение);
КонецПроцедуры
Процедура ЗаписатьПараметр(Параметр, Значение) Экспорт
Путь = ПутьКФайлуДанных();

View File

@ -58,161 +58,76 @@
КонецФункции
#Область Тесты
#Область ЗапускаемыеТесты
#Область Telegram
Процедура Телеграм_ПолучитьИнформациюБота() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_Token");
Результат = OPI_Telegram.ПолучитьИнформациюБота(Токен);
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьИнформациюБота");
Проверка_ТелеграмИнформацияБота(Результат);
OPI_Инструменты.Пауза(5);
ПараметрыТеста = Новый Структура;
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_Token", ПараметрыТеста);
Telegram_ПолучитьИнформациюБота(ПараметрыТеста);
КонецПроцедуры
Процедура Телеграм_ПолучитьОбновления() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_Token");
Результат = OPI_Telegram.ПолучитьОбновления(Токен);
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьОбновления");
OPI_Telegram.УдалитьWebhook(Токен);
Проверка_ТелеграмМассив(Результат);
OPI_Инструменты.Пауза(5);
ПараметрыТеста = Новый Структура;
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_Token", ПараметрыТеста);
Telegram_УдалитьWebhook(ПараметрыТеста);
Telegram_ПолучитьОбновления(ПараметрыТеста);
КонецПроцедуры
Процедура Телеграм_УстановитьWebhook() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_Token");
URL = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_URL");
Результат = OPI_Telegram.УстановитьWebhook(Токен, URL);
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УстановитьWebhook");
ПараметрыТеста = Новый Структура;
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_Token", ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_URL" , ПараметрыТеста);
Проверка_ТелеграмУстановкаВебхук(Результат);
Telegram_УстановитьWebhook(ПараметрыТеста);
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура Телеграм_УдалитьWebhook() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_Token");
Результат = OPI_Telegram.УдалитьWebhook(Токен);
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьWebhook");
Проверка_ТелеграмУдалениеВебхук(Результат);
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура Телеграм_ОтправитьТекстовоеСообщение() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_Token");
IDЧата = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChatID");
IDКанала = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChannelID");
Текст = "Сообщение из автоматического теста";
МассивРезультатов = Новый Массив;
МассивРезультатов.Добавить(OPI_Telegram.ОтправитьТекстовоеСообщение(Токен, IDЧата, Текст));
МассивРезультатов.Добавить(OPI_Telegram.ОтправитьТекстовоеСообщение(Токен, IDКанала, Текст));
IDСообщения = OPI_Инструменты.ЧислоВСтроку(МассивРезультатов[1]["result"]["message_id"]);
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Telegram_ChannelMessageID", IDСообщения);
Для Каждого Результат Из МассивРезультатов Цикл
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьТекстовоеСообщение");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["text"]).Равно(Текст);
КонецЦикла;
OPI_Инструменты.Пауза(5);
ПараметрыТеста = Новый Структура;
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_Token" , ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChatID" , ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChannelID", ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("String" , ПараметрыТеста);
Telegram_ОтправитьТекстовоеСообщение(ПараметрыТеста);
КонецПроцедуры
Процедура Телеграм_ОтправитьКартинку() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_Token");
IDЧата = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChatID");
IDКанала = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChannelID");
Текст = "Сообщение из автоматического теста";
Картинка = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Picture");
ИВФ = ПолучитьИмяВременногоФайла("png");
Картинка.Записать(ИВФ);
МассивРезультатов = Новый Массив;
МассивРезультатов.Добавить(OPI_Telegram.ОтправитьКартинку(Токен, IDЧата , Текст, Картинка));
МассивРезультатов.Добавить(OPI_Telegram.ОтправитьКартинку(Токен, IDКанала, Текст, ИВФ));
Для Каждого Результат Из МассивРезультатов Цикл
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьКартинку");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие") .Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["caption"]).Равно(Текст);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["photo"]).ИмеетТип("Массив");
КонецЦикла;
УдалитьФайлы(ИВФ);
Результат = OPI_Telegram.СкачатьФайл(Токен, Результат["result"]["photo"][0]["file_id"]);
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьКартинку");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("ДвоичныеДанные");
OPI_Инструменты.Пауза(5);
ПараметрыТеста = Новый Структура;
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_Token" , ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChatID" , ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChannelID", ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("String" , ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture" , ПараметрыТеста);
Telegram_ОтправитьКартинку(ПараметрыТеста);
Telegram_СкачатьФайл(ПараметрыТеста);
КонецПроцедуры
Процедура Телеграм_ОтправитьВидео() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_Token");
IDЧата = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChatID");
IDКанала = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChannelID");
Текст = "Сообщение из автоматического теста";
Видео = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Video");
ИВФ = ПолучитьИмяВременногоФайла("mp4");
Видео.Записать(ИВФ);
МассивРезультатов = Новый Массив;
МассивРезультатов.Добавить(OPI_Telegram.ОтправитьВидео(Токен, IDЧата , Текст, Видео));
МассивРезультатов.Добавить(OPI_Telegram.ОтправитьВидео(Токен, IDКанала, Текст, Видео));
МассивРезультатов.Добавить(OPI_Telegram.ОтправитьВидео(Токен, IDЧата , Текст, ИВФ));
МассивРезультатов.Добавить(OPI_Telegram.ОтправитьВидео(Токен, IDКанала, Текст, ИВФ));
Для Каждого Результат Из МассивРезультатов Цикл
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьВидео");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["caption"]).Равно(Текст);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["video"]["mime_type"]).Равно("video/mp4");
КонецЦикла;
УдалитьФайлы(ИВФ);
OPI_Инструменты.Пауза(5);
ПараметрыТеста = Новый Структура;
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_Token" , ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChatID" , ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChannelID", ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("String" , ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Video" , ПараметрыТеста);
Telegram_ОтправитьВидео(ПараметрыТеста);
Telegram_СкачатьФайл(ПараметрыТеста);
КонецПроцедуры
@ -3880,6 +3795,32 @@
КонецПроцедуры
Процедура Проверка_ТелеграмСообщение(Знач Результат, Знач Текст)
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["text"]).Равно(Текст);
КонецПроцедуры
Процедура Проверка_ТелеграмКартинка(Знач Результат, Знач Текст)
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие") .Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["caption"]).Равно(Текст);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["photo"]).ИмеетТип("Массив");
КонецПроцедуры
Процедура Проверка_ТелеграмВидео(Знач Результат, Знач Текст)
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["caption"]).Равно(Текст);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["video"]["mime_type"]).Равно("video/mp4");
КонецПроцедуры
Процедура Проверка_ВКИстина(Знач Результат)
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
@ -3933,4 +3874,201 @@
#КонецОбласти
#Область АтомарныеТесты
Процедура Telegram_ПолучитьИнформациюБота(ПараметрыФункции)
Токен = ПараметрыФункции["Telegram_Token"];
Результат = OPI_Telegram.ПолучитьИнформациюБота(Токен);
// END
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьИнформациюБота");
Проверка_ТелеграмИнформацияБота(Результат);
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура Telegram_ПолучитьОбновления(ПараметрыФункции)
Токен = ПараметрыФункции["Telegram_Token"];
Результат = OPI_Telegram.ПолучитьОбновления(Токен);
// END
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьОбновления");
Проверка_ТелеграмМассив(Результат);
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура Telegram_УдалитьWebhook(ПараметрыФункции)
Токен = ПараметрыФункции["Telegram_Token"];
Результат = OPI_Telegram.УдалитьWebhook(Токен);
// END
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьОбновления");
Проверка_ТелеграмУдалениеВебхук(Результат);
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура Telegram_УстановитьWebhook(ПараметрыФункции)
Токен = ПараметрыФункции["Telegram_Token"];
URL = ПараметрыФункции["Telegram_URL"];
Результат = OPI_Telegram.УстановитьWebhook(Токен, URL);
// END
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УстановитьWebhook");
Проверка_ТелеграмУстановкаВебхук(Результат);
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура Telegram_ОтправитьТекстовоеСообщение(ПараметрыФункции)
Токен = ПараметрыФункции["Telegram_Token"];
IDЧата = ПараметрыФункции["Telegram_ChatID"];
IDКанала = ПараметрыФункции["Telegram_ChannelID"];
Текст = ПараметрыФункции["String"];
Результат = OPI_Telegram.ОтправитьТекстовоеСообщение(Токен, IDЧата, Текст);
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьТекстовоеСообщение");
Проверка_ТелеграмСообщение(Результат, Текст); // SKIP
Результат = OPI_Telegram.ОтправитьТекстовоеСообщение(Токен, IDКанала, Текст);
// END
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьТекстовоеСообщение (канал)");
Проверка_ТелеграмСообщение(Результат, Текст);
IDСообщения = OPI_Инструменты.ЧислоВСтроку(Результат["result"]["message_id"]);
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Telegram_ChannelMessageID", IDСообщения);
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура Telegram_ОтправитьКартинку(ПараметрыФункции)
Токен = ПараметрыФункции["Telegram_Token"];
IDЧата = ПараметрыФункции["Telegram_ChatID"];
IDКанала = ПараметрыФункции["Telegram_ChannelID"];
Текст = ПараметрыФункции["String"];
Картинка = ПараметрыФункции["Picture"];
КартинкаПуть = ПолучитьИмяВременногоФайла("png");
КопироватьФайл(Картинка, КартинкаПуть);
КартинкаДД = Новый ДвоичныеДанные(КартинкаПуть);
Результат = OPI_Telegram.ОтправитьКартинку(Токен, IDЧата, Текст, Картинка);
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьКартинку");
Проверка_ТелеграмКартинка(Результат, Текст); // SKIP
Результат = OPI_Telegram.ОтправитьКартинку(Токен, IDКанала, Текст, КартинкаПуть);
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьКартинку (Путь)");
Проверка_ТелеграмКартинка(Результат, Текст); // SKIP
Результат = OPI_Telegram.ОтправитьКартинку(Токен, IDКанала, Текст, КартинкаДД);
//END
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьКартинку (ДД)");
Проверка_ТелеграмКартинка(Результат, Текст);
УдалитьФайлы(КартинкаПуть);
IDФайла = Результат["result"]["photo"][0]["file_id"];
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Telegram_FileID", IDФайла);
ПараметрыФункции.Вставить("Telegram_FileID", IDФайла);
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура Telegram_ОтправитьВидео(ПараметрыФункции)
Токен = ПараметрыФункции["Telegram_Token"];
IDЧата = ПараметрыФункции["Telegram_ChatID"];
IDКанала = ПараметрыФункции["Telegram_ChannelID"];
Текст = ПараметрыФункции["String"];
Видео = ПараметрыФункции["Video"];
ВидеоПуть = ПолучитьИмяВременногоФайла("png");
КопироватьФайл(Видео, ВидеоПуть);
ВидеоДД = Новый ДвоичныеДанные(ВидеоПуть);
Результат = OPI_Telegram.ОтправитьВидео(Токен, IDЧата, Текст, Видео);
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьВидео");
Проверка_ТелеграмВидео(Результат, Текст); // SKIP
Результат = OPI_Telegram.ОтправитьВидео(Токен, IDКанала, Текст, ВидеоПуть);
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьВидео (Путь)");
Проверка_ТелеграмВидео(Результат, Текст); // SKIP
Результат = OPI_Telegram.ОтправитьВидео(Токен, IDКанала, Текст, ВидеоДД);
//END
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьВидео (ДД)");
Проверка_ТелеграмВидео(Результат, Текст);
УдалитьФайлы(ВидеоПуть);
IDФайла = Результат["result"]["photo"][0]["file_id"];
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Telegram_FileID", IDФайла);
ПараметрыФункции.Вставить("Telegram_FileID", IDФайла);
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура Telegram_СкачатьФайл(ПараметрыФункции)
IDФайла = ПараметрыФункции["Telegram_FileID"];
Токен = ПараметрыФункции["Telegram_Token"];
Результат = OPI_Telegram.СкачатьФайл(Токен, IDФайла);
// END
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СкачатьФайл");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("ДвоичныеДанные");
КонецПроцедуры
#КонецОбласти
#КонецОбласти