1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2024-11-24 08:52:18 +02:00
This commit is contained in:
Anton 2024-05-25 16:45:44 +03:00
commit cdddc4822f
6 changed files with 186 additions and 7 deletions

View File

@ -95,6 +95,10 @@ 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: Записать логи
uses: actions/upload-artifact@v4

View File

@ -901,6 +901,10 @@ 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: Записать логи
uses: actions/upload-artifact@v4

View File

@ -236,19 +236,19 @@
// Загружает файл на облачный диск, получая его по указанному URL
//
// Параметры:
// Токен - Строка - Токен - token
// URL - Строка - URL источник файла - file
// Путь - Строка - Путь сохранения на Dropbox - path
// Токен - Строка - Токен - token
// URLФайла - Строка - URL источник файла - url
// Путь - Строка - Путь сохранения на Dropbox - path
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Dropbox
Функция ЗагрузитьФайлПоURL(Знач Токен, Знач URL, Знач Путь) Экспорт
Функция ЗагрузитьФайлПоURL(Знач Токен, Знач URLФайла, Знач Путь) Экспорт
URL = "https://api.dropboxapi.com/2/files/save_url";
Параметры = Новый Структура;
OPI_Инструменты.ДобавитьПоле("path", Путь, "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("url" , URL , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("path", Путь , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("url" , URLФайла , "Строка", Параметры);
Заголовки = ПолучитьЗаголовкиЗапроса(Токен);
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки);
@ -268,7 +268,7 @@
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Dropbox
Функция ПолучитьСтатусЗагрузкиПоURL(Знач Токен, Знач IDРаботы) Экспорт
URL = "https://api.dropboxapi.com/2/files/save_url";
URL = "https://api.dropboxapi.com/2/files/save_url/check_job_status";
Параметры = Новый Структура;
OPI_Инструменты.ДобавитьПоле("async_job_id", IDРаботы, "Строка", Параметры);
@ -464,6 +464,66 @@
#КонецОбласти
#Область РаботаСТегами
// Получить список тегов
// Получает список тегов выбранных файлов
//
// Параметры:
// Токен - Строка - Токен - token
// Пути - Строка, Массив Из Строка - Путь или набору путей к файлам - paths
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Dropbox
Функция ПолучитьСписокТегов(Знач Токен, Знач Пути) Экспорт
URL = "https://api.dropboxapi.com/2/files/tags/get";
Параметры = Новый Структура;
OPI_Инструменты.ДобавитьПоле("path", Пути, "Массив", Параметры);
Заголовки = ПолучитьЗаголовкиЗапроса(Токен);
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки);
Возврат Ответ;
КонецФункции
// Добавить тег
// Добавляет новый текстовый тег к файлу или каталогу
//
// Параметры:
// Токен - Строка - Токен - token
// Путь - Строка - Путь к объекту, для которого необходимо создать тег - path
// Тег - Строка - Текст тега - tag
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Dropbox
Функция ДобавитьТег(Знач Токен, Знач Путь, Знач Тег) Экспорт
Возврат ОбработатьТег(Токен, Путь, Тег);
КонецФункции
// Удалить тег
// Удаляет текстовый тег файла или каталога
//
// Параметры:
// Токен - Строка - Токен - token
// Путь - Строка - Путь к объекту, тег которого необходимо удалить - path
// Тег - Строка - Текст тега - tag
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Dropbox
Функция УдалитьТег(Знач Токен, Знач Путь, Знач Тег) Экспорт
Возврат ОбработатьТег(Токен, Путь, Тег, Истина);
КонецФункции
#КонецОбласти
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
@ -485,6 +545,26 @@
КонецФункции
Функция ОбработатьТег(Знач Токен, Знач Путь, Знач Тег, Знач ЭтоУдаление = Ложь)
Если ЭтоУдаление Тогда
URL = "https://api.dropboxapi.com/2/files/tags/remove";
Иначе
URL = "https://api.dropboxapi.com/2/files/tags/add";
КонецЕсли;
Параметры = Новый Структура;
OPI_Инструменты.ДобавитьПоле("path" , Путь, "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("tag_text" , Тег , "Строка", Параметры);
Заголовки = ПолучитьЗаголовкиЗапроса(Токен);
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки);
Возврат Ответ;
КонецФункции
Функция ПолучитьЗаголовкиЗапроса(Знач Токен, Знач Параметры = "")
OPI_ПреобразованиеТипов.ПолучитьСтроку(Токен);

