From 7c8597ea78fd98e21cedfc1cae6fc214370c7246 Mon Sep 17 00:00:00 2001 From: Anton Date: Sun, 13 Oct 2024 14:51:15 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A2=D0=B5=D1=81=D1=82=D1=8B=20CLI=20=D0=B4?= =?UTF-8?q?=D0=BB=D1=8F=20Slack=20=D0=B8=20Notion?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../OPI_ПолучениеДанныхТестов/Module.bsl | 13 +- .../OPI_ПреобразованиеТипов/Module.bsl | 49 +- .../src/CommonModules/OPI_Тесты/Module.bsl | 2 +- .../src/CommonModules/OPI_ТестыCLI/Module.bsl | 1195 +++++++++++++++++ 4 files changed, 1230 insertions(+), 29 deletions(-) diff --git a/src/ru/OPI/src/CommonModules/OPI_ПолучениеДанныхТестов/Module.bsl b/src/ru/OPI/src/CommonModules/OPI_ПолучениеДанныхТестов/Module.bsl index 98ba1ef53f..c672e2803b 100644 --- a/src/ru/OPI/src/CommonModules/OPI_ПолучениеДанныхТестов/Module.bsl +++ b/src/ru/OPI/src/CommonModules/OPI_ПолучениеДанныхТестов/Module.bsl @@ -1849,16 +1849,9 @@ Значение = XMLСтрока(Значение); - ИначеЕсли ТекущийТип = Тип("Массив") Тогда - - Для Н = 0 По Значение.ВГраница() Цикл - Значение.Установить(Н, ПолучитьЗначениеДляCLI(Значение[Н], Истина)); - КонецЦикла; - - Значение = СтрСоединить(Значение, "','"); - Значение = """['" + Значение + "']"""; - - ИначеЕсли ТекущийТип = Тип("Структура") Или ТекущийТип = Тип("Соответствие") Тогда + ИначеЕсли ТекущийТип = Тип("Структура") + Или ТекущийТип = Тип("Соответствие") + Или ТекущийТип = Тип("Массив") Тогда ЗаписьJSON = Новый ЗаписьJSON(); ПараметрыЗаписи = Новый ПараметрыЗаписиJSON(ПереносСтрокJSON.Нет, , Ложь); diff --git a/src/ru/OPI/src/CommonModules/OPI_ПреобразованиеТипов/Module.bsl b/src/ru/OPI/src/CommonModules/OPI_ПреобразованиеТипов/Module.bsl index 9c96d6c24f..c04ec56fc8 100644 --- a/src/ru/OPI/src/CommonModules/OPI_ПреобразованиеТипов/Module.bsl +++ b/src/ru/OPI/src/CommonModules/OPI_ПреобразованиеТипов/Module.bsl @@ -1,4 +1,4 @@ -// OneScript: ./OInt/tools/Modules/OPI_ПреобразованиеТипов.os +// OneScript: ./OInt/tools/Modules/OPI_ПреобразованиеТипов.os // MIT License @@ -159,21 +159,32 @@ Если ТипЗнч(Значение) = Тип("Строка") И СтрНачинаетсяС(Значение, "[") И СтрЗаканчиваетсяНа(Значение, "]") Тогда - ЗапятаяВКавычках = "','"; - - Значение = СтрЗаменить(Значение, "['" , ""); - Значение = СтрЗаменить(Значение, "']" , ""); - Значение = СтрЗаменить(Значение, "', '" , ЗапятаяВКавычках); - Значение = СтрЗаменить(Значение, "' , '", ЗапятаяВКавычках); - Значение = СтрЗаменить(Значение, "' ,'" , ЗапятаяВКавычках); - - Значение = СтрРазделить(Значение, ЗапятаяВКавычках, Ложь); - - Для Н = 0 По Значение.ВГраница() Цикл - - Значение[Н] = СокрЛП(Значение[Н]); - - КонецЦикла; + Попытка + + ЧтениеJSON = Новый ЧтениеJSON; + ЧтениеJSON.УстановитьСтроку(Значение); + Значение = ПрочитатьJSON(ЧтениеJSON); + ЧтениеJSON.Закрыть(); + + Исключение + + ЗапятаяВКавычках = "','"; + + Значение = СтрЗаменить(Значение, "['" , ""); + Значение = СтрЗаменить(Значение, "']" , ""); + Значение = СтрЗаменить(Значение, "', '" , ЗапятаяВКавычках); + Значение = СтрЗаменить(Значение, "' , '", ЗапятаяВКавычках); + Значение = СтрЗаменить(Значение, "' ,'" , ЗапятаяВКавычках); + + Значение = СтрРазделить(Значение, ЗапятаяВКавычках, Ложь); + + Для Н = 0 По Значение.ВГраница() Цикл + + Значение[Н] = СокрЛП(Значение[Н]); + + КонецЦикла; + + КонецПопытки; Иначе @@ -181,8 +192,10 @@ Значение = OPI_Инструменты.ЧислоВСтроку(Значение); КонецЕсли; - OPI_Инструменты.ЗначениеВМассив(Значение); - + КонецЕсли; + + Если Не ТипЗнч(Значение) = Тип("Массив") Тогда + OPI_Инструменты.ЗначениеВМассив(Значение); КонецЕсли; КонецПроцедуры diff --git a/src/ru/OPI/src/CommonModules/OPI_Тесты/Module.bsl b/src/ru/OPI/src/CommonModules/OPI_Тесты/Module.bsl index 4c91c985cc..c2062d3b7c 100644 --- a/src/ru/OPI/src/CommonModules/OPI_Тесты/Module.bsl +++ b/src/ru/OPI/src/CommonModules/OPI_Тесты/Module.bsl @@ -6052,7 +6052,7 @@ Токен = ПараметрыФункции["Slack_Token"]; Заголовок = "Новый файл"; - Файл = ПараметрыФункции["Document"]; // URL, Двоичные данные или Путь к файлу + Файл = ПараметрыФункции["Document"]; Результат = OPI_Slack.ДобавитьВнешнийФайл(Токен, Файл, Заголовок); diff --git a/src/ru/OPI/src/CommonModules/OPI_ТестыCLI/Module.bsl b/src/ru/OPI/src/CommonModules/OPI_ТестыCLI/Module.bsl index ae987f6de6..c754e266e1 100644 --- a/src/ru/OPI/src/CommonModules/OPI_ТестыCLI/Module.bsl +++ b/src/ru/OPI/src/CommonModules/OPI_ТестыCLI/Module.bsl @@ -1000,6 +1000,162 @@ #КонецОбласти +#Область Notion + +Процедура CLI_НоушнАпи_СоздатьСтраницу() Экспорт + + ПараметрыТеста = Новый Структура; + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Notion_Token" , ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Notion_Parent", ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture" , ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture2" , ПараметрыТеста); + + CLI_Notion_СоздатьСтраницу(ПараметрыТеста); + CLI_Notion_ПолучитьСтраницу(ПараметрыТеста); + CLI_Notion_ИзменитьСвойстваСтраницы(ПараметрыТеста); + +КонецПроцедуры + +Процедура CLI_НоушнАпи_СоздатьИзменитьБазу() Экспорт + + ПараметрыТеста = Новый Структура; + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Notion_Token" , ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Notion_Parent", ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture" , ПараметрыТеста); + + CLI_Notion_СоздатьБазуДанных(ПараметрыТеста); + CLI_Notion_ИзменитьСвойстваБазы(ПараметрыТеста); + CLI_Notion_ПолучитьБазуДанных(ПараметрыТеста); + CLI_Notion_СоздатьСтраницуВБазу(ПараметрыТеста); + +КонецПроцедуры + +Процедура CLI_НоушнАпи_СоздатьУдалитьБлок() Экспорт + + ПараметрыТеста = Новый Структура; + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Notion_Token" , ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Notion_Parent", ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Notion_Block" , ПараметрыТеста); + + CLI_Notion_ВернутьБлок(ПараметрыТеста); + CLI_Notion_СоздатьБлок(ПараметрыТеста); + CLI_Notion_ВернутьДочерниеБлоки(ПараметрыТеста); + CLI_Notion_УдалитьБлок(ПараметрыТеста); + +КонецПроцедуры + +Процедура CLI_НоушнАпи_ПолучитьПользователей() Экспорт + + ПараметрыТеста = Новый Структура; + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Notion_Token", ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Notion_User" , ПараметрыТеста); + + CLI_Notion_СписокПользователей(ПараметрыТеста); + CLI_Notion_ПолучитьДанныеПользователя(ПараметрыТеста); + +КонецПроцедуры + +#КонецОбласти + +#Область Slack + +Процедура CLI_Слак_ПолучитьИнформацию() Экспорт + + ПараметрыТеста = Новый Структура; + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Slack_Token", ПараметрыТеста); + + CLI_Slack_ПолучитьИнформациюОБоте(ПараметрыТеста); + CLI_Slack_ПолучитьСписокПользователей(ПараметрыТеста); + CLI_Slack_ПолучитьСписокРабочихОбластей(ПараметрыТеста); + +КонецПроцедуры + +Процедура CLI_Слак_ОтправитьУдалитьСообщение() Экспорт + + + ПараметрыТеста = Новый Структура; + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Slack_Token" , ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Slack_Channel", ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture" , ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Slack_User" , ПараметрыТеста); + + CLI_Slack_ОтправитьСообщение(ПараметрыТеста); + CLI_Slack_ИзменитьСообщение(ПараметрыТеста); + CLI_Slack_ПолучитьСписокОтветовНаСообщение(ПараметрыТеста); + CLI_Slack_ПолучитьСсылкуНаСообщение(ПараметрыТеста); + CLI_Slack_УдалитьСообщение(ПараметрыТеста); + CLI_Slack_ОтправитьЭфемерноеСообщение(ПараметрыТеста); + CLI_Slack_ПолучитьСписокОтложенныхСообщений(ПараметрыТеста); + CLI_Slack_СформироватьБлокКартинку(ПараметрыТеста); + +КонецПроцедуры + +Процедура CLI_Слак_СоздатьАрхивироватьКанал() Экспорт + + ПараметрыТеста = Новый Структура; + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Slack_Token" , ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Slack_User" , ПараметрыТеста); + + CLI_Slack_СоздатьКанал(ПараметрыТеста); + CLI_Slack_УстановитьТемуКанала(ПараметрыТеста); + CLI_Slack_УстановитьЦельКанала(ПараметрыТеста); + CLI_Slack_ПолучитьКанал(ПараметрыТеста); + CLI_Slack_ПригласитьПользователейВКанал(ПараметрыТеста); + CLI_Slack_ВыгнатьПользователяИзКанала(ПараметрыТеста); + CLI_Slack_ПолучитьИсториюКанала(ПараметрыТеста); + CLI_Slack_ПолучитьСписокПользователейКанала(ПараметрыТеста); + CLI_Slack_ПокинутьКанал(ПараметрыТеста); + CLI_Slack_ВступитьВКанал(ПараметрыТеста); + CLI_Slack_ПереименоватьКанал(ПараметрыТеста); + CLI_Slack_АрхивироватьКанал(ПараметрыТеста); + CLI_Slack_ПолучитьСписокКаналов(ПараметрыТеста); + +КонецПроцедуры + +Процедура CLI_Слак_ОткрытьЗакрытьДиалог() Экспорт + + ПараметрыТеста = Новый Структура; + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Slack_Token" , ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Slack_User" , ПараметрыТеста); + + CLI_Slack_ОткрытьДиалог(ПараметрыТеста); + CLI_Slack_ЗакрытьДиалог(ПараметрыТеста); + +КонецПроцедуры + +Процедура CLI_Слак_ЗагрузитьУдалитьФайл() Экспорт + + ПараметрыТеста = Новый Структура; + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Slack_Token" , ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Slack_Channel", ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Document" , ПараметрыТеста); + + CLI_Slack_ПолучитьСписокФайлов(ПараметрыТеста); + CLI_Slack_ЗагрузитьФайл(ПараметрыТеста); + CLI_Slack_СделатьФайлПубличным(ПараметрыТеста); + CLI_Slack_СделатьФайлПриватным(ПараметрыТеста); + CLI_Slack_ПолучитьДанныеФайла(ПараметрыТеста); + CLI_Slack_УдалитьФайл(ПараметрыТеста); + +КонецПроцедуры + +Процедура CLI_Слак_ЗагрузитьУдалитьВФ() Экспорт + + ПараметрыТеста = Новый Структура; + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Slack_Token" , ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Slack_Channel", ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Document" , ПараметрыТеста); + + CLI_Slack_ПолучитьСписокВнешнихФайлов(ПараметрыТеста); + CLI_Slack_ДобавитьВнешнийФайл(ПараметрыТеста); + CLI_Slack_ПолучитьВнешнийФайл(ПараметрыТеста); + CLI_Slack_ОтправитьВнешнийФайл(ПараметрыТеста); + CLI_Slack_УдалитьВнешнийФайл(ПараметрыТеста); + +КонецПроцедуры + +#КонецОбласти + #КонецОбласти #КонецОбласти @@ -5152,6 +5308,1045 @@ #КонецОбласти +#Область Notion + +Процедура CLI_Notion_СоздатьСтраницу(ПараметрыФункции) + + Токен = ПараметрыФункции["Notion_Token"]; + Родитель = ПараметрыФункции["Notion_Parent"]; + Заголовок = "Тестовый заголовок"; + + Опции = Новый Структура; + Опции.Вставить("token", Токен); + Опции.Вставить("page" , Родитель); + Опции.Вставить("title", Заголовок); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("notion", "СоздатьСтраницу", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьСтраницу", "Notion"); + OPI_ПолучениеДанныхТестов.Проверка_НоушнОбъект(Результат); + + Страница = Результат["id"]; + OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Notion_Page", Страница); + OPI_Инструменты.ДобавитьПоле("Notion_Page", Страница, "Строка", ПараметрыФункции); + +КонецПроцедуры + +Процедура CLI_Notion_СоздатьБазуДанных(ПараметрыФункции) + + Токен = ПараметрыФункции["Notion_Token"]; + Родитель = ПараметрыФункции["Notion_Parent"]; + Заголовок = "Тестовый заголовок"; + + Свойства = Новый Соответствие; + Свойства.Вставить("Имя" , "title"); + Свойства.Вставить("Описание" , "rich_text"); + Свойства.Вставить("Номер" , "number"); + Свойства.Вставить("Статус" , "status"); + Свойства.Вставить("Дата создания" , "date"); + Свойства.Вставить("Картинка" , "files"); + Свойства.Вставить("Активен" , "checkbox"); + Свойства.Вставить("Сайт" , "url"); + Свойства.Вставить("Почта" , "email"); + Свойства.Вставить("Телефон" , "phone_number"); + Свойства.Вставить("Пользователь" , "people"); + + ВыборЗначения = Новый Соответствие; + ВыборЗначения.Вставить("Новый" , "green"); + ВыборЗначения.Вставить("В работе" , "yellow"); + ВыборЗначения.Вставить("Удаленный", "red"); + + Свойства.Вставить("Статус", ВыборЗначения); + + Опции = Новый Структура; + Опции.Вставить("token", Токен); + Опции.Вставить("page" , Родитель); + Опции.Вставить("title", Заголовок); + Опции.Вставить("props", Свойства); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("notion", "СоздатьБазуДанных", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьБазуДанных", "Notion"); + OPI_ПолучениеДанныхТестов.Проверка_НоушнОбъект(Результат, "database"); + + База = Результат["id"]; + OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Notion_Base", База); + OPI_Инструменты.ДобавитьПоле("Notion_Base", База, "Строка", ПараметрыФункции); + +КонецПроцедуры + +Процедура CLI_Notion_ИзменитьСвойстваБазы(ПараметрыФункции) + + Токен = ПараметрыФункции["Notion_Token"]; + База = ПараметрыФункции["Notion_Base"]; + + Заголовок = "Тестовый заголовок"; + Описание = "Тестовое описание"; + + Свойства = Новый Соответствие; + Свойства.Вставить("Почта", "rich_text"); // Тип поля "Почта" будет изменен с email на текст + Свойства.Вставить("Сайт"); // Поле "Сайт" будет удалено + + Опции = Новый Структура; + Опции.Вставить("token" , Токен); + Опции.Вставить("base" , База); + Опции.Вставить("props" , Свойства); + Опции.Вставить("title" , Заголовок); + Опции.Вставить("description", Описание); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("notion", "ИзменитьСвойстваБазы", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьСвойстваБазы", "Notion"); + OPI_ПолучениеДанныхТестов.Проверка_НоушнОбъект(Результат, "database"); + +КонецПроцедуры + +Процедура CLI_Notion_ПолучитьСтраницу(ПараметрыФункции) + + Токен = ПараметрыФункции["Notion_Token"]; + Страница = ПараметрыФункции["Notion_Page"]; + + Опции = Новый Структура; + Опции.Вставить("token" , Токен); + Опции.Вставить("page" , Страница); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("notion", "ПолучитьСтраницу", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтраницу", "Notion"); + OPI_ПолучениеДанныхТестов.Проверка_НоушнОбъект(Результат); + +КонецПроцедуры + +Процедура CLI_Notion_ПолучитьБазуДанных(ПараметрыФункции) + + Токен = ПараметрыФункции["Notion_Token"]; + База = ПараметрыФункции["Notion_Base"]; + + Опции = Новый Структура; + Опции.Вставить("token", Токен); + Опции.Вставить("base" , База); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("notion", "ПолучитьБазуДанных", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьБазуДанных", "Notion"); + OPI_ПолучениеДанныхТестов.Проверка_НоушнОбъект(Результат, "database"); + +КонецПроцедуры + +Процедура CLI_Notion_СоздатьСтраницуВБазу(ПараметрыФункции) + + Токен = ПараметрыФункции["Notion_Token"]; + База = ПараметрыФункции["Notion_Base"]; + Картинка_ = ПараметрыФункции["Picture"]; // URL, Двоичные данные или Путь к файлу + + Картинка = Новый Соответствие; + Картинка.Вставить("Лого", Картинка_); + + Свойства = Новый Соответствие; + Свойства.Вставить("Имя" , "ООО Вектор"); + Свойства.Вставить("Описание" , "Наш первый клиент"); + Свойства.Вставить("Номер" , 1); + Свойства.Вставить("Статус" , "Обычный"); + Свойства.Вставить("Дата создания" , OPI_Инструменты.ПолучитьТекущуюДату()); + Свойства.Вставить("Картинка" , Картинка); + Свойства.Вставить("Активен" , Истина); + Свойства.Вставить("Сайт" , "https://vector.ru"); + Свойства.Вставить("Почта" , "mail@vector.ru"); + Свойства.Вставить("Телефон" , "88005553535"); + Свойства.Вставить("Статус" , "Новый"); + + Опции = Новый Структура; + Опции.Вставить("token", Токен); + Опции.Вставить("base" , База); + Опции.Вставить("data" , Свойства); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("notion", "СоздатьСтраницуВБазу", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьСтраницуВБазу", "Notion"); + OPI_ПолучениеДанныхТестов.Проверка_НоушнСтраницаБазы(Результат, База); + +КонецПроцедуры + +Процедура CLI_Notion_ИзменитьСвойстваСтраницы(ПараметрыФункции) + + Токен = ПараметрыФункции["Notion_Token"]; + Страница = ПараметрыФункции["Notion_Page"]; + Иконка = ПараметрыФункции["Picture"]; + Обложка = ПараметрыФункции["Picture2"]; + Архивировать = Ложь; + + Свойства = Новый Соответствие; + Свойства.Вставить("Активен" , Ложь); + Свойства.Вставить("Почта" , "vector@mail.ru"); + + Опции = Новый Структура; + Опции.Вставить("token" , Токен); + Опции.Вставить("page" , Страница); + Опции.Вставить("data" , Свойства); + Опции.Вставить("icon" , Иконка); + Опции.Вставить("cover" , Обложка); + Опции.Вставить("archive", Архивировать); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("notion", "ИзменитьСвойстваСтраницы", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьСвойстваСтраницы", "Notion"); + OPI_ПолучениеДанныхТестов.Проверка_НоушнОбъект(Результат); + +КонецПроцедуры + +Процедура CLI_Notion_ВернутьБлок(ПараметрыФункции) + + Токен = ПараметрыФункции["Notion_Token"]; + Блок = ПараметрыФункции["Notion_Block"]; + + Опции = Новый Структура; + Опции.Вставить("token" , Токен); + Опции.Вставить("block" , Блок); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("notion", "ВернутьБлок", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ВернутьБлок", "Notion"); + OPI_ПолучениеДанныхТестов.Проверка_НоушнОбъект(Результат, "block"); + +КонецПроцедуры + +Процедура CLI_Notion_СоздатьБлок(ПараметрыФункции) + + Токен = ПараметрыФункции["Notion_Token"]; + Родитель = ПараметрыФункции["Notion_Parent"]; + Блок = ПараметрыФункции["Notion_Block"]; + + Опции = Новый Структура; + Опции.Вставить("token" , Токен); + Опции.Вставить("block" , Блок); + + ДанныеБлока = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("notion", "ВернутьБлок", Опции); + + Опции = Новый Структура; + Опции.Вставить("token" , Токен); + Опции.Вставить("page" , Родитель); + Опции.Вставить("block" , ДанныеБлока); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("notion", "СоздатьБлок", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьБлок", "Notion"); + OPI_ПолучениеДанныхТестов.Проверка_НоушнОбъект(Результат, "list"); + + Блок = Результат["results"][0]["id"]; + OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Notion_NewBlock", Блок); + OPI_Инструменты.ДобавитьПоле("Notion_NewBlock", Блок, "Строка", ПараметрыФункции); + +КонецПроцедуры + +Процедура CLI_Notion_ВернутьДочерниеБлоки(ПараметрыФункции) + + Токен = ПараметрыФункции["Notion_Token"]; + Блок = ПараметрыФункции["Notion_NewBlock"]; + + Опции = Новый Структура; + Опции.Вставить("token" , Токен); + Опции.Вставить("block" , Блок); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("notion", "ВернутьДочерниеБлоки", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ВернутьДочерниеБлоки", "Notion"); + OPI_ПолучениеДанныхТестов.Проверка_НоушнОбъект(Результат, "list"); + +КонецПроцедуры + +Процедура CLI_Notion_УдалитьБлок(ПараметрыФункции) + + Токен = ПараметрыФункции["Notion_Token"]; + Блок = ПараметрыФункции["Notion_NewBlock"]; + + Опции = Новый Структура; + Опции.Вставить("token" , Токен); + Опции.Вставить("block" , Блок); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("notion", "УдалитьБлок", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьБлок", "Notion"); + OPI_ПолучениеДанныхТестов.Проверка_НоушнОбъект(Результат, "block"); + +КонецПроцедуры + +Процедура CLI_Notion_СписокПользователей(ПараметрыФункции) + + Токен = ПараметрыФункции["Notion_Token"]; + + Опции = Новый Структура; + Опции.Вставить("token" , Токен); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("notion", "СписокПользователей", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СписокПользователей", "Notion"); + OPI_ПолучениеДанныхТестов.Проверка_НоушнОбъект(Результат, "list"); + +КонецПроцедуры + +Процедура CLI_Notion_ПолучитьДанныеПользователя(ПараметрыФункции) + + Токен = ПараметрыФункции["Notion_Token"]; + Пользователь = ПараметрыФункции["Notion_User"]; + + Опции = Новый Структура; + Опции.Вставить("token" , Токен); + Опции.Вставить("user" , Пользователь); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("notion", "ПолучитьДанныеПользователя", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьДанныеПользователя", "Notion"); + OPI_ПолучениеДанныхТестов.Проверка_НоушнОбъект(Результат, "user"); + +КонецПроцедуры + +#КонецОбласти + +#Область Slack + +Процедура CLI_Slack_ПолучитьИнформациюОБоте(ПараметрыФункции) + + Токен = ПараметрыФункции["Slack_Token"]; + + Опции = Новый Структура; + Опции.Вставить("token", Токен); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("slack", "ПолучитьИнформациюОБоте", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьИнформациюОБоте", "Slack"); + OPI_ПолучениеДанныхТестов.Проверка_СлакБот(Результат); + +КонецПроцедуры + +Процедура CLI_Slack_ПолучитьСписокПользователей(ПараметрыФункции) + + Токен = ПараметрыФункции["Slack_Token"]; + + Опции = Новый Структура; + Опции.Вставить("token", Токен); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("slack", "ПолучитьСписокПользователей", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокПользователей", "Slack"); + OPI_ПолучениеДанныхТестов.Проверка_СлакПользователи(Результат); + +КонецПроцедуры + +Процедура CLI_Slack_ПолучитьСписокРабочихОбластей(ПараметрыФункции) + + Токен = ПараметрыФункции["Slack_Token"]; + + Опции = Новый Структура; + Опции.Вставить("token", Токен); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("slack", "ПолучитьСписокРабочихОбластей", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокРабочихОбластей", "Slack"); + OPI_ПолучениеДанныхТестов.Проверка_СлакОбласти(Результат); + +КонецПроцедуры + +Процедура CLI_Slack_ОтправитьСообщение(ПараметрыФункции) + + Токен = ПараметрыФункции["Slack_Token"]; + Канал = ПараметрыФункции["Slack_Channel"]; + + // Текстовое + + Текст = "Тестовое сообщение 1"; + + Опции = Новый Структура; + Опции.Вставить("token" , Токен); + Опции.Вставить("channel", Канал); + Опции.Вставить("text" , Текст); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("slack", "ОтправитьСообщение", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьСообщение", "Slack"); // SKIP + OPI_ПолучениеДанныхТестов.Проверка_СлакСообщение(Результат, Текст, Канал); // SKIP + + Отметка = Результат["ts"]; // SKIP + OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Slack_MessageTS", Отметка); // SKIP + OPI_Инструменты.ДобавитьПоле("Slack_MessageTS", Отметка, "Строка", ПараметрыФункции); // SKIP + + + // С вложениями (в примере: блок с картинкой) + + Текст = "Сообщение с картинкой"; + Картинка = ПараметрыФункции["Picture"]; + МассивБлоков = Новый Массив; + + Опции = Новый Структура; + Опции.Вставить("picture", Картинка); + Опции.Вставить("alt" , "Картинка"); + + Блок = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("slack", "СформироватьБлокКартинку", Опции); + + МассивБлоков.Добавить(Блок); + + Опции = Новый Структура; + Опции.Вставить("token" , Токен); + Опции.Вставить("channel", Канал); + Опции.Вставить("text" , Текст); + Опции.Вставить("blocks" , МассивБлоков); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("slack", "ОтправитьСообщение", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьСообщение (картинка)"); // SKIP + OPI_ПолучениеДанныхТестов.Проверка_СлакСообщение(Результат, Текст, Канал); // SKIP + + // Отложенное + + Текст = "Отложенное сообщение"; + Час = 3600; + Сутки = 24; + + ДатаОтправки = OPI_Инструменты.ПолучитьТекущуюДату() + (Сутки * Час); + + Опции = Новый Структура; + Опции.Вставить("token" , Токен); + Опции.Вставить("channel", Канал); + Опции.Вставить("text" , Текст); + Опции.Вставить("date" , ДатаОтправки); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("slack", "ОтправитьСообщение", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьСообщение (отложенное)"); + OPI_ПолучениеДанныхТестов.Проверка_СлакОтложенноеСообщение(Результат, Канал); + + Отметка = Результат["scheduled_message_id"]; + Результат = OPI_Slack.УдалитьСообщение(Токен, Канал, Отметка, Истина); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьСообщение (отложенное)"); + OPI_ПолучениеДанныхТестов.Проверка_СлакОк(Результат); + +КонецПроцедуры + +Процедура CLI_Slack_СформироватьБлокКартинку(ПараметрыФункции) + + Картинка = ПараметрыФункции["Picture"]; + + Опции = Новый Структура; + Опции.Вставить("picture", Картинка); + Опции.Вставить("alt" , "Картинка"); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("slack", "СформироватьБлокКартинку", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СформироватьБлокКартинку", "Slack"); + OPI_ПолучениеДанныхТестов.Проверка_Соответствие(Результат); + +КонецПроцедуры + +Процедура CLI_Slack_ИзменитьСообщение(ПараметрыФункции) + + Токен = ПараметрыФункции["Slack_Token"]; + Канал = ПараметрыФункции["Slack_Channel"]; + Отметка = ПараметрыФункции["Slack_MessageTS"]; + + Текст = "Тестовое сообщение 2"; + + Опции = Новый Структура; + Опции.Вставить("token" , Токен); + Опции.Вставить("channel", Канал); + Опции.Вставить("stamp" , Отметка); + Опции.Вставить("text" , Текст); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("slack", "ИзменитьСообщение", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьСообщение", "Slack"); + OPI_ПолучениеДанныхТестов.Проверка_СлакСообщение(Результат, Текст, Канал); + +КонецПроцедуры + +Процедура CLI_Slack_ПолучитьСписокОтветовНаСообщение(ПараметрыФункции) + + Токен = ПараметрыФункции["Slack_Token"]; + Канал = ПараметрыФункции["Slack_Channel"]; + Отметка = ПараметрыФункции["Slack_MessageTS"]; + + Опции = Новый Структура; + Опции.Вставить("token" , Токен); + Опции.Вставить("channel", Канал); + Опции.Вставить("stamp" , Отметка); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("slack", "ПолучитьСписокОтветовНаСообщение", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокОтветовНаСообщение", "Slack"); + OPI_ПолучениеДанныхТестов.Проверка_СлакСообщения(Результат); + +КонецПроцедуры + +Процедура CLI_Slack_ПолучитьСсылкуНаСообщение(ПараметрыФункции) + + Токен = ПараметрыФункции["Slack_Token"]; + Канал = ПараметрыФункции["Slack_Channel"]; + Отметка = ПараметрыФункции["Slack_MessageTS"]; + + Опции = Новый Структура; + Опции.Вставить("token" , Токен); + Опции.Вставить("channel", Канал); + Опции.Вставить("stamp" , Отметка); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("slack", "ПолучитьСсылкуНаСообщение", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСсылкуНаСообщение", "Slack"); + OPI_ПолучениеДанныхТестов.Проверка_СлакСсылкаСообщения(Результат, Канал); + +КонецПроцедуры + +Процедура CLI_Slack_УдалитьСообщение(ПараметрыФункции) + + Токен = ПараметрыФункции["Slack_Token"]; + Канал = ПараметрыФункции["Slack_Channel"]; + Отметка = ПараметрыФункции["Slack_MessageTS"]; + + Опции = Новый Структура; + Опции.Вставить("token" , Токен); + Опции.Вставить("channel", Канал); + Опции.Вставить("stamp" , Отметка); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("slack", "УдалитьСообщение", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьСообщение", "Slack"); + OPI_ПолучениеДанныхТестов.Проверка_СлакОк(Результат); + +КонецПроцедуры + +Процедура CLI_Slack_ОтправитьЭфемерноеСообщение(ПараметрыФункции) + + Токен = ПараметрыФункции["Slack_Token"]; + Канал = ПараметрыФункции["Slack_Channel"]; + Пользователь = ПараметрыФункции["Slack_User"]; + Картинка = ПараметрыФункции["Picture"]; + Текст = "Эфимерное сообщение"; + + Опции = Новый Структура; + Опции.Вставить("picture", Картинка); + Опции.Вставить("alt" , "Картинка"); + + Блок = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("slack", "СформироватьБлокКартинку", Опции); + + Опции = Новый Структура; + Опции.Вставить("token" , Токен); + Опции.Вставить("channel", Канал); + Опции.Вставить("text" , Текст); + Опции.Вставить("user" , Пользователь); + Опции.Вставить("blocks" , Блок); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("slack", "ОтправитьЭфемерноеСообщение", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьЭфемерноеСообщение", "Slack"); + OPI_ПолучениеДанныхТестов.Проверка_СлакЭфемерное(Результат); + +КонецПроцедуры + +Процедура CLI_Slack_ПолучитьСписокОтложенныхСообщений(ПараметрыФункции) + + Токен = ПараметрыФункции["Slack_Token"]; + Канал = ПараметрыФункции["Slack_Channel"]; + + Опции = Новый Структура; + Опции.Вставить("token" , Токен); + Опции.Вставить("channel", Канал); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("slack", "ПолучитьСписокОтложенныхСообщений", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокОтложенныхСообщений", "Slack"); + OPI_ПолучениеДанныхТестов.Проверка_СлакОтложенные(Результат); + +КонецПроцедуры + +Процедура CLI_Slack_СоздатьКанал(ПараметрыФункции) + + Токен = ПараметрыФункции["Slack_Token"]; + Имя = "testconv" + Строка(Новый УникальныйИдентификатор); + + Опции = Новый Структура; + Опции.Вставить("token" , Токен); + Опции.Вставить("title" , Имя); + Опции.Вставить("private", Ложь); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("slack", "СоздатьКанал", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьКанал", "Slack"); + OPI_ПолучениеДанныхТестов.Проверка_СлакКанал(Результат, Имя); + + Канал = Результат["channel"]["id"]; + OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Slack_NewChannel", Канал); + OPI_Инструменты.ДобавитьПоле("Slack_NewChannel", Канал, "Строка", ПараметрыФункции); + + OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Slack_NewChannelName", Имя); + OPI_Инструменты.ДобавитьПоле("Slack_NewChannelName", Имя, "Строка", ПараметрыФункции); + +КонецПроцедуры + +Процедура CLI_Slack_УстановитьТемуКанала(ПараметрыФункции) + + Токен = ПараметрыФункции["Slack_Token"]; + Канал = ПараметрыФункции["Slack_NewChannel"]; + Тема = "Тестовая тема"; + + Опции = Новый Структура; + Опции.Вставить("token" , Токен); + Опции.Вставить("channel", Канал); + Опции.Вставить("theme" , Тема); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("slack", "УстановитьТемуКанала", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УстановитьТемуКанала", "Slack"); + OPI_ПолучениеДанныхТестов.Проверка_СлакТемаКанала(Результат, Тема); + +КонецПроцедуры + +Процедура CLI_Slack_УстановитьЦельКанала(ПараметрыФункции) + + Токен = ПараметрыФункции["Slack_Token"]; + Канал = ПараметрыФункции["Slack_NewChannel"]; + Цель = "Тестовая цель"; + + Опции = Новый Структура; + Опции.Вставить("token" , Токен); + Опции.Вставить("channel", Канал); + Опции.Вставить("purpose", Цель); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("slack", "УстановитьЦельКанала", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УстановитьЦельКанала", "Slack"); + OPI_ПолучениеДанныхТестов.Проверка_СлакОк(Результат); + +КонецПроцедуры + +Процедура CLI_Slack_ПолучитьКанал(ПараметрыФункции) + + Токен = ПараметрыФункции["Slack_Token"]; + Канал = ПараметрыФункции["Slack_NewChannel"]; + + Опции = Новый Структура; + Опции.Вставить("token" , Токен); + Опции.Вставить("channel", Канал); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("slack", "ПолучитьКанал", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьКанал", "Slack"); + OPI_ПолучениеДанныхТестов.Проверка_СлакКанал(Результат, ПараметрыФункции["Slack_NewChannelName"]); + +КонецПроцедуры + +Процедура CLI_Slack_ПригласитьПользователейВКанал(ПараметрыФункции) + + Токен = ПараметрыФункции["Slack_Token"]; + Канал = ПараметрыФункции["Slack_NewChannel"]; + Пользователь = ПараметрыФункции["Slack_User"]; + + Опции = Новый Структура; + Опции.Вставить("token" , Токен); + Опции.Вставить("channel", Канал); + Опции.Вставить("users" , Пользователь); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("slack", "ПригласитьПользователейВКанал", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПригласитьПользователейВКанал", "Slack"); + OPI_ПолучениеДанныхТестов.Проверка_СлакКанал(Результат, ПараметрыФункции["Slack_NewChannelName"]); + +КонецПроцедуры + +Процедура CLI_Slack_ВыгнатьПользователяИзКанала(ПараметрыФункции) + + Токен = ПараметрыФункции["Slack_Token"]; + Канал = ПараметрыФункции["Slack_NewChannel"]; + Пользователь = ПараметрыФункции["Slack_User"]; + + Опции = Новый Структура; + Опции.Вставить("token" , Токен); + Опции.Вставить("channel", Канал); + Опции.Вставить("user" , Пользователь); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("slack", "ВыгнатьПользователяИзКанала", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ВыгнатьПользователяИзКанала", "Slack"); + OPI_ПолучениеДанныхТестов.Проверка_СлакОк(Результат); + +КонецПроцедуры + +Процедура CLI_Slack_ПолучитьИсториюКанала(ПараметрыФункции) + + Токен = ПараметрыФункции["Slack_Token"]; + Канал = ПараметрыФункции["Slack_NewChannel"]; + + Опции = Новый Структура; + Опции.Вставить("token" , Токен); + Опции.Вставить("channel", Канал); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("slack", "ПолучитьИсториюКанала", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьИсториюКанала", "Slack"); + OPI_ПолучениеДанныхТестов.Проверка_СлакИсторияКанала(Результат); + +КонецПроцедуры + +Процедура CLI_Slack_ПолучитьСписокПользователейКанала(ПараметрыФункции) + + Токен = ПараметрыФункции["Slack_Token"]; + Канал = ПараметрыФункции["Slack_NewChannel"]; + + Опции = Новый Структура; + Опции.Вставить("token" , Токен); + Опции.Вставить("channel", Канал); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("slack", "ПолучитьСписокПользователейКанала", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокПользователейКанала", "Slack"); + OPI_ПолучениеДанныхТестов.Проверка_СлакПользователиКанала(Результат); + +КонецПроцедуры + +Процедура CLI_Slack_ПокинутьКанал(ПараметрыФункции) + + Токен = ПараметрыФункции["Slack_Token"]; + Канал = ПараметрыФункции["Slack_NewChannel"]; + + Опции = Новый Структура; + Опции.Вставить("token" , Токен); + Опции.Вставить("channel", Канал); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("slack", "ПокинутьКанал", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПокинутьКанал", "Slack"); + OPI_ПолучениеДанныхТестов.Проверка_СлакОк(Результат); + +КонецПроцедуры + +Процедура CLI_Slack_ВступитьВКанал(ПараметрыФункции) + + Токен = ПараметрыФункции["Slack_Token"]; + Канал = ПараметрыФункции["Slack_NewChannel"]; + + Опции = Новый Структура; + Опции.Вставить("token" , Токен); + Опции.Вставить("channel", Канал); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("slack", "ВступитьВКанал", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ВступитьВКанал", "Slack"); + OPI_ПолучениеДанныхТестов.Проверка_СлакКанал(Результат, ПараметрыФункции["Slack_NewChannelName"]); + +КонецПроцедуры + +Процедура CLI_Slack_ПереименоватьКанал(ПараметрыФункции) + + Токен = ПараметрыФункции["Slack_Token"]; + Канал = ПараметрыФункции["Slack_NewChannel"]; + Название = "testconv" + Строка(Новый УникальныйИдентификатор); + + Опции = Новый Структура; + Опции.Вставить("token" , Токен); + Опции.Вставить("channel", Канал); + Опции.Вставить("title" , Название); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("slack", "ПереименоватьКанал", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПереименоватьКанал", "Slack"); + OPI_ПолучениеДанныхТестов.Проверка_СлакКанал(Результат, Название); + +КонецПроцедуры + +Процедура CLI_Slack_АрхивироватьКанал(ПараметрыФункции) + + Токен = ПараметрыФункции["Slack_Token"]; + Канал = ПараметрыФункции["Slack_NewChannel"]; + + Опции = Новый Структура; + Опции.Вставить("token" , Токен); + Опции.Вставить("channel", Канал); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("slack", "АрхивироватьКанал", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "АрхивироватьКанал", "Slack"); + OPI_ПолучениеДанныхТестов.Проверка_СлакОк(Результат); + +КонецПроцедуры + +Процедура CLI_Slack_ПолучитьСписокКаналов(ПараметрыФункции) + + Токен = ПараметрыФункции["Slack_Token"]; + + Опции = Новый Структура; + Опции.Вставить("token" , Токен); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("slack", "ПолучитьСписокКаналов", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокКаналов", "Slack"); + OPI_ПолучениеДанныхТестов.Проверка_СлакСписокКаналов(Результат); + +КонецПроцедуры + +Процедура CLI_Slack_ОткрытьДиалог(ПараметрыФункции) + + Токен = ПараметрыФункции["Slack_Token"]; + Пользователь = ПараметрыФункции["Slack_User"]; + + Опции = Новый Структура; + Опции.Вставить("token", Токен); + Опции.Вставить("users", Пользователь); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("slack", "ОткрытьДиалог", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОткрытьДиалог", "Slack"); + OPI_ПолучениеДанныхТестов.Проверка_СлакДиалог(Результат); + + Диалог = Результат["channel"]["id"]; + + OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Slack_Dialog", Диалог); + OPI_Инструменты.ДобавитьПоле("Slack_Dialog", Диалог, "Строка", ПараметрыФункции); + + Результат = OPI_Slack.ОтправитьСообщение(Токен, Диалог, "Тест диалог"); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьСообщение (диалог)"); + OPI_ПолучениеДанныхТестов.Проверка_СлакОк(Результат); + +КонецПроцедуры + +Процедура CLI_Slack_ЗакрытьДиалог(ПараметрыФункции) + + Токен = ПараметрыФункции["Slack_Token"]; + Диалог = ПараметрыФункции["Slack_Dialog"]; + + Опции = Новый Структура; + Опции.Вставить("token", Токен); + Опции.Вставить("conv" , Диалог); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("slack", "ЗакрытьДиалог", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗакрытьДиалог", "Slack"); + OPI_ПолучениеДанныхТестов.Проверка_СлакОк(Результат); + +КонецПроцедуры + +Процедура CLI_Slack_ПолучитьСписокФайлов(ПараметрыФункции) + + Токен = ПараметрыФункции["Slack_Token"]; + Канал = ПараметрыФункции["Slack_Channel"]; + + Опции = Новый Структура; + Опции.Вставить("token" , Токен); + Опции.Вставить("channel", Канал); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("slack", "ПолучитьСписокФайлов", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокФайлов", "Slack"); + OPI_ПолучениеДанныхТестов.Проверка_СлакСписокФайлов(Результат); + + Опции = Новый Структура; + Опции.Вставить("token" , Токен); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("slack", "ПолучитьСписокФайлов", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокФайлов (все)"); + OPI_ПолучениеДанныхТестов.Проверка_СлакСписокФайлов(Результат); + +КонецПроцедуры + +Процедура CLI_Slack_ЗагрузитьФайл(ПараметрыФункции) + + Токен = ПараметрыФункции["Slack_Token"]; + Канал = ПараметрыФункции["Slack_Channel"]; + Файл = ПараметрыФункции["Document"]; // URL, Двоичные данные или Путь к файлу + + ИмяФайла = "megadoc.docx"; + Заголовок = "Новый файл"; + + Опции = Новый Структура; + Опции.Вставить("token" , Токен); + Опции.Вставить("file" , Файл); + Опции.Вставить("filename", ИмяФайла); + Опции.Вставить("title" , Заголовок); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("slack", "ЗагрузитьФайл", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗагрузитьФайл" , "Slack"); // SKIP + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СделатьФайлПубличным", "Slack"); // SKIP + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СделатьФайлПриватным", "Slack"); // SKIP + OPI_ПолучениеДанныхТестов.Проверка_СлакФайл(Результат, ИмяФайла); // SKIP + + ЗагруженныйФайл = Результат["files"][0]["id"]; // SKIP + OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Slack_FileID", ЗагруженныйФайл); // SKIP + OPI_Инструменты.ДобавитьПоле("Slack_FileID", ЗагруженныйФайл, "Строка", ПараметрыФункции); // SKIP + + Опции = Новый Структура; + Опции.Вставить("token" , Токен); + Опции.Вставить("file" , Файл); + Опции.Вставить("filename", ИмяФайла); + Опции.Вставить("title" , Заголовок); + Опции.Вставить("channel" , Канал); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("slack", "ЗагрузитьФайл", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗагрузитьФайл (в канал)"); + OPI_ПолучениеДанныхТестов.Проверка_СлакФайл(Результат, ИмяФайла); + OPI_Slack.УдалитьФайл(Токен, Результат["files"][0]["id"]); + +КонецПроцедуры + +Процедура CLI_Slack_СделатьФайлПубличным(ПараметрыФункции) + + Токен = ПараметрыФункции["Slack_Token"]; + ИдентификаторФайла = ПараметрыФункции["Slack_FileID"]; + + Опции = Новый Структура; + Опции.Вставить("token" , Токен); + Опции.Вставить("fileid" , ИдентификаторФайла); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("slack", "СделатьФайлПубличным", Опции); + + OPI_ПолучениеДанныхТестов.Проверка_Соответствие(Результат); + +КонецПроцедуры + +Процедура CLI_Slack_СделатьФайлПриватным(ПараметрыФункции) + + Токен = ПараметрыФункции["Slack_Token"]; + ИдентификаторФайла = ПараметрыФункции["Slack_FileID"]; + + Опции = Новый Структура; + Опции.Вставить("token" , Токен); + Опции.Вставить("fileid" , ИдентификаторФайла); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("slack", "СделатьФайлПриватным", Опции); + + OPI_ПолучениеДанныхТестов.Проверка_Соответствие(Результат); + +КонецПроцедуры + +Процедура CLI_Slack_ПолучитьДанныеФайла(ПараметрыФункции) + + Токен = ПараметрыФункции["Slack_Token"]; + ИдентификаторФайла = ПараметрыФункции["Slack_FileID"]; + + Опции = Новый Структура; + Опции.Вставить("token" , Токен); + Опции.Вставить("fileid" , ИдентификаторФайла); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("slack", "ПолучитьДанныеФайла", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьДанныеФайла", "Slack"); + OPI_ПолучениеДанныхТестов.Проверка_СлакФайл(Результат, "megadoc.docx"); + +КонецПроцедуры + +Процедура CLI_Slack_УдалитьФайл(ПараметрыФункции) + + Токен = ПараметрыФункции["Slack_Token"]; + ИдентификаторФайла = ПараметрыФункции["Slack_FileID"]; + + Опции = Новый Структура; + Опции.Вставить("token" , Токен); + Опции.Вставить("fileid" , ИдентификаторФайла); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("slack", "УдалитьФайл", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьФайл", "Slack"); + OPI_ПолучениеДанныхТестов.Проверка_СлакОк(Результат); + +КонецПроцедуры + +Процедура CLI_Slack_ПолучитьСписокВнешнихФайлов(ПараметрыФункции) + + Токен = ПараметрыФункции["Slack_Token"]; + Канал = ПараметрыФункции["Slack_Channel"]; + + Опции = Новый Структура; + Опции.Вставить("token" , Токен); + Опции.Вставить("channel" , Канал); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("slack", "ПолучитьСписокВнешнихФайлов", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокВнешнихФайлов", "Slack"); + OPI_ПолучениеДанныхТестов.Проверка_СлакСписокФайлов(Результат); + + Опции = Новый Структура; + Опции.Вставить("token" , Токен); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("slack", "ПолучитьСписокВнешнихФайлов", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокВнешнихФайлов (все)"); + OPI_ПолучениеДанныхТестов.Проверка_СлакСписокФайлов(Результат); + +КонецПроцедуры + +Процедура CLI_Slack_ДобавитьВнешнийФайл(ПараметрыФункции) + + Токен = ПараметрыФункции["Slack_Token"]; + Заголовок = "Новый файл"; + Файл = ПараметрыФункции["Document"]; + + Опции = Новый Структура; + Опции.Вставить("token" , Токен); + Опции.Вставить("url" , Файл); + Опции.Вставить("title" , Заголовок); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("slack", "ДобавитьВнешнийФайл", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьВнешнийФайл", "Slack"); + OPI_ПолучениеДанныхТестов.Проверка_СлакВнешнийФайл(Результат, Заголовок); + + ЗагруженныйФайл = Результат["file"]["id"]; + OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Slack_ExtFileID", ЗагруженныйФайл); + OPI_Инструменты.ДобавитьПоле("Slack_ExtFileID", ЗагруженныйФайл, "Строка", ПараметрыФункции); + +КонецПроцедуры + +Процедура CLI_Slack_ПолучитьВнешнийФайл(ПараметрыФункции) + + Токен = ПараметрыФункции["Slack_Token"]; + ИдентификаторФайла = ПараметрыФункции["Slack_ExtFileID"]; + + Опции = Новый Структура; + Опции.Вставить("token" , Токен); + Опции.Вставить("fileid", ИдентификаторФайла); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("slack", "ПолучитьВнешнийФайл", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьВнешнийФайл", "Slack"); + OPI_ПолучениеДанныхТестов.Проверка_СлакВнешнийФайл(Результат, "Новый файл"); + +КонецПроцедуры + +Процедура CLI_Slack_ОтправитьВнешнийФайл(ПараметрыФункции) + + Токен = ПараметрыФункции["Slack_Token"]; + Канал = ПараметрыФункции["Slack_Channel"]; + ИдентификаторФайла = ПараметрыФункции["Slack_ExtFileID"]; + + Опции = Новый Структура; + Опции.Вставить("token" , Токен); + Опции.Вставить("fileid" , ИдентификаторФайла); + Опции.Вставить("channels", Канал); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("slack", "ОтправитьВнешнийФайл", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьВнешнийФайл", "Slack"); + OPI_ПолучениеДанныхТестов.Проверка_СлакОк(Результат); + +КонецПроцедуры + +Процедура CLI_Slack_УдалитьВнешнийФайл(ПараметрыФункции) + + Токен = ПараметрыФункции["Slack_Token"]; + ИдентификаторФайла = ПараметрыФункции["Slack_ExtFileID"]; + + Опции = Новый Структура; + Опции.Вставить("token" , Токен); + Опции.Вставить("fileid", ИдентификаторФайла); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("slack", "УдалитьВнешнийФайл", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьВнешнийФайл", "Slack"); + OPI_ПолучениеДанныхТестов.Проверка_СлакОк(Результат); + +КонецПроцедуры + +#КонецОбласти + #КонецОбласти #КонецОбласти