mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-01-20 05:19:32 +02:00
Merge branch 'main' of https://github.com/Bayselonarrend/OpenIntegrations
This commit is contained in:
commit
6e77cf2000
8
.github/workflows/oint_test.yml
vendored
8
.github/workflows/oint_test.yml
vendored
@ -758,6 +758,14 @@ jobs:
|
||||
if: ${{ cancelled() }} == false
|
||||
run: oscript /home/runner/.local/share/ovm/current/lib/1testrunner/src/main.os -run ./OInt/tests/Modules/internal/OPI_Тесты.os "Слак_ЗагрузитьУдалитьФайл"
|
||||
|
||||
- name: Получить список внеш. файлов
|
||||
if: ${{ cancelled() }} == false
|
||||
run: oscript /home/runner/.local/share/ovm/current/lib/1testrunner/src/main.os -run ./OInt/tests/Modules/internal/OPI_Тесты.os "Слак_ПолучитьСписокВФ"
|
||||
|
||||
- name: Загрузить/Удалить внеш. файл
|
||||
if: ${{ cancelled() }} == false
|
||||
run: oscript /home/runner/.local/share/ovm/current/lib/1testrunner/src/main.os -run ./OInt/tests/Modules/internal/OPI_Тесты.os "Слак_ЗагрузитьУдалитьВФ"
|
||||
|
||||
Encode:
|
||||
runs-on: ubuntu-latest
|
||||
needs: Testing-Twitter
|
||||
|
@ -805,6 +805,126 @@
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область РаботаСУдаленнымиФайлами
|
||||
|
||||
// Получить список внешних файлов
|
||||
// Получает список внешних файлов пользователя или канала
|
||||
//
|
||||
// Параметры:
|
||||
// Токен - Строка - Токен бота - token
|
||||
// Канал - Строка - Канал для отбора - channel
|
||||
// Курсор - Строка - Указатель из предыдущего запроса, если строк результата > 100 - cursor
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Slack
|
||||
Функция ПолучитьСписокВнешнихФайлов(Знач Токен, Знач Канал = "", Знач Курсор = "") Экспорт
|
||||
|
||||
URL = "https://slack.com/api/files.remote.list";
|
||||
Заголовки = ПолучитьЗаголовокАвторизации(Токен);
|
||||
|
||||
Параметры = Новый Структура;
|
||||
OPI_Инструменты.ДобавитьПоле("channel", Канал , "Строка", Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("cursor" , Курсор, "Строка", Параметры);
|
||||
|
||||
Ответ = OPI_Инструменты.Get(URL, Параметры, Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить внешний файл
|
||||
// Получает информацию о внешнем файле
|
||||
//
|
||||
// Параметры:
|
||||
// Токен - Строка - Токен бота - token
|
||||
// ИдентификаторФайла - Строка - Идентификатор файла - fileid
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Slack
|
||||
Функция ПолучитьВнешнийФайл(Знач Токен, Знач ИдентификаторФайла) Экспорт
|
||||
|
||||
URL = "https://slack.com/api/files.remote.info";
|
||||
Ответ = УправлениеВнешнимФайлом(Токен, ИдентификаторФайла, URL);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Добавить внешний файл
|
||||
// Добавляет новый внешний файл
|
||||
//
|
||||
// Параметры:
|
||||
// Токен - Строка - Токен бота - token
|
||||
// URL - Строка - URL к внешнему файлу - url
|
||||
// Заголовок - Строка - Заголовок файла для Slack - title
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Slack
|
||||
Функция ДобавитьВнешнийФайл(Знач Токен, Знач URL, Знач Заголовок) Экспорт
|
||||
|
||||
URL = "https://slack.com/api/files.remote.add";
|
||||
Заголовки = ПолучитьЗаголовокАвторизации(Токен);
|
||||
UID = Строка(Новый УникальныйИдентификатор());
|
||||
|
||||
Параметры = Новый Структура;
|
||||
OPI_Инструменты.ДобавитьПоле("external_url", URL , "Строка", Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("external_id" , UID , "Строка", Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("title" , Заголовок , "Строка", Параметры);
|
||||
|
||||
Ответ = OPI_Инструменты.Get(URL, Параметры, Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Отправить внешний файл
|
||||
// Отправляет внейшний файл по списку каналов
|
||||
//
|
||||
// Параметры:
|
||||
// Токен - Строка - Токен бота - token
|
||||
// ИдентификаторФайла - Строка - Идентификатор файла - fileid
|
||||
// МассивКаналов - Массив Из Строка - Массив каналов для отправки - channels
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Slack
|
||||
Функция ОтправитьВнешнийФайл(Знач Токен, Знач ИдентификаторФайла, Знач МассивКаналов) Экспорт
|
||||
|
||||
URL = "https://slack.com/api/files.remote.share";
|
||||
Заголовки = ПолучитьЗаголовокАвторизации(Токен);
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьКоллекцию(МассивКаналов);
|
||||
МассивКаналов = СтрСоединить(МассивКаналов, ",");
|
||||
|
||||
Параметры = Новый Структура;
|
||||
OPI_Инструменты.ДобавитьПоле("file" , ИдентификаторФайла , "Строка", Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("channels", МассивКаналов , "Строка", Параметры);
|
||||
|
||||
Ответ = OPI_Инструменты.Get(URL, Параметры, Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Удалить внешний файл
|
||||
// Удаляет внешний файл из Slack
|
||||
//
|
||||
// Параметры:
|
||||
// Токен - Строка - Токен бота - token
|
||||
// ИдентификаторФайла - Строка - Идентификатор файла - fileid
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Slack
|
||||
Функция УдалитьВнешнийФайл(Знач Токен, Знач ИдентификаторФайла) Экспорт
|
||||
|
||||
URL = "https://slack.com/api/files.remote.remove";
|
||||
Ответ = УправлениеВнешнимФайлом(Токен, ИдентификаторФайла, URL);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ФормированиеБлоков
|
||||
|
||||
// Сформировать блок картинку
|
||||
@ -881,4 +1001,17 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция УправлениеВнешнимФайлом(Знач Токен, Знач ИдентификаторФайла, Знач URL)
|
||||
|
||||
Заголовки = ПолучитьЗаголовокАвторизации(Токен);
|
||||
|
||||
Параметры = Новый Структура;
|
||||
OPI_Инструменты.ДобавитьПоле("file", ИдентификаторФайла , "Строка", Параметры);
|
||||
|
||||
Ответ = OPI_Инструменты.Get(URL, Параметры, Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
@ -3191,20 +3191,7 @@
|
||||
|
||||
Проверка_СлакОк(Результат);
|
||||
OPI_ПолучениеДанныхТестов.ОжидаетЧто(ЗагруженныйФайл["name"]).Равно(ИмяФайла);
|
||||
|
||||
Результат = OPI_Slack.СделатьФайлПубличным(Токен, ЗагруженныйФайл["id"]);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СделатьФайлПубличным");
|
||||
|
||||
Проверка_СлакОк(Результат);
|
||||
OPI_ПолучениеДанныхТестов.ОжидаетЧто(ЗагруженныйФайл["permalink_public"]).Заполнено();
|
||||
|
||||
Результат = OPI_Slack.СделатьФайлПриватным(Токен, ЗагруженныйФайл["id"]);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СделатьФайлПриватным");
|
||||
|
||||
Проверка_СлакОк(Результат);
|
||||
|
||||
|
||||
Для Каждого ЗагруженныйФайл Из МассивФайлов Цикл
|
||||
|
||||
Результат = OPI_Slack.УдалитьФайл(Токен, ЗагруженныйФайл);
|
||||
@ -3217,6 +3204,65 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Слак_ПолучитьСписокВФ() Экспорт
|
||||
|
||||
Токен = 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_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьВнешнийФайл");
|
||||
|
||||
Проверка_СлакОк(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
@ -184,6 +184,8 @@
|
||||
НовыйТест(ТаблицаТестов, "Слак_ОткрытьЗакрытьДиалог" , "Открыть/Закрыть диалог" , Слак);
|
||||
НовыйТест(ТаблицаТестов, "Слак_ПолучитьСписокФайлов" , "Получить список файлов" , Слак);
|
||||
НовыйТест(ТаблицаТестов, "Слак_ЗагрузитьУдалитьФайл" , "Загрузить/Удалить файл" , Слак);
|
||||
НовыйТест(ТаблицаТестов, "Слак_ПолучитьСписокВФ" , "Получить список внеш. файлов" , Слак);
|
||||
НовыйТест(ТаблицаТестов, "Слак_ЗагрузитьУдалитьВФ" , "Загрузить/Удалить внеш. файл" , Слак);
|
||||
|
||||
Возврат ТаблицаТестов;
|
||||
|
||||
|
BIN
data.json.gpg
BIN
data.json.gpg
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user