1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2025-08-13 20:05:19 +02:00
This commit is contained in:
Anton
2024-03-16 12:01:41 +03:00
6 changed files with 480 additions and 442 deletions

View File

@@ -10,6 +10,8 @@ jobs:
Convert:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
@@ -21,6 +23,8 @@ jobs:
- name: Выполнить скрипт преобразования OPI -> OInt
run: oscript ./.github/workflows/convert.os
- uses: stefanzweifel/git-auto-commit-action@v5
Decode:
runs-on: ubuntu-latest
needs: Convert

View File

@@ -230,7 +230,7 @@
// Получить описание файла.
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - Получить описание файла
// Соответствие Из КлючИЗначение - Описание файла
Функция ПолучитьОписаниеФайла() Экспорт
Описание = Новый Соответствие;
@@ -247,6 +247,15 @@
#Область РаботаСКомментариями
// Создать комментарий.
//
// Параметры:
// Токен - Строка - Токен
// Идентификатор - Строка - Идентификатор объекта, для которого необходим комментарий
// Комментарий - Строка - Текст комментария
//
// Возвращаемое значение:
// HTTPОтвет - Ответ сервера Google
Функция СоздатьКомментарий(Знач Токен, Знач Идентификатор, Знач Комментарий) Экспорт
Заголовки = OPI_GoogleWorkspace.ПолучитьЗаголовокАвторизации(Токен);
@@ -354,8 +363,10 @@
Функция УправлениеФайлом(Знач Токен, Знач Файл, Знач Описание = "", Знач Идентификатор = "")
MimeType = "mimeType";
Если ЗначениеЗаполнено(Идентификатор) Тогда
MIME = ПолучитьИнформациюОбОбъекте(Токен, Идентификатор)["mimeType"];
MIME = ПолучитьИнформациюОбОбъекте(Токен, Идентификатор)[MimeType];
Иначе
MIME = Описание["MIME"];
КонецЕсли;

View File

