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