You've already forked OpenIntegrations
mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-07-17 01:42:25 +02:00
Преобразование OPI -> OInt (workflow)
This commit is contained in:
committed by
Vitaly the Alpaca (bot)
parent
5466909b7f
commit
2783cf7035
4
.github/workflows/oint_test_Dropbox.yml
vendored
4
.github/workflows/oint_test_Dropbox.yml
vendored
@ -103,6 +103,10 @@ jobs:
|
|||||||
if: ${{ cancelled() }} == false
|
if: ${{ cancelled() }} == false
|
||||||
run: oscript /home/runner/.local/share/ovm/current/lib/1testrunner/src/main.os -run ./OInt/tests/Modules/internal/OPI_Тесты.os "ДропБокс_ПолучитьАккаунт"
|
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: Записать логи
|
- name: Записать логи
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
|
4
.github/workflows/oint_test_full.yml
vendored
4
.github/workflows/oint_test_full.yml
vendored
@ -909,6 +909,10 @@ jobs:
|
|||||||
if: ${{ cancelled() }} == false
|
if: ${{ cancelled() }} == false
|
||||||
run: oscript /home/runner/.local/share/ovm/current/lib/1testrunner/src/main.os -run ./OInt/tests/Modules/internal/OPI_Тесты.os "ДропБокс_ПолучитьАккаунт"
|
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: Записать логи
|
- name: Записать логи
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
|
@ -568,6 +568,147 @@
|
|||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
|
#Область НастройкиСовместногоДоступа
|
||||||
|
|
||||||
|
// Опубликовать папку
|
||||||
|
// Переводит каталог в режим публичного доступа
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// Токен - Строка - Токен - token
|
||||||
|
// Путь - Строка - Путь к целевому каталогу - path
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Dropbox
|
||||||
|
Функция ОпубликоватьПапку(Знач Токен, Знач Путь) Экспорт
|
||||||
|
|
||||||
|
URL = "https://api.dropboxapi.com/2/sharing/share_folder";
|
||||||
|
Ответ = ОбработатьОбъект(Токен, URL, Путь);
|
||||||
|
|
||||||
|
Возврат Ответ;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// Отменить публикацию папки
|
||||||
|
// Отменяет режим общего доступа для каталога
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// Токен - Строка - Токен - token
|
||||||
|
// IDПапки - Строка - ID публичного каталога (shared folder ID) - folder
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Dropbox
|
||||||
|
Функция ОтменитьПубликациюПапки(Знач Токен, Знач IDПапки) Экспорт
|
||||||
|
|
||||||
|
URL = "https://api.dropboxapi.com/2/sharing/unshare_folder";
|
||||||
|
|
||||||
|
Параметры = Новый Структура;
|
||||||
|
OPI_Инструменты.ДобавитьПоле("shared_folder_id", IDПапки, "Строка", Параметры);
|
||||||
|
|
||||||
|
Заголовки = ПолучитьЗаголовкиЗапроса(Токен);
|
||||||
|
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки);
|
||||||
|
|
||||||
|
Возврат Ответ;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// Добавить пользователя к файлу
|
||||||
|
// Определяет доступ к файлу для стороннего пользователя
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// Токен - Строка - Токен - token
|
||||||
|
// IDФайла - Строка - ID файла, к которому предоставляется доступ - fileid
|
||||||
|
// АдресаПочты - Строка, Массив Из Строка - Список адресов почты добавляемых пользователей - emails
|
||||||
|
// ТолькоПросмотр - Булево - Запрещает редактирование файла для стороннего пользователя - readonly
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Dropbox
|
||||||
|
Функция ДобавитьПользователейКФайлу(Знач Токен, Знач IDФайла, Знач АдресаПочты, Знач ТолькоПросмотр = Истина) Экспорт
|
||||||
|
|
||||||
|
OPI_ПреобразованиеТипов.ПолучитьМассив(АдресаПочты);
|
||||||
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDФайла);
|
||||||
|
OPI_ПреобразованиеТипов.ПолучитьБулево(ТолькоПросмотр);
|
||||||
|
|
||||||
|
Если Не СтрНачинаетсяС(IDФайла, "id:") Тогда
|
||||||
|
IDФайла = "id:" + IDФайла;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
URL = "https://api.dropboxapi.com/2/sharing/add_file_member";
|
||||||
|
|
||||||
|
МассивПользователей = Новый Массив;
|
||||||
|
|
||||||
|
Для Каждого Адрес Из АдресаПочты Цикл
|
||||||
|
|
||||||
|
ДанныеПользователя = Новый Соответствие;
|
||||||
|
OPI_Инструменты.ДобавитьПоле(".tag" , "email", "Строка", ДанныеПользователя);
|
||||||
|
OPI_Инструменты.ДобавитьПоле("email", Адрес , "Строка", ДанныеПользователя);
|
||||||
|
|
||||||
|
МассивПользователей.Добавить(ДанныеПользователя);
|
||||||
|
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
Параметры = Новый Структура;
|
||||||
|
OPI_Инструменты.ДобавитьПоле("file" , IDФайла , "Строка", Параметры);
|
||||||
|
OPI_Инструменты.ДобавитьПоле("members", МассивПользователей , "Массив", Параметры);
|
||||||
|
|
||||||
|
Режим = ?(ТолькоПросмотр, "viewer", "editor");
|
||||||
|
|
||||||
|
OPI_Инструменты.ДобавитьПоле("access_level", Режим , "Строка", Параметры);
|
||||||
|
|
||||||
|
Заголовки = ПолучитьЗаголовкиЗапроса(Токен);
|
||||||
|
|
||||||
|
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки);
|
||||||
|
|
||||||
|
Возврат Ответ;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// Добавить пользователей к папке
|
||||||
|
// Предоставляет стороннии пользователям доступ к каталогу
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// Токен - Строка - Токен - token
|
||||||
|
// IDПапки - Строка - ID публичного каталога (shared folder ID) - folder
|
||||||
|
// АдресаПочты - Строка, Массив Из Строка - Список адресов почты добавляемых пользователей - emails
|
||||||
|
// ТолькоПросмотр - Булево - Запрещает редактирование файла для стороннего пользователя - readonly
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Dropbox
|
||||||
|
Функция ДобавитьПользователейКПапке(Знач Токен, Знач IDПапки, Знач АдресаПочты, Знач ТолькоПросмотр = Истина) Экспорт
|
||||||
|
|
||||||
|
OPI_ПреобразованиеТипов.ПолучитьМассив(АдресаПочты);
|
||||||
|
OPI_ПреобразованиеТипов.ПолучитьБулево(ТолькоПросмотр);
|
||||||
|
Режим = ?(ТолькоПросмотр, "viewer", "editor");
|
||||||
|
|
||||||
|
URL = "https://api.dropboxapi.com/2/sharing/add_folder_member";
|
||||||
|
|
||||||
|
МассивПользователей = Новый Массив;
|
||||||
|
|
||||||
|
Для Каждого Адрес Из АдресаПочты Цикл
|
||||||
|
|
||||||
|
ДанныеПользователя = Новый Соответствие;
|
||||||
|
OPI_Инструменты.ДобавитьПоле(".tag" , "email", "Строка", ДанныеПользователя);
|
||||||
|
OPI_Инструменты.ДобавитьПоле("email", Адрес , "Строка", ДанныеПользователя);
|
||||||
|
|
||||||
|
СтруктураПользователя = Новый Структура("member,access_level", ДанныеПользователя, Режим);
|
||||||
|
|
||||||
|
МассивПользователей.Добавить(СтруктураПользователя);
|
||||||
|
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
Параметры = Новый Структура;
|
||||||
|
OPI_Инструменты.ДобавитьПоле("shared_folder_id", IDПапки , "Строка", Параметры);
|
||||||
|
OPI_Инструменты.ДобавитьПоле("members" , МассивПользователей , "Массив", Параметры);
|
||||||
|
|
||||||
|
Заголовки = ПолучитьЗаголовкиЗапроса(Токен);
|
||||||
|
|
||||||
|
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки);
|
||||||
|
|
||||||
|
Возврат Ответ;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
#КонецОбласти
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
#Область СлужебныеПроцедурыИФункции
|
#Область СлужебныеПроцедурыИФункции
|
||||||
|
@ -3215,6 +3215,20 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура ДропБокс_РаботаСДоступами() Экспорт
|
||||||
|
|
||||||
|
ПараметрыТеста = Новый Структура;
|
||||||
|
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Dropbox_Token" , ПараметрыТеста);
|
||||||
|
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Dropbox_OtherUser", ПараметрыТеста);
|
||||||
|
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Dropbox_FileID" , ПараметрыТеста);
|
||||||
|
|
||||||
|
Dropbox_ДобавитьПользователейКФайлу(ПараметрыТеста);
|
||||||
|
Dropbox_ОпубликоватьПапку(ПараметрыТеста);
|
||||||
|
Dropbox_ДобавитьПользователейКПапке(ПараметрыТеста);
|
||||||
|
Dropbox_ОтменитьПубликациюПапки(ПараметрыТеста);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
@ -3582,6 +3596,17 @@
|
|||||||
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["used"]).Заполнено();
|
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["used"]).Заполнено();
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура Проверка_ДропбоксУчастник(Знач Результат, Знач Почта, Знач ТолькоПросмотр)
|
||||||
|
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[0]["result"][".tag"]).Равно("success");
|
||||||
|
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[0]["member"]["email"]).Равно(Почта);
|
||||||
|
OPI_ПолучениеДанныхТестов.ОжидаетЧто(
|
||||||
|
Результат[0]["result"]["success"][".tag"]).Равно(?(ТолькоПросмотр, "viewer", "editor"));
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура Проверка_ДропбоксПубличнаяПапка(Знач Результат)
|
||||||
|
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["shared_folder_id"]).Заполнено();
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
#Область АтомарныеТесты
|
#Область АтомарныеТесты
|
||||||
@ -5135,6 +5160,91 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура Dropbox_ДобавитьПользователейКФайлу(ПараметрыФункции)
|
||||||
|
|
||||||
|
Токен = ПараметрыФункции["Dropbox_Token"];
|
||||||
|
Почта = ПараметрыФункции["Dropbox_OtherUser"];
|
||||||
|
Файл = ПараметрыФункции["Dropbox_FileID"];
|
||||||
|
|
||||||
|
Результат = OPI_Dropbox.ДобавитьПользователейКФайлу(Токен, Файл, Почта, Ложь);
|
||||||
|
|
||||||
|
// END
|
||||||
|
|
||||||
|
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьПользователяКФайлу");
|
||||||
|
|
||||||
|
Проверка_ДропбоксУчастник(Результат, Почта, Ложь);
|
||||||
|
|
||||||
|
Почты = Новый Массив;
|
||||||
|
Почты.Добавить(Почта);
|
||||||
|
|
||||||
|
Результат = OPI_Dropbox.ДобавитьПользователейКФайлу(Токен, Файл, Почты, Истина);
|
||||||
|
|
||||||
|
Проверка_ДропбоксУчастник(Результат, Почта, Истина);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура Dropbox_ОпубликоватьПапку(ПараметрыФункции)
|
||||||
|
|
||||||
|
Токен = ПараметрыФункции["Dropbox_Token"];
|
||||||
|
Путь = "/New";
|
||||||
|
|
||||||
|
Результат = OPI_Dropbox.ОпубликоватьПапку(Токен, Путь);
|
||||||
|
|
||||||
|
// END
|
||||||
|
|
||||||
|
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОпубликоватьПапку");
|
||||||
|
|
||||||
|
//Проверка_ДропБоксПубличнаяПапка(Результат);
|
||||||
|
|
||||||
|
IDПапки = Результат["shared_folder_id"];
|
||||||
|
|
||||||
|
ПараметрыФункции.Вставить("Dropbox_SharedFolder", IDПапки);
|
||||||
|
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Dropbox_SharedFolder", IDПапки);
|
||||||
|
|
||||||
|
OPI_Инструменты.Пауза(5);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура Dropbox_ОтменитьПубликациюПапки(ПараметрыФункции)
|
||||||
|
|
||||||
|
Токен = ПараметрыФункции["Dropbox_Token"];
|
||||||
|
Папка = ПараметрыФункции["Dropbox_SharedFolder"];
|
||||||
|
|
||||||
|
Результат = OPI_Dropbox.ОтменитьПубликациюПапки(Токен, Папка);
|
||||||
|
|
||||||
|
// END
|
||||||
|
|
||||||
|
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтменитьПубликациюПапки");
|
||||||
|
|
||||||
|
Проверка_ДропБоксСтатус(Результат);
|
||||||
|
|
||||||
|
OPI_Инструменты.Пауза(5);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура Dropbox_ДобавитьПользователейКПапке(ПараметрыФункции)
|
||||||
|
|
||||||
|
Токен = ПараметрыФункции["Dropbox_Token"];
|
||||||
|
Почта = ПараметрыФункции["Dropbox_OtherUser"];
|
||||||
|
Папка = ПараметрыФункции["Dropbox_SharedFolder"]; // shared_folder_id
|
||||||
|
|
||||||
|
Результат = OPI_Dropbox.ДобавитьПользователейКПапке(Токен, Папка, Почта, Ложь);
|
||||||
|
|
||||||
|
// END
|
||||||
|
|
||||||
|
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьПользователяКФайлу");
|
||||||
|
|
||||||
|
Проверка_ДропбоксУчастник(Результат, Почта, Ложь);
|
||||||
|
|
||||||
|
Почты = Новый Массив;
|
||||||
|
Почты.Добавить(Почта);
|
||||||
|
|
||||||
|
Результат = OPI_Dropbox.ДобавитьПользователейКПапке(Токен, Папка, Почты, Истина);
|
||||||
|
|
||||||
|
Проверка_ДропбоксУчастник(Результат, Почта, Истина);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
@ -212,6 +212,7 @@
|
|||||||
НовыйТест(ТаблицаТестов, "ДропБокс_СоздатьКаталог" , "Создать каталог" , ДропБокс);
|
НовыйТест(ТаблицаТестов, "ДропБокс_СоздатьКаталог" , "Создать каталог" , ДропБокс);
|
||||||
НовыйТест(ТаблицаТестов, "ДропБокс_СоздатьУдалитьТег" , "Создать/Удалить тег" , ДропБокс);
|
НовыйТест(ТаблицаТестов, "ДропБокс_СоздатьУдалитьТег" , "Создать/Удалить тег" , ДропБокс);
|
||||||
НовыйТест(ТаблицаТестов, "ДропБокс_ПолучитьАккаунт" , "Получить данные аккаунта" , ДропБокс);
|
НовыйТест(ТаблицаТестов, "ДропБокс_ПолучитьАккаунт" , "Получить данные аккаунта" , ДропБокс);
|
||||||
|
НовыйТест(ТаблицаТестов, "ДропБокс_РаботаСДоступами" , "Работа с доступами" , ДропБокс);
|
||||||
|
|
||||||
Возврат ТаблицаТестов;
|
Возврат ТаблицаТестов;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user