View File

@ -3194,6 +3194,17 @@
КонецПроцедуры
Процедура ДропБокс_СоздатьУдалитьТег() Экспорт
ПараметрыТеста = Новый Структура;
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Dropbox_Token", ПараметрыТеста);
Dropbox_ДобавитьТег(ПараметрыТеста);
Dropbox_ПолчитьСписокТегов(ПараметрыТеста);
Dropbox_УдалитьТег(ПараметрыТеста);
КонецПроцедуры
#КонецОбласти
#КонецОбласти
@ -3546,6 +3557,13 @@
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[".tag"]).Равно("complete");
КонецПроцедуры
Процедура Проверка_ДропБоксТеги(Знач Результат, Знач Количество)
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["paths_to_tags"]).ИмеетТип("Массив");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["paths_to_tags"].Количество()).Равно(Количество);
КонецПроцедуры
#КонецОбласти
#Область АтомарныеТесты
@ -4991,6 +5009,78 @@
КонецПроцедуры
Процедура Dropbox_ПолчитьСписокТегов(ПараметрыФункции)
Токен = ПараметрыФункции["Dropbox_Token"];
МассивПутей = Новый Массив;
МассивПутей.Добавить("/New/pic.png");
МассивПутей.Добавить("/New/mydoc.docx");
Результат = OPI_Dropbox.ПолучитьСписокТегов(Токен, МассивПутей);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокТегов");
Проверка_ДропБоксТеги(Результат, МассивПутей.Количество());
Результат = OPI_Dropbox.ПолучитьСписокТегов(Токен, "/New/pic.png");
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокТегов (одиночный)");
Проверка_ДропБоксТеги(Результат, 1);
ЕстьТег = Ложь;
Для Каждого Тег Из Результат["paths_to_tags"][0]["tags"] Цикл
Если Тег["tag_text"] = "Важное" Тогда
ЕстьТег = Истина;
КонецЕсли;
КонецЦикла;
OPI_ПолучениеДанныхТестов.ОжидаетЧто(ЕстьТег).Равно(Истина);
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура Dropbox_ДобавитьТег(ПараметрыФункции)
Тег = "Важное";
Токен = ПараметрыФункции["Dropbox_Token"];
Путь = "/New/pic.png";
Результат = OPI_Dropbox.ДобавитьТег(Токен, Путь, Тег);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьТег");
Проверка_Пусто(Результат);
OPI_Инструменты.Пауза(5);
КонецПроцедуры
Процедура Dropbox_УдалитьТег(ПараметрыФункции)
Тег = "Важное";
Токен = ПараметрыФункции["Dropbox_Token"];
Путь = "/New/pic.png";
Результат = OPI_Dropbox.УдалитьТег(Токен, Путь, Тег);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьТег");
Проверка_Пусто(Результат);
OPI_Инструменты.Пауза(5);
КонецПроцедуры
#КонецОбласти
#КонецОбласти

View File

@ -210,6 +210,7 @@
НовыйТест(ТаблицаТестов, "ДропБокс_ЗагрузитьФайл" , "Загрузить файл" , ДропБокс);
НовыйТест(ТаблицаТестов, "ДропБокс_ЗагрузитьФайлПоURL" , "Загрузить файл по URL" , ДропБокс);
НовыйТест(ТаблицаТестов, "ДропБокс_СоздатьКаталог" , "Создать каталог" , ДропБокс);
НовыйТест(ТаблицаТестов, "ДропБокс_СоздатьУдалитьТег" , "Создать/Удалить тег" , ДропБокс);
Возврат ТаблицаТестов;

Binary file not shown.