1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2025-08-15 20:13:31 +02:00

Apply automatic changes

This commit is contained in:
Bayselonarrend
2024-03-14 20:08:51 +00:00
committed by github-actions[bot]
parent aa8bfc3641
commit c5e0d2cce4
15 changed files with 497 additions and 353 deletions

View File

@@ -22,6 +22,9 @@
// https://github.com/Bayselonarrend/OpenIntegrations // https://github.com/Bayselonarrend/OpenIntegrations
// BSLLS:LatinAndCyrillicSymbolInWord-off
// BSLLS:IncorrectLineBreak-off
// Раскомментировать, если выполняется OneScript // Раскомментировать, если выполняется OneScript
#Использовать "../../tools" #Использовать "../../tools"

View File

@@ -22,12 +22,15 @@
// https://github.com/Bayselonarrend/OpenIntegrations // https://github.com/Bayselonarrend/OpenIntegrations
// BSLLS:LatinAndCyrillicSymbolInWord-off
// BSLLS:IncorrectLineBreak-off
// Раскомментировать, если выполняется OneScript // Раскомментировать, если выполняется OneScript
#Использовать "../../tools" #Использовать "../../tools"
#Область ПрограммныйИнтерфейс #Область ПрограммныйИнтерфейс
#Область РаботаСФайлами #Область РаботаСФайламиИКаталогами
// Получить информацию об объекте. // Получить информацию об объекте.
// //
@@ -40,8 +43,12 @@
Функция ПолучитьИнформациюОбОбъекте(Знач Токен, Знач Идентификатор) Экспорт Функция ПолучитьИнформациюОбОбъекте(Знач Токен, Знач Идентификатор) Экспорт
Заголовки = OPI_GoogleWorkspace.ПолучитьЗаголовокАвторизации(Токен); Заголовки = OPI_GoogleWorkspace.ПолучитьЗаголовокАвторизации(Токен);
URL = "https://www.googleapis.com/drive/v3/files/" + Идентификатор; URL = "https://www.googleapis.com/drive/v3/files/" + Идентификатор;
Ответ = OPI_Инструменты.Get(URL, , Заголовки);
Параметры = Новый Структура;
Параметры.Вставить("fields", "*");
Ответ = OPI_Инструменты.Get(URL, Параметры, Заголовки);
Возврат Ответ; Возврат Ответ;
@@ -118,25 +125,8 @@
// //
// Возвращаемое значение: // Возвращаемое значение:
// HTTPОтвет - Ответ сервера Google // HTTPОтвет - Ответ сервера Google
Функция ЗагрузитьФайл(Знач Токен, Знач Файл, Знач Описание) Экспорт Функция ЗагрузитьФайл(Знач Токен, Знач Файл, Знач Описание) Экспорт
Возврат УправлениеФайлом(Токен, Файл, Описание);
MIME = Описание["MIME"];
Заголовки = OPI_GoogleWorkspace.ПолучитьЗаголовокАвторизации(Токен);
URL = "https://www.googleapis.com/upload/drive/v3/files?uploadType=multipart";
Если ТипЗнч(Файл) <> Тип("ДвоичныеДанные") Тогда
Файл = Новый ДвоичныеДанные(Файл);
КонецЕсли;
СоответствиеФайла = Новый Соответствие;
СоответствиеФайла.Вставить(Файл, MIME);
СформироватьПараметрыЗагрузкиФайла(Описание);
Ответ = OPI_Инструменты.PostMultipartRelated(URL, Описание, СоответствиеФайла, Заголовки);
Возврат Ответ;
КонецФункции КонецФункции
// Скачать файл. // Скачать файл.
@@ -214,6 +204,29 @@
КонецФункции КонецФункции
// Обновить файл.
//
// Параметры:
// Токен - Строка - Токен
// Идентификатор - Строка - Идентификатор обновляемого объекта
// Файл - ДвоичныеДанные,Строка - Файл или путь к файлу
// НовоеИмя - Строка - Новое имя файла (если необходимо)
//
// Возвращаемое значение:
// HTTPОтвет - Ответ сервера Google
Функция ОбновитьФайл(Знач Токен, Знач Идентификатор, Знач Файл, Знач НовоеИмя = "") Экспорт
Если ЗначениеЗаполнено(НовоеИмя) Тогда
Описание = Новый Соответствие;
Описание.Вставить("Имя", НовоеИмя);
Иначе
Описание = "";
КонецЕсли;
Возврат УправлениеФайлом(Токен, Файл, Описание, Идентификатор);
КонецФункции
// Получить описание файла. // Получить описание файла.
// //
// Возвращаемое значение: // Возвращаемое значение:
@@ -232,6 +245,24 @@
#КонецОбласти #КонецОбласти
#Область РаботаСКомментариями
Функция СоздатьКомментарий(Знач Токен, Знач Идентификатор, Знач Комментарий) Экспорт
Заголовки = OPI_GoogleWorkspace.ПолучитьЗаголовокАвторизации(Токен);
URL = "https://www.googleapis.com/drive/v3/files/" + Идентификатор + "/comments?fields=*";
Параметры = Новый Структура;
Параметры.Вставить("content", Комментарий);
Ответ = OPI_Инструменты.POST(URL, Параметры, Заголовки);
Возврат Ответ;
КонецФункции
#КонецОбласти
#КонецОбласти #КонецОбласти
#Область СлужебныеПроцедурыИФункции #Область СлужебныеПроцедурыИФункции
@@ -317,8 +348,44 @@
КонецЦикла; КонецЦикла;
Описание = OPI_Инструменты.JSONСтрокой(СформированноеОписание); Описание = СформированноеОписание;
КонецПроцедуры КонецПроцедуры
Функция УправлениеФайлом(Знач Токен, Знач Файл, Знач Описание = "", Знач Идентификатор = "")
Если ЗначениеЗаполнено(Идентификатор) Тогда
MIME = ПолучитьИнформациюОбОбъекте(Токен, Идентификатор)["mimeType"];
Иначе
MIME = Описание["MIME"];
КонецЕсли;
Если Не ЗначениеЗаполнено(Описание) Тогда
Описание = Новый Соответствие;
КонецЕсли;
Заголовки = OPI_GoogleWorkspace.ПолучитьЗаголовокАвторизации(Токен);
URL = "https://www.googleapis.com/upload/drive/v3/files?uploadType=multipart";
Если ТипЗнч(Файл) <> Тип("ДвоичныеДанные") Тогда
Файл = Новый ДвоичныеДанные(Файл);
КонецЕсли;
СоответствиеФайла = Новый Соответствие;
СоответствиеФайла.Вставить(Файл, MIME);
СформироватьПараметрыЗагрузкиФайла(Описание);
Описание = OPI_Инструменты.JSONСтрокой(Описание);
Если ЗначениеЗаполнено(Идентификатор) Тогда
URL = СтрЗаменить(URL, "/files", "/files/" + Идентификатор);
Ответ = OPI_Инструменты.PatchMultipartRelated(URL, Описание, СоответствиеФайла, Заголовки);
Иначе
Ответ = OPI_Инструменты.PostMultipartRelated(URL, Описание, СоответствиеФайла, Заголовки);
КонецЕсли;
Возврат Ответ;
КонецФункции
#КонецОбласти #КонецОбласти

