1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2024-11-28 09:08:38 +02:00

Улучшение тестов

This commit is contained in:
Anton Titovets 2024-05-18 09:55:28 +03:00
parent c6fc0b0549
commit 17cd11a139
2 changed files with 267 additions and 125 deletions

View File

@ -356,7 +356,11 @@
ОТД = Новый ОписаниеТипов("Дата");
Дата = ОТД.ПривестиЗначение(Дата);
Возврат Формат(Дата - Дата(1970, 1, 1, 1, 0, 0), "ЧЦ=10; ЧДЦ=0; ЧГ=0");
UNIX = Формат(Дата - Дата(1970, 1, 1, 1, 0, 0), "ЧЦ=10; ЧДЦ=0; ЧГ=0");
UNIX = СтрЗаменить(UNIX, ",", "");
UNIX = Лев(UNIX, 10);
Возврат UNIX;
КонецФункции

View File

@ -215,165 +215,77 @@
Процедура Телеграм_ОтправитьОпрос() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_Token");
IDЧата = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChatID");
IDКанала = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChannelID");
ПараметрыТеста = Новый Структура;
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_Token" , ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChatID" , ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChannelID", ПараметрыТеста);
Вопрос = "Какой ваш любимый цвет?";
МассивОтветов = Новый Массив;
МассивОтветов.Добавить("Красный");
МассивОтветов.Добавить("Желтый");
МассивОтветов.Добавить("Зеленый");
МассивОтветов.Добавить("Синий");
СтрочныйМассив = "['Красный', 'Желтый','Зеленый' ,'Синий']";
МассивРезультатов = Новый Массив;
МассивРезультатов.Добавить(OPI_Telegram.ОтправитьОпрос(Токен, IDЧата , Вопрос, МассивОтветов, Ложь));
МассивРезультатов.Добавить(OPI_Telegram.ОтправитьОпрос(Токен, IDКанала, Вопрос, МассивОтветов, Истина));
МассивРезультатов.Добавить(OPI_Telegram.ОтправитьОпрос(Токен, IDКанала, Вопрос, СтрочныйМассив, Истина));
Для Каждого Результат Из МассивРезультатов Цикл
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьОпрос");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["poll"]).ИмеетТип("Соответствие").Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["poll"]["question"]).Равно(Вопрос);
КонецЦикла;
OPI_Инструменты.Пауза(5);
Telegram_ОтправитьОпрос(ПараметрыТеста);
КонецПроцедуры
Процедура Телеграм_ПереслатьСообщение() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_Token");
IDЧата = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChatID");
IDКанала = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChannelID");
IDСообщения = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChannelMessageID");
IDСообщения = Число(IDСообщения);
Результат = OPI_Telegram.ПереслатьСообщение(Токен, IDСообщения, IDКанала, IDЧата);
ПараметрыТеста = Новый Структура;
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_Token" , ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChatID" , ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChannelID" , ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChannelMessageID", ПараметрыТеста);
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПереслатьСообщение");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["forward_origin"]["message_id"]).Равно(IDСообщения);
OPI_Инструменты.Пауза(5);
Telegram_ПереслатьСообщение(ПараметрыТеста);
КонецПроцедуры
Процедура Телеграм_БанРазбан() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_Token");
IDЧата = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChatID");
IDКанала = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChannelID");
ПараметрыТеста = Новый Структура;
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_Token" , ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChatID" , ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChannelID" , ПараметрыТеста);
Результат = OPI_Telegram.Бан(Токен, IDКанала, IDЧата);
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "Бан");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["description"]).Равно("Bad Request: can't remove chat owner");
Результат = OPI_Telegram.Разбан(Токен, IDКанала, IDЧата);
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "Разбан");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["description"]).Равно("Bad Request: can't remove chat owner");
OPI_Инструменты.Пауза(5);
Telegram_Бан(ПараметрыТеста);
Telegram_Разбан(ПараметрыТеста);
КонецПроцедуры
Процедура Телеграм_СоздатьСсылкуПриглашение() Экспорт
Result = "result";
Час = 3600;
ЧасовСутки = 24;
Сутки = Час * ЧасовСутки;
ПараметрыТеста = Новый Структура;
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_Token" , ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChannelID", ПараметрыТеста);
ТекущаяДата = OPI_Инструменты.ПолучитьТекущуюДату();
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_Token");
IDКанала = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChannelID");
Заголовок = "Ссылка " + Строка(ТекущаяДата);
Истечение = ТекущаяДата + Сутки;
UnixИстечение = OPI_Инструменты.UNIXTime(Истечение);
UnixИстечение = СтрЗаменить(UnixИстечение, ",", "");
UnixИстечение = Лев(UnixИстечение, 10);
UnixИстечение = Число(UnixИстечение);
Результат = OPI_Telegram.СоздатьСсылкуПриглашение(Токен, IDКанала, Заголовок, Истечение, 200);
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьСсылкуПриглашение");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Result]["member_limit"]).Равно(200);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Result]["name"]).Равно(Заголовок);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Result]["expire_date"]).Равно(UnixИстечение);
OPI_Инструменты.Пауза(5);
Telegram_СоздатьСсылкуПриглашение(ПараметрыТеста);
КонецПроцедуры
Процедура Телеграм_ЗакрепитьОткрепитьСообщение() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_Token");
IDКанала = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChannelID");
IDСообщения = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChannelMessageID");
МассивРезультатов = Новый Массив;
МассивРезультатов.Добавить(OPI_Telegram.ЗакрепитьСообщение(Токен, IDКанала, IDСообщения));
МассивРезультатов.Добавить(OPI_Telegram.ОткрепитьСообщение(Токен, IDКанала, IDСообщения));
Для Каждого Результат Из МассивРезультатов Цикл
ПараметрыТеста = Новый Структура;
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_Token" , ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChannelID" , ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChannelMessageID", ПараметрыТеста);
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "Закрепить/Открепить Сообщение");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).Равно(Истина);
КонецЦикла;
OPI_Инструменты.Пауза(5);
Telegram_ЗакрепитьСообщение(ПараметрыТеста);
Telegram_ОткрепитьСообщение(ПараметрыТеста);
КонецПроцедуры
Процедура Телеграм_ПолучитьЧислоУчастников() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_Token");
IDКанала = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChannelID");
Результат = OPI_Telegram.ПолучитьЧислоУчастников(Токен, IDКанала);
ПараметрыТеста = Новый Структура;
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_Token" , ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_ChannelID", ПараметрыТеста);
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьЧислоУчастников");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Число");
OPI_Инструменты.Пауза(5);
Telegram_ПолучитьЧислоУчастников(ПараметрыТеста);
КонецПроцедуры
Процедура Телеграм_ПолучитьСписокАватаровФорума() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_Token");
Результат = OPI_Telegram.ПолучитьСписокИконокАватаров(Токен);
ПараметрыТеста = Новый Структура;
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Telegram_Token", ПараметрыТеста);
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокИконокАватаров");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
OPI_Инструменты.Пауза(5);
Telegram_ПолучитьСписокАватаровФорума(ПараметрыТеста);
КонецПроцедуры
@ -3786,6 +3698,49 @@
КонецПроцедуры
Процедура Проверка_ТелеграмОпрос(Знач Результат, Знач Вопрос)
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["poll"]).ИмеетТип("Соответствие").Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["poll"]["question"]).Равно(Вопрос);
КонецПроцедуры
Процедура Проверка_ТелеграмПереслать(Знач Результат, Знач IDСообщения)
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["forward_origin"]["message_id"]).Равно(IDСообщения);
КонецПроцедуры
Процедура Проверка_ТелеграмБан(Знач Результат)
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["description"]).Равно("Bad Request: can't remove chat owner");
КонецПроцедуры
Процедура Проверка_ТелеграмПриглашение(Знач Результат, Знач Заголовок, Знач UnixИстечение)
Result = "result";
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Result]["member_limit"]).Равно(200);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Result]["name"]).Равно(Заголовок);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Result]["expire_date"]).Равно(UnixИстечение);
КонецПроцедуры
Процедура Проверка_ТелеграмЧисло(Знач Результат)
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Число");
КонецПроцедуры
#КонецОбласти
#Область АтомарныеТесты
@ -4135,7 +4090,7 @@
Результат = OPI_Telegram.ОтправитьМестоположение(Токен, IDЧата, Ширина, Долгота);
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьТекстовоеСообщение");
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьМестоположение");
Проверка_ТелеграмМестоположение(Результат); // SKIP
@ -4143,7 +4098,7 @@
// END
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьТекстовоеСообщение (канал)");
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьМестоположение (канал)");
Проверка_ТелеграмМестоположение(Результат);
@ -4179,6 +4134,45 @@
КонецПроцедуры
Процедура Telegram_ОтправитьОпрос(ПараметрыФункции)
Токен = ПараметрыФункции["Telegram_Token"];
IDЧата = ПараметрыФункции["Telegram_ChatID"];
IDКанала = ПараметрыФункции["Telegram_ChannelID"];
Вопрос = "Какой ваш любимый цвет?";
МассивОтветов = Новый Массив;
МассивОтветов.Добавить("Красный");
МассивОтветов.Добавить("Желтый");
МассивОтветов.Добавить("Зеленый");
МассивОтветов.Добавить("Синий");
Результат = OPI_Telegram.ОтправитьОпрос(Токен, IDЧата , Вопрос, МассивОтветов, Ложь);
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьОпрос");
Проверка_ТелеграмОпрос(Результат, Вопрос); // SKIP
Результат = OPI_Telegram.ОтправитьОпрос(Токен, IDКанала, Вопрос, МассивОтветов, Истина);
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьОпрос (канал)");
Проверка_ТелеграмОпрос(Результат, Вопрос); // SKIP
// END
СтрочныйМассив = "['Красный', 'Желтый','Зеленый' ,'Синий']";
Результат = OPI_Telegram.ОтправитьОпрос(Токен, IDКанала, Вопрос, СтрочныйМассив, Истина);
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьОпрос (строчный массив)");
Проверка_ТелеграмОпрос(Результат, Вопрос);
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура Telegram_СкачатьФайл(ПараметрыФункции)
IDФайла = ПараметрыФункции["Telegram_FileID"];
@ -4194,6 +4188,150 @@
КонецПроцедуры
Процедура Telegram_ПереслатьСообщение(ПараметрыФункции)
Токен = ПараметрыФункции["Telegram_Token"];
IDЧата = ПараметрыФункции["Telegram_ChatID"];
IDКанала = ПараметрыФункции["Telegram_ChannelID"];
IDСообщения = ПараметрыФункции["Telegram_ChannelMessageID"];
Результат = OPI_Telegram.ПереслатьСообщение(Токен, IDСообщения, IDКанала, IDЧата);
// END
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПереслатьСообщение");
Проверка_ТелеграмПереслать(Результат, IDСообщения);
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура Telegram_Бан(ПараметрыФункции)
Токен = ПараметрыФункции["Telegram_Token"];
IDПользователя = ПараметрыФункции["Telegram_ChatID"];
IDКанала = ПараметрыФункции["Telegram_ChannelID"];
Результат = OPI_Telegram.Бан(Токен, IDКанала, IDПользователя);
// END
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "Бан");
Проверка_ТелеграмБан(Результат);
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура Telegram_Разбан(ПараметрыФункции)
Токен = ПараметрыФункции["Telegram_Token"];
IDПользователя = ПараметрыФункции["Telegram_ChatID"];
IDКанала = ПараметрыФункции["Telegram_ChannelID"];
Результат = OPI_Telegram.Разбан(Токен, IDКанала, IDПользователя);
// END
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "Разбан");
Проверка_ТелеграмБан(Результат);
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура Telegram_СоздатьСсылкуПриглашение(ПараметрыФункции)
Токен = ПараметрыФункции["Telegram_Token"];
IDКанала = ПараметрыФункции["Telegram_ChannelID"];
Сутки = 86400;
ТекущаяДата = OPI_Инструменты.ПолучитьТекущуюДату();
Заголовок = "Ссылка " + Строка(ТекущаяДата);
Истечение = ТекущаяДата + Сутки;
UnixИстечение = OPI_Инструменты.UNIXTime(Истечение);
Результат = OPI_Telegram.СоздатьСсылкуПриглашение(Токен, IDКанала, Заголовок, Истечение, 200);
// END
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьСсылкуПриглашение");
Проверка_ТелеграмПриглашение(Результат, Заголовок, UnixИстечение);
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура Telegram_ЗакрепитьСообщение(ПараметрыФункции)
Токен = ПараметрыФункции["Telegram_Token"];
IDКанала = ПараметрыФункции["Telegram_ChannelID"];
IDСообщения = ПараметрыФункции["Telegram_ChannelMessageID"];
Результат = OPI_Telegram.ЗакрепитьСообщение(Токен, IDКанала, IDСообщения);
// END
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗакрепитьСообщение");
Проверка_ТелеграмИстина(Результат);
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура Telegram_ОткрепитьСообщение(ПараметрыФункции)
Токен = ПараметрыФункции["Telegram_Token"];
IDКанала = ПараметрыФункции["Telegram_ChannelID"];
IDСообщения = ПараметрыФункции["Telegram_ChannelMessageID"];
Результат = OPI_Telegram.ОткрепитьСообщение(Токен, IDКанала, IDСообщения);
// END
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОткрепитьСообщение");
Проверка_ТелеграмИстина(Результат);
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура Telegram_ПолучитьЧислоУчастников(ПараметрыФункции)
Токен = ПараметрыФункции["Telegram_Token"];
IDКанала = ПараметрыФункции["Telegram_ChannelID"];
Результат = OPI_Telegram.ПолучитьЧислоУчастников(Токен, IDКанала);
// END
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьЧислоУчастников");
Проверка_ТелеграмЧисло(Результат);
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура Telegram_ПолучитьСписокАватаровФорума(ПараметрыФункции)
Токен = ПараметрыФункции["Telegram_Token"];
Результат = OPI_Telegram.ПолучитьСписокИконокАватаров(Токен);
// END
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокИконокАватаров");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
OPI_Инструменты.Пауза(5);
КонецПроцедуры
#КонецОбласти
#КонецОбласти