1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2024-12-25 02:42:28 +02:00
OpenIntegrations/OInt/tests/Modules/internal/OPI_Тесты.os
2024-05-11 13:36:26 +00:00

3883 lines
235 KiB
Plaintext

// MIT License
// Copyright (c) 2023 Anton Tsitavets
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
// https://github.com/Bayselonarrend/OpenIntegrations
// Набор тестов для YAxUnit
// BSLLS:Typo-off
// BSLLS:LatinAndCyrillicSymbolInWord-off
// BSLLS:IncorrectLineBreak-off
// BSLLS:UsingServiceTag-off
// BSLLS:UnusedParameters-off
// BSLLS:DuplicateStringLiteral-off
// @skip-check undefined-variable
// @skip-check wrong-string-literal-content
// Раскомментировать, если выполняется OneScript
#Использовать oint
#Использовать asserts
#Область СлужебныйПрограммныйИнтерфейс
// Для YaxUnit
Процедура ИсполняемыеСценарии() Экспорт
OPI_ПолучениеДанныхТестов.СформироватьТестыЯкс();
КонецПроцедуры
// Для Asserts
Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт
Возврат OPI_ПолучениеДанныхТестов.СформироватьТестыАссертс();
КонецФункции
#Область Тесты
#Область Telegram
Процедура Телеграм_ПолучитьИнформациюБота() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_Token");
Результат = OPI_Telegram.ПолучитьИнформациюБота(Токен);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьИнформациюБота");
Проверка_ТелеграмИнформацияБота(Результат);
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура Телеграм_ПолучитьОбновления() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_Token");
Результат = OPI_Telegram.ПолучитьОбновления(Токен);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьОбновления");
OPI_Telegram.УдалитьWebhook(Токен);
Проверка_ТелеграмМассив(Результат);
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура Телеграм_УстановитьWebhook() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_Token");
URL = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_URL");
Результат = OPI_Telegram.УстановитьWebhook(Токен, URL);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УстановитьWebhook");
Проверка_ТелеграмУстановкаВебхук(Результат);
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура Телеграм_УдалитьWebhook() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_Token");
Результат = OPI_Telegram.УдалитьWebhook(Токен);
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Сообщения);
Для Каждого Результат Из МассивРезультатов Цикл
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьТекстовоеСообщение");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["text"]).Равно(Текст);
КонецЦикла;
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура Телеграм_ОтправитьКартинку() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_Token");
IDЧата = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChatID");
IDКанала = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChannelID");
Текст = "Сообщение из автоматического теста";
Картинка = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Picture");
ИВФ = ПолучитьИмяВременногоФайла("png");
Картинка.Записать(ИВФ);
МассивРезультатов = Новый Массив;
МассивРезультатов.Добавить(OPI_Telegram.ОтправитьКартинку(Токен, IDЧата , Текст, Картинка));
МассивРезультатов.Добавить(OPI_Telegram.ОтправитьКартинку(Токен, IDКанала, Текст, ИВФ));
Для Каждого Результат Из МассивРезультатов Цикл
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьКартинку");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие") .Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["caption"]).Равно(Текст);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["photo"]).ИмеетТип("Массив");
КонецЦикла;
УдалитьФайлы(ИВФ);
Результат = OPI_Telegram.СкачатьФайл(Токен, Результат["result"]["photo"][0]["file_id"]);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьКартинку");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("ДвоичныеДанные");
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура Телеграм_ОтправитьВидео() Экспорт
Токен = 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Канала, Текст, ИВФ));
Для Каждого Результат Из МассивРезультатов Цикл
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьВидео");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["caption"]).Равно(Текст);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["video"]["mime_type"]).Равно("video/mp4");
КонецЦикла;
УдалитьФайлы(ИВФ);
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура Телеграм_ОтправитьАудио() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_Token");
IDЧата = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChatID");
IDКанала = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChannelID");
Текст = "Сообщение из автоматического теста";
Аудио = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Audio");
ИВФ = ПолучитьИмяВременногоФайла("mp3");
Аудио.Записать(ИВФ);
МассивРезультатов = Новый Массив;
МассивРезультатов.Добавить(OPI_Telegram.ОтправитьАудио(Токен, IDЧата , Текст, Аудио));
МассивРезультатов.Добавить(OPI_Telegram.ОтправитьАудио(Токен, IDКанала, Текст, Аудио));
OPI_Инструменты.Пауза(5);
МассивРезультатов.Добавить(OPI_Telegram.ОтправитьАудио(Токен, IDЧата , Текст, ИВФ));
МассивРезультатов.Добавить(OPI_Telegram.ОтправитьАудио(Токен, IDКанала, Текст, ИВФ));
Для Каждого Результат Из МассивРезультатов Цикл
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьАудио");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["caption"]).Равно(Текст);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["audio"]["mime_type"]).Равно("audio/mpeg");
КонецЦикла;
УдалитьФайлы(ИВФ);
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура Телеграм_ОтправитьДокумент() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_Token");
IDЧата = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChatID");
IDКанала = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChannelID");
Текст = "Сообщение из автоматического теста";
Документ = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Document");
ИВФ = ПолучитьИмяВременногоФайла("docx");
Документ.Записать(ИВФ);
МассивРезультатов = Новый Массив;
МассивРезультатов.Добавить(OPI_Telegram.ОтправитьДокумент(Токен, IDЧата , Текст, Документ));
МассивРезультатов.Добавить(OPI_Telegram.ОтправитьДокумент(Токен, IDКанала, Текст, Документ));
OPI_Инструменты.Пауза(5);
МассивРезультатов.Добавить(OPI_Telegram.ОтправитьДокумент(Токен, IDЧата , Текст, ИВФ));
МассивРезультатов.Добавить(OPI_Telegram.ОтправитьДокумент(Токен, IDКанала, Текст, ИВФ));
Для Каждого Результат Из МассивРезультатов Цикл
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьДокумент");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["caption"]).Равно(Текст);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["document"]).ИмеетТип("Соответствие").Заполнено();
КонецЦикла;
УдалитьФайлы(ИВФ);
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура Телеграм_ОтправитьГифку() Экспорт
Result = "result";
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_Token");
IDЧата = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChatID");
IDКанала = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChannelID");
Текст = "Сообщение из автоматического теста";
Гифка = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("GIF");
ГифкаURL = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("GIF");
ИВФ = ПолучитьИмяВременногоФайла("gif");
Гифка.Записать(ИВФ);
МассивРезультатов = Новый Массив;
МассивРезультатов.Добавить(OPI_Telegram.ОтправитьГифку(Токен, IDЧата , Текст, Гифка));
МассивРезультатов.Добавить(OPI_Telegram.ОтправитьГифку(Токен, IDКанала, Текст, ГифкаURL));
OPI_Инструменты.Пауза(5);
МассивРезультатов.Добавить(OPI_Telegram.ОтправитьГифку(Токен, IDЧата , Текст, ИВФ));
МассивРезультатов.Добавить(OPI_Telegram.ОтправитьГифку(Токен, IDКанала, Текст, ИВФ));
Для Каждого Результат Из МассивРезультатов Цикл
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьГифку");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Result]["caption"]).Равно(Текст);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Result]["document"]).ИмеетТип("Соответствие").Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Result]["animation"]["mime_type"]).Равно("video/mp4");
КонецЦикла;
УдалитьФайлы(ИВФ);
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура Телеграм_ОтправитьМедиагруппу() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_Token");
IDЧата = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChatID");
IDКанала = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChannelID");
Текст = "Сообщение из автоматического теста";
Картинка = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Picture");
КартинкаURL = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Picture");
КартинкаURL2 = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Picture2");
ИВФ_Картинка = ПолучитьИмяВременногоФайла("png");
Картинка.Записать(ИВФ_Картинка);
Видео = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Video");
ИВФ_Видео = ПолучитьИмяВременногоФайла("mp4");
Видео.Записать(ИВФ_Видео);
JSON =
"{
| """ + КартинкаURL + """ : ""photo"",
| """ + КартинкаURL2 + """ : ""photo""
|}";
ИВФ_JSON = ПолучитьИмяВременногоФайла("json");
Документ = Новый ТекстовыйДокумент();
Документ.УстановитьТекст(JSON);
Документ.Записать(ИВФ_JSON);
МедиагруппаЧат = Новый Соответствие;
МедиагруппаЧат.Вставить(Картинка , "photo");
МедиагруппаЧат.Вставить(ИВФ_Видео, "video");
МедиагруппаКанал = Новый Соответствие;
МедиагруппаКанал.Вставить(ИВФ_Картинка, "photo");
МедиагруппаКанал.Вставить(Видео , "video");
МассивРезультатов = Новый Массив;
МассивРезультатов.Добавить(OPI_Telegram.ОтправитьМедиагруппу(Токен, IDЧата, Текст, МедиагруппаЧат));
МассивРезультатов.Добавить(OPI_Telegram.ОтправитьМедиагруппу(Токен, IDЧата, Текст, ИВФ_JSON));
OPI_Инструменты.Пауза(5);
МассивРезультатов.Добавить(OPI_Telegram.ОтправитьМедиагруппу(Токен, IDКанала, Текст, МедиагруппаКанал));
МассивРезультатов.Добавить(OPI_Telegram.ОтправитьМедиагруппу(Токен, IDКанала, Текст, JSON));
Для Каждого Результат Из МассивРезультатов Цикл
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьМедиагруппу");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Массив");
КонецЦикла;
УдалитьФайлы(ИВФ_Картинка);
УдалитьФайлы(ИВФ_Видео);
УдалитьФайлы(ИВФ_JSON);
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура Телеграм_ОтправитьМестоположение() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_Token");
IDЧата = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChatID");
IDКанала = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChannelID");
Ширина = "48.87373649724122";
Долгота = "48.87373649724122";
МассивРезультатов = Новый Массив;
МассивРезультатов.Добавить(OPI_Telegram.ОтправитьМестоположение(Токен, IDЧата , Ширина, Долгота));
МассивРезультатов.Добавить(OPI_Telegram.ОтправитьМестоположение(Токен, IDКанала, Ширина, Долгота));
Для Каждого Результат Из МассивРезультатов Цикл
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьМестоположение");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["location"]).ИмеетТип("Соответствие").Заполнено();
КонецЦикла;
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура Телеграм_ОтправитьКонтакт() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_Token");
IDЧата = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChatID");
IDКанала = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChannelID");
Имя = "Петр";
Фамилия = "Петров";
Телефон = "88005553535";
МассивРезультатов = Новый Массив;
OPI_Инструменты.Пауза(20);
МассивРезультатов.Добавить(OPI_Telegram.ОтправитьКонтакт(Токен, IDЧата , Имя, Фамилия, Телефон));
OPI_Инструменты.Пауза(20);
МассивРезультатов.Добавить(OPI_Telegram.ОтправитьКонтакт(Токен, IDКанала, Имя, Фамилия, Телефон));
Для Каждого Результат Из МассивРезультатов Цикл
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьКонтакт");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["contact"]).ИмеетТип("Соответствие").Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["contact"]["first_name"]).Равно(Имя);
КонецЦикла;
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура Телеграм_ОтправитьОпрос() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_Token");
IDЧата = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChatID");
IDКанала = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChannelID");
Вопрос = "Какой ваш любимый цвет?";
МассивОтветов = Новый Массив;
МассивОтветов.Добавить("Красный");
МассивОтветов.Добавить("Желтый");
МассивОтветов.Добавить("Зеленый");
МассивОтветов.Добавить("Синий");
СтрочныйМассив = "['Красный', 'Желтый','Зеленый' ,'Синий']";
МассивРезультатов = Новый Массив;
МассивРезультатов.Добавить(OPI_Telegram.ОтправитьОпрос(Токен, IDЧата , Вопрос, МассивОтветов, Ложь));
МассивРезультатов.Добавить(OPI_Telegram.ОтправитьОпрос(Токен, IDКанала, Вопрос, МассивОтветов, Истина));
МассивРезультатов.Добавить(OPI_Telegram.ОтправитьОпрос(Токен, IDКанала, Вопрос, СтрочныйМассив, Истина));
Для Каждого Результат Из МассивРезультатов Цикл
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьОпрос");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["poll"]).ИмеетТип("Соответствие").Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["poll"]["question"]).Равно(Вопрос);
КонецЦикла;
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура Телеграм_ПереслатьСообщение() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_Token");
IDЧата = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChatID");
IDКанала = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChannelID");
IDСообщения = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChannelMessageID");
IDСообщения = Число(IDСообщения);
Результат = OPI_Telegram.ПереслатьСообщение(Токен, IDСообщения, IDКанала, IDЧата);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПереслатьСообщение");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["forward_origin"]["message_id"]).Равно(IDСообщения);
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура Телеграм_БанРазбан() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_Token");
IDЧата = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChatID");
IDКанала = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChannelID");
Результат = OPI_Telegram.Бан(Токен, IDКанала, IDЧата);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "Бан");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["description"]).Равно("Bad Request: can't remove chat owner");
Результат = OPI_Telegram.Разбан(Токен, IDКанала, IDЧата);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "Разбан");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["description"]).Равно("Bad Request: can't remove chat owner");
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура Телеграм_СоздатьСсылкуПриглашение() Экспорт
Result = "result";
Час = 3600;
ЧасовСутки = 24;
Сутки = Час * ЧасовСутки;
ТекущаяДата = OPI_Инструменты.ПолучитьТекущуюДату();
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_Token");
IDКанала = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChannelID");
Заголовок = "Ссылка " + Строка(ТекущаяДата);
Истечение = ТекущаяДата + Сутки;
UnixИстечение = OPI_Инструменты.UNIXTime(Истечение);
UnixИстечение = СтрЗаменить(UnixИстечение, ",", "");
UnixИстечение = Лев(UnixИстечение, 10);
UnixИстечение = Число(UnixИстечение);
Результат = OPI_Telegram.СоздатьСсылкуПриглашение(Токен, IDКанала, Заголовок, Истечение, 200);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьСсылкуПриглашение");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Result]["member_limit"]).Равно(200);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Result]["name"]).Равно(Заголовок);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Result]["expire_date"]).Равно(UnixИстечение);
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура Телеграм_ЗакрепитьОткрепитьСообщение() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_Token");
IDКанала = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChannelID");
IDСообщения = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChannelMessageID");
МассивРезультатов = Новый Массив;
МассивРезультатов.Добавить(OPI_Telegram.ЗакрепитьСообщение(Токен, IDКанала, IDСообщения));
МассивРезультатов.Добавить(OPI_Telegram.ОткрепитьСообщение(Токен, IDКанала, IDСообщения));
Для Каждого Результат Из МассивРезультатов Цикл
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "Закрепить/Открепить Сообщение");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).Равно(Истина);
КонецЦикла;
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура Телеграм_ПолучитьЧислоУчастников() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_Token");
IDКанала = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChannelID");
Результат = OPI_Telegram.ПолучитьЧислоУчастников(Токен, IDКанала);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьЧислоУчастников");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Число");
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура Телеграм_ПолучитьСписокАватаровФорума() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_Token");
Результат = OPI_Telegram.ПолучитьСписокИконокАватаров(Токен);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокИконокАватаров");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура Телеграм_СоздатьУдалитьТемуФорума() Экспорт
Ok_ = "ok";
Result = "result";
ТипСоответствие = Тип("Соответствие");
Текст = "Сообщение из автоматического теста";
Картинка = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Picture");
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_Token");
Чат = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ForumID");
Имя = "Тестовая тема";
НовоеИмя = "Новый тестовый заголовок";
Иконка = "5357419403325481346";
НовяИконка = "5310132165583840589";
Результат = OPI_Telegram.СоздатьТемуФорума(Токен, Чат, Имя, Иконка);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьТемуФорума");
Тема = Результат[Result]["message_thread_id"];
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие).Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Ok_]).Равно(Истина);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Result]["name"]).Равно(Имя);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Result]["icon_custom_emoji_id"]).Равно(Иконка);
ЧатТема = Чат + "*" + Тема;
Результат = OPI_Telegram.ОтправитьТекстовоеСообщение(Токен, ЧатТема, Текст);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьТекстовоеСообщение");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["text"]).Равно(Текст);
Результат = OPI_Telegram.ОтправитьКартинку(Токен, ЧатТема , Текст, Картинка);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие") .Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["caption"]).Равно(Текст);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["photo"]).ИмеетТип("Массив");
Результат = OPI_Telegram.ИзменитьТемуФорума(Токен, Чат, Тема, НовоеИмя, НовяИконка);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьТемуФорума");
Проверка_ТелеграмИстина(Результат);
OPI_Инструменты.Пауза(5);
Результат = OPI_Telegram.ЗакрытьТемуФорума(Токен, Чат, Тема);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗакрытьТемуФорума");
Проверка_ТелеграмИстина(Результат);
OPI_Инструменты.Пауза(25);
Результат = OPI_Telegram.ОткрытьТемуФорума(Токен, Чат, Тема);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОткрытьТемуФорума");
Проверка_ТелеграмИстина(Результат);
OPI_Инструменты.Пауза(25);
Результат = OPI_Telegram.УдалитьТемуФорума(Токен, Чат, Тема);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьТемуФорума");
Проверка_ТелеграмИстина(Результат);
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура Телеграм_ОткрытьЗакрытьГлавнуюТему() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_Token");
Чат = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ForumID");
Результат = OPI_Telegram.ОткрытьТемуФорума(Токен, Чат);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОткрытьТемуФорума");
Результат = OPI_Telegram.ЗакрытьТемуФорума(Токен, Чат);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗакрытьТемуФорума");
Проверка_ТелеграмИстина(Результат);
OPI_Инструменты.Пауза(5);
Результат = OPI_Telegram.ОткрытьТемуФорума(Токен, Чат);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОткрытьТемуФорума");
Проверка_ТелеграмИстина(Результат);
OPI_Инструменты.Пауза(5);
Результат = OPI_Telegram.ОчиститьСписокЗакрепленныхСообщенийТемы(Токен, Чат);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОчиститьСписокЗакрепленныхСообщенийТемы");
Проверка_ТелеграмИстина(Результат);
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура Телеграм_СкрытьПоказатьГлавнуюТему() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_Token");
Чат = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ForumID");
Результат = OPI_Telegram.СкрытьГлавнуюТемуФорума(Токен, Чат);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СкрытьГлавнуюТемуФорума");
Проверка_ТелеграмИстина(Результат);
OPI_Инструменты.Пауза(5);
Результат = OPI_Telegram.ПоказатьГлавнуюТемуФорума(Токен, Чат);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПоказатьГлавнуюТемуФорума");
Проверка_ТелеграмИстина(Результат);
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура Телеграм_ИзменитьИмяГлавнойТемы() Экспорт
Заголовок = "Новое имя главной темы " + Строка(Новый УникальныйИдентификатор);
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_Token");
Чат = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ForumID");
Результат = OPI_Telegram.ИзменитьИмяГлавнойТемыФорума(Токен, Чат, Заголовок);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьИмяГлавнойТемыФорума");
Проверка_ТелеграмИстина(Результат);
OPI_Инструменты.Пауза(5);
КонецПроцедуры
#КонецОбласти
#Область ВК
Процедура ВК_СоздатьСсылкуТокена() Экспорт
Приложение = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("VK_AppID");
Результат = OPI_VK.СоздатьСсылкуПолученияТокена(Приложение);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьСсылкуПолученияТокена");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат)
.ИмеетТип("Строка")
.Заполнено();
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура ВК_СоздатьУдалитьПост() Экспорт
Response = "response";
Параметры = ПолучитьПараметрыВК();
Текст = "Пост из автотеста";
URL = "https://github.com/Bayselonarrend/OpenIntegrations";
Картинка = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Picture");
ИВФ = ПолучитьИмяВременногоФайла("png");
Картинка.Записать(ИВФ);
МассивКартинок = Новый Массив;
МассивКартинок.Добавить(OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Picture"));
МассивКартинок.Добавить(OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Picture2"));
МассивРезультатов = Новый Массив;
МассивРезультатов.Добавить(OPI_VK.СоздатьПост(Текст, Картинка, Ложь , , Параметры));
OPI_Инструменты.Пауза(5);
МассивРезультатов.Добавить(OPI_VK.СоздатьПост(Текст, ИВФ , Истина, URL, Параметры));
OPI_Инструменты.Пауза(5);
МассивРезультатов.Добавить(OPI_VK.СоздатьПост(Текст, МассивКартинок, Истина, URL, Параметры));
OPI_Инструменты.Пауза(5);
Для Каждого Результат Из МассивРезультатов Цикл
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьПост");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Response]["post_id"]).ИмеетТип("Число").Заполнено();
ИДПоста = Результат[Response]["post_id"];
Результат = OPI_VK.УдалитьПост(ИДПоста, Параметры);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьПост");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат) .ИмеетТип("Соответствие").Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Response]).ИмеетТип("Число").Равно(1);
КонецЦикла;
УдалитьФайлы(ИВФ);
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура ВК_СоздатьСоставнойПост() Экспорт
Response = "response";
Параметры = ПолучитьПараметрыВК();
Текст = "Пост из автотеста";
URL = "https://github.com/Bayselonarrend/OpenIntegrations";
Картинка = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Picture");
Видео = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Video");
ЗагрузкаКартинки = OPI_VK.ЗагрузитьФотоНаСервер(Картинка, Параметры)["response"][0];
ЗагрузкаВидео = OPI_VK.ЗагрузитьВидеоНаСервер(Видео, "Новое видео", , , Параметры);
ВладелецКартинки = OPI_Инструменты.ЧислоВСтроку(ЗагрузкаКартинки["owner_id"]);
ВладелецВидео = OPI_Инструменты.ЧислоВСтроку(ЗагрузкаВидео["owner_id"]);
IDКартинки = OPI_Инструменты.ЧислоВСтроку(ЗагрузкаКартинки["id"]);
IDВидео = OPI_Инструменты.ЧислоВСтроку(ЗагрузкаВидео["video_id"]);
МассивВложений = Новый Массив;
МассивВложений.Добавить("photo" + ВладелецКартинки + "_" + IDКартинки);
МассивВложений.Добавить("video" + ВладелецВидео + "_" + IDВидео);
Результат = OPI_VK.СоздатьСоставнойПост(Текст, МассивВложений, Ложь, URL, Параметры);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьСоставнойПост");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Response]["post_id"]).ИмеетТип("Число").Заполнено();
КонецПроцедуры
Процедура ВК_СоздатьОпрос() Экспорт
Параметры = ПолучитьПараметрыВК();
Вопрос = "Вопрос из автотеста";
МассивВариантов = Новый Массив;
МассивВариантов.Добавить("Вариант 1");
МассивВариантов.Добавить("Вариант 2");
МассивВариантов.Добавить("Вариант 3");
Результат = OPI_VK.СоздатьОпрос(Вопрос, МассивВариантов, , Параметры);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьОпрос");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["response"]["post_id"]).ИмеетТип("Число").Заполнено();
ИДПоста = Результат["response"]["post_id"];
OPI_VK.УдалитьПост(ИДПоста, Параметры);
OPI_Инструменты.Пауза(10);
КонецПроцедуры
Процедура ВК_СохранитьУдалитьКартинку() Экспорт
Параметры = ПолучитьПараметрыВК();
Имя = "Альбом из автотеста";
Описание = "Новый альбом из автотеста";
ОписаниеКартинки = "Картинка автотест";
Картинка = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Picture");
ИВФ = ПолучитьИмяВременногоФайла("png");
ТипСоответствие = Тип("Соответствие");
Response = "response";
Картинка.Записать(ИВФ);
Результат = OPI_VK.СоздатьАльбом(Имя, Описание, Параметры);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьАльбом");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие).Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Response]["description"]).Равно(Описание);
ИДАльбома = Результат[Response]["id"];
МассивРезультатов = Новый Массив;
МассивРезультатов.Добавить(OPI_VK.СохранитьКартинкуВАльбом(ИДАльбома, Картинка, ОписаниеКартинки, Параметры));
OPI_Инструменты.Пауза(5);
МассивРезультатов.Добавить(OPI_VK.СохранитьКартинкуВАльбом(ИДАльбома, ИВФ , ОписаниеКартинки, Параметры));
OPI_Инструменты.Пауза(5);
Для Каждого Результат Из МассивРезультатов Цикл
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СохранитьКартинкуВАльбом");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие).Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Response][0]["text"]).Равно(ОписаниеКартинки);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Response][0]["album_id"]).Равно(ИДАльбома);
ИДКартинки = Результат[Response][0]["id"];
Результат = OPI_VK.УдалитьКартинку(ИДКартинки, Параметры);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьКартинку");
Проверка_ВКИстина(Результат);
КонецЦикла;
Результат = OPI_VK.УдалитьАльбом(ИДАльбома, Параметры);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьАльбом");
Проверка_ВКИстина(Результат);
УдалитьФайлы(ИВФ);
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура ВК_СоздатьИсторию() Экспорт
Параметры = ПолучитьПараметрыВК();
URL = "https://github.com/Bayselonarrend/OpenIntegrations";
Картинка = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Picture");
ИВФ = ПолучитьИмяВременногоФайла("png");
Картинка.Записать(ИВФ);
МассивРезультатов = Новый Массив;
МассивРезультатов.Добавить(OPI_VK.СоздатьИсторию(ИВФ , URL, Параметры));
OPI_Инструменты.Пауза(5);
МассивРезультатов.Добавить(OPI_VK.СоздатьИсторию(Картинка, , Параметры));
OPI_Инструменты.Пауза(5);
Для Каждого Результат Из МассивРезультатов Цикл
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьИсторию");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["response"]["count"]).ИмеетТип("Число").Равно(1);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["response"]["items"]).ИмеетТип("Массив").Заполнено();
КонецЦикла;
УдалитьФайлы(ИВФ);
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура ВК_МетодыОбсуждений() Экспорт
Параметры = ПолучитьПараметрыВК();
Название = "Обсуждение из автотеста";
Сообщение = "Сообщение из автотеста";
ТипСоответствие = Тип("Соответствие");
ТипЧисло = Тип("Число");
Response = "response";
Результат = OPI_VK.СоздатьОбсуждение(Название, Сообщение, Параметры);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьОбсуждение");
OPI_Инструменты.Пауза(5);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие).Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Response]).ИмеетТип(ТипЧисло).Заполнено();
ИДОбсуждения = Результат[Response];
Результат = OPI_VK.ЗакрытьОбсуждение(ИДОбсуждения, Ложь, Параметры);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗакрытьОбсуждение");
Проверка_ВКИстина(Результат);
Результат = OPI_VK.ОткрытьОбсуждение(ИДОбсуждения, Параметры);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОткрытьОбсуждение");
OPI_Инструменты.Пауза(5);
Проверка_ВКИстина(Результат);
Результат = OPI_VK.НаписатьВОбсуждение(ИДОбсуждения, Сообщение, Параметры);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "НаписатьВОбсуждение");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие).Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Response]).ИмеетТип(ТипЧисло).Заполнено();
Результат = OPI_VK.ЗакрытьОбсуждение(ИДОбсуждения, Истина, Параметры);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗакрытьОбсуждение");
OPI_Инструменты.Пауза(5);
Проверка_ВКИстина(Результат);
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура ВК_ЛайкРепостКоммент() Экспорт
Параметры = ПолучитьПараметрыВК();
Текст = "Пост из автотеста";
Сообщение = "Сообщение из автотеста";
ТипСоответствие = Тип("Соответствие");
ТипЧисло = Тип("Число");
Response = "response";
Результат = OPI_VK.СоздатьПост(Текст, Новый Массив, , , Параметры);
ИДПоста = Результат[Response]["post_id"];
Результат = OPI_VK.ПоставитьЛайк(ИДПоста, , Параметры);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПоставитьЛайк");
OPI_Инструменты.Пауза(5);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие).Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Response]["likes"]).ИмеетТип(ТипЧисло).Заполнено();
ВнешнийПост = 2571;
ВнешняяСтена = -218704372;
Результат = OPI_VK.СделатьРепост(ВнешнийПост, ВнешняяСтена, , , Параметры);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СделатьРепост");
OPI_Инструменты.Пауза(5);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие).Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Response]["success"]).ИмеетТип(ТипЧисло).Равно(1);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Response]["wall_repost_count"]).ИмеетТип(ТипЧисло).Равно(1);
Результат = OPI_VK.НаписатьКомментарий(ИДПоста, Параметры["owner_id"], Сообщение, Параметры);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "НаписатьКомментарий");
OPI_Инструменты.Пауза(5);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие).Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Response]["comment_id"]).ИмеетТип(ТипЧисло).Заполнено();
OPI_VK.УдалитьПост(ИДПоста, Параметры);
OPI_VK.УдалитьПост(Результат[Response]["post_id"], Параметры);
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура ВК_ПолучитьСтатистику() Экспорт
ТекущаяДата = OPI_Инструменты.ПолучитьТекущуюДату();
Параметры = ПолучитьПараметрыВК();
Дата0 = НачалоДня(ТекущаяДата);
Дата1 = КонецДня(Дата0);
ТипСоответствие = Тип("Соответствие");
Результат = OPI_VK.ПолучитьСтатистику(Дата0, Дата1, Параметры);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтатистику");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие).Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["response"][0]["visitors"]).ИмеетТип(ТипСоответствие).Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["response"][0]["reach"]).ИмеетТип(ТипСоответствие).Заполнено();
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура ВК_ПолучитьСтатистикуПостов() Экспорт
Параметры = ПолучитьПараметрыВК();
МассивПостов = Новый Массив;
МассивПостов.Добавить(214);
МассивПостов.Добавить(215);
Результат = OPI_VK.ПолучитьСтатистикуПостов(МассивПостов, Параметры);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтатистикуПостов");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Массив").ИмеетДлину(2);
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура ВК_СоздатьРекламнуюКампанию() Экспорт
Параметры = ПолучитьПараметрыВК();
ИДКабинета = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("VK_AdsCabinetID");
Наименование = "Тестовая кампания";
ТипСоответствие = Тип("Соответствие");
ТипЧисло = Тип("Число");
Response = "response";
UID = "id";
Результат = OPI_VK.СоздатьРекламнуюКампанию(ИДКабинета, Наименование, Параметры);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьРекламнуюКампанию");
Результат = Результат[Response][0];
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["error_code"]).ИмеетТип(ТипЧисло).Равно(602);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[UID]).ИмеетТип(ТипЧисло).Заполнено();
ИДКампании = Результат[UID];
ИДКатегории = 126;
Лимит = 150;
Результат = OPI_VK.СоздатьПост(Наименование, Новый Массив, , , Параметры);
ИДПоста = Результат[Response]["post_id"];
Результат = OPI_VK.СоздатьРекламноеОбъявление(ИДКампании
, Лимит
, ИДКатегории
, ИДПоста
, ИДКабинета
, Параметры);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьРекламноеОбъявление");
Результат = Результат[Response][0];
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["error_code"]).ИмеетТип(ТипЧисло).Равно(602);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[UID]).ИмеетТип(ТипЧисло).Заполнено();
ИДОбъявления = Результат[UID];
Результат = OPI_VK.ПриостановитьРекламноеОбъявление(ИДКабинета, ИДОбъявления, Параметры);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПриостановитьРекламноеОбъявление");
Результат = Результат[Response][0];
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[UID]).ИмеетТип(ТипЧисло).Заполнено();
OPI_VK.УдалитьПост(ИДПоста, Параметры);
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура ВК_ОтправитьСообщение() Экспорт
Параметры = ПолучитьПараметрыВК();
Пользователь = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("VK_UserID");
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("VK_CommunityToken");
Текст = "Сообщение из автотеста";
МассивКнопок = Новый Массив;
МассивКнопок.Добавить("Кнопка 1");
МассивКнопок.Добавить("Кнопка 2");
Клавиатура = OPI_VK.СформироватьКлавиатуру(МассивКнопок);
Результат = OPI_VK.НаписатьСообщение(Текст, Пользователь, Токен, Клавиатура, Параметры);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "НаписатьСообщение");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["response"]).ИмеетТип("Число").Заполнено();
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура ВК_ПолучитьКатегорииТоваров() Экспорт
Параметры = ПолучитьПараметрыВК();
Результат = OPI_VK.ПолучитьСписокКатегорийТоваров(Параметры);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокКатегорийТоваров");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат)
.ИмеетТип("Соответствие")
.Заполнено();
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура ВК_СоздатьТоварПодборку() Экспорт
Параметры = ПолучитьПараметрыВК();
ТипСоответствие = Тип("Соответствие");
ТипЧисло = Тип("Число");
Response = "response";
Картинка = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Picture");
ИВФ = ПолучитьИмяВременногоФайла("png");
Картинка.Записать(ИВФ);
Результат = OPI_VK.СоздатьПодборкуТоваров("Тестовая подборка"
, Картинка
, Истина
, Ложь
, Параметры);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьПодборкуТоваров");
OPI_Инструменты.Пауза(5);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Response]["albums_count"]).ИмеетТип(ТипЧисло).Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Response]["market_album_id"]).ИмеетТип(ТипЧисло).Заполнено();
ИДПодборки = Результат[Response]["market_album_id"];
Результат = OPI_VK.ИзменитьПодборкуТоваров("Измененная подборка", ИДПодборки, , , , Параметры);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьПодборкуТоваров");
OPI_Инструменты.Пауза(5);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Response]).ИмеетТип(ТипЧисло).Равно(1);
МассивКартинок = Новый Массив;
МассивКартинок.Добавить(OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Picture"));
МассивКартинок.Добавить(OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Picture2"));
Товар = Новый Соответствие();
Товар.Вставить("Имя" , "Тестовый товар");
Товар.Вставить("Описание" , "Описание товара");
Товар.Вставить("Категория" , "20173");
Товар.Вставить("Цена" , 1);
Товар.Вставить("СтараяЦена" , 15);
Товар.Вставить("ОсновноеФото" , Картинка);
Товар.Вставить("URL" , "https://github.com/Bayselonarrend/OpenIntegrations");
Товар.Вставить("ДополнительныеФото" , МассивКартинок);
Товар.Вставить("ГлавныйВГруппе" , Истина);
Товар.Вставить("Ширина" , 20);
Товар.Вставить("Высота" , 30);
Товар.Вставить("Глубина" , 40);
Товар.Вставить("Вес" , 100);
Товар.Вставить("SKU" , "12345");
Товар.Вставить("ДоступныйОстаток" , "10");
Результат = OPI_VK.ДобавитьТовар(Товар, ИДПодборки, Параметры); // Добавление товара
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьТовар");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Response]["market_item_id"]).ИмеетТип(ТипЧисло).Заполнено();
ИДТовара = Результат[Response]["market_item_id"];
Товар = Новый Соответствие;
Товар.Вставить("Имя", "Тестовый товар измененный");
Результат = OPI_VK.ИзменитьТовар(ИДТовара, Товар, , Параметры); // Изменение товара
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьТовар");
Проверка_ВКИстина(Результат);
Результат = OPI_VK.ДобавитьТоварВПодборку(ИДТовара, ИДПодборки, Параметры); // Добавление в подборку
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьТоварВПодборку");
OPI_Инструменты.Пауза(5);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Response]).ИмеетТип(ТипЧисло).Заполнено();
Результат = OPI_VK.УдалитьТоварИзПодборки(ИДТовара, ИДПодборки, Параметры); // Удаляет из подборки
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьТоварИзПодборки");
OPI_Инструменты.Пауза(5);
Проверка_ВКИстина(Результат);
Результат = OPI_VK.УдалитьТовар(ИДТовара, Параметры); // Удаление товара
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьТовар");
OPI_Инструменты.Пауза(5);
Проверка_ВКИстина(Результат);
Результат = OPI_VK.УдалитьПодборку(ИДПодборки, Параметры); // Уадление подборки
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьПодборку");
OPI_Инструменты.Пауза(5);
Проверка_ВКИстина(Результат);
УдалитьФайлы(ИВФ);
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура ВК_СоздатьТоварСоСвойствами() Экспорт
Параметры = ПолучитьПараметрыВК();
ТипСоответствие = Тип("Соответствие");
ТипЧисло = Тип("Число");
MII = "market_item_id";
Response = "response";
Желтый = "Желтый";
Красный = "Красный";
Картинка = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Picture");
ИВФ = ПолучитьИмяВременногоФайла("png");
Картинка.Записать(ИВФ);
МассивВариантов = Новый Массив;
МассивВариантов.Добавить(Желтый);
МассивВариантов.Добавить("Синий");
МассивВариантов.Добавить(Красный);
Результат = OPI_VK.СоздатьСвойствоТовара("Цвет", Параметры);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьСвойствоТовара");
OPI_Инструменты.Пауза(5);
Свойство = Результат[Response]["property_id"];
Свойство = OPI_Инструменты.ЧислоВСтроку(Свойство);
СоответствиеСвойств = Новый Соответствие;
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Response]["property_id"]).ИмеетТип(ТипЧисло).Заполнено();
Результат = OPI_VK.ИзменитьСвойствоТовара("Цвет (изм.)", Свойство, Параметры);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьСвойствоТовара");
OPI_Инструменты.Пауза(5);
Проверка_ВКИстина(Результат);
Для Каждого Вариант Из МассивВариантов Цикл
Результат = OPI_VK.ДобавитьВариантСвойстваТовара(Вариант, Свойство, Параметры);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьВариантСвойстваТовара");
OPI_Инструменты.Пауза(5);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Response]["variant_id"]).ИмеетТип(ТипЧисло).Заполнено();
ИДВарианта = Результат[Response]["variant_id"];
СоответствиеСвойств.Вставить(Вариант, ИДВарианта);
Результат = OPI_VK.ИзменитьВариантСвойстваТовара(Вариант + Строка(Новый УникальныйИдентификатор())
, Свойство
, ИДВарианта
, Параметры);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьВариантСвойстваТовара");
Проверка_ВКИстина(Результат);
КонецЦикла;
МассивКартинок = Новый Массив;
МассивКартинок.Добавить(ИВФ);
МассивКартинок.Добавить(Картинка);
Товар = Новый Соответствие();
Товар.Вставить("Имя" , "Тестовый товар (" + Желтый + ")");
Товар.Вставить("Описание" , "Описание товара");
Товар.Вставить("Категория" , "20173");
Товар.Вставить("Цена" , 1);
Товар.Вставить("СтараяЦена" , 15);
Товар.Вставить("ОсновноеФото" , Картинка);
Товар.Вставить("URL" , "https://github.com/Bayselonarrend/OpenIntegrations");
Товар.Вставить("ДополнительныеФото" , МассивКартинок);
Товар.Вставить("ГлавныйВГруппе" , Истина);
Товар.Вставить("НомерГруппы" , Неопределено);
Товар.Вставить("Ширина" , 20);
Товар.Вставить("Высота" , 30);
Товар.Вставить("Глубина" , 40);
Товар.Вставить("Вес" , 100);
Товар.Вставить("SKU" , 12345);
Товар.Вставить("ДоступныйОстаток" , "10");
Товар.Вставить("ЗначенияСвойств" , СоответствиеСвойств[Желтый]);
Результат = OPI_VK.ДобавитьТовар(Товар, , Параметры); // Добавление товара
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьТовар");
OPI_Инструменты.Пауза(5);
ИДЖелтого = Результат[Response]["market_item_id"];
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Response][MII]).ИмеетТип(ТипЧисло).Заполнено();
Товар.Вставить("Имя" , "Тестовый товар (" + Красный + ")");
Товар.Вставить("ЗначенияСвойств", СоответствиеСвойств[Красный]);
Результат = OPI_VK.ДобавитьТовар(Товар, , Параметры); // Добавление товара
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьТовар");
OPI_Инструменты.Пауза(5);
ИДКрасного = Результат[Response][MII];
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Response][MII]).ИмеетТип(ТипЧисло).Заполнено();
МассивТоваров = Новый Массив;
МассивТоваров.Добавить(ИДЖелтого);
МассивТоваров.Добавить(ИДКрасного);
Результат = OPI_VK.ПолучитьТоварыПоИД(МассивТоваров, Параметры);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьТоварыПоИД");
OPI_Инструменты.Пауза(5);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Response]["items"]).ИмеетТип("Массив").ИмеетДлину(2);
Результат = OPI_VK.СгруппироватьТовары(МассивТоваров, , Параметры);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СгруппироватьТовары");
OPI_Инструменты.Пауза(5);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Response]["item_group_id"]).ИмеетТип(ТипЧисло).Заполнено();
OPI_VK.УдалитьТовар(ИДЖелтого , Параметры);
OPI_VK.УдалитьТовар(ИДКрасного, Параметры);
Для Каждого Вариант Из СоответствиеСвойств Цикл
Удаление = OPI_VK.УдалитьВариантСвойстваТовара(Вариант.Значение, Параметры);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьВариантСвойстваТовара");
OPI_Инструменты.Пауза(5);
Проверка_ВКИстина(Удаление);
КонецЦикла;
Удаление = OPI_VK.УдалитьСвойствоТовара(Свойство, Параметры);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьСвойствоТовара");
OPI_Инструменты.Пауза(5);
Проверка_ВКИстина(Удаление);
УдалитьФайлы(ИВФ);
КонецПроцедуры
Процедура ВК_ПолучитьСписокТоваров() Экспорт
Параметры = ПолучитьПараметрыВК();
Картинка = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Picture");
МассивКартинок = Новый Массив;
МассивКартинок.Добавить(Картинка);
Товар = Новый Соответствие();
Товар.Вставить("Имя" , "Тестовый товар 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_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокТоваров");
OPI_Инструменты.Пауза(5);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат)
.ИмеетТип("Массив").Заполнено();
OPI_VK.УдалитьТовар(ИДТовара, Параметры);
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура ВК_ПолучитьСписокПодборок() Экспорт
Параметры = ПолучитьПараметрыВК();
Картинка = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Picture");
Результат = OPI_VK.СоздатьПодборкуТоваров("Тестовая подборка"
, Картинка
, Истина
, Ложь
, Параметры);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьПодборкуТоваров");
ИДПодборки = Результат["response"]["market_album_id"];
Результат = OPI_VK.ПолучитьСписокПодборок(Параметры);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокПодборок");
OPI_Инструменты.Пауза(5);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат)
.ИмеетТип("Массив").Заполнено();
OPI_VK.УдалитьПодборку(ИДПодборки, Параметры);
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура ВК_ПолучитьСписокСвойств() Экспорт
Параметры = ПолучитьПараметрыВК();
Результат = OPI_VK.ПолучитьСписокСвойств(Параметры);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокСвойств");
OPI_Инструменты.Пауза(5);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат)
.ИмеетТип("Массив").Заполнено();
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура ВК_ПолучитьСписокЗаказов() Экспорт
Параметры = ПолучитьПараметрыВК();
Результат = OPI_VK.ПолучитьСписокЗаказов(Параметры);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокЗаказов");
OPI_Инструменты.Пауза(5);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат)
.ИмеетТип("Массив").Заполнено();
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура ВК_ЗагрузитьВидео() Экспорт
Параметры = ПолучитьПараметрыВК();
Видео = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Video");
Наименование = "Новое видео";
Описание = "Описание видео";
Результат = OPI_VK.ЗагрузитьВидеоНаСервер(Видео, Наименование, Описание, , Параметры);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокЗаказов");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["video_id"]).Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["video_hash"]).Заполнено();
OPI_Инструменты.Пауза(5);
КонецПроцедуры
#КонецОбласти
#Область YandexDisk
Процедура ЯДиск_ПолучитьИнформациюОДиске() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("YandexDisk_Token");
Соответствие = "Соответствие";
Результат = OPI_YandexDisk.ПолучитьИнформациюОДиске(Токен);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьИнформациюОДиске");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(Соответствие).Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["system_folders"]).ИмеетТип(Соответствие);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["user"]).ИмеетТип(Соответствие);
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура ЯДиск_СоздатьПапку() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("YandexDisk_Token");
Путь = "/" + Строка(Новый УникальныйИдентификатор);
Результат = OPI_YandexDisk.СоздатьПапку(Токен, Путь);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьПапку");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["type"]).Равно("dir");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["path"]).Равно("disk:" + Путь);
OPI_YandexDisk.УдалитьОбъект(Токен, Путь, Ложь);
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура ЯДиск_ЗагрузитьПоАдресуПолучитьОбъект() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("YandexDisk_Token");
Путь = "/" + Строка(Новый УникальныйИдентификатор) + ".png";
URL = "https://raw.githubusercontent.com/Bayselonarrend/OpenIntegrations/main/Media/logo.png";
OPI_YandexDisk.ЗагрузитьФайлПоURL(Токен, Путь, URL);
OPI_Инструменты.Пауза(5);
Результат = OPI_YandexDisk.ПолучитьОбъект(Токен, Путь);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьОбъект");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["type"]).Равно("file");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["path"]).Равно("disk:" + Путь);
OPI_YandexDisk.УдалитьОбъект(Токен, Путь, Ложь);
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура ЯДиск_ЗагрузитьУдалитьФайл() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("YandexDisk_Token");
Путь = "/" + Строка(Новый УникальныйИдентификатор) + ".png";
Картинка = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Picture");
ИВФ = ПолучитьИмяВременногоФайла("png");
Картинка.Записать(ИВФ);
Результат = OPI_YandexDisk.ЗагрузитьФайл(Токен, Путь, Картинка, Истина);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗагрузитьФайл");
Проверка_Пусто(Результат);
OPI_Инструменты.Пауза(5);
Результат = OPI_YandexDisk.УдалитьОбъект(Токен, Путь, Ложь);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьОбъект");
Проверка_Пусто(Результат);
Результат = OPI_YandexDisk.ЗагрузитьФайл(Токен, Путь, ИВФ, Истина);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗагрузитьФайл");
Проверка_Пусто(Результат);
OPI_Инструменты.Пауза(5);
Результат = OPI_YandexDisk.УдалитьОбъект(Токен, Путь, Ложь);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьОбъект");
Проверка_Пусто(Результат);
УдалитьФайлы(ИВФ);
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура ЯДиск_СоздатьКопиюОбъекта() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("YandexDisk_Token");
ПутьОригинала = "/" + Строка(Новый УникальныйИдентификатор) + ".png";
ПутьКопии = "/" + Строка(Новый УникальныйИдентификатор) + ".png";
URL = "https://raw.githubusercontent.com/Bayselonarrend/"
+ "OpenIntegrations/main/Media/logo.png";
OPI_YandexDisk.ЗагрузитьФайлПоURL(Токен, ПутьОригинала, URL);
OPI_Инструменты.Пауза(5);
Результат = OPI_YandexDisk.СоздатьКопиюОбъекта(Токен, ПутьОригинала, ПутьКопии, Истина);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьКопиюОбъекта");
OPI_Инструменты.Пауза(5);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["type"]).Равно("file");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["path"]).Равно("disk:" + ПутьКопии);
OPI_YandexDisk.УдалитьОбъект(Токен, ПутьОригинала, Ложь);
OPI_YandexDisk.УдалитьОбъект(Токен, ПутьКопии, Ложь);
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура ЯДиск_ПолучитьСсылкуНаСкачивание() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("YandexDisk_Token");
Путь = "/" + Строка(Новый УникальныйИдентификатор) + ".png";
URL = "https://raw.githubusercontent.com/Bayselonarrend/OpenIntegrations/main/Media/logo.png";
OPI_YandexDisk.ЗагрузитьФайлПоURL(Токен, Путь, URL);
OPI_Инструменты.Пауза(5);
Результат = OPI_YandexDisk.ПолучитьСсылкуДляСкачивания(Токен, Путь);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСсылкуДляСкачивания");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["method"]).Равно("GET");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["href"]).ИмеетТип("Строка").Заполнено();
URL = Результат["href"];
Результат = OPI_YandexDisk.СкачатьФайл(Токен, Путь);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("ДвоичныеДанные").Заполнено();
OPI_YandexDisk.УдалитьОбъект(Токен, Путь, Ложь);
КонецПроцедуры
Процедура ЯДиск_ПолучитьСписокФайлов() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("YandexDisk_Token");
Количество = 2;
Отступ = 1;
Результат = OPI_YandexDisk.ПолучитьСписокФайлов(Токен, Количество, Отступ, "image");
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокФайлов");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["limit"]).Равно(Количество);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["offset"]).Равно(Отступ);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["items"]).ИмеетТип("Массив");
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура ЯДиск_ПереместитьОбъект() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("YandexDisk_Token");
ПутьОригинала = "/" + Строка(Новый УникальныйИдентификатор) + ".png";
ПутьКопии = "/" + Строка(Новый УникальныйИдентификатор) + ".png";
URL = "https://raw.githubusercontent.com/Bayselonarrend/"
+ "OpenIntegrations/main/Media/logo.png";
OPI_YandexDisk.ЗагрузитьФайлПоURL(Токен, ПутьОригинала, URL);
OPI_Инструменты.Пауза(15);
Результат = OPI_YandexDisk.ПереместитьОбъект(Токен, ПутьОригинала, ПутьКопии, Истина);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПереместитьОбъект");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["type"]).Равно("file");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["path"]).Равно("disk:" + ПутьКопии);
OPI_YandexDisk.УдалитьОбъект(Токен, ПутьОригинала, Ложь);
OPI_YandexDisk.УдалитьОбъект(Токен, ПутьКопии, Ложь);
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура ЯДиск_ДействияПубличныхОбъектов() Экспорт
PUrl = "public_url";
Соответствие = "Соответствие";
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("YandexDisk_Token");
Путь = "/" + Строка(Новый УникальныйИдентификатор) + ".png";
URL = "https://raw.githubusercontent.com/Bayselonarrend/OpenIntegrations/main/Media/logo.png";
OPI_YandexDisk.ЗагрузитьФайлПоURL(Токен, Путь, URL);
OPI_Инструменты.Пауза(5);
МассивРезультатов = Новый Массив;
МассивРезультатов.Добавить(OPI_YandexDisk.ОпубликоватьОбъект(Токен, Путь));
ПубличныйURL = МассивРезультатов[0][PUrl];
Результат = OPI_YandexDisk.ПолучитьСсылкуСкачиванияПубличногоОбъекта(Токен, ПубличныйURL);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСсылкуСкачиванияПубличногоОбъекта");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(Соответствие).Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["method"]).Равно("GET");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["href"]).ИмеетТип("Строка").Заполнено();
Результат = OPI_YandexDisk.ПолучитьПубличныйОбъект(Токен, ПубличныйURL);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьПубличныйОбъект");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(Соответствие).Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["type"]).Равно("file");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["path"]).Равно("/");
МассивРезультатов.Добавить(OPI_YandexDisk.СохранитьПубличныйОбъектНаДиск(Токен, ПубличныйURL));
МассивРезультатов.Добавить(OPI_YandexDisk.ОтменитьПубликациюОбъекта(Токен, Путь));
Счетчик = 0;
Для Каждого Результат Из МассивРезультатов Цикл
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "Изменение публикации");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(Соответствие).Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["type"]).Равно("file");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["path"]).Заполнено();
Если Счетчик = 0 Тогда
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[PUrl]).ИмеетТип("Строка").Заполнено();
Иначе
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[PUrl]).ИмеетТип("Неопределено");
КонецЕсли;
Счетчик = Счетчик + 1;
КонецЦикла;
OPI_YandexDisk.УдалитьОбъект(Токен, Путь, Ложь);
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура ЯДиск_ПолучитьСписокОпубликованных() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("YandexDisk_Token");
Количество = 2;
Отступ = 1;
Результат = OPI_YandexDisk.ПолучитьСписокОпубликованныхОбъектов(Токен, Количество, Отступ);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокОпубликованныхОбъектов");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["limit"]).Равно(Количество);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["offset"]).Равно(Отступ);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["items"]).ИмеетТип("Массив");
OPI_Инструменты.Пауза(5);
КонецПроцедуры
#КонецОбласти
#Область Viber
Процедура Вайбер_ПолучитьИнформациюОКанале() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_ChannelToken");
Результат = OPI_Viber.ПолучитьИнформациюОКанале(Токен);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьИнформациюОКанале");
Проверка_ВайберОк(Результат);
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура Вайбер_ПолучитьДанныеПользователя() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_ChannelToken");
Пользователь = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_ChannelAdminID");
Результат = OPI_Viber.ПолучитьДанныеПользователя(Токен, Пользователь);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьДанныеПользователя");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["chat_hostname"]).Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["status_message"]).Заполнено();
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура Вайбер_ПолучитьОнлайнПользователей() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_ChannelToken");
Пользователь = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_UserID");
Результат = OPI_Viber.ПолучитьОнлайнПользователей(Токен, Пользователь);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьОнлайнПользователей");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["users"]).ИмеетТип("Массив");
Проверка_ВайберОк(Результат);
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура Вайбер_ОтправитьТекстовоеСообщение() Экспорт
Текст = "Тестовое сообщение";
ТокенКанал = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_ChannelToken");
ТокенБота = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_Token");
Пользователь = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_UserID");
Администратор = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_ChannelAdminID");
МассивКнопок = Новый Массив;
МассивКнопок.Добавить("Кнопка 1");
МассивКнопок.Добавить("Кнопка 2");
МассивКнопок.Добавить("Кнопка 3");
Клавиатура = OPI_Viber.СформироватьКлавиатуруИзМассиваКнопок(МассивКнопок);
Результат = OPI_Viber.ОтправитьТекстовоеСообщение(ТокенБота, Текст, Пользователь, Ложь, Клавиатура);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьТекстовоеСообщение");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["message_token"]).Заполнено();
Проверка_ВайберОк(Результат);
Результат = OPI_Viber.ОтправитьТекстовоеСообщение(ТокенКанал, Текст, Администратор, Истина, Клавиатура);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьТекстовоеСообщение");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["message_token"]).Заполнено();
Проверка_ВайберОк(Результат);
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура Вайбер_ОтправитьКартинку() Экспорт
Текст = "Тестовое сообщение";
Картинка = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Picture");
ТокенКанал = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_ChannelToken");
ТокенБота = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_Token");
Пользователь = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_UserID");
Администратор = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_ChannelAdminID");
Результат = OPI_Viber.ОтправитьКартинку(ТокенБота, Картинка, Пользователь, Ложь, Текст);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьКартинку");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["message_token"]).Заполнено();
Проверка_ВайберОк(Результат);
Результат = OPI_Viber.ОтправитьКартинку(ТокенКанал, Картинка, Администратор, Истина, Текст);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьКартинку");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["message_token"]).Заполнено();
Проверка_ВайберОк(Результат);
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура Вайбер_ОтправитьФайл() Экспорт
Документ = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Document");
ТокенКанал = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_ChannelToken");
ТокенБота = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_Token");
Пользователь = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_UserID");
Администратор = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_ChannelAdminID");
Результат = OPI_Viber.ОтправитьФайл(ТокенБота, Документ, Пользователь, Ложь, "docx");
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьФайл");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["message_token"]).Заполнено();
Проверка_ВайберОк(Результат);
Результат = OPI_Viber.ОтправитьФайл(ТокенКанал, Документ, Администратор, Истина, "docx");
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьФайл");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["message_token"]).Заполнено();
Проверка_ВайберОк(Результат);
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура Вайбер_ОтправитьКонтакт() Экспорт
Имя = "Петр Петров";
Телефон = "+123456789";
ТокенКанал = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_ChannelToken");
ТокенБота = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_Token");
Пользователь = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_UserID");
Администратор = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_ChannelAdminID");
Результат = OPI_Viber.ОтправитьКонтакт(ТокенБота, Имя, Телефон, Пользователь, Ложь);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьКонтакт");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["message_token"]).Заполнено();
Проверка_ВайберОк(Результат);
Результат = OPI_Viber.ОтправитьКонтакт(ТокенКанал, Имя, Телефон, Администратор, Истина);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьКонтакт");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["message_token"]).Заполнено();
Проверка_ВайберОк(Результат);
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура Вайбер_ОтправитьЛокацию() Экспорт
Широта = "48.87373649724122";
Долгота = "2.2954639195323967";
ТокенКанал = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_ChannelToken");
ТокенБота = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_Token");
Пользователь = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_UserID");
Администратор = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_ChannelAdminID");
Результат = OPI_Viber.ОтправитьЛокацию(ТокенБота, Широта, Долгота, Пользователь, Ложь);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьЛокацию");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["message_token"]).Заполнено();
Проверка_ВайберОк(Результат);
Результат = OPI_Viber.ОтправитьЛокацию(ТокенКанал, Широта, Долгота, Администратор, Истина);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьЛокацию");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["message_token"]).Заполнено();
Проверка_ВайберОк(Результат);
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура Вайбер_ОтправитьСсылку() Экспорт
URL = "https://github.com/Bayselonarrend/OpenIntegrations";
ТокенКанал = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_ChannelToken");
ТокенБота = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_Token");
Пользователь = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_UserID");
Администратор = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Viber_ChannelAdminID");
Результат = OPI_Viber.ОтправитьСсылку(ТокенБота, URL, Пользователь, Ложь);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьСсылку");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["message_token"]).Заполнено();
Проверка_ВайберОк(Результат);
Результат = OPI_Viber.ОтправитьСсылку(ТокенКанал, URL, Администратор, Истина);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьСсылку");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["message_token"]).Заполнено();
Проверка_ВайберОк(Результат);
OPI_Инструменты.Пауза(5);
КонецПроцедуры
#КонецОбласти
#Область GoogleWorkspace
Процедура ГВ_ПолучитьСсылкуАвторизации() Экспорт
ClientID = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_ClientID");
Результат = OPI_GoogleWorkspace.СформироватьСсылкуПолученияКода(ClientID);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат)
.ИмеетТип("Строка")
.Заполнено();
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Google_Link", Результат);
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура ГВ_ПолучитьТокен() Экспорт
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"]);
КонецЕсли;
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура ГВ_ОбновитьТокен() Экспорт
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_Инструменты.Пауза(5);
КонецПроцедуры
#КонецОбласти
#Область GoogleCalendar
Процедура ГК_ПолучитьСписокКалендарей() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_Token");
Результат = OPI_GoogleCalendar.ПолучитьСписокКалендарей(Токен);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокКалендарей");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат)
.ИмеетТип("Массив");
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура ГК_СоздатьУдалитьКалендарь() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_Token");
Наименование = "Тестовый календарь";
Описание = "Тестовое описание";
НаименованиеИзмененное = Наименование + " (изм.)";
ТипСоответствие = Тип("Соответствие");
ТипСтрока = Тип("Строка");
Summary = "summary";
Черный = "#000000";
Желтый = "#ffd800";
Результат = OPI_GoogleCalendar.СоздатьКалендарь(Токен, Наименование);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьКалендарь");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Summary]).Равно(Наименование);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["id"]).ИмеетТип(ТипСтрока).Заполнено();
Календарь = Результат["id"];
Результат = OPI_GoogleCalendar.ИзменитьМетаданныеКалендаря(Токен
, Календарь
, НаименованиеИзмененное
, Описание);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьМетаданныеКалендаря");
Проверка_ГКОбъект(Результат, НаименованиеИзмененное, Описание);
Результат = OPI_GoogleCalendar.ПолучитьМетаданныеКалендаря(Токен, Календарь);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьМетаданныеКалендаря");
Проверка_ГКОбъект(Результат, НаименованиеИзмененное, Описание);
Результат = OPI_GoogleCalendar.ДобавитьКалендарьВСписок(Токен, Календарь);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьКалендарьВСписок");
Проверка_ГКОбъект(Результат, НаименованиеИзмененное, Описание);
Результат = OPI_GoogleCalendar.ИзменитьКалендарьСписка(Токен, Календарь, Черный, Желтый, Ложь);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьКалендарьСписка");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Summary]).Равно(НаименованиеИзмененное);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["foregroundColor"]).Равно(Черный);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["backgroundColor"]).Равно(Желтый);
Результат = OPI_GoogleCalendar.ПолучитьКалендарьСписка(Токен, Календарь);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьКалендарьСписка");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Summary]).Равно(НаименованиеИзмененное);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["foregroundColor"]).Равно(Черный);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["backgroundColor"]).Равно(Желтый);
Результат = OPI_GoogleCalendar.ОчиститьОсновнойКалендарь(Токен);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОчиститьОсновнойКалендарь");
Проверка_Пусто(Результат);
Результат = OPI_GoogleCalendar.УдалитьКалендарьИзСписка(Токен, Календарь);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьКалендарьИзСписка");
Проверка_Пусто(Результат);
Результат = OPI_GoogleCalendar.УдалитьКалендарь(Токен, Календарь);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьКалендарь");
Проверка_Пусто(Результат);
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура ГК_СоздатьУдалитьСобытие() Экспорт
ТекущаяДата = OPI_Инструменты.ПолучитьТекущуюДату();
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_Token");
Календарь = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_CalendarID");
Наименование = "Новое событие";
Описание = "Описание тестового события";
ОписаниеИзм = "Описание тестового события (изм.)";
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.СоздатьСобытие(Токен, Календарь, СоответствиеСобытия);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьСобытие");
Событие = Результат[UID];
Проверка_ГКОбъект(Результат, Наименование, Описание);
СоответствиеСобытия = Новый Соответствие;
СоответствиеСобытия.Вставить("Описание", ОписаниеИзм);
Результат = OPI_GoogleCalendar.ИзменитьСобытие(Токен, Календарь, СоответствиеСобытия, Событие);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьСобытие");
Проверка_ГКОбъект(Результат, Наименование, ОписаниеИзм);
Результат = OPI_GoogleCalendar.ПолучитьСобытие(Токен, Календарь, Событие);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСобытие");
Проверка_ГКОбъект(Результат, Наименование, ОписаниеИзм);
Результат = OPI_GoogleCalendar.ПереместитьСобытие(Токен, Календарь, Календарь, Событие);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПереместитьСобытие");
Проверка_ГКОбъект(Результат, Наименование, ОписаниеИзм);
Результат = OPI_GoogleCalendar.УдалитьСобытие(Токен, Календарь, Событие);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьСобытие");
Проверка_Пусто(Результат);
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура ГК_ПолучитьСписокСобытий() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_Token");
Календарь = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_CalendarID");
Результат = OPI_GoogleCalendar.ПолучитьСписокСобытий(Токен, Календарь);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокСобытий");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Массив");
OPI_Инструменты.Пауза(5);
КонецПроцедуры
#КонецОбласти
#Область GoogleDrive
Процедура ГД_ПолучитьСписокКаталогов() Экспорт
MimeType = "mimeType";
Name = "name";
Имя = "Тестовая папка";
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_Token");
Результат = OPI_GoogleDrive.ПолучитьСписокКаталогов(Токен, Имя, Истина);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокКаталогов");
Результат = Результат[0];
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["files"]).ИмеетТип("Массив");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[MimeType]).Равно("application/vnd.google-apps.folder");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Name]).Заполнено();
OPI_Инструменты.Пауза(5);
Идентификатор = Результат["id"];
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("GD_Catalog", Идентификатор);
Результат = OPI_GoogleDrive.ПолучитьИнформациюОбОбъекте(Токен, Идентификатор);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьИнформациюОбОбъекте");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[MimeType]).Равно("application/vnd.google-apps.folder");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Name]).Заполнено();
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура ГД_ЗагрузитьУдалитьФайл() Экспорт
ЛишниеБайты = 2;
Kind = "kind";
Content = "content";
MIME = "MIME";
MimeType = "mimeType";
Name = "name";
Id_ = "id";
МассивУдаляемых = Новый Массив;
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_Token");
Картинка = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Picture");
КартинкаЗамены = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Picture2");
Каталог = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("GD_Catalog");
Описание = OPI_GoogleDrive.ПолучитьОписаниеФайла();
Описание.Вставить("Родитель", Каталог);
Результат = OPI_GoogleDrive.ЗагрузитьФайл(Токен, Картинка, Описание);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗагрузитьФайл");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[MimeType]).Равно(Описание[MIME]);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Name]).Равно(Описание["Имя"]);
Идентификатор = Результат[Id_];
МассивУдаляемых.Добавить(Идентификатор);
НовоеИмя = "Скопированный файл.jpeg";
Результат = OPI_GoogleDrive.СкопироватьОбъект(Токен, Идентификатор, НовоеИмя, "root");
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СкоприроватьОбъект");
OPI_Инструменты.Пауза(5);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[MimeType]).Равно(Описание[MIME]);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Name]).Равно(НовоеИмя);
МассивУдаляемых.Добавить(Результат[Id_]);
Результат = OPI_GoogleDrive.СкачатьФайл(Токен, Идентификатор);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СкачатьФайл");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат.Размер()).Равно(Картинка.Размер() + ЛишниеБайты);
OPI_Инструменты.Пауза(5);
НовоеИмя = "Обновленный файл.jpg";
Результат = OPI_GoogleDrive.ОбновитьФайл(Токен, Идентификатор, КартинкаЗамены, НовоеИмя);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОбновитьФайл");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[MimeType]).Равно(Описание[MIME]);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Name]).Равно(НовоеИмя);
OPI_Инструменты.Пауза(5);
Комментарий = "Yo";
Результат = OPI_GoogleDrive.СоздатьКомментарий(Токен, Идентификатор, Комментарий);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьКомментарий");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Content]).Равно(Комментарий);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Kind]).Равно("drive#comment");
OPI_Инструменты.Пауза(5);
Для Каждого Удаляемый Из МассивУдаляемых Цикл
Результат = OPI_GoogleDrive.УдалитьОбъект(Токен, Удаляемый);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьОбъект");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(ЗначениеЗаполнено(Результат)).Равно(Ложь);
OPI_Инструменты.Пауза(2);
КонецЦикла;
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура ГД_СоздатьУдалитьКомментарий() Экспорт
Kind = "kind";
Content = "content";
Id_ = "id";
Comments = "comments";
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_Token");
Каталог = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("GD_Catalog");
Картинка = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Picture");
Описание = OPI_GoogleDrive.ПолучитьОписаниеФайла();
Описание.Вставить("Родитель", Каталог);
Результат = OPI_GoogleDrive.ЗагрузитьФайл(Токен, Картинка, Описание);
Идентификатор = Результат[Id_];
Комментарий = "Новый комментарий";
МассивРезультатов = Новый Массив;
Результат = OPI_GoogleDrive.СоздатьКомментарий(Токен, Идентификатор, Комментарий);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьКомментарий");
ИДКомментария = Результат[Id_];
МассивРезультатов.Добавить(Результат);
Результат = OPI_GoogleDrive.ПолучитьКомментарий(Токен, Идентификатор, ИДКомментария);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьКомментарий");
МассивРезультатов.Добавить(Результат);
Результат = OPI_GoogleDrive.ПолучитьСписокКомментариев(Токен, Идентификатор);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокКомментариев");
Комментарии = Результат[Comments];
ОбъектКомментарий = Комментарии[Комментарии.ВГраница()];
МассивРезультатов.Добавить(ОбъектКомментарий);
Для Каждого Результат Из МассивРезультатов Цикл
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Content]).Равно(Комментарий);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Kind]).Равно("drive#comment");
КонецЦикла;
Результат = OPI_GoogleDrive.УдалитьКомментарий(Токен, Идентификатор, ИДКомментария);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьКомментарий");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(ЗначениеЗаполнено(Результат)).Равно(Ложь);
OPI_GoogleDrive.УдалитьОбъект(Токен, Идентификатор);
КонецПроцедуры
Процедура ГД_СоздатьКаталог() Экспорт
Name = "name";
Имя = "Тестовая папка";
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_Token");
Каталог = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("GD_Catalog");
МассивРезультатов = Новый Массив;
МассивРезультатов.Добавить(OPI_GoogleDrive.СоздатьПапку(Токен, Имя));
МассивРезультатов.Добавить(OPI_GoogleDrive.СоздатьПапку(Токен, Имя, Каталог));
Для Каждого Результат Из МассивРезультатов Цикл
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьПапку");
ИДКаталога = Результат["id"];
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Name]).Равно(Имя);
OPI_GoogleDrive.УдалитьОбъект(Токен, ИДКаталога);
КонецЦикла;
КонецПроцедуры
#КонецОбласти
#Область GoogleSheets
Процедура ГТ_СоздатьТаблицу() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_Token");
Наименование = "Тестовая таблица";
МассивЛистов = Новый Массив;
МассивЛистов.Добавить("Лист1");
МассивЛистов.Добавить("Лист2");
Результат = OPI_GoogleSheets.СоздатьКнигу(Токен, Наименование, МассивЛистов);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьКнигу");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["properties"]["title"]).Равно(Наименование);
Для Н = 0 По МассивЛистов.ВГраница() Цикл
ИмяЛиста = Результат["sheets"][Н]["properties"]["title"];
OPI_ПолучениеДанныхТестов.ОжидаетЧто(ИмяЛиста).Равно(МассивЛистов[Н]);
Лист = Результат["sheets"][Н]["properties"]["sheetId"];
Лист = OPI_Инструменты.ЧислоВСтроку(Лист);
КонецЦикла;
Книга = Результат["spreadsheetId"];
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("GS_Spreadsheet", Книга);
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("GS_Sheet" , Лист);
Результат = OPI_GoogleSheets.СоздатьКнигу(Токен, Наименование, МассивЛистов);
Книга2 = Результат["spreadsheetId"];
Результат = OPI_GoogleSheets.КопироватьЛист(Токен, Книга, Книга2, Лист);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "КопироватьЛист");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["title"]).Равно(ИмяЛиста + " (копия)");
Наименование = "Тестовый лист";
Результат = OPI_GoogleSheets.ДобавитьЛист(Токен, Книга, Наименование);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьЛист");
НовыйЛист = Результат["replies"][0]["addSheet"]["properties"]["sheetId"];
НовыйЛист = OPI_Инструменты.ЧислоВСтроку(НовыйЛист);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["spreadsheetId"]).Равно(Книга);
Результат = OPI_GoogleSheets.УдалитьЛист(Токен, Книга, НовыйЛист);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьЛист");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["spreadsheetId"]).Равно(Книга);
Наименование = "Тестовая таблица (изм.)";
Результат = OPI_GoogleSheets.ИзменитьНаименованиеКниги(Токен, Книга, Наименование);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьНаименованиеКниги");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["spreadsheetId"]).Равно(Книга);
КонецПроцедуры
Процедура ГТ_ПолучитьТаблицу() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_Token");
Книга = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("GS_Spreadsheet");
Наименование = "Тестовая таблица (изм.)";
Результат = OPI_GoogleSheets.ПолучитьКнигу(Токен, Книга);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьТаблицу");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["properties"]["title"]).Равно(Наименование);
КонецПроцедуры
Процедура ГТ_ЗаполнитьОчиститьЯчейки() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_Token");
Книга = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("GS_Spreadsheet");
Лист = "Лист2";
СтруктураЯчеек = Новый Соответствие;
СтруктураЯчеек.Вставить("A1", "Это A1");
СтруктураЯчеек.Вставить("A2", "Это A2");
СтруктураЯчеек.Вставить("B2", "Это B2");
СтруктураЯчеек.Вставить("B3", "Это B3");
СтруктураЯчеек.Вставить("A3", "Это A3");
СтруктураЯчеек.Вставить("A4", "Это A4");
СтруктураЯчеек.Вставить("B1", "Это B1");
СтруктураЯчеек.Вставить("B4", "Это B4");
МассивЯчеек = Новый Массив;
МассивЯчеек.Добавить("B2");
МассивЯчеек.Добавить("A3");
МассивЯчеек.Добавить("B4");
Результат = OPI_GoogleSheets.УстановитьЗначенияЯчеек(Токен, Книга, СтруктураЯчеек, Лист);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УстановитьЗначенияЯчеек");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["spreadsheetId"]).Равно(Книга);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["totalUpdatedCells"]).Равно(СтруктураЯчеек.Количество());
Результат = OPI_GoogleSheets.ПолучитьЗначенияЯчеек(Токен, Книга, МассивЯчеек, Лист);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьЗначенияЯчеек");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["spreadsheetId"]).Равно(Книга);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["valueRanges"].Количество()).Равно(МассивЯчеек.Количество());
Результат = OPI_GoogleSheets.ПолучитьЗначенияЯчеек(Токен, Книга, , Лист);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьЗначенияЯчеек");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["spreadsheetId"]).Равно(Книга);
МассивЯчеек = Новый Массив;
МассивЯчеек.Добавить("B2");
МассивЯчеек.Добавить("A3");
МассивЯчеек.Добавить("B4");
Результат = OPI_GoogleSheets.ОчиститьЯчейки(Токен, Книга, МассивЯчеек, Лист);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОчиститьЯчейки");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["spreadsheetId"]).Равно(Книга);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["clearedRanges"].Количество()).Равно(МассивЯчеек.Количество());
КонецПроцедуры
#КонецОбласти
#Область Twitter
Процедура Твиттер_ПолучитьСсылкуАвторизации() Экспорт
Параметры = ПолучитьПараметрыТвиттер();
Результат = OPI_Twitter.ПолучитьСсылкуАвторизации(Параметры);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Строка").Заполнено();
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Twitter_URL", Результат);
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура Твиттер_ОбновитьТокен() Экспорт
Параметры = ПолучитьПараметрыТвиттер();
Результат = OPI_Twitter.ОбновитьТокен(Параметры);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["access_token"]).Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["refresh_token"]).Заполнено();
Рефреш = Результат["refresh_token"];
Токен = Результат["access_token"];
Если ЗначениеЗаполнено(Рефреш) И Не Рефреш = "null" Тогда
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Twitter_Refresh", Рефреш);
КонецЕсли;
Если ЗначениеЗаполнено(Токен) И Не Токен = "null" Тогда
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Twitter_Token" , Токен);
КонецЕсли;
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура Твиттер_СоздатьТекстовыйТвит() Экспорт
Параметры = ПолучитьПараметрыТвиттер();
Текст = "Тестовый твитт" + Строка(Новый УникальныйИдентификатор);
Результат = OPI_Twitter.СоздатьТекстовыйТвит(Текст, Параметры);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьТекстовыйТвит");
Проверка_ТвиттерТекст(Результат, Текст);
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура Твиттер_СоздатьТвитСКартинкой() Экспорт
Параметры = ПолучитьПараметрыТвиттер();
Текст = "Тестовый твитт" + Строка(Новый УникальныйИдентификатор);
Картинка = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Picture");
ИВФ = ПолучитьИмяВременногоФайла("png");
Картинка.Записать(ИВФ);
Результат = OPI_Twitter.СоздатьТвитКартинки(Текст, Картинка, Параметры);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьТвитКартинки");
Проверка_ТвиттерТекст(Результат, Текст);
Результат = OPI_Twitter.СоздатьТвитКартинки(Текст, ИВФ, Параметры);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьТвитКартинки");
Проверка_ТвиттерТекст(Результат, Текст);
УдалитьФайлы(ИВФ);
OPI_Инструменты.Пауза(20);
КонецПроцедуры
Процедура Твиттер_СоздатьТвитСВидео() Экспорт
Параметры = ПолучитьПараметрыТвиттер();
Текст = "Тестовый твитт" + Строка(Новый УникальныйИдентификатор);
Видео = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Video");
ИВФ = ПолучитьИмяВременногоФайла("mp4");
Видео.Записать(ИВФ);
Результат = OPI_Twitter.СоздатьТвитВидео(Текст, Видео, Параметры);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьТвитВидео");
Проверка_ТвиттерТекст(Результат, Текст);
Результат = OPI_Twitter.СоздатьТвитВидео(Текст, ИВФ, Параметры);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьТвитВидео");
Проверка_ТвиттерТекст(Результат, Текст);
УдалитьФайлы(ИВФ);
OPI_Инструменты.Пауза(20);
КонецПроцедуры
Процедура Твиттер_СоздатьТвитСГиф() Экспорт
Параметры = ПолучитьПараметрыТвиттер();
Текст = "Тестовый твитт" + Строка(Новый УникальныйИдентификатор);
Гифка = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("GIF");
ИВФ = ПолучитьИмяВременногоФайла("gif");
Гифка.Записать(ИВФ);
Результат = OPI_Twitter.СоздатьТвитГифки(Текст, Гифка, Параметры);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьТвитГифки");
Проверка_ТвиттерТекст(Результат, Текст);
Результат = OPI_Twitter.СоздатьТвитГифки(Текст, ИВФ, Параметры);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьТвитГифки");
Проверка_ТвиттерТекст(Результат, Текст);
УдалитьФайлы(ИВФ);
OPI_Инструменты.Пауза(20);
КонецПроцедуры
Процедура Твиттер_СоздатьТвитСОпросом() Экспорт
Параметры = ПолучитьПараметрыТвиттер();
Текст = "Тестовый твитт" + Строка(Новый УникальныйИдентификатор);
МассивОтветов = Новый Массив;
МассивОтветов.Добавить("Вариант 1");
МассивОтветов.Добавить("Вариант 2");
Результат = OPI_Twitter.СоздатьТвитОпрос(Текст, МассивОтветов, 60, Параметры);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьТвитОпрос");
Проверка_ТвиттерТекст(Результат, Текст);
OPI_Инструменты.Пауза(20);
КонецПроцедуры
#КонецОбласти
#Область Notion
Процедура Ноушн_СоздатьСтраницу() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Notion_Token");
Родитель = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Notion_Parent");
Заголовок = "Тестовый заголовок";
Результат = OPI_Notion.СоздатьСтраницу(Токен, Родитель, Заголовок);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьСтраницу");
Проверка_НоушнОбъект(Результат);
КонецПроцедуры
Процедура Ноушн_СоздатьИзменитьБазу() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Notion_Token");
Родитель = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Notion_Parent");
Заголовок = "Тестовый заголовок";
Свойства = Новый Соответствие;
Свойства.Вставить("Имя" , "title");
Свойства.Вставить("Описание" , "rich_text");
Свойства.Вставить("Номер" , "number");
Свойства.Вставить("Статус" , "status");
Свойства.Вставить("Дата создания" , "date");
Свойства.Вставить("Картинка" , "files");
Свойства.Вставить("Активен" , "checkbox");
Свойства.Вставить("Сайт" , "url");
Свойства.Вставить("Почта" , "email");
Свойства.Вставить("Телефон" , "phone_number");
Свойства.Вставить("Пользователь" , "people");
ВыборЗначения = Новый Соответствие;
ВыборЗначения.Вставить("Новый", "green");
ВыборЗначения.Вставить("В работе", "yellow");
ВыборЗначения.Вставить("Удаленный", "red");
Свойства.Вставить("Статус", ВыборЗначения);
Результат = OPI_Notion.СоздатьБазуДанных(Токен, Родитель, Заголовок, Свойства);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьБазуДанных");
Проверка_НоушнОбъект(Результат, "database");
База = Результат["id"];
Заголовок = "Тестовый заголовок";
Описание = "Тестовое описание";
Свойства = Новый Соответствие;
Свойства.Вставить("Почта", "rich_text"); // Тип поля "Почта" будет изменен с email на текст
Свойства.Вставить("Сайт"); // Поле "Сайт" будет удалено
Результат = OPI_Notion.ИзменитьСвойстваБазы(Токен, База, Свойства, Заголовок, Описание);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьСвойстваБазы");
Проверка_НоушнОбъект(Результат, "database");
КонецПроцедуры
Процедура Ноушн_ПолучитьИнформациюОСтранице() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Notion_Token");
Страница = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Notion_Page");
Результат = OPI_Notion.ПолучитьСтраницу(Токен, Страница);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтраницу");
Проверка_НоушнОбъект(Результат);
КонецПроцедуры
Процедура Ноушн_ПолучитьИнформациюОБазе() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Notion_Token");
База = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Notion_Base");
Результат = OPI_Notion.ПолучитьБазуДанных(Токен, База);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьБазуДанных");
Проверка_НоушнОбъект(Результат, "database");
КонецПроцедуры
Процедура Ноушн_СоздатьСтраницуВБазу() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Notion_Token");
База = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Notion_Base");
Картинка = Новый Соответствие;
Картинка.Вставить("Лого", OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Picture"));
Свойства = Новый Соответствие;
Свойства.Вставить("Имя" , "ООО Вектор");
Свойства.Вставить("Описание" , "Наш первый клиент");
Свойства.Вставить("Номер" , 1);
Свойства.Вставить("Статус" , "Обычный");
Свойства.Вставить("Дата создания" , OPI_Инструменты.ПолучитьТекущуюДату());
Свойства.Вставить("Картинка" , Картинка);
Свойства.Вставить("Активен" , Истина);
Свойства.Вставить("Сайт" , "https://vector.ru");
Свойства.Вставить("Почта" , "mail@vector.ru");
Свойства.Вставить("Телефон" , "88005553535");
Свойства.Вставить("Статус" , "Новый");
Результат = OPI_Notion.СоздатьСтраницуВБазу(Токен, База, Свойства);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьСтраницуВБазу");
Проверка_НоушнОбъект(Результат);
Родитель = СтрЗаменить(Результат["parent"]["database_id"], "-", "");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Родитель).Равно(База);
КонецПроцедуры
Процедура Ноушн_ИзменитьСвойстваСтраницы() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Notion_Token");
Страница = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Notion_Page");
Иконка = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Picture");
Обложка = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Picture2");
Архивировать = Ложь;
Свойства = Новый Соответствие;
Свойства.Вставить("Активен" , Ложь);
Свойства.Вставить("Почта" , "vector@mail.ru");
Результат = OPI_Notion.ИзменитьСвойстваСтраницы(Токен
, Страница
, Свойства
, Иконка
, Обложка
, Архивировать);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьСвойстваСтраницы");
Проверка_НоушнОбъект(Результат);
КонецПроцедуры
Процедура Ноушн_СоздатьУдалитьБлок() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Notion_Token");
Родитель = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Notion_Parent");
Блок = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Notion_Block");
Результат = OPI_Notion.ВернутьБлок(Токен, Блок);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ВернутьБлок");
Проверка_НоушнОбъект(Результат, "block");
Результат = OPI_Notion.СоздатьБлок(Токен, Родитель, Результат);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьБлок");
Проверка_НоушнОбъект(Результат, "list");
Блок = Результат["results"][0]["id"];
Результат = OPI_Notion.ВернутьДочерниеБлоки(Токен, Блок);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ВернутьДочерниеБлоки");
Проверка_НоушнОбъект(Результат, "list");
Результат = OPI_Notion.УдалитьБлок(Токен, Блок);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьБлок");
Проверка_НоушнОбъект(Результат, "block");
КонецПроцедуры
Процедура Ноушн_ПолучитьПользователей() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Notion_Token");
Результат = OPI_Notion.СписокПользователей(Токен);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СписокПользователей");
Проверка_НоушнОбъект(Результат, "list");
КонецПроцедуры
Процедура Ноушн_ПолучитьДанныеПользователя() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Notion_Token");
Пользователь = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Notion_User");
Результат = OPI_Notion.ПолучитьДанныеПользователя(Токен, Пользователь);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьДанныеПользователя");
Проверка_НоушнОбъект(Результат, "user");
КонецПроцедуры
#КонецОбласти
#Область Slack
Процедура Слак_ПолучитьИнформациюОБоте() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_Token");
Результат = OPI_Slack.ПолучитьИнформациюОБоте(Токен);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьИнформациюОБоте");
Проверка_СлакОк(Результат);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["bot_id"]).Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["user_id"]).Заполнено();
КонецПроцедуры
Процедура Слак_ПолучитьСписокПользователей() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_Token");
Результат = OPI_Slack.ПолучитьСписокПользователей(Токен);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокПользователей");
Проверка_СлакОк(Результат);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["members"]).ИмеетТип("Массив");
КонецПроцедуры
Процедура Слак_ПолучитьСписокОбластей() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_Token");
Результат = OPI_Slack.ПолучитьСписокРабочихОбластей(Токен);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокРабочихОбластей");
Проверка_СлакОк(Результат);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["teams"]).ИмеетТип("Массив");
КонецПроцедуры
Процедура Слак_ОтправитьУдалитьСообщение() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_Token");
Канал = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_Channel");
Текст = "Тестовое сообщение 1";
Текст2 = "Тестовое сообщение 2";
Отметки = Новый Массив;
Картинка = "https://github.com/Bayselonarrend/OpenIntegrations/raw/main/Media/logo.png?v1";
Результат = OPI_Slack.ОтправитьСообщение(Токен, Канал, Текст);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьСообщение");
Проверка_СлакОк(Результат);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["channel"]).Равно(Канал);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ts"]).Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["message"]["text"]).Равно(Текст);
Отметка = Результат["ts"];
Результат = OPI_Slack.ИзменитьСообщение(Токен, Канал, Отметка, Текст2);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьСообщение");
Проверка_СлакОк(Результат);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["channel"]).Равно(Канал);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ts"]).Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["message"]["text"]).Равно(Текст2);
Результат = OPI_Slack.ПолучитьСписокОтветовНаСообщение(Токен, Канал, Отметка);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокОтветовНаСообщение");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["messages"]).ИмеетТип("Массив");
Результат = OPI_Slack.ПолучитьСсылкуНаСообщение(Токен, Канал, Отметка);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСсылкуНаСообщение");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["channel"]).Равно(Канал);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["permalink"]).Заполнено();
Проверка_СлакОк(Результат);
Отметки.Добавить(Отметка);
МассивБлоков = Новый Массив;
Блок = OPI_Slack.СформироватьБлокКартинку(Картинка, "Yo");
МассивБлоков.Добавить(Блок);
Результат = OPI_Slack.ОтправитьСообщение(Токен, Канал, Текст, , МассивБлоков);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьСообщение (картинка)");
Проверка_СлакОк(Результат);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["channel"]).Равно(Канал);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ts"]).Заполнено();
Отметки.Добавить(Результат["ts"]);
Блок = OPI_Slack.СформироватьБлокКартинку(Картинка, "Yo");
БлокJSON = OPI_Инструменты.JSONСтрокой(Блок);
ИВФ = ПолучитьИмяВременногоФайла("json");
ТекстовыйДокумент = Новый ТекстовыйДокумент();
ТекстовыйДокумент.УстановитьТекст(БлокJSON);
ТекстовыйДокумент.Записать(ИВФ);
Результат = OPI_Slack.ОтправитьСообщение(Токен, Канал, Текст, , ИВФ);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьСообщение (json)");
Проверка_СлакОк(Результат);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["channel"]).Равно(Канал);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ts"]).Заполнено();
Отметки.Добавить(Результат["ts"]);
Блоки = "['" + ИВФ + "','" + ИВФ + "']";
Результат = OPI_Slack.ОтправитьСообщение(Токен, Канал, Текст, , Блоки);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьСообщение (json массив)");
Проверка_СлакОк(Результат);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["channel"]).Равно(Канал);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ts"]).Заполнено();
Отметки.Добавить(Результат["ts"]);
УдалитьФайлы(ИВФ);
Для Каждого Отметка Из Отметки Цикл
Результат = OPI_Slack.УдалитьСообщение(Токен, Канал, Отметка);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьСообщение");
Проверка_СлакОк(Результат);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["channel"]).Равно(Канал);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ts"]).Заполнено();
КонецЦикла;
Час = 3600;
Сутки = 24;
Отправка = OPI_Инструменты.ПолучитьТекущуюДату() + (Сутки * Час);
Результат = OPI_Slack.ОтправитьСообщение(Токен, Канал, Текст, Отправка);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьСообщение (отложенное)");
Проверка_СлакОк(Результат);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["channel"]).Равно(Канал);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["scheduled_message_id"]).Заполнено();
Отметка = Результат["scheduled_message_id"];
Результат = OPI_Slack.УдалитьСообщение(Токен, Канал, Отметка, Истина);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьСообщение");
Проверка_СлакОк(Результат);
КонецПроцедуры
Процедура Слак_ОтправитьУдалитьЭфемерное() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_Token");
Канал = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_Channel");
Пользователь = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_User");
Картинка = "https://github.com/Bayselonarrend/OpenIntegrations/raw/main/Media/logo.png?v1";
Текст = "Тестовое сообщение 1";
Блок = OPI_Slack.СформироватьБлокКартинку(Картинка, "Yo");
Результат = OPI_Slack.ОтправитьЭфемерноеСообщение(Токен, Канал, Текст, Пользователь, Блок);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьСообщение");
Проверка_СлакОк(Результат);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["message_ts"]).Заполнено();
КонецПроцедуры
Процедура Слак_ПолучитьОтложенныеСообщения() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_Token");
Канал = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_Channel");
Результат = OPI_Slack.ПолучитьСписокОтложенныхСообщений(Токен, Канал);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокОтложенныхСообщений");
Проверка_СлакОк(Результат);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["scheduled_messages"]).ИмеетТип("Массив");
КонецПроцедуры
Процедура Слак_СоздатьАрхивироватьКанал() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_Token");
Пользователь = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_User");
Имя = "testconv" + Строка(Новый УникальныйИдентификатор);
Тема = "Тестовая тема";
Цель = "Тестовая цель";
#Область СоздатьКанал
Результат = OPI_Slack.СоздатьКанал(Токен, Имя);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьКанал");
Данные = Результат["channel"];
Канал = Данные["id"];
Проверка_СлакОк(Результат);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Данные["name"]).Равно(Имя);
#КонецОбласти
#Область УстановитьТемуКанала
Результат = OPI_Slack.УстановитьТемуКанала(Токен, Канал, Тема);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УстановитьТемуКанала");
Данные = Результат["channel"];
Канал = Данные["id"];
Проверка_СлакОк(Результат);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Данные["name"]).Равно(Имя);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Данные["topic"]["value"]).Равно(Тема);
#КонецОбласти
#Область УстановитьЦельКанала
Результат = OPI_Slack.УстановитьЦельКанала(Токен, Канал, Цель);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УстановитьЦельКанала");
Проверка_СлакОк(Результат);
#КонецОбласти
#Область ПолучитьКанал
Результат = OPI_Slack.ПолучитьКанал(Токен, Канал);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьКанал");
Данные = Результат["channel"];
Канал = Данные["id"];
Проверка_СлакОк(Результат);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Данные["name"]).Равно(Имя);
#КонецОбласти
#Область ПригласитьПользователейВКанал
Результат = OPI_Slack.ПригласитьПользователейВКанал(Токен, Канал, Пользователь);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПригласитьПользователейВКанал");
Данные = Результат["channel"];
Канал = Данные["id"];
Проверка_СлакОк(Результат);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Данные["name"]).Равно(Имя);
#КонецОбласти
#Область ВыгнатьПользователяИзКанала
Результат = OPI_Slack.ВыгнатьПользователяИзКанала(Токен, Канал, Пользователь);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ВыгнатьПользователяИзКанала");
Проверка_СлакОк(Результат);
#КонецОбласти
#Область ПолучитьИсториюКанала
Результат = OPI_Slack.ПолучитьИсториюКанала(Токен, Канал);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьИсториюКанала");
Проверка_СлакОк(Результат);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["messages"]).ИмеетТип("Массив");
#КонецОбласти
#Область ПолучитьСписокПользователейКанала
Результат = OPI_Slack.ПолучитьСписокПользователейКанала(Токен, Канал);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокПользователейКанала");
Проверка_СлакОк(Результат);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["members"]).ИмеетТип("Массив");
#КонецОбласти
#Область ПокинутьКанал
Результат = OPI_Slack.ПокинутьКанал(Токен, Канал);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПокинутьКанал");
Проверка_СлакОк(Результат);
#КонецОбласти
#Область ВступитьВКанал
Результат = OPI_Slack.ВступитьВКанал(Токен, Канал);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ВступитьВКанал");
Данные = Результат["channel"];
Канал = Данные["id"];
Проверка_СлакОк(Результат);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Данные["name"]).Равно(Имя);
#КонецОбласти
#Область ПереименоватьКанал
НовоеИмя = "testconv" + Строка(Новый УникальныйИдентификатор);
Результат = OPI_Slack.ПереименоватьКанал(Токен, Канал, НовоеИмя);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПереименоватьКанал");
Данные = Результат["channel"];
Канал = Данные["id"];
Проверка_СлакОк(Результат);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Данные["name"]).Равно(НовоеИмя);
#КонецОбласти
#Область АрхивироватьКанал
Результат = OPI_Slack.АрхивироватьКанал(Токен, Канал);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "АрхивироватьКанал");
Проверка_СлакОк(Результат);
#КонецОбласти
КонецПроцедуры
Процедура Слак_ПолучитьСписокКаналов() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_Token");
Результат = OPI_Slack.ПолучитьСписокКаналов(Токен);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокКаналов");
Проверка_СлакОк(Результат);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["channels"]).ИмеетТип("Массив");
КонецПроцедуры
Процедура Слак_ОткрытьЗакрытьДиалог() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_Token");
Пользователь = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_User");
Текст = "Yo, dude";
Результат = OPI_Slack.ОткрытьДиалог(Токен, Пользователь);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОткрытьДиалог");
Диалог = Результат["channel"]["id"];
Проверка_СлакОк(Результат);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["channel"]).ИмеетТип("Соответствие");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Диалог).Заполнено();
Результат = OPI_Slack.ОтправитьСообщение(Токен, Диалог, Текст);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьСообщение");
Проверка_СлакОк(Результат);
Результат = OPI_Slack.ЗакрытьДиалог(Токен, Диалог);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗакрытьДиалог");
Проверка_СлакОк(Результат);
КонецПроцедуры
Процедура Слак_ПолучитьСписокФайлов() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_Token");
Канал = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_Channel");
Результат = OPI_Slack.ПолучитьСписокФайлов(Токен, Канал);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокФайлов");
Проверка_СлакОк(Результат);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["files"]).ИмеетТип("Массив");
КонецПроцедуры
Процедура Слак_ЗагрузитьУдалитьФайл() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_Token");
Файл = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Document");
Канал = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_Channel");
МассивФайлов = Новый Массив;
ИмяФайла = "megadoc.docx";
Заголовок = "Новый файл";
Результат = OPI_Slack.ЗагрузитьФайл(Токен, Файл, ИмяФайла, Заголовок);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗагрузитьФайл");
ЗагруженныйФайл = Результат["files"][0];
МассивФайлов.Добавить(ЗагруженныйФайл["id"]);
Проверка_СлакОк(Результат);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(ЗагруженныйФайл["name"]).Равно(ИмяФайла);
Результат = OPI_Slack.ЗагрузитьФайл(Токен, Файл, ИмяФайла, Заголовок, Канал);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗагрузитьФайл (в канал)");
ЗагруженныйФайл = Результат["files"][0];
МассивФайлов.Добавить(ЗагруженныйФайл["id"]);
Проверка_СлакОк(Результат);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(ЗагруженныйФайл["name"]).Равно(ИмяФайла);
Результат = OPI_Slack.ПолучитьДанныеФайла(Токен, ЗагруженныйФайл["id"]);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьФайл");
ЗагруженныйФайл = Результат["file"];
Проверка_СлакОк(Результат);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(ЗагруженныйФайл["name"]).Равно(ИмяФайла);
Для Каждого ЗагруженныйФайл Из МассивФайлов Цикл
Результат = OPI_Slack.УдалитьФайл(Токен, ЗагруженныйФайл);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьФайл");
Проверка_СлакОк(Результат);
КонецЦикла;
КонецПроцедуры
Процедура Слак_ПолучитьСписокВФ() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_Token");
Канал = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_Channel");
Результат = OPI_Slack.ПолучитьСписокВнешнихФайлов(Токен);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокВнешнихФайлов");
Проверка_СлакОк(Результат);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["files"]).ИмеетТип("Массив");
Результат = OPI_Slack.ПолучитьСписокВнешнихФайлов(Токен, Канал);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокВнешнихФайлов");
Проверка_СлакОк(Результат);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["files"]).ИмеетТип("Массив");
КонецПроцедуры
Процедура Слак_ЗагрузитьУдалитьВФ() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_Token");
Файл = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Document");
Канал = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_Channel");
Заголовок = "Новый файл";
Результат = OPI_Slack.ДобавитьВнешнийФайл(Токен, Файл, Заголовок);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьВнешнийФайл");
ЗагруженныйФайл = Результат["file"];
Проверка_СлакОк(Результат);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(ЗагруженныйФайл["title"]).Равно(Заголовок);
Результат = OPI_Slack.ПолучитьВнешнийФайл(Токен, ЗагруженныйФайл["id"]);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьВнешнийФайл");
ЗагруженныйФайл = Результат["file"];
Проверка_СлакОк(Результат);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(ЗагруженныйФайл["title"]).Равно(Заголовок);
Результат = OPI_Slack.ОтправитьВнешнийФайл(Токен, ЗагруженныйФайл["id"], Канал);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьВнешнийФайл");
Проверка_СлакОк(Результат);
Результат = OPI_Slack.УдалитьВнешнийФайл(Токен, ЗагруженныйФайл["id"]);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьВнешнийФайл");
Проверка_СлакОк(Результат);
КонецПроцедуры
#КонецОбласти
#Область Airtable
Процедура АТ_СоздатьБазу() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Airtable_Token");
Область = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Airtable_Workspace");
Наименование = "Тестовая база";
МассивПолей = Новый Массив;
МассивПолей.Добавить(OPI_Airtable.ПолучитьПолеНомера("Номер"));
МассивПолей.Добавить(OPI_Airtable.ПолучитьПолеСтроковое("Строковое"));
ИмяТаблицы = "Тестовая таблица";
СоответствиеТаблиц = Новый Соответствие;
СоответствиеТаблиц.Вставить(ИмяТаблицы, МассивПолей);
Результат = OPI_Airtable.СоздатьБазу(Токен, Область, Наименование, СоответствиеТаблиц);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьБазу");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["id"]).Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["tables"][0]["name"]).Равно(ИмяТаблицы);
База = Результат["id"];
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Airtable_Base", База);
Результат = OPI_Airtable.ПолучитьТаблицыБазы(Токен, База);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьТаблицыБазы");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["tables"]).Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["tables"]).ИмеетТип("Массив");
Результат = OPI_Airtable.ПолучитьСписокБаз(Токен);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокБаз");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["bases"]).Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["bases"]).ИмеетТип("Массив");
КонецПроцедуры
Процедура АТ_СоздатьТаблицу() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Airtable_Token");
База = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Airtable_Base");
МассивПолей = Новый Массив;
МассивПолей.Добавить(OPI_Airtable.ПолучитьПолеНомера("Номер"));
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(МассивПолей[0], "ПолучитьПолеНомера");
МассивПолей.Добавить(OPI_Airtable.ПолучитьПолеСтроковое("Строковое"));
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(МассивПолей[1], "ПолучитьПолеСтроковое");
МассивПолей.Добавить(OPI_Airtable.ПолучитьПолеВложения("Вложение"));
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(МассивПолей[2], "ПолучитьПолеВложения");
МассивПолей.Добавить(OPI_Airtable.ПолучитьПолеФлажка("Флажок"));
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(МассивПолей[3], "ПолучитьПолеФлажка");
МассивПолей.Добавить(OPI_Airtable.ПолучитьПолеДаты("Дата"));
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(МассивПолей[4], "ПолучитьПолеДаты");
МассивПолей.Добавить(OPI_Airtable.ПолучитьПолеТелефона("Телефон"));
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(МассивПолей[5], "ПолучитьПолеТелефона");
МассивПолей.Добавить(OPI_Airtable.ПолучитьПолеПочты("Почта"));
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(МассивПолей[6], "ПолучитьПолеПочты");
МассивПолей.Добавить(OPI_Airtable.ПолучитьПолеСсылки("Ссылка"));
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(МассивПолей[7], "ПолучитьПолеСсылки");
ИмяТаблицы = "Тестовая таблица 2";
Описание = "Новая таблица";
Результат = OPI_Airtable.СоздатьТаблицу(Токен, База, ИмяТаблицы, МассивПолей, Описание);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьТаблицу");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["name"]).Равно(ИмяТаблицы);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["description"]).Равно(Описание);
Таблица = Результат["id"];
ИмяТаблицы = "Тестовая таблица 2 (изм.)";
Описание = "Новая таблица (изм.)";
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Airtable_Table", Таблица);
Результат = OPI_Airtable.ИзменитьТаблицу(Токен, База, Таблица, ИмяТаблицы, Описание);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьТаблицу");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["name"]).Равно(ИмяТаблицы);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["description"]).Равно(Описание);
КонецПроцедуры
Процедура АТ_СоздатьПоле() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Airtable_Token");
База = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Airtable_Base");
Таблица = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Airtable_Table");
Имя = Строка(Новый УникальныйИдентификатор);
Поле = OPI_Airtable.ПолучитьПолеНомера(Имя);
Результат = OPI_Airtable.СоздатьПоле(Токен, База, Таблица, Поле);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьПоле");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["name"]).Равно(Имя);
Поле = Результат["id"];
Имя = Имя + "(изм.)";
Описание = "Новое описание";
Результат = OPI_Airtable.ИзменитьПоле(Токен, База, Таблица, Поле, Имя, Описание);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьПоле");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["name"]).Равно(Имя);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["description"]).Равно(Описание);
КонецПроцедуры
Процедура АТ_СоздатьУдалитьЗаписи() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Airtable_Token");
База = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Airtable_Base");
Таблица = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Airtable_Table");
Числовой = 10;
Строчный = "Привет";
ОписаниеСтроки1 = Новый Структура("Номер,Строковое", Числовой, Строчный);
ОписаниеСтроки2 = Новый Структура("Номер,Строковое", Числовой, Строчный);
МассивУдаляемых = Новый Массив;
МассивОписаний = Новый Массив;
МассивОписаний.Добавить(ОписаниеСтроки1);
МассивОписаний.Добавить(ОписаниеСтроки2);
Результат = OPI_Airtable.СоздатьЗаписи(Токен, База, Таблица, МассивОписаний);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьЗаписи");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["records"]).ИмеетТип("Массив");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["records"].Количество()).Равно(2);
Для Каждого Запись Из Результат["records"] Цикл
МассивУдаляемых.Добавить(Запись["id"]);
КонецЦикла;
Результат = OPI_Airtable.СоздатьЗаписи(Токен, База, Таблица, ОписаниеСтроки1);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьЗаписи (одна)");
ОдиночнаяЗапись = Результат["id"];
OPI_ПолучениеДанныхТестов.ОжидаетЧто(ОдиночнаяЗапись).Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["createdTime"]).Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["fields"]["Номер"]).Равно(Числовой);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(СокрЛП(Результат["fields"]["Строковое"])).Равно(Строчный);
Результат = OPI_Airtable.ПолучитьЗапись(Токен, База, Таблица, ОдиночнаяЗапись);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьЗапись");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["id"]).Равно(ОдиночнаяЗапись);
Текст = "Тестовый комментарий";
Результат = OPI_Airtable.СоздатьКомментарий(Токен, База, Таблица, ОдиночнаяЗапись, Текст);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьКомментарий");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["text"]).Равно(Текст);
Коммент = Результат["id"];
Текст = "Тестовый комментарий (изм.)";
Результат = OPI_Airtable.ИзменитьКомментарий(Токен, База, Таблица, ОдиночнаяЗапись, Коммент, Текст);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьКомментарий");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["text"]).Равно(Текст);
Результат = OPI_Airtable.ПолучитьКомментарии(Токен, База, Таблица, ОдиночнаяЗапись);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьКомментарии");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["comments"]).ИмеетТип("Массив");
Результат = OPI_Airtable.УдалитьКомментарий(Токен, База, Таблица, ОдиночнаяЗапись, Коммент);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьКомментарий");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["deleted"]).Равно(Истина);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["id"]).Равно(Коммент);
Результат = OPI_Airtable.ПолучитьСписокЗаписей(Токен, База, Таблица);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокЗаписей");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["records"]).ИмеетТип("Массив");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["records"]).Заполнено();
Результат = OPI_Airtable.УдалитьЗаписи(Токен, База, Таблица, МассивУдаляемых);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьЗаписи");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["records"]).ИмеетТип("Массив");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["records"]).Заполнено();
Результат = OPI_Airtable.УдалитьЗаписи(Токен, База, Таблица, ОдиночнаяЗапись);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьЗаписи (одна)");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["records"]).ИмеетТип("Массив");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["records"]).Заполнено();
КонецПроцедуры
#КонецОбласти
#КонецОбласти
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
Функция ПолучитьПараметрыВК()
Параметры = Новый Структура;
НомерГруппы = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("VK_GroupID");
Параметры.Вставить("access_token" , OPI_ПолучениеДанныхТестов.ПолучитьПараметр("VK_Token"));
Параметры.Вставить("owner_id" , "-" + НомерГруппы);
Параметры.Вставить("app_id" , OPI_ПолучениеДанныхТестов.ПолучитьПараметр("VK_AppID"));
Параметры.Вставить("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_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["username"]).Заполнено();
КонецПроцедуры
Процедура Проверка_ТелеграмМассив(Результат)
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие") .Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Массив");
КонецПроцедуры
Процедура Проверка_ТелеграмУстановкаВебхук(Знач Результат)
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).Равно(Истина);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["description"]).Равно("Webhook was set");
КонецПроцедуры
Процедура Проверка_ТелеграмУдалениеВебхук(Знач Результат)
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).Равно(Истина);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["description"]).Равно("Webhook was deleted");
КонецПроцедуры
Процедура Проверка_ВКИстина(Знач Результат)
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["response"]).ИмеетТип("Число").Равно(1);
КонецПроцедуры
Процедура Проверка_ГКОбъект(Знач Результат, Знач Наименование, Знач Описание)
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["summary"]).Равно(Наименование);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["description"]).Равно(Описание);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["id"]).ИмеетТип("Строка").Заполнено();
КонецПроцедуры
Процедура Проверка_Пусто(Знач Результат)
OPI_ПолучениеДанныхТестов.ОжидаетЧто(ЗначениеЗаполнено(Результат)).Равно(Ложь);
КонецПроцедуры
Процедура Проверка_ТвиттерТекст(Знач Результат, Знач Текст)
ТекстОтвета = Результат["data"]["text"];
ТекстОтвета = Лев(ТекстОтвета, СтрДлина(Текст));
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(ТекстОтвета).Равно(Текст);
КонецПроцедуры
Процедура Проверка_ВайберОк(Знач Результат)
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["status_message"]).Равно("ok");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["status"]).Равно(0);
КонецПроцедуры
Процедура Проверка_НоушнОбъект(Знач Результат, Знач Вид = "page")
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["object"]).Равно(Вид);
КонецПроцедуры
Процедура Проверка_СлакОк(Знач Результат)
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина);
КонецПроцедуры
#КонецОбласти
#КонецОбласти