View File

@@ -22,6 +22,9 @@
// https://github.com/Bayselonarrend/OpenIntegrations // https://github.com/Bayselonarrend/OpenIntegrations
// BSLLS:LatinAndCyrillicSymbolInWord-off
// BSLLS:IncorrectLineBreak-off
// Раскомментировать, если выполняется OneScript // Раскомментировать, если выполняется OneScript
#Использовать "../../tools" #Использовать "../../tools"

View File

@@ -22,6 +22,9 @@
// https://github.com/Bayselonarrend/OpenIntegrations // https://github.com/Bayselonarrend/OpenIntegrations
// BSLLS:LatinAndCyrillicSymbolInWord-off
// BSLLS:IncorrectLineBreak-off
// Раскомментировать, если выполняется OneScript // Раскомментировать, если выполняется OneScript
#Использовать "../../tools" #Использовать "../../tools"

View File

@@ -23,6 +23,8 @@
// https://github.com/Bayselonarrend/OpenIntegrations // https://github.com/Bayselonarrend/OpenIntegrations
// BSLLS:Typo-off // BSLLS:Typo-off
// BSLLS:LatinAndCyrillicSymbolInWord-off
// BSLLS:IncorrectLineBreak-off
// Раскомментировать, если выполняется OneScript // Раскомментировать, если выполняется OneScript
#Использовать "../../tools" #Использовать "../../tools"
@@ -227,7 +229,6 @@
// //
// Возвращаемое значение: // Возвращаемое значение:
// Произвольный, HTTPОтвет - Ответ сервера Telegram // Произвольный, HTTPОтвет - Ответ сервера Telegram
// BSLLS:Typo-off
Функция ОтправитьМедиагруппу(Знач Токен, Знач IDЧата, Знач Текст, Знач СоответствиеФайлов, Знач Клавиатура = "") Экспорт Функция ОтправитьМедиагруппу(Знач Токен, Знач IDЧата, Знач Текст, Знач СоответствиеФайлов, Знач Клавиатура = "") Экспорт
// СоответствиеФайлов // СоответствиеФайлов
@@ -1076,5 +1077,3 @@
КонецПроцедуры КонецПроцедуры
#КонецОбласти #КонецОбласти
// BSLLS:Typo-on

View File

@@ -25,6 +25,8 @@
// и почитать комментарии // и почитать комментарии
// BSLLS:Typo-off // BSLLS:Typo-off
// BSLLS:LatinAndCyrillicSymbolInWord-off
// BSLLS:IncorrectLineBreak-off
// Раскомментировать, если выполняется OneScript // Раскомментировать, если выполняется OneScript
#Использовать "../../tools" #Использовать "../../tools"
@@ -487,8 +489,6 @@
КонецФункции КонецФункции
// BSLLS:LatinAndCyrillicSymbolInWord-off
Функция СоздатьЗаголовокАвторизацииV1(Знач Параметры, Знач Поля, Знач ВидЗапроса, Знач URL) Функция СоздатьЗаголовокАвторизацииV1(Знач Параметры, Знач Поля, Знач ВидЗапроса, Знач URL)
ТекущаяДата = OPI_Инструменты.ПолучитьТекущуюДату(); ТекущаяДата = OPI_Инструменты.ПолучитьТекущуюДату();
@@ -601,8 +601,4 @@
КонецФункции КонецФункции
// BSLLS:LatinAndCyrillicSymbolInWord-on
#КонецОбласти #КонецОбласти
// BSLLS:Typo-on

View File

@@ -25,6 +25,8 @@
// и почитать комментарии // и почитать комментарии
// BSLLS:NumberOfOptionalParams-off // BSLLS:NumberOfOptionalParams-off
// BSLLS:LatinAndCyrillicSymbolInWord-off
// BSLLS:IncorrectLineBreak-off
// Раскомментировать, если выполняется OneScript // Раскомментировать, если выполняется OneScript
#Использовать "../../tools" #Использовать "../../tools"
@@ -1408,8 +1410,6 @@
#КонецОбласти #КонецОбласти
#Область СлужебныеПроцедурыИФункции #Область СлужебныеПроцедурыИФункции
// BSLLS:MissingReturnedValueDescription-off
// BSLLS:MissingParameterDescription-off
Функция ПолучитьСтандартныеПараметры(Знач Параметры = "") Функция ПолучитьСтандартныеПараметры(Знач Параметры = "")
@@ -1571,6 +1571,7 @@
КонецФункции КонецФункции
//@skip-check method-too-many-params //@skip-check method-too-many-params
Функция УправлениеПодборкой(Знач Название Функция УправлениеПодборкой(Знач Название
, Знач Картинка = "" , Знач Картинка = ""
, Знач ИДПодборки = "" , Знач ИДПодборки = ""
@@ -1795,8 +1796,4 @@
КонецПроцедуры КонецПроцедуры
// BSLLS:MissingParameterDescription-on
// BSLLS:MissingReturnedValueDescription-on
#КонецОбласти #КонецОбласти
// BSLLS:NumberOfOptionalParams-on

View File

@@ -22,6 +22,9 @@
// https://github.com/Bayselonarrend/OpenIntegrations // https://github.com/Bayselonarrend/OpenIntegrations
// BSLLS:LatinAndCyrillicSymbolInWord-off
// BSLLS:IncorrectLineBreak-off
// Раскомментировать, если выполняется OneScript // Раскомментировать, если выполняется OneScript
#Использовать "../../tools" #Использовать "../../tools"

View File

@@ -22,6 +22,9 @@
// https://github.com/Bayselonarrend/OpenIntegrations // https://github.com/Bayselonarrend/OpenIntegrations
// BSLLS:LatinAndCyrillicSymbolInWord-off
// BSLLS:IncorrectLineBreak-off
// Раскомментировать, если выполняется OneScript // Раскомментировать, если выполняется OneScript
#Использовать "../../tools" #Использовать "../../tools"

View File

@@ -22,6 +22,9 @@
// https://github.com/Bayselonarrend/OpenIntegrations // https://github.com/Bayselonarrend/OpenIntegrations
// BSLLS:LatinAndCyrillicSymbolInWord-off
// BSLLS:IncorrectLineBreak-off
// Раскомментировать, если выполняется OneScript // Раскомментировать, если выполняется OneScript
#Использовать "../../tools" #Использовать "../../tools"

View File

@@ -23,8 +23,11 @@
// https://github.com/Bayselonarrend/OpenIntegrations // https://github.com/Bayselonarrend/OpenIntegrations
// Набор тестов для YAxUnit // Набор тестов для YAxUnit
// @skip-check undefined-variable // @skip-check undefined-variable
// BSLLS:Typo-off // BSLLS:Typo-off
// BSLLS:LatinAndCyrillicSymbolInWord-off
// BSLLS:IncorrectLineBreak-off
// Раскомментировать, если выполняется OneScript // Раскомментировать, если выполняется OneScript
#Использовать "../../../tools" #Использовать "../../../tools"
@@ -1773,6 +1776,7 @@
МассивУдаляемых = Новый Массив; МассивУдаляемых = Новый Массив;
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_Token"); Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_Token");
Картинка = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Картинка"); Картинка = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Картинка");
КартинкаЗамены = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Картинка2");
Каталог = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("GD_Каталог"); Каталог = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("GD_Каталог");
Описание = OPI_GoogleDrive.ПолучитьОписаниеФайла(); Описание = OPI_GoogleDrive.ПолучитьОписаниеФайла();
@@ -1796,7 +1800,24 @@
МассивУдаляемых.Добавить(Результат[Id_]); МассивУдаляемых.Добавить(Результат[Id_]);
Результат = OPI_GoogleDrive.СкачатьФайл(Токен, Идентификатор); Результат = OPI_GoogleDrive.СкачатьФайл(Токен, Идентификатор);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("ДвоичныеДанные"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат.Размер()).Равно(Картинка.Размер() + 2);
OPI_Инструменты.Пауза(5);
НовоеИмя = "Обновленный";
Результат = OPI_GoogleDrive.ОбновитьФайл(Токен, Идентификатор, КартинкаЗамены, НовоеИмя);
OPI_Инструменты.Пауза(5);
Комментарий = "Yo";
Результат = OPI_GoogleDrive.СоздатьКомментарий(Токен, Идентификатор, Комментарий);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[MimeType]).Равно(Описание["MIME"]);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Name]).Равно(НовоеИмя);
Результат = OPI_GoogleDrive.СкачатьФайл(Токен, Идентификатор);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат.Размер()).Равно(КартинкаЗамены.Размер() + 2);
OPI_Инструменты.Пауза(5);
Для Каждого Удаляемый Из МассивУдаляемых Цикл Для Каждого Удаляемый Из МассивУдаляемых Цикл
Результат = OPI_GoogleDrive.УдалитьОбъект(Токен, Удаляемый); Результат = OPI_GoogleDrive.УдалитьОбъект(Токен, Удаляемый);
@@ -1808,6 +1829,26 @@
КонецПроцедуры КонецПроцедуры
Процедура ГД_СоздатьУдалитьКомментарий() Экспорт
Id_ = "id";
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_Token");
Каталог = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("GD_Каталог");
Картинка = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Картинка");
Описание = OPI_GoogleDrive.ПолучитьОписаниеФайла();
Описание.Вставить("Родитель", Каталог);
Результат = OPI_GoogleDrive.ЗагрузитьФайл(Токен, Картинка, Описание);
Идентификатор = Результат[Id_];
Комментарий = "Новый комментарий";
Результат = OPI_GoogleDrive.СоздатьКомментарий(Токен, Идентификатор, Комментарий);
Результат = OPI_GoogleDrive.УдалитьОбъект(Токен, Идентификатор);
КонецПроцедуры
#КонецОбласти #КонецОбласти
#Область Twitter #Область Twitter
@@ -2211,5 +2252,3 @@
#КонецОбласти #КонецОбласти
#КонецОбласти #КонецОбласти
// BSLLS:Typo-on

