You've already forked OpenIntegrations
mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-08-15 20:13:31 +02:00
Преобразование OPI -> OInt (workflow)
This commit is contained in:
committed by
Vitaly the Alpaca (bot)
parent
8a000e3450
commit
3bb7c6b84c
4
.github/workflows/oint_test_Dropbox.yml
vendored
4
.github/workflows/oint_test_Dropbox.yml
vendored
@@ -87,6 +87,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
|
||||
|
4
.github/workflows/oint_test_full.yml
vendored
4
.github/workflows/oint_test_full.yml
vendored
@@ -893,6 +893,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
|
||||
|
@@ -118,7 +118,7 @@
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область РаботаСФайлами
|
||||
#Область РаботаСФайламиИКаталогами
|
||||
|
||||
// Загрузить файл
|
||||
// Загружает файл на облачный диск
|
||||
@@ -151,19 +151,102 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция УдалитьФайл(Знач Токен, Знач Путь) Экспорт
|
||||
// Удалить объект
|
||||
// Удаляет объект с облачного диска
|
||||
//
|
||||
// Параметры:
|
||||
// Токен - Строка - Токен - token
|
||||
// Путь - Строка - Путь к объекту удаления - path
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Dropbox
|
||||
Функция УдалитьОбъект(Знач Токен, Знач Путь) Экспорт
|
||||
|
||||
URL = "https://api.dropboxapi.com/2/files/delete_v2";
|
||||
URL = "https://api.dropboxapi.com/2/files/delete_v2";
|
||||
Ответ = ОбработатьОбъект(Токен, URL, Путь);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Копировать объект
|
||||
// Копирует файл или каталог по выбранному пути
|
||||
//
|
||||
// Параметры:
|
||||
// Токен - Строка - Токен - token
|
||||
// Откуда - Строка - Путь к объекту оригинала - form
|
||||
// Куда - Строка - Целевой путь для нового объекта - to
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Dropbox
|
||||
Функция КопироватьОбъект(Знач Токен, Знач Откуда, Знач Куда) Экспорт
|
||||
|
||||
URL = "https://api.dropboxapi.com/2/files/copy_v2";
|
||||
|
||||
Параметры = Новый Структура;
|
||||
OPI_Инструменты.ДобавитьПоле("path", Путь, "Строка", Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("from_path", Откуда, "Строка", Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("to_path" , Куда , "Строка", Параметры);
|
||||
|
||||
Заголовки = ПолучитьЗаголовкиЗапроса(Токен);
|
||||
|
||||
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Создать папку
|
||||
// Создает пустой каталог по выбранному пути
|
||||
//
|
||||
// Параметры:
|
||||
// Токен - Строка - Токен - token
|
||||
// Путь - Строка - Целевой путь создания каталога - path
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Dropbox
|
||||
Функция СоздатьПапку(Знач Токен, Знач Путь) Экспорт
|
||||
|
||||
URL = "https://api.dropboxapi.com/2/files/create_folder_v2";
|
||||
Ответ = ОбработатьОбъект(Токен, URL, Путь);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Скачать файл
|
||||
// Скачивает файл по указанному пути или ID
|
||||
//
|
||||
// Параметры:
|
||||
// Токен - Строка - Токен - token
|
||||
// Путь - Строка - Путь или ID файла - path
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Dropbox
|
||||
Функция СкачатьФайл(Знач Токен, Знач Путь) Экспорт
|
||||
|
||||
URL = "https://api.dropboxapi.com/2/files/download";
|
||||
Ответ = ОбработатьОбъект(Токен, URL, Путь, Истина);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Скачать папку
|
||||
// Скачивает zip архив с содержимым указанного каталога
|
||||
//
|
||||
// Параметры:
|
||||
// Токен - Строка - Токен - token
|
||||
// Путь - Строка - Путь или ID каталога - path
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Dropbox
|
||||
Функция СкачатьПапку(Знач Токен, Знач Путь) Экспорт
|
||||
|
||||
URL = "https://api.dropboxapi.com/2/files/download_zip";
|
||||
Ответ = ОбработатьОбъект(Токен, URL, Путь, Истина);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
@@ -172,6 +255,23 @@
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
Функция ОбработатьОбъект(Знач Токен, Знач URL, Знач Путь, Знач ВЗаголовках = Ложь)
|
||||
|
||||
Параметры = Новый Структура;
|
||||
OPI_Инструменты.ДобавитьПоле("path", Путь, "Строка", Параметры);
|
||||
|
||||
Если ВЗаголовках Тогда
|
||||
Заголовки = ПолучитьЗаголовкиЗапроса(Токен, Параметры);
|
||||
Ответ = OPI_Инструменты.Post(URL, , Заголовки);
|
||||
Иначе
|
||||
Заголовки = ПолучитьЗаголовкиЗапроса(Токен);
|
||||
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки);
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьЗаголовкиЗапроса(Знач Токен, Знач Параметры = "")
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Токен);
|
||||
|
@@ -3135,49 +3135,37 @@
|
||||
|
||||
Процедура ДропБокс_ПолучитьОбновитьТокен() Экспорт
|
||||
|
||||
Ключ = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Dropbox_Appkey");
|
||||
Секрет = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Dropbox_Appsecret");
|
||||
|
||||
Результат = OPI_Dropbox.ПолучитьСсылкуАвторизации(Ключ);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСсылкуАвторизации");
|
||||
|
||||
Код = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Dropbox_Code");
|
||||
|
||||
Результат = OPI_Dropbox.ПолучитьТокен(Ключ, Секрет, Код);
|
||||
|
||||
Рефреш = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Dropbox_Refresh");
|
||||
|
||||
Результат = OPI_Dropbox.ОбновитьТокен(Ключ, Секрет, Рефреш);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОбновитьТокен");
|
||||
|
||||
Токен = Результат["access_token"];
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Токен).Заполнено();
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Dropbox_Token", Токен);
|
||||
ПараметрыТеста = Новый Структура;
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Dropbox_Appkey" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Dropbox_Appsecret", ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Dropbox_Code", ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Dropbox_Refresh", ПараметрыТеста);
|
||||
|
||||
Dropbox_ПолучитьСсылкуАвторизации(ПараметрыТеста);
|
||||
Dropbox_ОбновитьТокен(ПараметрыТеста);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ДропБокс_ЗагрузитьФайл() Экспорт
|
||||
|
||||
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Dropbox_Token");
|
||||
Файл = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Picture");
|
||||
Файл2 = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Picture2");
|
||||
Путь = "/New/pic.png";
|
||||
ПараметрыТеста = Новый Структура;
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Dropbox_Token", ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture", ПараметрыТеста);
|
||||
|
||||
Результат = OPI_Dropbox.ЗагрузитьФайл(Токен, Файл, Путь, Истина);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗагрузитьФайл");
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["path_display"]).Равно(Путь);
|
||||
|
||||
Результат = OPI_Dropbox.УдалитьФайл(Токен, Путь);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьФайл");
|
||||
Dropbox_ЗагрузитьФайл(ПараметрыТеста);
|
||||
Dropbox_СкачатьФайл(ПараметрыТеста);
|
||||
Dropbox_КопироватьФайл(ПараметрыТеста);
|
||||
Dropbox_УдалитьОбъект(ПараметрыТеста);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["metadata"]["path_display"]).Равно(Путь);
|
||||
Процедура ДропБокс_СоздатьКаталог() Экспорт
|
||||
|
||||
ПараметрыТеста = Новый Структура;
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Dropbox_Token", ПараметрыТеста);
|
||||
|
||||
Dropbox_СоздатьПапку(ПараметрыТеста);
|
||||
Dropbox_СкачатьПапку(ПараметрыТеста);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -3226,6 +3214,14 @@
|
||||
|
||||
#Область Проверки
|
||||
|
||||
Процедура Проверка_Пусто(Знач Результат)
|
||||
OPI_ПолучениеДанныхТестов.ОжидаетЧто(ЗначениеЗаполнено(Результат)).Равно(Ложь);
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_ДвоичныеДанные(Знач Результат)
|
||||
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("ДвоичныеДанные");
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_ТелеграмИстина(Знач Результат)
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
|
||||
@@ -3456,10 +3452,6 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_Пусто(Знач Результат)
|
||||
OPI_ПолучениеДанныхТестов.ОжидаетЧто(ЗначениеЗаполнено(Результат)).Равно(Ложь);
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_ТвиттерТекст(Знач Результат, Знач Текст)
|
||||
|
||||
ТекстОтвета = Результат["data"]["text"];
|
||||
@@ -3491,6 +3483,18 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_ДропБоксФайл(Знач Результат, Знач Путь)
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["path_display"]).Равно(Путь);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_ДропБоксМетаданные(Знач Результат, Знач Путь)
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["metadata"]["path_display"]).Равно(Путь);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область АтомарныеТесты
|
||||
@@ -4623,6 +4627,157 @@
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область Dropbox
|
||||
|
||||
Процедура Dropbox_ПолучитьСсылкуАвторизации(ПараметрыФункции)
|
||||
|
||||
Ключ = ПараметрыФункции["Dropbox_Appkey"];
|
||||
Результат = OPI_Dropbox.ПолучитьСсылкуАвторизации(Ключ);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСсылкуАвторизации");
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Строка");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Dropbox_ОбновитьТокен(ПараметрыФункции)
|
||||
|
||||
Ключ = ПараметрыФункции["Dropbox_Appkey"];
|
||||
Секрет = ПараметрыФункции["Dropbox_Appsecret"];
|
||||
Рефреш = ПараметрыФункции["Dropbox_Refresh"];
|
||||
|
||||
Результат = OPI_Dropbox.ОбновитьТокен(Ключ, Секрет, Рефреш);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОбновитьТокен");
|
||||
|
||||
Токен = Результат["access_token"];
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Токен).Заполнено();
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Dropbox_Token", Токен);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Dropbox_ЗагрузитьФайл(ПараметрыФункции)
|
||||
|
||||
Путь = "/New/pic.png";
|
||||
Токен = ПараметрыФункции["Dropbox_Token"];
|
||||
Картинка = ПараметрыФункции["Picture"];
|
||||
|
||||
КартинкаПуть = ПолучитьИмяВременногоФайла("png");
|
||||
КопироватьФайл(Картинка, КартинкаПуть);
|
||||
|
||||
Результат = OPI_Dropbox.ЗагрузитьФайл(Токен, КартинкаПуть, Путь, Истина);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗагрузитьФайл");
|
||||
|
||||
Проверка_ДропБоксФайл(Результат, Путь);
|
||||
УдалитьФайлы(КартинкаПуть);
|
||||
|
||||
OPI_Инструменты.Пауза(5);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Dropbox_УдалитьОбъект(ПараметрыФункции)
|
||||
|
||||
Путь = "/New/pic.png";
|
||||
Токен = ПараметрыФункции["Dropbox_Token"];
|
||||
|
||||
Результат = OPI_Dropbox.УдалитьОбъект(Токен, Путь);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьОбъект");
|
||||
|
||||
Проверка_ДропБоксМетаданные(Результат, Путь);
|
||||
|
||||
OPI_Инструменты.Пауза(5);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Dropbox_КопироватьФайл(ПараметрыФункции)
|
||||
|
||||
Оригинал = "/New/pic.png";
|
||||
Копия = "/New/pic_copy.png";
|
||||
Токен = ПараметрыФункции["Dropbox_Token"];
|
||||
|
||||
Результат = OPI_Dropbox.КопироватьОбъект(Токен, Оригинал, Копия);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "КопироватьОбъект");
|
||||
|
||||
Проверка_ДропБоксМетаданные(Результат, Копия);
|
||||
|
||||
Результат = OPI_Dropbox.УдалитьОбъект(Токен, Копия);
|
||||
Проверка_ДропБоксМетаданные(Результат, Копия);
|
||||
|
||||
OPI_Инструменты.Пауза(5);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Dropbox_СоздатьПапку(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Dropbox_Token"];
|
||||
Путь = "/Новый каталог";
|
||||
|
||||
Результат = OPI_Dropbox.СоздатьПапку(Токен, Путь);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьКаталог");
|
||||
|
||||
Проверка_ДропБоксМетаданные(Результат, Путь);
|
||||
|
||||
Результат = OPI_Dropbox.УдалитьОбъект(Токен, Путь);
|
||||
Проверка_ДропБоксМетаданные(Результат, Путь);
|
||||
|
||||
OPI_Инструменты.Пауза(5);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Dropbox_СкачатьФайл(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Dropbox_Token"];
|
||||
Путь = "/New/pic.png";
|
||||
|
||||
Результат = OPI_Dropbox.СкачатьФайл(Токен, Путь);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СкачатьФайл");
|
||||
|
||||
Проверка_ДвоичныеДанные(Результат);
|
||||
|
||||
OPI_Инструменты.Пауза(5);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Dropbox_СкачатьПапку(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Dropbox_Token"];
|
||||
Путь = "/New";
|
||||
|
||||
Результат = OPI_Dropbox.СкачатьПапку(Токен, Путь);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СкачатьПапку");
|
||||
|
||||
Проверка_ДвоичныеДанные(Результат);
|
||||
|
||||
OPI_Инструменты.Пауза(5);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
@@ -208,6 +208,7 @@
|
||||
|
||||
НовыйТест(ТаблицаТестов, "ДропБокс_ПолучитьОбновитьТокен" , "Получить/Обновить токен" , ДропБокс);
|
||||
НовыйТест(ТаблицаТестов, "ДропБокс_ЗагрузитьФайл" , "Загрузить файл" , ДропБокс);
|
||||
НовыйТест(ТаблицаТестов, "ДропБокс_СоздатьКаталог" , "Создать каталог" , ДропБокс);
|
||||
|
||||
Возврат ТаблицаТестов;
|
||||
|
||||
|
Reference in New Issue
Block a user