@@ -1571,7 +1571,6 @@
КонецФункции
//@skip-check method-too-many-params
Функция УправлениеПодборкой(Знач Название
, Знач Картинка = ""
, Знач ИДПодборки = ""

View File

@@ -39,13 +39,17 @@
// Для YaxUnit
Процедура ИсполняемыеСценарии() Экспорт
OPI_ПолучениеДанныхТестов.СформироватьТестыЯкс();
КонецПроцедуры
// Для Asserts
Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт // BSLLS:UnusedParameters-off
Возврат OPI_ПолучениеДанныхТестов.СформироватьТестыАссертс();
КонецФункции
#Область Тесты
@@ -454,6 +458,7 @@
Для Каждого Результат Из МассивРезультатов Цикл
Запустить приложение("echo " + OPI_Инструменты.JSONСтрокой(Результат));
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["description"]).Равно("Bad Request: can't remove chat owner");
@@ -674,10 +679,10 @@
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Response]["post_id"]).ИмеетТип("Число").Заполнено();
ИДПоста = Результат[Response]["post_id"];
Удаление = OPI_VK.УдалитьПост(ИДПоста, Параметры);
Результат = OPI_VK.УдалитьПост(ИДПоста, Параметры);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Удаление) .ИмеетТип("Соответствие").Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Удаление[Response]).ИмеетТип("Число").Равно(1);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат) .ИмеетТип("Соответствие").Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Response]).ИмеетТип("Число").Равно(1);
КонецЦикла;
@@ -721,12 +726,12 @@
Response = "response";
Картинка.Записать(ИВФ);
Альбом = OPI_VK.СоздатьАльбом(Имя, Описание, Параметры);
Результат = OPI_VK.СоздатьАльбом(Имя, Описание, Параметры);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Альбом).ИмеетТип(ТипСоответствие).Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Альбом[Response]["description"]).Равно(Описание);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие).Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Response]["description"]).Равно(Описание);
ИДАльбома = Альбом[Response]["id"];
ИДАльбома = Результат[Response]["id"];
МассивРезультатов = Новый Массив;
@@ -811,13 +816,13 @@
Проверка_ВКИстина(Открытие);
Отправка = OPI_VK.НаписатьВОбсуждение(ИДОбсуждения, Сообщение, Параметры);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Отправка).ИмеетТип(ТипСоответствие).Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Отправка[Response]).ИмеетТип(ТипЧисло).Заполнено();
Результат = OPI_VK.НаписатьВОбсуждение(ИДОбсуждения, Сообщение, Параметры);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие).Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Response]).ИмеетТип(ТипЧисло).Заполнено();
Удаление = OPI_VK.ЗакрытьОбсуждение(ИДОбсуждения, Истина, Параметры);
Результат = OPI_VK.ЗакрытьОбсуждение(ИДОбсуждения, Истина, Параметры);
OPI_Инструменты.Пауза(5);
Проверка_ВКИстина(Удаление);
Проверка_ВКИстина(Результат);
OPI_Инструменты.Пауза(5);
@@ -835,21 +840,21 @@
Результат = OPI_VK.СоздатьПост(Текст, Новый Массив, , , Параметры);
ИДПоста = Результат[Response]["post_id"];
Лайк = OPI_VK.ПоставитьЛайк(ИДПоста, , Параметры);
Результат = OPI_VK.ПоставитьЛайк(ИДПоста, , Параметры);
OPI_Инструменты.Пауза(5);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Лайк).ИмеетТип(ТипСоответствие).Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Лайк[Response]["likes"]).ИмеетТип(ТипЧисло).Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие).Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Response]["likes"]).ИмеетТип(ТипЧисло).Заполнено();
ВнешнийПост = 2571;
ВнешняяСтена = -218704372;
Репост = OPI_VK.СделатьРепост(ВнешнийПост, ВнешняяСтена, , , Параметры);
Результат = OPI_VK.СделатьРепост(ВнешнийПост, ВнешняяСтена, , , Параметры);
OPI_Инструменты.Пауза(5);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Репост).ИмеетТип(ТипСоответствие).Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Репост[Response]["success"]).ИмеетТип(ТипЧисло).Равно(1);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Репост[Response]["wall_repost_count"]).ИмеетТип(ТипЧисло).Равно(1);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие).Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Response]["success"]).ИмеетТип(ТипЧисло).Равно(1);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Response]["wall_repost_count"]).ИмеетТип(ТипЧисло).Равно(1);
Комментарий = OPI_VK.НаписатьКомментарий(ИДПоста, Параметры["owner_id"], Сообщение, Параметры);
OPI_Инструменты.Пауза(5);
@@ -858,7 +863,7 @@
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Комментарий[Response]["comment_id"]).ИмеетТип(ТипЧисло).Заполнено();
OPI_VK.УдалитьПост(ИДПоста, Параметры);
OPI_VK.УдалитьПост(Репост[Response]["post_id"], Параметры);
OPI_VK.УдалитьПост(Результат[Response]["post_id"], Параметры);
OPI_Инструменты.Пауза(5);
@@ -930,18 +935,19 @@
, ИДПоста
, ИДКабинета
, Параметры);
Объявление = Объявление[Response][0];
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Объявление).ИмеетТип(ТипСоответствие);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Объявление["error_code"]).ИмеетТип(ТипЧисло).Равно(602);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Объявление[UID]).ИмеетТип(ТипЧисло).Заполнено();
Результат = Объявление[Response][0];
ИДОбъявления = Объявление[UID];
Остановка = OPI_VK.ПриостановитьРекламноеОбъявление(ИДКабинета, ИДОбъявления, Параметры);
Остановка = Остановка[Response][0];
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["error_code"]).ИмеетТип(ТипЧисло).Равно(602);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[UID]).ИмеетТип(ТипЧисло).Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Остановка).ИмеетТип(ТипСоответствие);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Остановка[UID]).ИмеетТип(ТипЧисло).Заполнено();
ИДОбъявления = Результат[UID];
Результат = OPI_VK.ПриостановитьРекламноеОбъявление(ИДКабинета, ИДОбъявления, Параметры);
Результат = Остановка[Response][0];
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(ТипСоответствие);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[UID]).ИмеетТип(ТипЧисло).Заполнено();
OPI_VK.УдалитьПост(ИДПоста, Параметры);
@@ -1482,8 +1488,7 @@
МассивРезультатов.Добавить(OPI_YandexDisk.СохранитьПубличныйОбъектНаДиск(Токен, ПубличныйURL));
ПубличныйОбъект = OPI_YandexDisk.ПолучитьПубличныйОбъект(Токен, ПубличныйURL);
СсылкаСкачивания = OPI_YandexDisk.ПолучитьСсылкуСкачиванияПубличногоОбъекта(Токен, ПубличныйURL);
Результат = OPI_YandexDisk.ПолучитьСсылкуСкачиванияПубличногоОбъекта(Токен, ПубличныйURL);
МассивРезультатов.Добавить(OPI_YandexDisk.ОтменитьПубликациюОбъекта(Токен, Путь));
@@ -1504,13 +1509,15 @@
КонецЦикла;
OPI_ПолучениеДанныхТестов.ОжидаетЧто(СсылкаСкачивания).ИмеетТип(Соответствие).Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(СсылкаСкачивания["method"]).Равно("GET");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(СсылкаСкачивания["href"]).ИмеетТип("Строка").Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(Соответствие).Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["method"]).Равно("GET");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["href"]).ИмеетТип("Строка").Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(ПубличныйОбъект).ИмеетТип(Соответствие).Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(ПубличныйОбъект["type"]).Равно("file");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(ПубличныйОбъект["path"]).Равно("/");
Результат = OPI_YandexDisk.ПолучитьПубличныйОбъект(Токен, ПубличныйURL);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип(Соответствие).Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["type"]).Равно("file");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["path"]).Равно("/");
OPI_YandexDisk.УдалитьОбъект(Токен, Путь, Ложь);
@@ -1747,21 +1754,21 @@
Имя = "ОПИ";
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_Token");
Результат = OPI_GoogleDrive.ПолучитьСписокКаталогов(Токен, Имя, Истина);
Каталог = Результат[0];
Результат = Результат[0];
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Каталог["files"]).ИмеетТип("Массив");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Каталог[MimeType]).Равно("application/vnd.google-apps.folder");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Каталог[Name]).Равно(Имя);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["files"]).ИмеетТип("Массив");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[MimeType]).Равно("application/vnd.google-apps.folder");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Name]).Заполнено();
OPI_Инструменты.Пауза(5);
Идентификатор = Каталог["id"];
Идентификатор = Результат["id"];
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("GD_Каталог", Идентификатор);
Каталог = OPI_GoogleDrive.ПолучитьИнформациюОбОбъекте(Токен, Идентификатор);
Результат = OPI_GoogleDrive.ПолучитьИнформациюОбОбъекте(Токен, Идентификатор);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Каталог[MimeType]).Равно("application/vnd.google-apps.folder");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Каталог[Name]).Равно(Имя);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[MimeType]).Равно("application/vnd.google-apps.folder");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Name]).Заполнено();
OPI_Инструменты.Пауза(5);
@@ -1769,6 +1776,9 @@
Процедура ГД_ЗагрузитьУдалитьФайл() Экспорт
Kind = "kind";
Content = "content";
MIME = "MIME";
MimeType = "mimeType";
Name = "name";
Id_ = "id";
@@ -1784,7 +1794,7 @@
Результат = OPI_GoogleDrive.ЗагрузитьФайл(Токен, Картинка, Описание);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[MimeType]).Равно(Описание["MIME"]);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[MimeType]).Равно(Описание[MIME]);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Name]).Равно(Описание["Имя"]);
Идентификатор = Результат[Id_];
@@ -1794,7 +1804,7 @@
Результат = OPI_GoogleDrive.СкоприроватьОбъект(Токен, Идентификатор, НовоеИмя, "root");
OPI_Инструменты.Пауза(5);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[MimeType]).Равно(Описание["MIME"]);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[MimeType]).Равно(Описание[MIME]);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Name]).Равно(НовоеИмя);
МассивУдаляемых.Добавить(Результат[Id_]);
@@ -1805,17 +1815,16 @@
НовоеИмя = "Обновленный";
Результат = OPI_GoogleDrive.ОбновитьФайл(Токен, Идентификатор, КартинкаЗамены, НовоеИмя);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[MimeType]).Равно(Описание[MIME]);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Name]).Равно(НовоеИмя);
OPI_Инструменты.Пауза(5);
Комментарий = "Yo";
Результат = OPI_GoogleDrive.СоздатьКомментарий(Токен, Идентификатор, Комментарий);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[MimeType]).Равно(Описание["MIME"]);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Name]).Равно(НовоеИмя);
Результат = OPI_GoogleDrive.СкачатьФайл(Токен, Идентификатор);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат.Размер()).Равно(КартинкаЗамены.Размер() + 2);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Content]).Равно(Комментарий);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Kind]).Равно("drive#comment");
OPI_Инструменты.Пауза(5);
@@ -2163,7 +2172,11 @@
#КонецОбласти
Функция ПолучитьПараметрыВК() Экспорт
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
Функция ПолучитьПараметрыВК()
Параметры = Новый Структура;
НомерГруппы = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("ВК_НомерГруппы");
@@ -2177,7 +2190,7 @@
КонецФункции
Функция ПолучитьПараметрыТвиттер() Экспорт
Функция ПолучитьПараметрыТвиттер()
Параметры = Новый Соответствие;
@@ -2198,10 +2211,6 @@
КонецФункции
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
#Область Проверки
Процедура Проверка_ТелеграмИстина(Знач Результат)

View File

@@ -158,7 +158,19 @@
КонецФункции
Функция ПутьКФайлуДанных()
Возврат "./data.json"; // BSLLS:UsingHardcodePath-off
ПутьРепозитория = "./data.json";
ПутьЛокальный = "C:\GDrive\Мой диск\data.json";
ФайлРепозитория = Новый Файл(ПутьРепозитория);
Если ФайлРепозитория.Существует() Тогда
Путь = ПутьРепозитория;
Иначе
Путь = ПутьЛокальный;
КонецЕсли;
Возврат Путь; // BSLLS:UsingHardcodePath-off
КонецФункции
Функция ПолучитьМассивРазделовТестирования()

View File

@@ -579,6 +579,7 @@
РазделительСтрок = Символы.ВК + Символы.ПС;
Если ТипЗнч(Файлы) = Тип("Соответствие") Тогда
Для Каждого Файл Из Файлы Цикл
ЗаписьТекста.ЗаписатьСтроку("--" + boundary + РазделительСтрок);
@@ -591,6 +592,8 @@
КонецЦикла;
КонецЕсли;
КонецПроцедуры
Процедура ЗаписатьJSONМультипарт(ЗаписьТекста, Знач Boundary, Знач JSON)