View File

@@ -1,306 +1,320 @@
// MIT License // MIT License
// Copyright (c) 2023 Anton Tsitavets // Copyright (c) 2023 Anton Tsitavets
// Permission is hereby granted, free of charge, to any person obtaining a copy // Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal // of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights // in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is // copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions: // furnished to do so, subject to the following conditions:
// The above copyright notice and this permission notice shall be included in all // The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software. // copies or substantial portions of the Software.
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE. // SOFTWARE.
// https://github.com/Bayselonarrend/OpenIntegrations // https://github.com/Bayselonarrend/OpenIntegrations
// Раскомментировать, если выполняется OneScript // BSLLS:LatinAndCyrillicSymbolInWord-off
#Использовать "./internal" // BSLLS:IncorrectLineBreak-off
#Использовать asserts
// Раскомментировать, если выполняется OneScript
// BSLLS:Typo-off #Использовать "./internal"
#Использовать asserts
#Область СлужебныйПрограммныйИнтерфейс
// BSLLS:Typo-off
Функция ОжидаетЧто(Значение) Экспорт
#Область СлужебныйПрограммныйИнтерфейс
Попытка
Функция ОжидаетЧто(Значение) Экспорт
Модуль = ПолучитьОбщийМодуль("ЮТест");
Ожидаем = ТипЗнч(Модуль) = Тип("ОбщийМодуль"); Попытка
Возврат Модуль.ОжидаетЧто(Значение);
Модуль = ПолучитьОбщийМодуль("ЮТест");
Исключение Ожидаем = ТипЗнч(Модуль) = Тип("ОбщийМодуль");
Возврат Ожидаем.Что(Значение); Возврат Модуль.ОжидаетЧто(Значение);
КонецПопытки;
Исключение
КонецФункции Возврат Ожидаем.Что(Значение);
КонецПопытки;
Функция СформироватьТестыЯкс() Экспорт
КонецФункции
Модуль = ПолучитьОбщийМодуль("ЮТТесты");
МассивРазделов = ПолучитьМассивРазделовТестирования(); Функция СформироватьТестыЯкс() Экспорт
ТаблицаТестов = ПолучитьТаблицуТестов();
Модуль = ПолучитьОбщийМодуль("ЮТТесты");
Для Каждого Раздел Из МассивРазделов Цикл МассивРазделов = ПолучитьМассивРазделовТестирования();
ТаблицаТестов = ПолучитьТаблицуТестов();
Отбор = Новый Структура("Раздел", Раздел);
ТестыРаздела = ТаблицаТестов.НайтиСтроки(Отбор); Для Каждого Раздел Из МассивРазделов Цикл
Набор = Модуль.ДобавитьТестовыйНабор(Раздел); Отбор = Новый Структура("Раздел", Раздел);
ТестыРаздела = ТаблицаТестов.НайтиСтроки(Отбор);
Для Каждого Тест Из ТестыРаздела Цикл
Набор.ДобавитьСерверныйТест(Тест.Метод, Тест.Синоним); Набор = Модуль.ДобавитьТестовыйНабор(Раздел);
КонецЦикла;
Для Каждого Тест Из ТестыРаздела Цикл
КонецЦикла; Набор.ДобавитьСерверныйТест(Тест.Метод, Тест.Синоним);
КонецЦикла;
Возврат "";
КонецЦикла;
КонецФункции
Возврат "";
Функция СформироватьТестыАссертс() Экспорт
КонецФункции
ТаблицаТестов = ПолучитьТаблицуТестов();
МассивТестов = Новый Массив; Функция СформироватьТестыАссертс() Экспорт
Для Каждого Тест Из ТаблицаТестов Цикл ТаблицаТестов = ПолучитьТаблицуТестов();
МассивТестов.Добавить(Тест.Метод); МассивТестов = Новый Массив;
КонецЦикла;
Для Каждого Тест Из ТаблицаТестов Цикл
Возврат МассивТестов; МассивТестов.Добавить(Тест.Метод);
КонецЦикла;
КонецФункции
Возврат МассивТестов;
Функция ПолучитьПараметр(Параметр) Экспорт
КонецФункции
Путь = ПутьКФайлуДанных();
Возврат ПолучитьЗначениеИзФайла(Параметр, Путь); Функция ПолучитьПараметр(Параметр) Экспорт
КонецФункции Путь = ПутьКФайлуДанных();
Возврат ПолучитьЗначениеИзФайла(Параметр, Путь);
Функция ПолучитьДвоичные(Параметр) Экспорт
КонецФункции
Путь = ПутьКФайлуДанных();
ПараметрЛокальный = Параметр + "Локальный"; Функция ПолучитьДвоичные(Параметр) Экспорт
ЗначениеОсновной = ПолучитьЗначениеИзФайла(Параметр , Путь);
ЗначениеЛокальный = ПолучитьЗначениеИзФайла(ПараметрЛокальный, Путь); Путь = ПутьКФайлуДанных();
ПараметрЛокальный = Параметр + "Локальный";
ФайлЛокальный = Новый Файл(ЗначениеЛокальный); ЗначениеОсновной = ПолучитьЗначениеИзФайла(Параметр , Путь);
ЗначениеЛокальный = ПолучитьЗначениеИзФайла(ПараметрЛокальный, Путь);
Если ФайлЛокальный.Существует() Тогда
Значение = Новый ДвоичныеДанные(ЗначениеЛокальный); ФайлЛокальный = Новый Файл(ЗначениеЛокальный);
Иначе
Значение = ЗначениеОсновной; Если ФайлЛокальный.Существует() Тогда
КонецЕсли; Значение = Новый ДвоичныеДанные(ЗначениеЛокальный);
Иначе
Если ТипЗнч(Значение) = Тип("Строка") Тогда Значение = ЗначениеОсновной;
Значение = ПолучитьФайлПути(Значение, ПараметрЛокальный); КонецЕсли;
КонецЕсли;
Если ТипЗнч(Значение) = Тип("Строка") Тогда
Возврат Значение; Значение = ПолучитьФайлПути(Значение, ПараметрЛокальный);
КонецЕсли;
КонецФункции
Возврат Значение;
Функция ПолучитьФайлПути(Знач Путь, ПараметрЛокальный, Знач СохранятьЛокально = Истина) Экспорт
КонецФункции
Если СтрНайти(Путь, "http") > 0
Или СтрНайти(Путь, "www") > 0 Тогда Функция ПолучитьФайлПути(Знач Путь, ПараметрЛокальный, Знач СохранятьЛокально = Истина) Экспорт
ИВФ = ПолучитьИмяВременногоФайла(); Если СтрНайти(Путь, "http") > 0
КопироватьФайл(Путь, ИВФ); Или СтрНайти(Путь, "www") > 0 Тогда
Путь = ИВФ;
Двоичные = Новый ДвоичныеДанные(Путь); ИВФ = ПолучитьИмяВременногоФайла();
КопироватьФайл(Путь, ИВФ);
Если СохранятьЛокально Тогда Путь = ИВФ;
ЗаписатьПараметр(ПараметрЛокальный, ИВФ); Двоичные = Новый ДвоичныеДанные(Путь);
Иначе
УдалитьФайлы(ИВФ); Если СохранятьЛокально Тогда
КонецЕсли; ЗаписатьПараметр(ПараметрЛокальный, ИВФ);
Иначе
Иначе УдалитьФайлы(ИВФ);
КонецЕсли;
Двоичные = Новый ДвоичныеДанные(Путь);
Иначе
КонецЕсли;
Двоичные = Новый ДвоичныеДанные(Путь);
Возврат Двоичные;
КонецЕсли;
КонецФункции
Возврат Двоичные;
Процедура ЗаписатьПараметр(Параметр, Значение) Экспорт
КонецФункции
Путь = ПутьКФайлуДанных();
ЗаписатьПараметрВФайл(Параметр, Значение, Путь); Процедура ЗаписатьПараметр(Параметр, Значение) Экспорт
КонецПроцедуры Путь = ПутьКФайлуДанных();
ЗаписатьПараметрВФайл(Параметр, Значение, Путь);
#КонецОбласти
КонецПроцедуры
#Область СлужебныеПроцедурыИФункции
#КонецОбласти
Функция ПолучитьЗначениеИзФайла(Параметр, Путь)
#Область СлужебныеПроцедурыИФункции
Значения = OPI_Инструменты.ПрочитатьJSONФайл(Путь);
Возврат ?(Значения.Свойство(Параметр), Значения[Параметр], ""); Функция ПолучитьЗначениеИзФайла(Параметр, Путь)
КонецФункции Значения = OPI_Инструменты.ПрочитатьJSONФайл(Путь);
Возврат ?(Значения.Свойство(Параметр), Значения[Параметр], "");
Функция ПутьКФайлуДанных()
Возврат "./data.json"; // BSLLS:UsingHardcodePath-off КонецФункции
КонецФункции
Функция ПутьКФайлуДанных()
Функция ПолучитьМассивРазделовТестирования() Возврат "./data.json"; // BSLLS:UsingHardcodePath-off
КонецФункции
МассивРазделов = Новый Массив;
МассивРазделов.Добавить("Телеграм"); Функция ПолучитьМассивРазделовТестирования()
МассивРазделов.Добавить("ВКонтакте");
МассивРазделов.Добавить("Яндекс.Диск"); МассивРазделов = Новый Массив;
МассивРазделов.Добавить("Google Calendar"); МассивРазделов.Добавить("Телеграм");
МассивРазделов.Добавить("Twitter"); МассивРазделов.Добавить("ВКонтакте");
МассивРазделов.Добавить("Viber"); МассивРазделов.Добавить("Viber");
МассивРазделов.Добавить("Twitter");
Возврат МассивРазделов; МассивРазделов.Добавить("Яндекс.Диск");
МассивРазделов.Добавить("Google Workspace");
КонецФункции МассивРазделов.Добавить("Google Calendar");
МассивРазделов.Добавить("Google Drive");
Функция ПолучитьТаблицуТестов()
Возврат МассивРазделов;
Телеграм = "Телеграм";
ВКонтакте = "ВКонтакте"; КонецФункции
ЯДиск = "Яндекс.Диск";
Календарь = "Google Calendar"; Функция ПолучитьТаблицуТестов()
Твиттер = "Twitter";
Вайбер = "Viber"; Телеграм = "Телеграм";
ВКонтакте = "ВКонтакте";
ТаблицаТестов = Новый ТаблицаЗначений; ЯДиск = "Яндекс.Диск";
ТаблицаТестов.Колонки.Добавить("Метод"); Календарь = "Google Calendar";
ТаблицаТестов.Колонки.Добавить("Синоним"); Твиттер = "Twitter";
ТаблицаТестов.Колонки.Добавить("Раздел"); Вайбер = "Viber";
Драйв = "Google Drive";
НовыйТест(ТаблицаТестов, "Телеграм_ПолучитьИнформациюБота" , "Получить информацию бота" , Телеграм); ВСпейс = "Google Workspace";
НовыйТест(ТаблицаТестов, "Телеграм_ПолучитьОбновления" , "Получить обновления" , Телеграм);
НовыйТест(ТаблицаТестов, "Телеграм_УстановитьWebhook" , "Установить Webhook" , Телеграм); ТаблицаТестов = Новый ТаблицаЗначений;
НовыйТест(ТаблицаТестов, "Телеграм_УдалитьWebhook" , "Удалить Webhook" , Телеграм); ТаблицаТестов.Колонки.Добавить("Метод");
НовыйТест(ТаблицаТестов, "Телеграм_ОтправитьТекстовоеСообщение" , "Отправить текстовое сообщение" , Телеграм); ТаблицаТестов.Колонки.Добавить("Синоним");
НовыйТест(ТаблицаТестов, "Телеграм_ОтправитьКартинку" , "Отправить картинку" , Телеграм); ТаблицаТестов.Колонки.Добавить("Раздел");
НовыйТест(ТаблицаТестов, "Телеграм_ОтправитьВидео" , "Отправить видео" , Телеграм);
НовыйТест(ТаблицаТестов, "Телеграм_ОтправитьАудио" , "Отправить аудио" , Телеграм); НовыйТест(ТаблицаТестов, "Телеграм_ПолучитьИнформациюБота" , "Получить информацию бота" , Телеграм);
НовыйТест(ТаблицаТестов, "Телеграм_ОтправитьДокумент" , "Отправить документ" , Телеграм); НовыйТест(ТаблицаТестов, "Телеграм_ПолучитьОбновления" , "Получить обновления" , Телеграм);
НовыйТест(ТаблицаТестов, "Телеграм_ОтправитьГифку" , "Отправить гифку" , Телеграм); НовыйТест(ТаблицаТестов, "Телеграм_УстановитьWebhook" , "Установить Webhook" , Телеграм);
НовыйТест(ТаблицаТестов, "Телеграм_ОтправитьМедиагруппу" , "Отправить медиагруппу" , Телеграм); НовыйТест(ТаблицаТестов, "Телеграм_УдалитьWebhook" , "Удалить Webhook" , Телеграм);
НовыйТест(ТаблицаТестов, "Телеграм_ОтправитьМестоположение" , "Отправить местоположение" , Телеграм); НовыйТест(ТаблицаТестов, "Телеграм_ОтправитьТекстовоеСообщение" , "Отправить текстовое сообщение" , Телеграм);
НовыйТест(ТаблицаТестов, "Телеграм_ОтправитьКонтакт" , "Отправить контакт" , Телеграм); НовыйТест(ТаблицаТестов, "Телеграм_ОтправитьКартинку" , "Отправить картинку" , Телеграм);
НовыйТест(ТаблицаТестов, "Телеграм_ОтправитьОпрос" , "Отправить опрос" , Телеграм); НовыйТест(ТаблицаТестов, "Телеграм_ОтправитьВидео" , "Отправить видео" , Телеграм);
НовыйТест(ТаблицаТестов, "Телеграм_ПереслатьСообщение" , "Переслать сообщение" , Телеграм); НовыйТест(ТаблицаТестов, "Телеграм_ОтправитьАудио" , "Отправить аудио" , Телеграм);
НовыйТест(ТаблицаТестов, "Телеграм_БанРазбан" , "Бан/Разбан" , Телеграм); НовыйТест(ТаблицаТестов, "Телеграм_ОтправитьДокумент" , "Отправить документ" , Телеграм);
НовыйТест(ТаблицаТестов, "Телеграм_СоздатьСсылкуПриглашение" , "Создать ссылку-приглашение" , Телеграм); НовыйТест(ТаблицаТестов, "Телеграм_ОтправитьГифку" , "Отправить гифку" , Телеграм);
НовыйТест(ТаблицаТестов, "Телеграм_ЗакрепитьОткрепитьСообщение" , "Закрепить/Открепить сообщение" , Телеграм); НовыйТест(ТаблицаТестов, "Телеграм_ОтправитьМедиагруппу" , "Отправить медиагруппу" , Телеграм);
НовыйТест(ТаблицаТестов, "Телеграм_ПолучитьЧислоУчастников" , "Получить число участников" , Телеграм); НовыйТест(ТаблицаТестов, "Телеграм_ОтправитьМестоположение" , "Отправить местоположение" , Телеграм);
НовыйТест(ТаблицаТестов, "Телеграм_ПолучитьСписокАватаровФорума", "Получить список аватаров форума", Телеграм); НовыйТест(ТаблицаТестов, "Телеграм_ОтправитьКонтакт" , "Отправить контакт" , Телеграм);
НовыйТест(ТаблицаТестов, "Телеграм_СоздатьУдалитьТемуФорума" , "Создать/Удалить тему форума" , Телеграм); НовыйТест(ТаблицаТестов, "Телеграм_ОтправитьОпрос" , "Отправить опрос" , Телеграм);
НовыйТест(ТаблицаТестов, "Телеграм_ОткрытьЗакрытьГлавнуюТему" , "Открыть/Закрыть главную тему" , Телеграм); НовыйТест(ТаблицаТестов, "Телеграм_ПереслатьСообщение" , "Переслать сообщение" , Телеграм);
НовыйТест(ТаблицаТестов, "Телеграм_ИзменитьИмяГлавнойТемы" , "Изменить имя главной темы" , Телеграм); НовыйТест(ТаблицаТестов, "Телеграм_БанРазбан" , "Бан/Разбан" , Телеграм);
НовыйТест(ТаблицаТестов, "Телеграм_СкрытьПоказатьГлавнуюТему" , "Скрыть/Показать главную тему" , Телеграм); НовыйТест(ТаблицаТестов, "Телеграм_СоздатьСсылкуПриглашение" , "Создать ссылку-приглашение" , Телеграм);
НовыйТест(ТаблицаТестов, "Телеграм_ЗакрепитьОткрепитьСообщение" , "Закрепить/Открепить сообщение" , Телеграм);
НовыйТест(ТаблицаТестов, "ВК_СоздатьСсылкуТокена" , "Создать ссылку получения токена", ВКонтакте); НовыйТест(ТаблицаТестов, "Телеграм_ПолучитьЧислоУчастников" , "Получить число участников" , Телеграм);
НовыйТест(ТаблицаТестов, "ВК_СоздатьУдалитьПост" , "Создать/Удалить пост" , ВКонтакте); НовыйТест(ТаблицаТестов, "Телеграм_ПолучитьСписокАватаровФорума", "Получить список аватаров форума", Телеграм);
НовыйТест(ТаблицаТестов, "ВК_СоздатьОпрос" , "Создать опрос" , ВКонтакте); НовыйТест(ТаблицаТестов, "Телеграм_СоздатьУдалитьТемуФорума" , "Создать/Удалить тему форума" , Телеграм);
НовыйТест(ТаблицаТестов, "ВК_СохранитьУдалитьКартинку" , "Добавить/Удалить картинку" , ВКонтакте); НовыйТест(ТаблицаТестов, "Телеграм_ОткрытьЗакрытьГлавнуюТему" , "Открыть/Закрыть главную тему" , Телеграм);
НовыйТест(ТаблицаТестов, "ВК_СоздатьИсторию" , "Создать историю" , ВКонтакте); НовыйТест(ТаблицаТестов, "Телеграм_ИзменитьИмяГлавнойТемы" , "Изменить имя главной темы" , Телеграм);
НовыйТест(ТаблицаТестов, "ВК_МетодыОбсуждений" , "Действия с обсуждениями" , ВКонтакте); НовыйТест(ТаблицаТестов, "Телеграм_СкрытьПоказатьГлавнуюТему" , "Скрыть/Показать главную тему" , Телеграм);
НовыйТест(ТаблицаТестов, "ВК_ЛайкРепостКоммент" , "Лайк/Репост/Комментарий" , ВКонтакте);
НовыйТест(ТаблицаТестов, "ВК_ПолучитьСтатистику" , "Получить статистику" , ВКонтакте); НовыйТест(ТаблицаТестов, "ВК_СоздатьСсылкуТокена" , "Создать ссылку получения токена", ВКонтакте);
НовыйТест(ТаблицаТестов, "ВК_ПолучитьСтатистикуПостов" , "Получить статистику постов" , ВКонтакте); НовыйТест(ТаблицаТестов, "ВК_СоздатьУдалитьПост" , "Создать/Удалить пост" , ВКонтакте);
НовыйТест(ТаблицаТестов, "ВК_СоздатьРекламнуюКампанию" , "Создать рекламную кампанию" , ВКонтакте); НовыйТест(ТаблицаТестов, "ВК_СоздатьОпрос" , "Создать опрос" , ВКонтакте);
НовыйТест(ТаблицаТестов, "ВК_ОтправитьСообщение" , "Отправить сообщение" , ВКонтакте); НовыйТест(ТаблицаТестов, "ВК_СохранитьУдалитьКартинку" , "Добавить/Удалить картинку" , ВКонтакте);
НовыйТест(ТаблицаТестов, "ВК_ПолучитьКатегорииТоваров" , "Получить категории товаров" , ВКонтакте); НовыйТест(ТаблицаТестов, "ВК_СоздатьИсторию" , "Создать историю" , ВКонтакте);
НовыйТест(ТаблицаТестов, "ВК_СоздатьТоварПодборку" , "Создать товар и подборку" , ВКонтакте); НовыйТест(ТаблицаТестов, "ВК_МетодыОбсуждений" , "Действия с обсуждениями" , ВКонтакте);
НовыйТест(ТаблицаТестов, "ВК_СоздатьТоварСоСвойствами" , "Создать товар со свойствами" , ВКонтакте); НовыйТест(ТаблицаТестов, "ВК_ЛайкРепостКоммент" , "Лайк/Репост/Комментарий" , ВКонтакте);
НовыйТест(ТаблицаТестов, "ВК_ПолучитьСписокТоваров" , "Получить список товаров" , ВКонтакте); НовыйТест(ТаблицаТестов, "ВК_ПолучитьСтатистику" , "Получить статистику" , ВКонтакте);
НовыйТест(ТаблицаТестов, "ВК_ПолучитьСписокПодборок" , "Получить список подборок" , ВКонтакте); НовыйТест(ТаблицаТестов, "ВК_ПолучитьСтатистикуПостов" , "Получить статистику постов" , ВКонтакте);
НовыйТест(ТаблицаТестов, "ВК_ПолучитьСписокСвойств" , "Получить список свойств" , ВКонтакте); НовыйТест(ТаблицаТестов, "ВК_СоздатьРекламнуюКампанию" , "Создать рекламную кампанию" , ВКонтакте);
НовыйТест(ТаблицаТестов, "ВК_ПолучитьСписокЗаказов" , "Получить список заказов" , ВКонтакте); НовыйТест(ТаблицаТестов, "ВК_ОтправитьСообщение" , "Отправить сообщение" , ВКонтакте);
НовыйТест(ТаблицаТестов, "ВК_ПолучитьКатегорииТоваров" , "Получить категории товаров" , ВКонтакте);
НовыйТест(ТаблицаТестов, "ЯДиск_ПолучитьИнформациюОДиске" , "Получить информацию о диске" , ЯДиск); НовыйТест(ТаблицаТестов, "ВК_СоздатьТоварПодборку" , "Создать товар и подборку" , ВКонтакте);
НовыйТест(ТаблицаТестов, "ЯДиск_СоздатьПапку" , "Создать папку" , ЯДиск); НовыйТест(ТаблицаТестов, "ВК_СоздатьТоварСоСвойствами" , "Создать товар со свойствами" , ВКонтакте);
НовыйТест(ТаблицаТестов, "ЯДиск_ЗагрузитьПоАдресуПолучитьОбъект", "Загрузить по URL и получить" , ЯДиск); НовыйТест(ТаблицаТестов, "ВК_ПолучитьСписокТоваров" , "Получить список товаров" , ВКонтакте);
НовыйТест(ТаблицаТестов, "ЯДиск_ЗагрузитьУдалитьФайл" , "Загрузить/Удалить файл" , ЯДиск); НовыйТест(ТаблицаТестов, "ВК_ПолучитьСписокПодборок" , "Получить список подборок" , ВКонтакте);
НовыйТест(ТаблицаТестов, "ЯДиск_СоздатьКопиюОбъекта" , "Создать копию объекта" , ЯДиск); НовыйТест(ТаблицаТестов, "ВК_ПолучитьСписокСвойств" , "Получить список свойств" , ВКонтакте);
НовыйТест(ТаблицаТестов, "ЯДиск_ПолучитьСсылкуНаСкачивание" , "Получить ссылку на скачивание" , ЯДиск); НовыйТест(ТаблицаТестов, "ВК_ПолучитьСписокЗаказов" , "Получить список заказов" , ВКонтакте);
НовыйТест(ТаблицаТестов, "ЯДиск_ПолучитьСписокФайлов" , "Получить список файлов" , ЯДиск);
НовыйТест(ТаблицаТестов, "ЯДиск_ПереместитьОбъект" , "Переместить объект" , ЯДиск); НовыйТест(ТаблицаТестов, "ЯДиск_ПолучитьИнформациюОДиске" , "Получить информацию о диске" , ЯДиск);
НовыйТест(ТаблицаТестов, "ЯДиск_ДействияПубличныхОбъектов" , "Действия с публичными объектами", ЯДиск); НовыйТест(ТаблицаТестов, "ЯДиск_СоздатьПапку" , "Создать папку" , ЯДиск);
НовыйТест(ТаблицаТестов, "ЯДиск_ПолучитьСписокОпубликованных" , "Получить список опубликованных" , ЯДиск); НовыйТест(ТаблицаТестов, "ЯДиск_ЗагрузитьПоАдресуПолучитьОбъект", "Загрузить по URL и получить" , ЯДиск);
НовыйТест(ТаблицаТестов, "ЯДиск_ЗагрузитьУдалитьФайл" , "Загрузить/Удалить файл" , ЯДиск);
НовыйТест(ТаблицаТестов, "ГК_ПолучитьСсылкуАвторизации" , "Получить ссылку авторизации" , Календарь); НовыйТест(ТаблицаТестов, "ЯДиск_СоздатьКопиюОбъекта" , "Создать копию объекта" , ЯДиск);
НовыйТест(ТаблицаТестов, "ГК_ПолучитьТокен" , "Получить токен" , Календарь); НовыйТест(ТаблицаТестов, "ЯДиск_ПолучитьСсылкуНаСкачивание" , "Получить ссылку на скачивание" , ЯДиск);
НовыйТест(ТаблицаТестов, "ГК_ОбновитьТокен" , "Обновить токен" , Календарь); НовыйТест(ТаблицаТестов, "ЯДиск_ПолучитьСписокФайлов" , "Получить список файлов" , ЯДиск);
НовыйТест(ТаблицаТестов, "ГК_ПолучитьСписокКалендарей" , "Получить список календарей" , Календарь); НовыйТест(ТаблицаТестов, "ЯДиск_ПереместитьОбъект" , "Переместить объект" , ЯДиск);
НовыйТест(ТаблицаТестов, "ГК_СоздатьУдалитьКалендарь" , "Создать/Удалить календарь" , Календарь); НовыйТест(ТаблицаТестов, "ЯДиск_ДействияПубличныхОбъектов" , "Действия с публичными объектами", ЯДиск);
НовыйТест(ТаблицаТестов, "ГК_СоздатьУдалитьСобытие" , "Создать/Удалить событие" , Календарь); НовыйТест(ТаблицаТестов, "ЯДиск_ПолучитьСписокОпубликованных" , "Получить список опубликованных" , ЯДиск);
НовыйТест(ТаблицаТестов, "ГК_ПолучитьСписокСобытий" , "Получить список событий" , Календарь);
НовыйТест(ТаблицаТестов, "ГВ_ПолучитьСсылкуАвторизации" , "Получить ссылку авторизации" , ВСпейс);
НовыйТест(ТаблицаТестов, "Твиттер_ПолучитьСсылкуАвторизации" , "Получить ссылку авторизации" , Твиттер); НовыйТест(ТаблицаТестов, "ГВ_ПолучитьТокен" , "Получить токен" , ВСпейс);
НовыйТест(ТаблицаТестов, "Твиттер_ОбновитьТокен" , "Обновить токен" , Твиттер); НовыйТест(ТаблицаТестов, "ГВ_ОбновитьТокен" , "Обновить токен" , ВСпейс);
НовыйТест(ТаблицаТестов, "Твиттер_СоздатьТекстовыйТвит" , "Текстовый твит" , Твиттер);
НовыйТест(ТаблицаТестов, "Твиттер_СоздатьТвитСКартинкой" , "Твит с картинкой" , Твиттер); НовыйТест(ТаблицаТестов, "ГК_ПолучитьСписокКалендарей" , "Получить список календарей" , Календарь);
НовыйТест(ТаблицаТестов, "Твиттер_СоздатьТвитСВидео" , "Твит с видео" , Твиттер); НовыйТест(ТаблицаТестов, "ГК_СоздатьУдалитьКалендарь" , "Создать/Удалить календарь" , Календарь);
НовыйТест(ТаблицаТестов, "Твиттер_СоздатьТвитСГиф" , "Твит с гиф" , Твиттер); НовыйТест(ТаблицаТестов, "ГК_СоздатьУдалитьСобытие" , "Создать/Удалить событие" , Календарь);
НовыйТест(ТаблицаТестов, "Твиттер_СоздатьТвитСОпросом" , "Твит с опросом" , Твиттер); НовыйТест(ТаблицаТестов, "ГК_ПолучитьСписокСобытий" , "Получить список событий" , Календарь);
НовыйТест(ТаблицаТестов, "Вайбер_ПолучитьИнформациюОКанале" , "Получить информацию канала" , Вайбер); НовыйТест(ТаблицаТестов, "ГД_ПолучитьСписокКаталогов" , "Получить список каталогов" , Драйв);
НовыйТест(ТаблицаТестов, "Вайбер_ПолучитьДанныеПользователя" , "Получить данные пользователя" , Вайбер); НовыйТест(ТаблицаТестов, "ГД_ЗагрузитьУдалитьФайл" , "Загрузить/Удалить Файл" , Драйв);
НовыйТест(ТаблицаТестов, "Вайбер_ПолучитьОнлайнПользователей" , "Получить онлайн пользователей" , Вайбер); НовыйТест(ТаблицаТестов, "ГД_СоздатьУдалитьКомментарий" , "Создать/Удалить кооментарий" , Драйв);
НовыйТест(ТаблицаТестов, "Вайбер_ОтправитьТекстовоеСообщение" , "Отправить текстовое сообщение" , Вайбер);
НовыйТест(ТаблицаТестов, "Вайбер_ОтправитьКартинку" , "Отправить картинку" , Вайбер); НовыйТест(ТаблицаТестов, "Твиттер_ПолучитьСсылкуАвторизации" , "Получить ссылку авторизации" , Твиттер);
НовыйТест(ТаблицаТестов, "Вайбер_ОтправитьФайл" , "Отправить файл" , Вайбер); НовыйТест(ТаблицаТестов, "Твиттер_ОбновитьТокен" , "Обновить токен" , Твиттер);
НовыйТест(ТаблицаТестов, "Вайбер_ОтправитьКонтакт" , "Отправить контакт" , Вайбер); НовыйТест(ТаблицаТестов, "Твиттер_СоздатьТекстовыйТвит" , "Текстовый твит" , Твиттер);
НовыйТест(ТаблицаТестов, "Вайбер_ОтправитьЛокацию" , "Отправить локацию" , Вайбер); НовыйТест(ТаблицаТестов, "Твиттер_СоздатьТвитСКартинкой" , "Твит с картинкой" , Твиттер);
НовыйТест(ТаблицаТестов, "Вайбер_ОтправитьСсылку" , "Отправить ссылку" , Вайбер); НовыйТест(ТаблицаТестов, "Твиттер_СоздатьТвитСВидео" , "Твит с видео" , Твиттер);
НовыйТест(ТаблицаТестов, "Твиттер_СоздатьТвитСГиф" , "Твит с гиф" , Твиттер);
Возврат ТаблицаТестов; НовыйТест(ТаблицаТестов, "Твиттер_СоздатьТвитСОпросом" , "Твит с опросом" , Твиттер);
КонецФункции НовыйТест(ТаблицаТестов, "Вайбер_ПолучитьИнформациюОКанале" , "Получить информацию канала" , Вайбер);
НовыйТест(ТаблицаТестов, "Вайбер_ПолучитьДанныеПользователя" , "Получить данные пользователя" , Вайбер);
Функция ПолучитьОбщийМодуль(Знач Имя) НовыйТест(ТаблицаТестов, "Вайбер_ПолучитьОнлайнПользователей" , "Получить онлайн пользователей" , Вайбер);
НовыйТест(ТаблицаТестов, "Вайбер_ОтправитьТекстовоеСообщение" , "Отправить текстовое сообщение" , Вайбер);
Модуль = Вычислить(Имя); // BSLLS:ExecuteExternalCodeInCommonModule-off НовыйТест(ТаблицаТестов, "Вайбер_ОтправитьКартинку" , "Отправить картинку" , Вайбер);
НовыйТест(ТаблицаТестов, "Вайбер_ОтправитьФайл" , "Отправить файл" , Вайбер);
Возврат Модуль; НовыйТест(ТаблицаТестов, "Вайбер_ОтправитьКонтакт" , "Отправить контакт" , Вайбер);
НовыйТест(ТаблицаТестов, "Вайбер_ОтправитьЛокацию" , "Отправить локацию" , Вайбер);
КонецФункции НовыйТест(ТаблицаТестов, "Вайбер_ОтправитьСсылку" , "Отправить ссылку" , Вайбер);
Процедура НовыйТест(ТаблицаЗначений, Знач Метод, Знач Синоним, Знач Раздел) Возврат ТаблицаТестов;
НовыйТест = ТаблицаЗначений.Добавить(); КонецФункции
НовыйТест.Метод = Метод;
НовыйТест.Синоним = Синоним; Функция ПолучитьОбщийМодуль(Знач Имя)
НовыйТест.Раздел = Раздел;
КонецПроцедуры
Модуль = Вычислить(Имя); // BSLLS:ExecuteExternalCodeInCommonModule-off
Процедура ЗаписатьПараметрВФайл(Знач Параметр, Знач Значение, Знач Путь)
Значения = OPI_Инструменты.ПрочитатьJSONФайл(Путь);
Значения.Вставить(Параметр, Значение); Возврат Модуль;
Запись = Новый ЗаписьJSON; КонецФункции
ПараметрыЗаписиJSON = Новый ПараметрыЗаписиJSON(ПереносСтрокJSON.Авто, Символы.Таб);
Запись.ОткрытьФайл(Путь, , , ПараметрыЗаписиJSON); Процедура НовыйТест(ТаблицаЗначений, Знач Метод, Знач Синоним, Знач Раздел)
ЗаписатьJSON(Запись, Значения);
Запись.Закрыть(); НовыйТест = ТаблицаЗначений.Добавить();
НовыйТест.Метод = Метод;
КонецПроцедуры НовыйТест.Синоним = Синоним;
НовыйТест.Раздел = Раздел;
#КонецОбласти
КонецПроцедуры
// BSLLS:Typo-on
Процедура ЗаписатьПараметрВФайл(Знач Параметр, Знач Значение, Знач Путь)
Значения = OPI_Инструменты.ПрочитатьJSONФайл(Путь);
Значения.Вставить(Параметр, Значение);
Запись = Новый ЗаписьJSON;
ПараметрыЗаписиJSON = Новый ПараметрыЗаписиJSON(ПереносСтрокJSON.Авто, Символы.Таб);
Запись.ОткрытьФайл(Путь, , , ПараметрыЗаписиJSON);
ЗаписатьJSON(Запись, Значения);
Запись.Закрыть();
КонецПроцедуры
#КонецОбласти

