mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-01-12 04:34:10 +02:00
Преобразование OPI -> OInt (workflow)
This commit is contained in:
parent
f04b2a5de4
commit
a37b8bbb99
4
.github/workflows/oint_test_Dropbox.yml
vendored
4
.github/workflows/oint_test_Dropbox.yml
vendored
@ -99,6 +99,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
@ -905,6 +905,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
|
||||
|
@ -33,7 +33,7 @@
|
||||
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
#Область Авторизация
|
||||
#Область АккаунтИАвторизация
|
||||
|
||||
// Получить ссылку авторизации
|
||||
// Генерирует ссылку авторизации для перехода в браузере
|
||||
@ -116,6 +116,50 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить информацию об аккаунте
|
||||
// Получает информацию об аккаунте
|
||||
//
|
||||
// Параметры:
|
||||
// Токен - Строка - Токен - token
|
||||
// Аккаунт - Строка - ID аккаунта. Текущий аккаунт токена, если не заполнено - account
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Dropbox
|
||||
Функция ПолучитьИнформациюОбАккаунте(Знач Токен, Знач Аккаунт = "") Экспорт
|
||||
|
||||
Если ЗначениеЗаполнено(Аккаунт) Тогда
|
||||
Результат = ПолучитьАккаунт(Токен, Аккаунт);
|
||||
Иначе
|
||||
Результат = ПолучитьСвойАккаунт(Токен);
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить данные использования пространства
|
||||
// Получает информацию о количестве использованного дискового пространства
|
||||
//
|
||||
// Параметры:
|
||||
// Токен - Строка - Токен - token
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Dropbox
|
||||
Функция ПолучитьДанныеИспользованияПространства(Знач Токен) Экспорт
|
||||
|
||||
URL = "https://api.dropboxapi.com/2/users/get_space_usage";
|
||||
Заголовки = ПолучитьЗаголовкиЗапроса(Токен);
|
||||
|
||||
Ответ = OPI_Инструменты.PostBinary(URL
|
||||
, ПолучитьДвоичныеДанныеИзСтроки("null")
|
||||
, Заголовки
|
||||
,
|
||||
, "text/plain; charset=dropbox-cors-hack");
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область РаботаСФайламиИКаталогами
|
||||
@ -191,7 +235,7 @@
|
||||
// Путь - Строка - Путь к объекту - path
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Dropbox
|
||||
// ДвоичныеДанные - превью документа
|
||||
Функция ПолучитьПревью(Знач Токен, Знач Путь) Экспорт
|
||||
|
||||
URL = "https://content.dropboxapi.com/2/files/get_preview";
|
||||
@ -384,7 +428,7 @@
|
||||
// Путь - Строка - Путь или ID файла - path
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Dropbox
|
||||
// ДвоичныеДанные - двоичные данные файла
|
||||
Функция СкачатьФайл(Знач Токен, Знач Путь) Экспорт
|
||||
|
||||
URL = "https://content.dropboxapi.com/2/files/download";
|
||||
@ -402,7 +446,7 @@
|
||||
// Путь - Строка - Путь или ID каталога - path
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Dropbox
|
||||
// ДвоичныеДанные - двоичные данные zip архива с содержимым каталога
|
||||
Функция СкачатьПапку(Знач Токен, Знач Путь) Экспорт
|
||||
|
||||
URL = "https://content.dropboxapi.com/2/files/download_zip";
|
||||
@ -480,7 +524,7 @@
|
||||
URL = "https://api.dropboxapi.com/2/files/tags/get";
|
||||
|
||||
Параметры = Новый Структура;
|
||||
OPI_Инструменты.ДобавитьПоле("path", Пути, "Массив", Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("paths", Пути, "Массив", Параметры);
|
||||
|
||||
Заголовки = ПолучитьЗаголовкиЗапроса(Токен);
|
||||
|
||||
@ -684,4 +728,34 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьАккаунт(Знач Токен, Знач Аккаунт)
|
||||
|
||||
URL = "https://api.dropboxapi.com/2/users/get_account";
|
||||
|
||||
Параметры = Новый Структура;
|
||||
OPI_Инструменты.ДобавитьПоле("account_id", Аккаунт, "Строка", Параметры);
|
||||
|
||||
Заголовки = ПолучитьЗаголовкиЗапроса(Токен);
|
||||
|
||||
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьСвойАккаунт(Знач Токен)
|
||||
|
||||
URL = "https://api.dropboxapi.com/2/users/get_current_account";
|
||||
Заголовки = ПолучитьЗаголовкиЗапроса(Токен);
|
||||
|
||||
Ответ = OPI_Инструменты.PostBinary(URL
|
||||
, ПолучитьДвоичныеДанныеИзСтроки("null")
|
||||
, Заголовки
|
||||
,
|
||||
, "text/plain; charset=dropbox-cors-hack");
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
@ -3205,6 +3205,16 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ДропБокс_ПолучитьАккаунт() Экспорт
|
||||
|
||||
ПараметрыТеста = Новый Структура;
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Dropbox_Token", ПараметрыТеста);
|
||||
|
||||
Dropbox_ПолучитьИнформациюОбАккаунте(ПараметрыТеста);
|
||||
Dropbox_ПолучитьДанныеИспользованияПространства(ПараметрыТеста);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
@ -3564,6 +3574,14 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_ДропбоксАккаунт(Знач Результат)
|
||||
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["account_id"]).Заполнено();
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_ДропбоксПространство(Знач Результат)
|
||||
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["used"]).Заполнено();
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область АтомарныеТесты
|
||||
@ -5034,7 +5052,7 @@
|
||||
ЕстьТег = Ложь;
|
||||
|
||||
Для Каждого Тег Из Результат["paths_to_tags"][0]["tags"] Цикл
|
||||
Если Тег["tag_text"] = "Важное" Тогда
|
||||
Если Тег["tag_text"] = "важное" Тогда
|
||||
ЕстьТег = Истина;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
@ -5081,6 +5099,42 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Dropbox_ПолучитьИнформациюОбАккаунте(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Dropbox_Token"];
|
||||
|
||||
Результат = OPI_Dropbox.ПолучитьИнформациюОбАккаунте(Токен);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьИнформациюОбАккаунте");
|
||||
|
||||
Проверка_ДропбоксАккаунт(Результат);
|
||||
|
||||
Результат = OPI_Dropbox.ПолучитьИнформациюОбАккаунте(Токен, Результат["account_id"]);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьИнформациюОбАккаунте (сторонний)");
|
||||
|
||||
Проверка_ДропбоксАккаунт(Результат);
|
||||
|
||||
OPI_Инструменты.Пауза(5);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Dropbox_ПолучитьДанныеИспользованияПространства(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Dropbox_Token"];
|
||||
|
||||
Результат = OPI_Dropbox.ПолучитьДанныеИспользованияПространства(Токен);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьДанныеИспользованияПространства");
|
||||
|
||||
Проверка_ДропбоксПространство(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
@ -211,6 +211,7 @@
|
||||
НовыйТест(ТаблицаТестов, "ДропБокс_ЗагрузитьФайлПоURL" , "Загрузить файл по URL" , ДропБокс);
|
||||
НовыйТест(ТаблицаТестов, "ДропБокс_СоздатьКаталог" , "Создать каталог" , ДропБокс);
|
||||
НовыйТест(ТаблицаТестов, "ДропБокс_СоздатьУдалитьТег" , "Создать/Удалить тег" , ДропБокс);
|
||||
НовыйТест(ТаблицаТестов, "ДропБокс_ПолучитьАккаунт" , "Получить данные аккаунта" , ДропБокс);
|
||||
|
||||
Возврат ТаблицаТестов;
|
||||
|
||||
|
@ -85,9 +85,13 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция PostBinary(Знач URL, Знач Тело, Знач ДопЗаголовки, Знач ПолныйОтвет = Ложь) Экспорт
|
||||
Функция PostBinary(Знач URL
|
||||
, Знач Тело
|
||||
, Знач ДопЗаголовки
|
||||
, Знач ПолныйОтвет = Ложь
|
||||
, Знач ТипДанных = "application/octet-stream") Экспорт
|
||||
|
||||
Возврат ВыполнитьЗапросСДвоичнымиДанными(URL, "POST", Тело, ДопЗаголовки, ПолныйОтвет);
|
||||
Возврат ВыполнитьЗапросСДвоичнымиДанными(URL, "POST", Тело, ДопЗаголовки, ПолныйОтвет, ТипДанных);
|
||||
|
||||
КонецФункции
|
||||
|
||||
@ -540,13 +544,18 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ВыполнитьЗапросСДвоичнымиДанными(Знач URL, Знач Вид, Знач Данные, Знач ДопЗаголовки, Знач ПолныйОтвет)
|
||||
Функция ВыполнитьЗапросСДвоичнымиДанными(Знач URL
|
||||
, Знач Вид
|
||||
, Знач Данные
|
||||
, Знач ДопЗаголовки
|
||||
, Знач ПолныйОтвет
|
||||
, Знач ТипДанных)
|
||||
|
||||
СтруктураURL = РазбитьURL(URL);
|
||||
Сервер = СтруктураURL["Сервер"];
|
||||
Адрес = СтруктураURL["Адрес"];
|
||||
|
||||
Запрос = СоздатьЗапрос(Адрес, ДопЗаголовки, "application/octet-stream");
|
||||
Запрос = СоздатьЗапрос(Адрес, ДопЗаголовки, ТипДанных);
|
||||
Соединение = СоздатьСоединение(Сервер);
|
||||
|
||||
Запрос.УстановитьТелоИзДвоичныхДанных(Данные);
|
||||
@ -558,7 +567,8 @@
|
||||
, Вид
|
||||
, Данные
|
||||
, ДопЗаголовки
|
||||
, ПолныйОтвет);
|
||||
, ПолныйОтвет
|
||||
, ТипДанных);
|
||||
Иначе
|
||||
ОбработатьОтвет(Ответ, ПолныйОтвет);
|
||||
КонецЕсли;
|
||||
|
Loading…
Reference in New Issue
Block a user