View File

@@ -21,8 +21,10 @@
// SOFTWARE. // SOFTWARE.
// https://github.com/Bayselonarrend/OpenIntegrations // https://github.com/Bayselonarrend/OpenIntegrations
// BSLLS:Typo-off // BSLLS:Typo-off
// BSLLS:LatinAndCyrillicSymbolInWord-off // BSLLS:LatinAndCyrillicSymbolInWord-off
// BSLLS:IncorrectLineBreak-off
#Область СлужебныйПрограммныйИнтерфейс #Область СлужебныйПрограммныйИнтерфейс
@@ -78,10 +80,14 @@
КонецФункции КонецФункции
Функция PostMultipartRelated(Знач URL, Знач JSON, Знач Файлы, Знач ДопЗаголовки) Экспорт Функция PostMultipartRelated(Знач URL, Знач JSON = "", Знач Файлы = "", Знач ДопЗаголовки = "") Экспорт
Возврат ВыполнитьЗапросМультипартРелэйтед(URL, "POST", JSON, Файлы, ДопЗаголовки); Возврат ВыполнитьЗапросМультипартРелэйтед(URL, "POST", JSON, Файлы, ДопЗаголовки);
КонецФункции КонецФункции
Функция PatchMultipartRelated(Знач URL, Знач JSON = "", Знач Файлы = "", Знач ДопЗаголовки = "") Экспорт
Возврат ВыполнитьЗапросМультипартРелэйтед(URL, "PATCH", JSON, Файлы, ДопЗаголовки);
КонецФункции
#КонецОбласти #КонецОбласти
Функция ПараметрыЗапросаВСоответствие(Знач СтрокаПараметров) Экспорт Функция ПараметрыЗапросаВСоответствие(Знач СтрокаПараметров) Экспорт
@@ -369,7 +375,7 @@
КонецФункции КонецФункции
Функция ВыполнитьЗапросМультипартРелэйтед(URL, Вид, JSON, Файлы, ДопЗаголовки) Функция ВыполнитьЗапросМультипартРелэйтед(URL, Вид, JSON = "", Файлы = "", ДопЗаголовки = "")
Переадресация = 300; Переадресация = 300;
Ошибка = 400; Ошибка = 400;
@@ -567,6 +573,10 @@
Процедура ЗаписатьФайлыРелэйтед(ЗаписьТекста, Знач Boundary, Знач Файлы) Процедура ЗаписатьФайлыРелэйтед(ЗаписьТекста, Знач Boundary, Знач Файлы)
Если Не ЗначениеЗаполнено(Файлы) Тогда
Возврат;
КонецЕсли;
РазделительСтрок = Символы.ВК + Символы.ПС; РазделительСтрок = Символы.ВК + Символы.ПС;
Для Каждого Файл Из Файлы Цикл Для Каждого Файл Из Файлы Цикл
@@ -585,6 +595,10 @@
Процедура ЗаписатьJSONМультипарт(ЗаписьТекста, Знач Boundary, Знач JSON) Процедура ЗаписатьJSONМультипарт(ЗаписьТекста, Знач Boundary, Знач JSON)
Если Не ЗначениеЗаполнено(JSON) Тогда
Возврат;
КонецЕсли;
РазделительСтрок = Символы.ВК + Символы.ПС; РазделительСтрок = Символы.ВК + Символы.ПС;
ЗаписьТекста.ЗаписатьСтроку("--" + boundary + РазделительСтрок); ЗаписьТекста.ЗаписатьСтроку("--" + boundary + РазделительСтрок);
@@ -836,9 +850,6 @@
КонецФункции КонецФункции
// BSLLS:LatinAndCyrillicSymbolInWord-on
// BSLLS:Typo-on
#КонецОбласти #КонецОбласти
#КонецОбласти #КонецОбласти

View File

@@ -22,6 +22,9 @@
// https://github.com/Bayselonarrend/OpenIntegrations // https://github.com/Bayselonarrend/OpenIntegrations
// BSLLS:LatinAndCyrillicSymbolInWord-off
// BSLLS:IncorrectLineBreak-off
#Область СлужебныйПрограммныйИнтерфейс #Область СлужебныйПрограммныйИнтерфейс
#Область БСП #Область БСП
@@ -92,7 +95,7 @@
Части = Новый Массив(Количество); Части = Новый Массив(Количество);
// BSLLS:UnusedLocalVariable-off // BSLLS:UnusedLocalVariable-off
Для к = 1 По Количество Цикл Для К = 1 По Количество Цикл
Части.Добавить(Строка); Части.Добавить(Строка);
КонецЦикла; КонецЦикла;
// BSLLS:UnusedLocalVariable-on // BSLLS:UnusedLocalVariable-on

Binary file not shown.