You've already forked OpenIntegrations
mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2026-04-30 20:49:04 +02:00
Конвертация CLI тестов
This commit is contained in:
@@ -66,7 +66,7 @@
|
||||
|
||||
ПутиСохраненияМодулейCLI = Новый Массив;
|
||||
ПутиСохраненияМодулейCLI.Добавить(Корень + Язык + "/OInt/tests/Modules/" + ИмяМодуляТестовCLI + ".os");
|
||||
ПутиСохраненияМодулейCLI.Добавить(Корень + Язык + "/BSL/OpenIntegrations/src/CommonModules/" + ИмяМодуляТестовCLI + "/Module.bsl");
|
||||
ПутиСохраненияМодулейCLI.Добавить(Корень + Язык + "/BSL/Tests/src/CommonModules/" + ИмяМодуляТестовCLI + "/Module.bsl");
|
||||
|
||||
ПреобразоватьТестыВCLI(Язык);
|
||||
|
||||
@@ -110,8 +110,8 @@
|
||||
, "#Использовать oint"
|
||||
,
|
||||
"#Использовать ""../../tools/main""
|
||||
| #Использовать ""../../tools/http""
|
||||
| #Использовать ""../../api""");
|
||||
|#Использовать ""../../tools/http""
|
||||
|#Использовать ""../../api""");
|
||||
|
||||
ТекстМодуля = СтрЗаменить(ТекстМодуля, "СформироватьТестыЯкс()", "СформироватьТестыЯксCLI()");
|
||||
ТекстМодуля = СтрЗаменить(ТекстМодуля, "СформироватьТестыАссертс()", "СформироватьТестыАссертсCLI()");
|
||||
@@ -122,8 +122,8 @@
|
||||
, "#Use oint"
|
||||
,
|
||||
"#Use ""../../tools/main""
|
||||
| #Use ""../../tools/http""
|
||||
| #Use ""../../api""");
|
||||
|#Use ""../../tools/http""
|
||||
|#Use ""../../api""");
|
||||
|
||||
ТекстМодуля = СтрЗаменить(ТекстМодуля, "FormYAXTests()", "FormYAXTestsCLI()");
|
||||
ТекстМодуля = СтрЗаменить(ТекстМодуля, "FormAssertsTests()", "FormAssertsTestsCLI()");
|
||||
|
||||
@@ -189,9 +189,9 @@
|
||||
ФайлDebCLI = СтрШаблон("%1/cli_deb_test_%2.jenkinsfile", КаталогWorkflow, Язык);
|
||||
ФайлWindows1c = СтрШаблон("%1/1c_test_%2.jenkinsfile", КаталогWorkflow, Язык);
|
||||
|
||||
ТекстВыполненияOS = ПолучитьТекстВыполненияOs(ТаблицаТестов, СписокБиблиотек, МодульТестов, Язык);
|
||||
ТекстВыполненияCLI = ПолучитьТекстВыполненияOs(ТаблицаТестов, СписокБиблиотек, МодульТестовCLI, Язык);
|
||||
ТекстВыполнения1С = ПолучитьТекстВыполнения1c(ТаблицаТестов, СписокБиблиотек, МодульТестов, Язык);
|
||||
ТекстВыполненияOS = ПолучитьТекстВыполненияOs(ТаблицаТестов, СписокБиблиотек, Язык, "OPIt_");
|
||||
ТекстВыполненияCLI = ПолучитьТекстВыполненияOs(ТаблицаТестов, СписокБиблиотек, Язык, "OPItc_");
|
||||
ТекстВыполнения1С = ПолучитьТекстВыполнения1c(ТаблицаТестов, СписокБиблиотек, Язык);
|
||||
|
||||
ТекстJFCLI = СтрШаблон(ШаблонCliWindows, Язык, ТекстВыполненияCLI, КаталогOscript);
|
||||
ТекстJFOS = СтрШаблон(ШаблонOsWindows, Язык, ТекстВыполненияOS, КаталогOscript);
|
||||
@@ -250,7 +250,7 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ПолучитьТекстВыполненияOs(Знач ТаблицаТестов, Знач СписокБиблиотек, Знач МодульТестов, Знач Язык)
|
||||
Функция ПолучитьТекстВыполненияOs(Знач ТаблицаТестов, Знач СписокБиблиотек, Знач Язык, Знач Префикс)
|
||||
|
||||
СтрокаРаздел = ДанныеПроекта.ПолучитьЗначениеНастройкиЛокализации("sectionsString", Язык);
|
||||
СтрокаМетод = ДанныеПроекта.ПолучитьЗначениеНастройкиЛокализации("methodString", Язык);
|
||||
@@ -278,7 +278,7 @@
|
||||
|
||||
Метод = Тест[СтрокаМетод];
|
||||
|
||||
МассивВыполнений.Добавить(СтрШаблон(ШаблонВыполнения, МодульТестов, Метод))
|
||||
МассивВыполнений.Добавить(СтрШаблон(ШаблонВыполнения, Префикс + Раздел, Метод))
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
@@ -294,13 +294,12 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьТекстВыполнения1c(Знач ТаблицаТестов, Знач СписокБиблиотек, Знач МодульТестов, Знач Язык)
|
||||
Функция ПолучитьТекстВыполнения1c(Знач ТаблицаТестов, Знач СписокБиблиотек, Знач Язык)
|
||||
|
||||
СтрокаРаздел = ДанныеПроекта.ПолучитьЗначениеНастройкиЛокализации("sectionsString", Язык);
|
||||
СтрокаМетод = ДанныеПроекта.ПолучитьЗначениеНастройкиЛокализации("methodString", Язык);
|
||||
СтрокаСиноним = ДанныеПроекта.ПолучитьЗначениеНастройкиЛокализации("synonymString", Язык);
|
||||
|
||||
ИмяМодуляТестов = ДанныеПроекта.ПолучитьЗначениеНастройкиЛокализации("testsModule", Язык);
|
||||
|
||||
Если Не ТипЗнч(СписокБиблиотек) = Тип("Структура") Тогда
|
||||
СписокБиблиотек_ = Новый Структура;
|
||||
@@ -328,7 +327,7 @@
|
||||
Для Каждого Тест Из ТестыТекущегоРаздела Цикл
|
||||
|
||||
Метод = Тест[СтрокаМетод];
|
||||
МассивМетодов.Добавить("""" + ИмяМодуляТестов + "." + Метод + """" );
|
||||
МассивМетодов.Добавить("""OPIt_" + Раздел + "." + Метод + """" );
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
|
||||
+10904
-10904
File diff suppressed because it is too large
Load Diff
@@ -1,9 +1,9 @@
|
||||
Процедура ЗапуститьЭхоСервер() Экспорт
|
||||
|
||||
Порт = 9876;
|
||||
Порт = 9876;
|
||||
РазмерПула = 10;
|
||||
|
||||
НастройкиЛога = OPI_TCP.ПолучитьНастройкиЛогирования(Истина, 500, "D:\SERVER_LOG.txt");
|
||||
НастройкиЛога = OPI_TCP.ПолучитьНастройкиЛогирования(Истина, 500, "D:\SERVER_LOG.txt");
|
||||
ОбъектСервера = OPI_TCP.ЗапуститьСервер(Порт, РазмерПула, НастройкиЛога);
|
||||
|
||||
Если Не OPI_TCP.ЭтоОбъектСервера(ОбъектСервера) Тогда
|
||||
|
||||
@@ -220,7 +220,7 @@
|
||||
ТипРезультата = ТипЗнч(Результат);
|
||||
|
||||
Если ТипРезультата = Тип("ДвоичныеДанные") Тогда
|
||||
Результат = Новый Структура("result,data", Истина, Результат);
|
||||
Результат = Новый Структура("result,data", Истина, Результат);
|
||||
ИначеЕсли Не Тип("Структура") Тогда
|
||||
Результат = JsonВСтруктуру(Результат, Ложь);
|
||||
КонецЕсли;
|
||||
|
||||
+609
-4
@@ -1,3 +1,5 @@
|
||||
// OneScript: ./OInt/tests/Modules/OPItc_Airtable.os
|
||||
|
||||
// MIT License
|
||||
|
||||
// Copyright (c) 2023-2026 Anton Tsitavets
|
||||
@@ -9,7 +11,7 @@
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// 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.
|
||||
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
@@ -22,6 +24,8 @@
|
||||
|
||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||
|
||||
// Test suite for YAxUnit
|
||||
|
||||
// BSLLS:Typo-off
|
||||
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
||||
// BSLLS:IncorrectLineBreak-off
|
||||
@@ -63,6 +67,607 @@
|
||||
//@skip-check missing-temporary-file-deletion
|
||||
//@skip-check module-unused-method
|
||||
|
||||
// #Use oint
|
||||
// #Use asserts
|
||||
// #Use "internal"
|
||||
//#Use "../../tools/main"
|
||||
//#Use "../../tools/http"
|
||||
//#Use "../../api"
|
||||
//#Use asserts
|
||||
//#Use "internal"
|
||||
|
||||
#Region Internal
|
||||
|
||||
// For YAxUnit
|
||||
|
||||
Procedure ИсполняемыеСценарии() Export
|
||||
|
||||
OPI_TestDataRetrieval.FormYAXTests("Airtable");
|
||||
|
||||
EndProcedure
|
||||
|
||||
// For Asserts
|
||||
|
||||
Function ПолучитьСписокТестов(UnitTesting) Export
|
||||
|
||||
Return OPI_TestDataRetrieval.FormAssertsTests("Airtable");
|
||||
|
||||
EndFunction
|
||||
|
||||
#Region RunnableTests
|
||||
|
||||
#Region Airtable
|
||||
|
||||
Procedure AT_CreateDatabase() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Airtable_Token" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Airtable_Workspace", TestParameters);
|
||||
|
||||
Airtable_CreateDatabase(TestParameters);
|
||||
Airtable_GetDatabaseTables(TestParameters);
|
||||
Airtable_GetListOfBases(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure AT_CreateTable() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Airtable_Token", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Airtable_Base" , TestParameters);
|
||||
|
||||
Airtable_GetNumberField(TestParameters);
|
||||
Airtable_GetStringField(TestParameters);
|
||||
Airtable_GetAttachmentField(TestParameters);
|
||||
Airtable_GetCheckboxField(TestParameters);
|
||||
Airtable_GetDateField(TestParameters);
|
||||
Airtable_GetPhoneField(TestParameters);
|
||||
Airtable_GetEmailField(TestParameters);
|
||||
Airtable_GetLinkField(TestParameters);
|
||||
Airtable_CreateTable(TestParameters);
|
||||
Airtable_ModifyTable(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure AT_CreateField() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Airtable_Token", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Airtable_Base" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Airtable_Table", TestParameters);
|
||||
|
||||
Airtable_CreateField(TestParameters);
|
||||
Airtable_ModifyField(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure AT_CreateDeleteRecords() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Airtable_Token", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Airtable_Base" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Airtable_Table", TestParameters);
|
||||
|
||||
Airtable_CreatePosts(TestParameters);
|
||||
Airtable_GetRecord(TestParameters);
|
||||
Airtable_CreateComment(TestParameters);
|
||||
Airtable_EditComment(TestParameters);
|
||||
Airtable_GetComments(TestParameters);
|
||||
Airtable_DeleteComment(TestParameters);
|
||||
Airtable_GetListOfRecords(TestParameters);
|
||||
Airtable_DeleteRecords(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // Airtable
|
||||
|
||||
#EndRegion // RunnableTests
|
||||
|
||||
#EndRegion // Internal
|
||||
|
||||
#Region Private
|
||||
|
||||
#Region AtomicTests
|
||||
|
||||
#Region Airtable
|
||||
|
||||
Procedure Airtable_CreateDatabase(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Airtable_Token"];
|
||||
Region = FunctionParameters["Airtable_Workspace"];
|
||||
Name = "TestDatabase";
|
||||
|
||||
FieldArray = New Array;
|
||||
FieldArray.Add(OPI_Airtable.GetNumberField("Number"));
|
||||
FieldArray.Add(OPI_Airtable.GetStringField("String"));
|
||||
|
||||
TableName = "TestTable";
|
||||
|
||||
TableMapping = New Map;
|
||||
TableMapping.Insert(TableName, FieldArray);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("ws", Region);
|
||||
Options.Insert("title", Name);
|
||||
Options.Insert("tablesdata", TableMapping);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("airtable", "CreateDatabase", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Airtable", "CreateDatabase", , FunctionParameters, TableName);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Airtable_GetDatabaseTables(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Airtable_Token"];
|
||||
Base = FunctionParameters["Airtable_Base"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("base", Base);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("airtable", "GetDatabaseTables", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Airtable", "GetDatabaseTables");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Airtable_GetListOfBases(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Airtable_Token"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("airtable", "GetListOfBases", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Airtable", "GetListOfBases");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Airtable_GetNumberField(FunctionParameters)
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("title", "Number");
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("airtable", "GetNumberField", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Airtable", "GetNumberField");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Airtable_GetStringField(FunctionParameters)
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("title", "String");
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("airtable", "GetStringField", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Airtable", "GetStringField");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Airtable_GetAttachmentField(FunctionParameters)
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("title", "Attachment");
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("airtable", "GetAttachmentField", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Airtable", "GetAttachmentField");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Airtable_GetCheckboxField(FunctionParameters)
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("title", "Checkbox");
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("airtable", "GetCheckboxField", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Airtable", "GetCheckboxField");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Airtable_GetDateField(FunctionParameters)
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("title", "Date");
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("airtable", "GetDateField", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Airtable", "GetDateField");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Airtable_GetPhoneField(FunctionParameters)
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("title", "Phone");
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("airtable", "GetPhoneField", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Airtable", "GetPhoneField");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Airtable_GetEmailField(FunctionParameters)
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("title", "Email");
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("airtable", "GetEmailField", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Airtable", "GetEmailField");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Airtable_GetLinkField(FunctionParameters)
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("title", "Link");
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("airtable", "GetLinkField", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Airtable", "GetLinkField");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Airtable_CreateTable(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Airtable_Token"];
|
||||
Base = FunctionParameters["Airtable_Base"];
|
||||
|
||||
FieldArray = New Array;
|
||||
FieldArray.Add(OPI_Airtable.GetNumberField("Number"));
|
||||
FieldArray.Add(OPI_Airtable.GetStringField("String"));
|
||||
FieldArray.Add(OPI_Airtable.GetAttachmentField("Attachment"));
|
||||
FieldArray.Add(OPI_Airtable.GetCheckboxField("Checkbox"));
|
||||
FieldArray.Add(OPI_Airtable.GetDateField("Date"));
|
||||
FieldArray.Add(OPI_Airtable.GetPhoneField("Phone"));
|
||||
FieldArray.Add(OPI_Airtable.GetEmailField("Email"));
|
||||
FieldArray.Add(OPI_Airtable.GetLinkField("Link"));
|
||||
|
||||
Name = "TestTable2";
|
||||
Description = "NewTable";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("base", Base);
|
||||
Options.Insert("title", Name);
|
||||
Options.Insert("fieldsdata", FieldArray);
|
||||
Options.Insert("description", Description);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("airtable", "CreateTable", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Airtable", "CreateTable", , FunctionParameters, Name, Description);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Airtable_ModifyTable(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Airtable_Token"];
|
||||
Base = FunctionParameters["Airtable_Base"];
|
||||
Table = FunctionParameters["Airtable_Table"];
|
||||
Name = "Test table 2 (change.)";
|
||||
Description = "New table (change.)";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("base", Base);
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("title", Name);
|
||||
Options.Insert("description", Description);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("airtable", "ModifyTable", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Airtable", "ModifyTable", , Name, Description);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Airtable_CreateField(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Airtable_Token"];
|
||||
Base = FunctionParameters["Airtable_Base"];
|
||||
Table = FunctionParameters["Airtable_Table"];
|
||||
Name = String(New UUID);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("title", Name);
|
||||
|
||||
Field = OPI_TestDataRetrieval.ExecuteTestCLI("airtable", "GetNumberField", Options);
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("base", Base);
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("fielddata", Field);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("airtable", "CreateField", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Airtable", "CreateField", , FunctionParameters, Name);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Airtable_ModifyField(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Airtable_Token"];
|
||||
Base = FunctionParameters["Airtable_Base"];
|
||||
Table = FunctionParameters["Airtable_Table"];
|
||||
Field = FunctionParameters["Airtable_Field"];
|
||||
|
||||
Name = String(New UUID) + "(change.)";
|
||||
Description = "New description";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("base", Base);
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("field", Field);
|
||||
Options.Insert("title", Name);
|
||||
Options.Insert("description", Description);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("airtable", "ModifyField", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Airtable", "ModifyField", , Name, Description);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Airtable_CreatePosts(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Airtable_Token"];
|
||||
Base = FunctionParameters["Airtable_Base"];
|
||||
Table = FunctionParameters["Airtable_Table"];
|
||||
|
||||
Number = 10;
|
||||
String = "Hello";
|
||||
|
||||
RowDescription1 = New Structure("Number,String", Number, String);
|
||||
RowDescription2 = New Structure("Number,String", Number, String);
|
||||
|
||||
ArrayOfDescriptions = New Array;
|
||||
ArrayOfDescriptions.Add(RowDescription1);
|
||||
ArrayOfDescriptions.Add(RowDescription2);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("base", Base);
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("data", ArrayOfDescriptions);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("airtable", "CreatePosts", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Airtable", "CreatePosts", , FunctionParameters);
|
||||
|
||||
ArrayOfDeletions = New Array;
|
||||
|
||||
For Each Record In Result["records"] Do
|
||||
|
||||
CurrentRecord = Record["id"];
|
||||
ArrayOfDeletions.Add(CurrentRecord);
|
||||
|
||||
EndDo;
|
||||
|
||||
OPI_Airtable.DeleteRecords(Token, Base, Table, ArrayOfDeletions);
|
||||
|
||||
// Single
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("base", Base);
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("data", RowDescription1);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("airtable", "CreatePosts", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Airtable", "CreatePosts", "Single", FunctionParameters, Number, String);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Airtable_GetRecord(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Airtable_Token"];
|
||||
Base = FunctionParameters["Airtable_Base"];
|
||||
Table = FunctionParameters["Airtable_Table"];
|
||||
Record = FunctionParameters["Airtable_Record"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("base", Base);
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("record", Record);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("airtable", "GetRecord", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Airtable", "GetRecord", , Record);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Airtable_CreateComment(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Airtable_Token"];
|
||||
Base = FunctionParameters["Airtable_Base"];
|
||||
Table = FunctionParameters["Airtable_Table"];
|
||||
Record = FunctionParameters["Airtable_Record"];
|
||||
Text = "TestComment";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("base", Base);
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("record", Record);
|
||||
Options.Insert("text", Text);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("airtable", "CreateComment", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Airtable", "CreateComment", , FunctionParameters, Text);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Airtable_EditComment(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Airtable_Token"];
|
||||
Base = FunctionParameters["Airtable_Base"];
|
||||
Table = FunctionParameters["Airtable_Table"];
|
||||
Record = FunctionParameters["Airtable_Record"];
|
||||
Comment = FunctionParameters["Airtable_Comment"];
|
||||
|
||||
Text = "Test comment (change.)";
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("base", Base);
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("record", Record);
|
||||
Options.Insert("comment", Comment);
|
||||
Options.Insert("text", Text);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("airtable", "EditComment", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Airtable", "EditComment", , Text);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Airtable_GetComments(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Airtable_Token"];
|
||||
Base = FunctionParameters["Airtable_Base"];
|
||||
Table = FunctionParameters["Airtable_Table"];
|
||||
Record = FunctionParameters["Airtable_Record"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("base", Base);
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("record", Record);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("airtable", "GetComments", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Airtable", "GetComments");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Airtable_DeleteComment(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Airtable_Token"];
|
||||
Base = FunctionParameters["Airtable_Base"];
|
||||
Table = FunctionParameters["Airtable_Table"];
|
||||
Record = FunctionParameters["Airtable_Record"];
|
||||
Comment = FunctionParameters["Airtable_Comment"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("base", Base);
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("record", Record);
|
||||
Options.Insert("comment", Comment);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("airtable", "DeleteComment", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Airtable", "DeleteComment", , Comment);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Airtable_GetListOfRecords(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Airtable_Token"];
|
||||
Base = FunctionParameters["Airtable_Base"];
|
||||
Table = FunctionParameters["Airtable_Table"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("base", Base);
|
||||
Options.Insert("table", Table);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("airtable", "GetListOfRecords", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Airtable", "GetListOfRecords");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Airtable_DeleteRecords(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Airtable_Token"];
|
||||
Base = FunctionParameters["Airtable_Base"];
|
||||
Table = FunctionParameters["Airtable_Table"];
|
||||
Record = FunctionParameters["Airtable_Record"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("base", Base);
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("records", Record);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("airtable", "DeleteRecords", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Airtable", "DeleteRecords");
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // Airtable
|
||||
|
||||
#EndRegion // AtomicTests
|
||||
|
||||
#EndRegion // Private
|
||||
|
||||
#Region Alternate
|
||||
|
||||
Procedure АТ_СоздатьБазу() Export
|
||||
AT_CreateDatabase();
|
||||
EndProcedure
|
||||
|
||||
Procedure АТ_СоздатьТаблицу() Export
|
||||
AT_CreateTable();
|
||||
EndProcedure
|
||||
|
||||
Procedure АТ_СоздатьПоле() Export
|
||||
AT_CreateField();
|
||||
EndProcedure
|
||||
|
||||
Procedure АТ_СоздатьУдалитьЗаписи() Export
|
||||
AT_CreateDeleteRecords();
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
+6338
-4
File diff suppressed because it is too large
Load Diff
+855
-4
@@ -1,3 +1,5 @@
|
||||
// OneScript: ./OInt/tests/Modules/OPItc_CDEK.os
|
||||
|
||||
// MIT License
|
||||
|
||||
// Copyright (c) 2023-2026 Anton Tsitavets
|
||||
@@ -9,7 +11,7 @@
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// 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.
|
||||
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
@@ -22,6 +24,8 @@
|
||||
|
||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||
|
||||
// Test suite for YAxUnit
|
||||
|
||||
// BSLLS:Typo-off
|
||||
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
||||
// BSLLS:IncorrectLineBreak-off
|
||||
@@ -63,6 +67,853 @@
|
||||
//@skip-check missing-temporary-file-deletion
|
||||
//@skip-check module-unused-method
|
||||
|
||||
// #Use oint
|
||||
// #Use asserts
|
||||
// #Use "internal"
|
||||
//#Use "../../tools/main"
|
||||
//#Use "../../tools/http"
|
||||
//#Use "../../api"
|
||||
//#Use asserts
|
||||
//#Use "internal"
|
||||
|
||||
|
||||
// For YAxUnit
|
||||
|
||||
Procedure ИсполняемыеСценарии() Export
|
||||
|
||||
OPI_TestDataRetrieval.FormYAXTests("CDEK");
|
||||
|
||||
EndProcedure
|
||||
|
||||
// For Asserts
|
||||
|
||||
Function ПолучитьСписокТестов(UnitTesting) Export
|
||||
|
||||
Return OPI_TestDataRetrieval.FormAssertsTests("CDEK");
|
||||
|
||||
EndFunction
|
||||
|
||||
#Region Internal
|
||||
|
||||
#Region RunnableTests
|
||||
|
||||
#Region CDEK
|
||||
|
||||
Procedure CdekAPI_CommonMethods() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("CDEK_Account" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("CDEK_Password", TestParameters);
|
||||
|
||||
CDEK_GetToken(TestParameters);
|
||||
CDEK_GetCashboxChecksByDate(TestParameters);
|
||||
CDEK_GetDeliveryCashRegistry(TestParameters);
|
||||
CDEK_GetDeliveryCashTransfers(TestParameters);
|
||||
CDEK_GetOfficeFilterDescription(TestParameters);
|
||||
CDEK_GetOfficeList(TestParameters);
|
||||
CDEK_GetRegionsList(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CDEKAPI_OrdersManagement() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("CDEK_Token", TestParameters);
|
||||
|
||||
CDEK_GetOrderDescription(TestParameters);
|
||||
CDEK_CreateOrder(TestParameters);
|
||||
|
||||
OPI_Tools.Pause(25);
|
||||
|
||||
CDEK_GetOrder(TestParameters);
|
||||
CDEK_GetOrderByNumber(TestParameters);
|
||||
CDEK_CreateReceipt(TestParameters);
|
||||
CDEK_CreateBarcode(TestParameters);
|
||||
CDEK_CreatePrealert(TestParameters);
|
||||
|
||||
OPI_Tools.Pause(25);
|
||||
|
||||
CDEK_GetReceipt(TestParameters);
|
||||
CDEK_GetBarcode(TestParameters);
|
||||
CDEK_GetPrealert(TestParameters);
|
||||
CDEK_GetPassportDataStatus(TestParameters);
|
||||
CDEK_GetCashboxCheck(TestParameters);
|
||||
CDEK_UpdateOrder(TestParameters);
|
||||
CDEK_CreateCustomerRefund(TestParameters);
|
||||
CDEK_CreateRefusal(TestParameters);
|
||||
CDEK_DeleteOrder(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CdekAPI_CourierInvitationsManagement() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("CDEK_Token", TestParameters);
|
||||
|
||||
CDEK_CreateOrder(TestParameters);
|
||||
|
||||
OPI_Tools.Pause(25);
|
||||
|
||||
CDEK_GetCourierInvitationsDescription(TestParameters);
|
||||
CDEK_CreateCourierInvitation(TestParameters);
|
||||
CDEK_GetCourierInvitation(TestParameters);
|
||||
CDEK_DeleteCourierInvitation(TestParameters);
|
||||
CDEK_GetAppointmentDescription(TestParameters);
|
||||
|
||||
CDEK_GetAvailableDeliveryIntervals(TestParameters);
|
||||
CDEK_RegisterDeliveryAppointment(TestParameters);
|
||||
|
||||
OPI_Tools.Pause(25);
|
||||
|
||||
CDEK_GetDeliveryAppointment(TestParameters);
|
||||
CDEK_DeleteOrder(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // CDEK
|
||||
|
||||
#EndRegion // RunnableTests
|
||||
|
||||
#EndRegion // Internal
|
||||
|
||||
#Region Private
|
||||
|
||||
#Region AtomicTests
|
||||
|
||||
#Region CDEK
|
||||
|
||||
Procedure CDEK_GetToken(FunctionParameters)
|
||||
|
||||
Account = FunctionParameters["CDEK_Account"];
|
||||
Password = FunctionParameters["CDEK_Password"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("account", Account);
|
||||
Options.Insert("pass", Password);
|
||||
Options.Insert("testapi", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("cdek", "GetToken", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "GetToken", , FunctionParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CDEK_GetOrderDescription(FunctionParameters)
|
||||
|
||||
Options = New Structure;
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("cdek", "GetOrderDescription", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "GetOrderDescription");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("empty", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("cdek", "GetOrderDescription", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "GetOrderDescription", "Clear");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CDEK_CreateOrder(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["CDEK_Token"];
|
||||
|
||||
OrderDescription = New Structure;
|
||||
|
||||
SendLocation = New Structure;
|
||||
SendLocation.Insert("code" , "44");
|
||||
SendLocation.Insert("city" , "Moscow");
|
||||
SendLocation.Insert("address", "Ave. Leningradsky, 4");
|
||||
|
||||
DestLocation = New Structure;
|
||||
DestLocation.Insert("code" , "270");
|
||||
DestLocation.Insert("city" , "Novosibirsk");
|
||||
DestLocation.Insert("address", "st. Bluchera, 32");
|
||||
|
||||
Recipient = New Structure;
|
||||
|
||||
Phones = New Array;
|
||||
Phones.Add(New Structure("number", "+79134637228"));
|
||||
|
||||
Recipient.Insert("phones", Phones);
|
||||
Recipient.Insert("name" , "Ivaniv Ivan");
|
||||
|
||||
Sender = New Structure("name", "Petrov Petr");
|
||||
|
||||
Services = New Array;
|
||||
|
||||
Service = New Structure;
|
||||
Service.Insert("code" , "SECURE_PACKAGE_A2");
|
||||
Service.Insert("parameter", 10);
|
||||
|
||||
Services.Add(Service);
|
||||
|
||||
Packages = New Array;
|
||||
|
||||
Package = New Structure;
|
||||
|
||||
Items = New Array;
|
||||
|
||||
Item = New Structure;
|
||||
|
||||
Payment = New Structure;
|
||||
Payment.Insert("value", 3000);
|
||||
|
||||
Item.Insert("payment" , Payment);
|
||||
Item.Insert("ware_key", "00055");
|
||||
Item.Insert("name" , "Product");
|
||||
Item.Insert("cost" , 300);
|
||||
Item.Insert("amount" , 2);
|
||||
Item.Insert("weight" , 700);
|
||||
Item.Insert("url" , "www.item.ru");
|
||||
|
||||
Items.Add(Item);
|
||||
|
||||
Package.Insert("items" , Items);
|
||||
Package.Insert("number" , "bar-001");
|
||||
Package.Insert("comment", "Packaging");
|
||||
Package.Insert("height" , 10);
|
||||
Package.Insert("length" , 10);
|
||||
Package.Insert("weight" , "4000");
|
||||
Package.Insert("width" , 10);
|
||||
|
||||
Packages.Add(Package);
|
||||
|
||||
OrderDescription.Insert("from_location", SendLocation);
|
||||
OrderDescription.Insert("to_location" , DestLocation);
|
||||
OrderDescription.Insert("packages" , Packages);
|
||||
OrderDescription.Insert("recipient" , Recipient);
|
||||
OrderDescription.Insert("sender" , Sender);
|
||||
OrderDescription.Insert("services" , Services);
|
||||
|
||||
OrderDescription.Insert("number" , String(New UUID));
|
||||
OrderDescription.Insert("comment" , "New order");
|
||||
OrderDescription.Insert("tariff_code", 139);
|
||||
|
||||
OrderDescription.Insert("delivery_recipient_cost" , New Structure("value" , 50));
|
||||
OrderDescription.Insert("delivery_recipient_cost_adv", New Structure("sum,threshold", 3000, 200));
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("order", OrderDescription);
|
||||
Options.Insert("ostore", Истина);
|
||||
Options.Insert("testapi", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("cdek", "CreateOrder", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "CreateOrder", , FunctionParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CDEK_GetOrder(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["CDEK_Token"];
|
||||
UUID = FunctionParameters["CDEK_OrderUUID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("uuid", UUID);
|
||||
Options.Insert("testapi", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("cdek", "GetOrder", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "GetOrder", , FunctionParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CDEK_GetOrderByNumber(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["CDEK_Token"];
|
||||
|
||||
OrderNumber = FunctionParameters["CDEK_OrderIMN"];
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("number", OrderNumber);
|
||||
Options.Insert("internal", Истина);
|
||||
Options.Insert("testapi", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("cdek", "GetOrderByNumber", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "GetOrderByNumber");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CDEK_UpdateOrder(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["CDEK_Token"];
|
||||
UUID = FunctionParameters["CDEK_OrderUUID"];
|
||||
|
||||
OrderDescription = New Structure("comment", "NewComment");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("uuid", UUID);
|
||||
Options.Insert("order", OrderDescription);
|
||||
Options.Insert("testapi", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("cdek", "UpdateOrder", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "UpdateOrder");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CDEK_DeleteOrder(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["CDEK_Token"];
|
||||
UUID = FunctionParameters["CDEK_OrderUUID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("uuid", UUID);
|
||||
Options.Insert("testapi", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("cdek", "DeleteOrder", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "DeleteOrder");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CDEK_CreateCustomerRefund(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["CDEK_Token"];
|
||||
UUID = FunctionParameters["CDEK_OrderUUID"];
|
||||
Tariff = 139;
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("uuid", UUID);
|
||||
Options.Insert("tariff", Tariff);
|
||||
Options.Insert("testapi", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("cdek", "CreateCustomerRefund", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "CreateCustomerRefund");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CDEK_CreateRefusal(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["CDEK_Token"];
|
||||
UUID = FunctionParameters["CDEK_OrderUUID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("uuid", UUID);
|
||||
Options.Insert("testapi", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("cdek", "CreateRefusal", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "CreateRefusal");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CDEK_GetCourierInvitationsDescription(FunctionParameters)
|
||||
|
||||
Options = New Structure;
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("cdek", "GetCourierInvitationsDescription", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "GetCourierInvitationsDescription");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("empty", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("cdek", "GetCourierInvitationsDescription", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "GetCourierInvitationsDescription", "Clear");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CDEK_CreateCourierInvitation(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["CDEK_Token"];
|
||||
CurrentDate = OPI_Tools.GetCurrentDate();
|
||||
|
||||
InvitationDescription = New Structure;
|
||||
InvitationDescription.Insert("intake_date" , Format(CurrentDate + 60 * 60 * 24, "DF=yyyy-MM-dd"));
|
||||
InvitationDescription.Insert("intake_time_from", "10:00");
|
||||
InvitationDescription.Insert("intake_time_to" , "17:00");
|
||||
InvitationDescription.Insert("name" , "Consolidated cargo");
|
||||
InvitationDescription.Insert("weight" , 1000);
|
||||
InvitationDescription.Insert("length" , 10);
|
||||
InvitationDescription.Insert("width" , 10);
|
||||
InvitationDescription.Insert("height" , 10);
|
||||
InvitationDescription.Insert("comment" , "Comment to courier");
|
||||
InvitationDescription.Insert("need_call" , False);
|
||||
|
||||
Sender = New Structure;
|
||||
Sender.Insert("company", "Company");
|
||||
Sender.Insert("name" , "Ivaniv Ivan");
|
||||
|
||||
Phones = New Array;
|
||||
Phone = New Structure("number", "+79589441654");
|
||||
Phones.Add(Phone);
|
||||
|
||||
Sender.Insert("phones", Phones);
|
||||
|
||||
InvitationDescription.Insert("sender", Sender);
|
||||
|
||||
ShippingPoint = New Structure;
|
||||
ShippingPoint.Insert("code" , "44");
|
||||
ShippingPoint.Insert("fias_guid" , "0c5b2444-70a0-4932-980c-b4dc0d3f02b5");
|
||||
ShippingPoint.Insert("postal_code" , "109004");
|
||||
ShippingPoint.Insert("longitude" , 37.6204);
|
||||
ShippingPoint.Insert("latitude" , 55.754);
|
||||
ShippingPoint.Insert("country_code", "RU");
|
||||
ShippingPoint.Insert("region" , "Moscow");
|
||||
ShippingPoint.Insert("sub_region" , "Moscow");
|
||||
ShippingPoint.Insert("city" , "Moscow");
|
||||
ShippingPoint.Insert("kladr_code" , "7700000000000");
|
||||
ShippingPoint.Insert("address" , "st. Bluchera, 32");
|
||||
|
||||
InvitationDescription.Insert("from_location", ShippingPoint);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("intake", InvitationDescription);
|
||||
Options.Insert("testapi", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("cdek", "CreateCourierInvitation", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "CreateCourierInvitation", , FunctionParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CDEK_GetCourierInvitation(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["CDEK_Token"];
|
||||
UUID = FunctionParameters["CDEK_IntakeUUID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("uuid", UUID);
|
||||
Options.Insert("testapi", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("cdek", "GetCourierInvitation", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "GetCourierInvitation");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CDEK_DeleteCourierInvitation(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["CDEK_Token"];
|
||||
UUID = FunctionParameters["CDEK_IntakeUUID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("uuid", UUID);
|
||||
Options.Insert("testapi", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("cdek", "DeleteCourierInvitation", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "DeleteCourierInvitation");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CDEK_CreateReceipt(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["CDEK_Token"];
|
||||
UUID = FunctionParameters["CDEK_OrderUUID"];
|
||||
Type = "tpl_russia";
|
||||
Copies = 1;
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("uuids", UUID);
|
||||
Options.Insert("type", Type);
|
||||
Options.Insert("count", Copies);
|
||||
Options.Insert("testapi", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("cdek", "CreateReceipt", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "CreateReceipt", , FunctionParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CDEK_GetReceipt(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["CDEK_Token"];
|
||||
UUID = FunctionParameters["CDEK_PrintUUID"];
|
||||
|
||||
Result = OPI_CDEK.GetReceipt(Token, UUID, , True); // Server response with a URL
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "GetReceipt");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CDEK_CreateBarcode(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["CDEK_Token"];
|
||||
UUID = FunctionParameters["CDEK_OrderUUID"];
|
||||
Format = "A5";
|
||||
Copies = 1;
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("uuids", UUID);
|
||||
Options.Insert("count", Copies);
|
||||
Options.Insert("format", Format);
|
||||
Options.Insert("testapi", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("cdek", "CreateBarcode", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "CreateBarcode", , FunctionParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CDEK_GetBarcode(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["CDEK_Token"];
|
||||
UUID = FunctionParameters["CDEK_BarcodeUUID"];
|
||||
|
||||
Result = OPI_CDEK.GetBarcode(Token, UUID, , True); // Server response with a URL
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "GetBarcode");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CDEK_GetAvailableDeliveryIntervals(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["CDEK_Token"];
|
||||
UUID = FunctionParameters["CDEK_OrderUUID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("uuid", UUID);
|
||||
Options.Insert("testapi", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("cdek", "GetAvailableDeliveryIntervals", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "GetAvailableDeliveryIntervals");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CDEK_GetAppointmentDescription(FunctionParameters)
|
||||
|
||||
Options = New Structure;
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("cdek", "GetAppointmentDescription", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "GetAppointmentDescription");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("empty", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("cdek", "GetAppointmentDescription", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "GetAppointmentDescription", "Clear");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CDEK_RegisterDeliveryAppointment(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["CDEK_Token"];
|
||||
OrderUUID = FunctionParameters["CDEK_OrderUUID"];
|
||||
|
||||
Day = 60 * 60 * 24;
|
||||
CurrentDate = BegOfDay(OPI_Tools.GetCurrentDate());
|
||||
DeliveryDate = CurrentDate + Day * 14;
|
||||
|
||||
While WeekDay(DeliveryDate) > 5 Do
|
||||
DeliveryDate = DeliveryDate + Day;
|
||||
EndDo;
|
||||
|
||||
Appointment = New Structure;
|
||||
|
||||
Appointment.Insert("cdek_number", "1106207236");
|
||||
Appointment.Insert("order_uuid" , OrderUUID);
|
||||
Appointment.Insert("date" , Format(DeliveryDate, "DF=yyyy-MM-dd"));
|
||||
Appointment.Insert("time_from" , "10:00");
|
||||
Appointment.Insert("time_to" , "17:00");
|
||||
Appointment.Insert("comment" , "Group office");
|
||||
|
||||
DeliveryLocation = New Structure;
|
||||
DeliveryLocation.Insert("code" , "270");
|
||||
DeliveryLocation.Insert("fias_guid" , "0c5b2444-70a0-4932-980c-b4dc0d3f02b5");
|
||||
DeliveryLocation.Insert("postal_code" , "109004");
|
||||
DeliveryLocation.Insert("longitude" , 37.6204);
|
||||
DeliveryLocation.Insert("latitude" , 55.754);
|
||||
DeliveryLocation.Insert("country_code", "RU");
|
||||
DeliveryLocation.Insert("region" , "Novosibirsk");
|
||||
DeliveryLocation.Insert("sub_region" , "Novosibirsk");
|
||||
DeliveryLocation.Insert("city" , "Novosibirsk");
|
||||
DeliveryLocation.Insert("kladr_code" , "7700000000000");
|
||||
DeliveryLocation.Insert("address" , "st. Bluchera, 33");
|
||||
|
||||
Appointment.Insert("to_location", DeliveryLocation);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("appt", Appointment);
|
||||
Options.Insert("testapi", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("cdek", "RegisterDeliveryAppointment", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "RegisterDeliveryAppointment", , FunctionParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CDEK_GetDeliveryAppointment(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["CDEK_Token"];
|
||||
UUID = FunctionParameters["CDEK_ApptUUID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("uuid", UUID);
|
||||
Options.Insert("testapi", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("cdek", "GetDeliveryAppointment", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "GetDeliveryAppointment");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CDEK_CreatePrealert(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["CDEK_Token"];
|
||||
UUID = FunctionParameters["CDEK_OrderUUID"];
|
||||
Point = "NSK27";
|
||||
TransferDate = OPI_Tools.GetCurrentDate() + 60 * 60 * 24;
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("uuids", UUID);
|
||||
Options.Insert("date", TransferDate);
|
||||
Options.Insert("point", Point);
|
||||
Options.Insert("testapi", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("cdek", "CreatePrealert", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "CreatePrealert", , FunctionParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CDEK_GetPrealert(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["CDEK_Token"];
|
||||
UUID = FunctionParameters["CDEK_PrealertUUID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("uuid", UUID);
|
||||
Options.Insert("testapi", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("cdek", "GetPrealert", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "GetPrealert");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CDEK_GetPassportDataStatus(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["CDEK_Token"];
|
||||
UUID = FunctionParameters["CDEK_OrderUUID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("uuid", UUID);
|
||||
Options.Insert("testapi", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("cdek", "GetPassportDataStatus", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "GetPassportDataStatus");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CDEK_GetCashboxCheck(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["CDEK_Token"];
|
||||
UUID = FunctionParameters["CDEK_OrderUUID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("uuid", UUID);
|
||||
Options.Insert("testapi", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("cdek", "GetCashboxCheck", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "GetCashboxCheck");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CDEK_GetCashboxChecksByDate(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["CDEK_Token"];
|
||||
ReceivingDate = OPI_Tools.GetCurrentDate();
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("date", ReceivingDate);
|
||||
Options.Insert("testapi", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("cdek", "GetCashboxChecksByDate", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "GetCashboxChecksByDate");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CDEK_GetDeliveryCashRegistry(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["CDEK_Token"];
|
||||
ReceivingDate = OPI_Tools.GetCurrentDate();
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("date", ReceivingDate);
|
||||
Options.Insert("testapi", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("cdek", "GetDeliveryCashRegistry", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "GetDeliveryCashRegistry");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CDEK_GetDeliveryCashTransfers(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["CDEK_Token"];
|
||||
ReceivingDate = OPI_Tools.GetCurrentDate();
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("date", ReceivingDate);
|
||||
Options.Insert("testapi", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("cdek", "GetDeliveryCashTransfers", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "GetDeliveryCashTransfers");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CDEK_GetOfficeFilterDescription(FunctionParameters)
|
||||
|
||||
Options = New Structure;
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("cdek", "GetOfficeFilterDescription", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "GetOfficeFilterDescription");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("empty", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("cdek", "GetOfficeFilterDescription", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "GetOfficeFilterDescription", "Clear");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CDEK_GetOfficeList(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["CDEK_Token"];
|
||||
Filter = New Structure;
|
||||
Filter.Insert("weight_max" , 50);
|
||||
Filter.Insert("city_code" , 270);
|
||||
Filter.Insert("allowed_cod", True);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("filter", Filter);
|
||||
Options.Insert("testapi", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("cdek", "GetOfficeList", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "GetOfficeList");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CDEK_GetRegionsList(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["CDEK_Token"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("testapi", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("cdek", "GetRegionsList", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "GetRegionsList");
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // CDEK
|
||||
|
||||
#EndRegion // AtomicTests
|
||||
|
||||
#EndRegion // Private
|
||||
|
||||
#Region Alternate
|
||||
|
||||
Procedure СдэкАПИ_ОбщиеМетоды() Export
|
||||
CdekAPI_CommonMethods();
|
||||
EndProcedure
|
||||
|
||||
Procedure СдэкАПИ_РаботаСЗаказами() Export
|
||||
CDEKAPI_OrdersManagement();
|
||||
EndProcedure
|
||||
|
||||
Procedure СдэкАПИ_РаботаСЗаявкамиНаВызовКурьера() Export
|
||||
CdekAPI_CourierInvitationsManagement();
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
+1278
-4
File diff suppressed because it is too large
Load Diff
+794
-4
@@ -1,3 +1,5 @@
|
||||
// OneScript: ./OInt/tests/Modules/OPItc_Dropbox.os
|
||||
|
||||
// MIT License
|
||||
|
||||
// Copyright (c) 2023-2026 Anton Tsitavets
|
||||
@@ -9,7 +11,7 @@
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// 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.
|
||||
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
@@ -22,6 +24,8 @@
|
||||
|
||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||
|
||||
// Test suite for YAxUnit
|
||||
|
||||
// BSLLS:Typo-off
|
||||
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
||||
// BSLLS:IncorrectLineBreak-off
|
||||
@@ -63,6 +67,792 @@
|
||||
//@skip-check missing-temporary-file-deletion
|
||||
//@skip-check module-unused-method
|
||||
|
||||
// #Use oint
|
||||
// #Use asserts
|
||||
// #Use "internal"
|
||||
//#Use "../../tools/main"
|
||||
//#Use "../../tools/http"
|
||||
//#Use "../../api"
|
||||
//#Use asserts
|
||||
//#Use "internal"
|
||||
|
||||
|
||||
// For YAxUnit
|
||||
|
||||
Procedure ИсполняемыеСценарии() Export
|
||||
|
||||
OPI_TestDataRetrieval.FormYAXTests("Dropbox");
|
||||
|
||||
EndProcedure
|
||||
|
||||
// For Asserts
|
||||
|
||||
Function ПолучитьСписокТестов(UnitTesting) Export
|
||||
|
||||
Return OPI_TestDataRetrieval.FormAssertsTests("Dropbox");
|
||||
|
||||
EndFunction
|
||||
|
||||
#Region Internal
|
||||
|
||||
#Region RunnableTests
|
||||
|
||||
#Region Dropbox
|
||||
|
||||
Procedure DropboxAPI_GetUpdateToken() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Dropbox_Appkey" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Dropbox_Appsecret", TestParameters);
|
||||
|
||||
Dropbox_GetAuthorizationLink(TestParameters);
|
||||
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Dropbox_Code", TestParameters);
|
||||
|
||||
Dropbox_GetToken(TestParameters);
|
||||
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Dropbox_Refresh", TestParameters);
|
||||
|
||||
Dropbox_RefreshToken(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure DropboxAPI_UploadFile() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Dropbox_Token", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Picture" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Big" , TestParameters);
|
||||
|
||||
Dropbox_UploadFile(TestParameters);
|
||||
Dropbox_GetObjectInformation(TestParameters);
|
||||
Dropbox_GetObjectVersionList(TestParameters);
|
||||
Dropbox_RestoreObjectToVersion(TestParameters);
|
||||
Dropbox_GetPreview(TestParameters);
|
||||
Dropbox_DownloadFile(TestParameters);
|
||||
Dropbox_MoveObject(TestParameters);
|
||||
Dropbox_CopyObject(TestParameters);
|
||||
Dropbox_DeleteObject(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure DropboxAPI_CreateFolder() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Dropbox_Token", TestParameters);
|
||||
|
||||
Dropbox_CreateFolder(TestParameters);
|
||||
Dropbox_DownloadFolder(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure DropboxAPI_GetFolderFileList() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Dropbox_Token", TestParameters);
|
||||
|
||||
Dropbox_GetListOfFolderFiles(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure DropboxAPI_UploadFileByURL() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Dropbox_Token", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Document" , TestParameters);
|
||||
|
||||
Dropbox_UploadFileByURL(TestParameters);
|
||||
Dropbox_GetUploadStatusByURL(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure DropboxAPI_CreateDeleteTag() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Dropbox_Token", TestParameters);
|
||||
|
||||
Dropbox_AddTag(TestParameters);
|
||||
Dropbox_GetTagList(TestParameters);
|
||||
Dropbox_DeleteTag(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure DropboxAPI_GetAccount() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Dropbox_Token", TestParameters);
|
||||
|
||||
Dropbox_GetAccountInformation(TestParameters);
|
||||
Dropbox_GetSpaceUsageData(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure DropboxAPI_AccessManagement() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Dropbox_Token" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Dropbox_OtherUser", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Dropbox_FileID" , TestParameters);
|
||||
|
||||
Dropbox_AddUsersToFile(TestParameters);
|
||||
Dropbox_PublishFolder(TestParameters);
|
||||
Dropbox_AddUsersToFolder(TestParameters);
|
||||
Dropbox_CancelFolderPublication(TestParameters);
|
||||
Dropbox_GetAsynchronousChangeStatus(TestParameters);
|
||||
Dropbox_CancelFilePublication(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // Dropbox
|
||||
|
||||
#EndRegion // RunnableTests
|
||||
|
||||
#EndRegion // Internal
|
||||
|
||||
#Region Private
|
||||
|
||||
#Region AtomicTests
|
||||
|
||||
#Region Dropbox
|
||||
|
||||
Procedure Dropbox_GetAuthorizationLink(FunctionParameters)
|
||||
|
||||
AppKey = FunctionParameters["Dropbox_Appkey"];
|
||||
Options = New Structure;
|
||||
Options.Insert("appkey", AppKey);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("dropbox", "GetAuthorizationLink", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "GetAuthorizationLink");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Dropbox_GetToken(FunctionParameters)
|
||||
|
||||
AppKey = FunctionParameters["Dropbox_Appkey"];
|
||||
AppSecret = FunctionParameters["Dropbox_Appsecret"];
|
||||
Code = FunctionParameters["Dropbox_Code"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("appkey", AppKey);
|
||||
Options.Insert("appsecret", AppSecret);
|
||||
Options.Insert("code", Code);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("dropbox", "GetToken", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "GetToken");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Dropbox_RefreshToken(FunctionParameters)
|
||||
|
||||
AppKey = FunctionParameters["Dropbox_Appkey"];
|
||||
AppSecret = FunctionParameters["Dropbox_Appsecret"];
|
||||
RefreshToken = FunctionParameters["Dropbox_Refresh"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("appkey", AppKey);
|
||||
Options.Insert("appsecret", AppSecret);
|
||||
Options.Insert("refresh", RefreshToken);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("dropbox", "RefreshToken", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "RefreshToken");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Dropbox_GetObjectInformation(FunctionParameters)
|
||||
|
||||
Path = "/New/pic.png";
|
||||
Token = FunctionParameters["Dropbox_Token"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("path", Path);
|
||||
Options.Insert("detail", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("dropbox", "GetObjectInformation", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "GetObjectInformation", , Path);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Dropbox_GetPreview(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Dropbox_Token"];
|
||||
Path = "/New/mydoc.docx";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("path", Path);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("dropbox", "GetPreview", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "GetPreview");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Dropbox_UploadFile(FunctionParameters)
|
||||
|
||||
Path = "/New/pic.png";
|
||||
Token = FunctionParameters["Dropbox_Token"];
|
||||
Image = FunctionParameters["Picture"];
|
||||
|
||||
ImagePath = GetTempFileName("png");
|
||||
FileCopy(Image, ImagePath);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("file", ImagePath);
|
||||
Options.Insert("path", Path);
|
||||
Options.Insert("overwrite", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("dropbox", "UploadFile", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "UploadFile", , Path);
|
||||
|
||||
OPI_Tools.RemoveFileWithTry(ImagePath, "Failed to delete the temporary file after the test!!");
|
||||
|
||||
If Not OPI_Tools.IsOneScript() And FunctionParameters.Property("Big") Then
|
||||
|
||||
BigFile = FunctionParameters["Big"];
|
||||
|
||||
Path = "/giant.tmp";
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("file", BigFile);
|
||||
Options.Insert("path", Path);
|
||||
Options.Insert("overwrite", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("dropbox", "UploadFile", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "UploadFile", "Big", Path);
|
||||
|
||||
EndIf;
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Dropbox_UploadFileByURL(FunctionParameters)
|
||||
|
||||
Path = "/New/url_doc.docx";
|
||||
Token = FunctionParameters["Dropbox_Token"];
|
||||
URL = FunctionParameters["Document"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("path", Path);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("dropbox", "UploadFileByURL", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "UploadFileByURL", , FunctionParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Dropbox_GetUploadStatusByURL(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Dropbox_Token"];
|
||||
WorkID = FunctionParameters["Dropbox_Job"];
|
||||
Status = "in_progress";
|
||||
|
||||
While Status = "in_progress" Do
|
||||
|
||||
Result = OPI_Dropbox.GetUploadStatusByURL(Token, WorkID);
|
||||
Status = Result[".tag"];
|
||||
|
||||
OPI_Tools.Pause(5);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "GetUploadStatusByURL", "Progress"); // SKIP
|
||||
|
||||
EndDo;
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "GetUploadStatusByURL");
|
||||
|
||||
Token = FunctionParameters["Dropbox_Token"];
|
||||
Path = "/New/url_doc.docx";
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("path", Path);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("dropbox", "DeleteObject", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "GetUploadStatusByURL", "Deletion", Path);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Dropbox_DeleteObject(FunctionParameters)
|
||||
|
||||
Path = "/New/pic.png";
|
||||
Token = FunctionParameters["Dropbox_Token"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("path", Path);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("dropbox", "DeleteObject", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "DeleteObject", , Path);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Dropbox_CopyObject(FunctionParameters)
|
||||
|
||||
Original = "/New/pic.png";
|
||||
Copy = "/New/pic_copy.png";
|
||||
Token = FunctionParameters["Dropbox_Token"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("from", Original);
|
||||
Options.Insert("to", Copy);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("dropbox", "CopyObject", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "CopyObject", , Copy);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("path", Copy);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("dropbox", "DeleteObject", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "CopyObject", "Deletion", Copy);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Dropbox_MoveObject(FunctionParameters)
|
||||
|
||||
OriginalPath = "/New/pic.png";
|
||||
TargetPath = "/pic.png";
|
||||
Token = FunctionParameters["Dropbox_Token"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("from", OriginalPath);
|
||||
Options.Insert("to", TargetPath);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("dropbox", "MoveObject", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "MoveObject", , TargetPath);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("from", TargetPath);
|
||||
Options.Insert("to", OriginalPath);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("dropbox", "MoveObject", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "MoveObject", "Deletion", OriginalPath);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Dropbox_CreateFolder(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Dropbox_Token"];
|
||||
Path = "/New catalog";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("path", Path);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("dropbox", "CreateFolder", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "CreateFolder", , Path);
|
||||
|
||||
OPI_Dropbox.DeleteObject(Token, Path);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Dropbox_DownloadFile(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Dropbox_Token"];
|
||||
Path = "/New/pic.png";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("path", Path);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("dropbox", "DownloadFile", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "DownloadFile");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Dropbox_DownloadFolder(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Dropbox_Token"];
|
||||
Path = "/New";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("path", Path);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("dropbox", "DownloadFolder", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "DownloadFolder");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Dropbox_GetListOfFolderFiles(FunctionParameters)
|
||||
|
||||
Path = "/New";
|
||||
Token = FunctionParameters["Dropbox_Token"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("path", Path);
|
||||
Options.Insert("detail", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("dropbox", "GetListOfFolderFiles", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "GetListOfFolderFiles");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Dropbox_GetObjectVersionList(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Dropbox_Token"];
|
||||
Path = "/New/pic.png";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("path", Path);
|
||||
Options.Insert("amount", 1);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("dropbox", "GetObjectVersionList", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "GetObjectVersionList", , FunctionParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Dropbox_RestoreObjectToVersion(FunctionParameters)
|
||||
|
||||
Version = FunctionParameters["Dropbox_FileRevision"];
|
||||
Token = FunctionParameters["Dropbox_Token"];
|
||||
Path = "/New/pic.png";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("path", Path);
|
||||
Options.Insert("rev", Version);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("dropbox", "RestoreObjectToVersion", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "RestoreObjectToVersion", , Path);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Dropbox_GetTagList(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Dropbox_Token"];
|
||||
|
||||
PathsArray = New Array;
|
||||
PathsArray.Add("/New/Dogs.mp3");
|
||||
PathsArray.Add("/New/mydoc.docx");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("paths", PathsArray);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("dropbox", "GetTagList", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "GetTagList", , FunctionParameters, PathsArray);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Dropbox_AddTag(FunctionParameters)
|
||||
|
||||
Tag = "Important";
|
||||
Token = FunctionParameters["Dropbox_Token"];
|
||||
Path = "/New/mydoc.docx";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("path", Path);
|
||||
Options.Insert("tag", Tag);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("dropbox", "AddTag", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "AddTag");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Dropbox_DeleteTag(FunctionParameters)
|
||||
|
||||
Tag = "Important";
|
||||
Token = FunctionParameters["Dropbox_Token"];
|
||||
Path = "/New/mydoc.docx";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("path", Path);
|
||||
Options.Insert("tag", Tag);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("dropbox", "DeleteTag", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "DeleteTag");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Dropbox_GetAccountInformation(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Dropbox_Token"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("dropbox", "GetAccountInformation", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "GetAccountInformation");
|
||||
|
||||
AccountID = Result["account_id"];
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("account", AccountID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("dropbox", "GetAccountInformation", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "GetAccountInformation", "By ID");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Dropbox_GetSpaceUsageData(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Dropbox_Token"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("dropbox", "GetSpaceUsageData", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "GetSpaceUsageData");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Dropbox_AddUsersToFile(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Dropbox_Token"];
|
||||
Email = FunctionParameters["Dropbox_OtherUser"];
|
||||
File = FunctionParameters["Dropbox_FileID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("fileid", File);
|
||||
Options.Insert("emails", Email);
|
||||
Options.Insert("readonly", Ложь);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("dropbox", "AddUsersToFile", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "AddUsersToFile", , Email, False);
|
||||
|
||||
Mails = New Array;
|
||||
Mails.Add(Email);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("fileid", File);
|
||||
Options.Insert("emails", Mails);
|
||||
Options.Insert("readonly", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("dropbox", "AddUsersToFile", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "AddUsersToFile", , Email, True);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Dropbox_PublishFolder(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Dropbox_Token"];
|
||||
Path = "/New";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("path", Path);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("dropbox", "PublishFolder", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "PublishFolder", , FunctionParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Dropbox_CancelFolderPublication(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Dropbox_Token"];
|
||||
Folder = FunctionParameters["Dropbox_SharedFolder"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("folder", Folder);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("dropbox", "CancelFolderPublication", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "CancelFolderPublication"); // SKIP
|
||||
|
||||
CurrentStatus = "in_progress";
|
||||
JobID = Result["async_job_id"];
|
||||
|
||||
While CurrentStatus = "in_progress" Do
|
||||
Result = OPI_Dropbox.GetAsynchronousChangeStatus(Token, JobID);
|
||||
CurrentStatus = Result[".tag"];
|
||||
OPI_Tools.Pause(3);
|
||||
EndDo;
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "CancelFolderPublication", "Ending", FunctionParameters, JobID);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Dropbox_GetAsynchronousChangeStatus(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Dropbox_Token"];
|
||||
JobID = FunctionParameters["Dropbox_NewJobID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("job", JobID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("dropbox", "GetAsynchronousChangeStatus", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "GetAsynchronousChangeStatus");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Dropbox_AddUsersToFolder(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Dropbox_Token"];
|
||||
Email = FunctionParameters["Dropbox_OtherUser"];
|
||||
Folder = FunctionParameters["Dropbox_SharedFolder"]; // shared_folder_id
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("folder", Folder);
|
||||
Options.Insert("emails", Email);
|
||||
Options.Insert("readonly", Ложь);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("dropbox", "AddUsersToFolder", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "AddUsersToFolder");
|
||||
|
||||
Mails = New Array;
|
||||
Mails.Add(Email);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("folder", Folder);
|
||||
Options.Insert("emails", Mails);
|
||||
Options.Insert("readonly", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("dropbox", "AddUsersToFolder", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "AddUsersToFolder", "Additional");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Dropbox_CancelFilePublication(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Dropbox_Token"];
|
||||
File = FunctionParameters["Dropbox_FileID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("fileid", File);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("dropbox", "CancelFilePublication", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "CancelFilePublication");
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // Dropbox
|
||||
|
||||
#EndRegion // AtomicTests
|
||||
|
||||
#EndRegion // Private
|
||||
|
||||
#Region Alternate
|
||||
|
||||
Procedure ДропБокс_ПолучитьОбновитьТокен() Export
|
||||
DropboxAPI_GetUpdateToken();
|
||||
EndProcedure
|
||||
|
||||
Procedure ДропБокс_ЗагрузитьФайл() Export
|
||||
DropboxAPI_UploadFile();
|
||||
EndProcedure
|
||||
|
||||
Procedure ДропБокс_СоздатьКаталог() Export
|
||||
DropboxAPI_CreateFolder();
|
||||
EndProcedure
|
||||
|
||||
Procedure ДропБокс_ПолучитьСписокФайловПапки() Export
|
||||
DropboxAPI_GetFolderFileList();
|
||||
EndProcedure
|
||||
|
||||
Procedure ДропБокс_ЗагрузитьФайлПоURL() Export
|
||||
DropboxAPI_UploadFileByURL();
|
||||
EndProcedure
|
||||
|
||||
Procedure ДропБокс_СоздатьУдалитьТег() Export
|
||||
DropboxAPI_CreateDeleteTag();
|
||||
EndProcedure
|
||||
|
||||
Procedure ДропБокс_ПолучитьАккаунт() Export
|
||||
DropboxAPI_GetAccount();
|
||||
EndProcedure
|
||||
|
||||
Procedure ДропБокс_РаботаСДоступами() Export
|
||||
DropboxAPI_AccessManagement();
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
+1936
-4
File diff suppressed because it is too large
Load Diff
+1218
-4
File diff suppressed because it is too large
Load Diff
@@ -1,3 +1,5 @@
|
||||
// OneScript: ./OInt/tests/Modules/OPItc_GoogleCalendar.os
|
||||
|
||||
// MIT License
|
||||
|
||||
// Copyright (c) 2023-2026 Anton Tsitavets
|
||||
@@ -9,7 +11,7 @@
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// 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.
|
||||
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
@@ -22,6 +24,8 @@
|
||||
|
||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||
|
||||
// Test suite for YAxUnit
|
||||
|
||||
// BSLLS:Typo-off
|
||||
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
||||
// BSLLS:IncorrectLineBreak-off
|
||||
@@ -63,6 +67,565 @@
|
||||
//@skip-check missing-temporary-file-deletion
|
||||
//@skip-check module-unused-method
|
||||
|
||||
// #Use oint
|
||||
// #Use asserts
|
||||
// #Use "internal"
|
||||
//#Use "../../tools/main"
|
||||
//#Use "../../tools/http"
|
||||
//#Use "../../api"
|
||||
//#Use asserts
|
||||
//#Use "internal"
|
||||
|
||||
|
||||
// For YAxUnit
|
||||
|
||||
Procedure ИсполняемыеСценарии() Export
|
||||
|
||||
OPI_TestDataRetrieval.FormYAXTests("GoogleCalendar");
|
||||
|
||||
EndProcedure
|
||||
|
||||
// For Asserts
|
||||
|
||||
Function ПолучитьСписокТестов(UnitTesting) Export
|
||||
|
||||
Return OPI_TestDataRetrieval.FormAssertsTests("GoogleCalendar");
|
||||
|
||||
EndFunction
|
||||
|
||||
#Region Internal
|
||||
|
||||
#Region RunnableTests
|
||||
|
||||
#Region GoogleCalendar
|
||||
|
||||
Procedure GC_Authorization() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Google_ClientID" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Google_ClientSecret", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Google_Code" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Google_Refresh" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Google_ServiceData" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Access_Token" , TestParameters);
|
||||
|
||||
GoogleCalendar_FormCodeRetrievalLink(TestParameters);
|
||||
GoogleCalendar_GetTokenByCode(TestParameters);
|
||||
GoogleCalendar_RefreshToken(TestParameters);
|
||||
GoogleCalendar_GetServiceAccountToken(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GC_GetCalendarList() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Google_Token", TestParameters);
|
||||
|
||||
GoogleCalendar_GetCalendarList(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GC_CreateDeleteCalendar() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Google_Token", TestParameters);
|
||||
|
||||
GoogleCalendar_CreateCalendar(TestParameters);
|
||||
GoogleCalendar_EditCalendarMetadata(TestParameters);
|
||||
GoogleCalendar_GetCalendarMetadata(TestParameters);
|
||||
GoogleCalendar_AddCalendarToList(TestParameters);
|
||||
GoogleCalendar_EditListCalendar(TestParameters);
|
||||
GoogleCalendar_GetListCalendar(TestParameters);
|
||||
GoogleCalendar_ClearMainCalendar(TestParameters);
|
||||
// !DISABLED! GoogleCalendar_DeleteCalendarFromList(TestParameters);
|
||||
GoogleCalendar_DeleteCalendar(TestParameters);
|
||||
|
||||
OPI_Tools.Pause(5);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GC_CreateDeleteEvent() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Google_Token" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Google_NewCalendarID", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Google_CalendarID" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Picture" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Picture2" , TestParameters);
|
||||
|
||||
GoogleCalendar_CreateCalendar(TestParameters);
|
||||
GoogleCalendar_CreateEvent(TestParameters);
|
||||
GoogleCalendar_EditEvent(TestParameters);
|
||||
GoogleCalendar_GetEvent(TestParameters);
|
||||
GoogleCalendar_MoveEvent(TestParameters);
|
||||
GoogleCalendar_GetEventList(TestParameters);
|
||||
GoogleCalendar_GetEventDescription(TestParameters);
|
||||
GoogleCalendar_DeleteEvent(TestParameters);
|
||||
GoogleCalendar_DeleteCalendar(TestParameters);
|
||||
|
||||
OPI_Tools.Pause(5);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // GoogleCalendar
|
||||
|
||||
#EndRegion // RunnableTests
|
||||
|
||||
#EndRegion // Internal
|
||||
|
||||
#Region Private
|
||||
|
||||
#Region AtomicTests
|
||||
|
||||
#Region GoogleCalendar
|
||||
|
||||
Procedure GoogleCalendar_FormCodeRetrievalLink(FunctionParameters)
|
||||
|
||||
ClientID = FunctionParameters["Google_ClientID"];
|
||||
Options = New Structure;
|
||||
Options.Insert("id", ClientID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gcalendar", "FormCodeRetrievalLink", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleCalendar", "FormCodeRetrievalLink");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleCalendar_GetTokenByCode(FunctionParameters)
|
||||
|
||||
ClientID = FunctionParameters["Google_ClientID"];
|
||||
ClientSecret = FunctionParameters["Google_ClientSecret"];
|
||||
Code = FunctionParameters["Google_Code"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("id", ClientID);
|
||||
Options.Insert("secret", ClientSecret);
|
||||
Options.Insert("code", Code);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gcalendar", "GetTokenByCode", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleCalendar", "GetTokenByCode");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleCalendar_RefreshToken(FunctionParameters)
|
||||
|
||||
ClientID = FunctionParameters["Google_ClientID"];
|
||||
ClientSecret = FunctionParameters["Google_ClientSecret"];
|
||||
RefreshToken = FunctionParameters["Google_Refresh"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("id", ClientID);
|
||||
Options.Insert("secret", ClientSecret);
|
||||
Options.Insert("refresh", RefreshToken);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gcalendar", "RefreshToken", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleCalendar", "RefreshToken");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleCalendar_GetServiceAccountToken(FunctionParameters)
|
||||
|
||||
Data = FunctionParameters["Google_ServiceData"]; // URL, binary Data, file or collection
|
||||
|
||||
Token = FunctionParameters["Access_Token"]; // SKIP
|
||||
Data = OPI_HTTPRequests // SKIP
|
||||
.NewRequest() // SKIP
|
||||
.Initialize(Data) // SKIP
|
||||
.AddBearerAuthorization(Token) // SKIP
|
||||
.ProcessRequest("GET") // SKIP
|
||||
.ReturnResponseAsBinaryData(); // SKIP
|
||||
|
||||
Scope = New Array;
|
||||
Scope.Add("https://www.googleapis.com/auth/calendar");
|
||||
Scope.Add("https://www.googleapis.com/auth/drive");
|
||||
Scope.Add("https://www.googleapis.com/auth/spreadsheets");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("auth", Data);
|
||||
Options.Insert("scope", Scope);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gcalendar", "GetServiceAccountToken", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleCalendar", "GetServiceAccountToken");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleCalendar_GetCalendarList(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gcalendar", "GetCalendarList", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleCalendar", "GetCalendarList");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleCalendar_CreateCalendar(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Name = "TestCalendar";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("title", Name);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gcalendar", "CreateCalendar", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleCalendar", "CreateCalendar", , FunctionParameters, Name);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleCalendar_EditCalendarMetadata(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Calendar = FunctionParameters["Google_NewCalendarID"];
|
||||
Name = "New name";
|
||||
Description = "New description";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("calendar", Calendar);
|
||||
Options.Insert("title", Name);
|
||||
Options.Insert("description", Description);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gcalendar", "EditCalendarMetadata", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleCalendar", "EditCalendarMetadata", , Name, Description);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleCalendar_GetCalendarMetadata(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Calendar = FunctionParameters["Google_NewCalendarID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("calendar", Calendar);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gcalendar", "GetCalendarMetadata", Options);
|
||||
|
||||
// END
|
||||
|
||||
Name = "New name";
|
||||
Description = "New description";
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleCalendar", "GetCalendarMetadata", , Name, Description);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleCalendar_AddCalendarToList(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Calendar = FunctionParameters["Google_NewCalendarID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("calendar", Calendar);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gcalendar", "AddCalendarToList", Options);
|
||||
|
||||
// END
|
||||
|
||||
Name = "New name";
|
||||
Description = "New description";
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleCalendar", "AddCalendarToList", , Name, Description);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleCalendar_EditListCalendar(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Calendar = FunctionParameters["Google_NewCalendarID"];
|
||||
PrimaryColor = "#000000";
|
||||
SecondaryColor = "#ffd800";
|
||||
Hidden = False;
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("calendar", Calendar);
|
||||
Options.Insert("primary", PrimaryColor);
|
||||
Options.Insert("secondary", SecondaryColor);
|
||||
Options.Insert("hidden", Hidden);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gcalendar", "EditListCalendar", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleCalendar", "EditListCalendar", , PrimaryColor, SecondaryColor);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleCalendar_GetListCalendar(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Calendar = FunctionParameters["Google_NewCalendarID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("calendar", Calendar);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gcalendar", "GetListCalendar", Options);
|
||||
|
||||
// END
|
||||
|
||||
PrimaryColor = "#000000";
|
||||
SecondaryColor = "#ffd800";
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleCalendar", "GetListCalendar", , PrimaryColor, SecondaryColor);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleCalendar_ClearMainCalendar(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gcalendar", "ClearMainCalendar", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleCalendar", "ClearMainCalendar");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleCalendar_DeleteCalendarFromList(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Calendar = FunctionParameters["Google_NewCalendarID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("calendar", Calendar);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gcalendar", "DeleteCalendarFromList", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleCalendar", "DeleteCalendarFromList");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleCalendar_DeleteCalendar(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Calendar = FunctionParameters["Google_NewCalendarID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("calendar", Calendar);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gcalendar", "DeleteCalendar", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleCalendar", "DeleteCalendar");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleCalendar_CreateEvent(FunctionParameters)
|
||||
|
||||
CurrentDate = OPI_Tools.GetCurrentDate();
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Calendar = FunctionParameters["Google_NewCalendarID"];
|
||||
Name = "New event";
|
||||
Description = "TestEventDescription";
|
||||
Hour = 3600;
|
||||
|
||||
Image1 = FunctionParameters["Picture"]; // URL, Binary or File path
|
||||
Image2 = FunctionParameters["Picture2"]; // URL, Binary or File path
|
||||
Attachments = New Map;
|
||||
|
||||
Attachments.Insert("Image1", Image1);
|
||||
Attachments.Insert("Image2", Image2);
|
||||
|
||||
EventDescription = New Map;
|
||||
EventDescription.Insert("Description" , Description);
|
||||
EventDescription.Insert("Title" , Name);
|
||||
EventDescription.Insert("Venue" , "InOffice");
|
||||
EventDescription.Insert("StartDate" , CurrentDate);
|
||||
EventDescription.Insert("EndDate" , EventDescription["StartDate"] + Hour);
|
||||
EventDescription.Insert("ArrayOfAttachmentURLs", Attachments);
|
||||
EventDescription.Insert("SendNotifications" , True);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("calendar", Calendar);
|
||||
Options.Insert("props", EventDescription);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gcalendar", "CreateEvent", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleCalendar", "CreateEvent", , FunctionParameters, Name, Description);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleCalendar_EditEvent(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Calendar = FunctionParameters["Google_NewCalendarID"];
|
||||
Event = FunctionParameters["Google_EventID"];
|
||||
Description = "New event description";
|
||||
|
||||
EventDescription = New Map;
|
||||
EventDescription.Insert("Description", Description);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("calendar", Calendar);
|
||||
Options.Insert("props", EventDescription);
|
||||
Options.Insert("event", Event);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gcalendar", "EditEvent", Options);
|
||||
|
||||
// END
|
||||
|
||||
Name = "New event";
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleCalendar", "EditEvent", , Name, Description);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleCalendar_GetEvent(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Calendar = FunctionParameters["Google_NewCalendarID"];
|
||||
Event = FunctionParameters["Google_EventID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("calendar", Calendar);
|
||||
Options.Insert("event", Event);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gcalendar", "GetEvent", Options);
|
||||
|
||||
// END
|
||||
|
||||
Name = "New event";
|
||||
Description = "New event description";
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleCalendar", "GetEvent", , Name, Description);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleCalendar_MoveEvent(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Event = FunctionParameters["Google_EventID"];
|
||||
|
||||
SourceCalendar = FunctionParameters["Google_NewCalendarID"];
|
||||
TargetCalendar = FunctionParameters["Google_CalendarID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("from", SourceCalendar);
|
||||
Options.Insert("to", TargetCalendar);
|
||||
Options.Insert("event", Event);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gcalendar", "MoveEvent", Options);
|
||||
|
||||
// END
|
||||
|
||||
Name = "New event";
|
||||
Description = "New event description";
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleCalendar", "MoveEvent", , Name, Description);
|
||||
|
||||
OPI_GoogleCalendar.MoveEvent(Token, TargetCalendar, SourceCalendar, Event);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleCalendar_DeleteEvent(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Calendar = FunctionParameters["Google_NewCalendarID"];
|
||||
Event = FunctionParameters["Google_EventID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("calendar", Calendar);
|
||||
Options.Insert("event", Event);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gcalendar", "DeleteEvent", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleCalendar", "DeleteEvent");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleCalendar_GetEventList(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Calendar = FunctionParameters["Google_NewCalendarID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("calendar", Calendar);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gcalendar", "GetEventList", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleCalendar", "GetEventList");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleCalendar_GetEventDescription(FunctionParameters)
|
||||
|
||||
Clear = False;
|
||||
Options = New Structure;
|
||||
Options.Insert("empty", Clear);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gcalendar", "GetEventDescription", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleCalendar", "GetEventDescription");
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // GoogleCalendar
|
||||
|
||||
#EndRegion // AtomicTests
|
||||
|
||||
#EndRegion // Private
|
||||
|
||||
#Region Alternate
|
||||
|
||||
Procedure ГК_Авторизация() Export
|
||||
GC_Authorization();
|
||||
EndProcedure
|
||||
|
||||
Procedure ГК_ПолучитьСписокКалендарей() Export
|
||||
GC_GetCalendarList();
|
||||
EndProcedure
|
||||
|
||||
Procedure ГК_СоздатьУдалитьКалендарь() Export
|
||||
GC_CreateDeleteCalendar();
|
||||
EndProcedure
|
||||
|
||||
Procedure ГК_СоздатьУдалитьСобытие() Export
|
||||
GC_CreateDeleteEvent();
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
+545
-4
@@ -1,3 +1,5 @@
|
||||
// OneScript: ./OInt/tests/Modules/OPItc_GoogleDrive.os
|
||||
|
||||
// MIT License
|
||||
|
||||
// Copyright (c) 2023-2026 Anton Tsitavets
|
||||
@@ -9,7 +11,7 @@
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// 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.
|
||||
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
@@ -22,6 +24,8 @@
|
||||
|
||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||
|
||||
// Test suite for YAxUnit
|
||||
|
||||
// BSLLS:Typo-off
|
||||
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
||||
// BSLLS:IncorrectLineBreak-off
|
||||
@@ -63,6 +67,543 @@
|
||||
//@skip-check missing-temporary-file-deletion
|
||||
//@skip-check module-unused-method
|
||||
|
||||
// #Use oint
|
||||
// #Use asserts
|
||||
// #Use "internal"
|
||||
//#Use "../../tools/main"
|
||||
//#Use "../../tools/http"
|
||||
//#Use "../../api"
|
||||
//#Use asserts
|
||||
//#Use "internal"
|
||||
|
||||
// For YAxUnit
|
||||
|
||||
Procedure ИсполняемыеСценарии() Export
|
||||
|
||||
OPI_TestDataRetrieval.FormYAXTests("GoogleDrive");
|
||||
|
||||
EndProcedure
|
||||
|
||||
// For Asserts
|
||||
|
||||
Function ПолучитьСписокТестов(UnitTesting) Export
|
||||
|
||||
Return OPI_TestDataRetrieval.FormAssertsTests("GoogleDrive");
|
||||
|
||||
EndFunction
|
||||
|
||||
#Region Internal
|
||||
|
||||
#Region RunnableTests
|
||||
|
||||
#Region GoogleDrive
|
||||
|
||||
Procedure GD_Authorization() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Google_ClientID" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Google_ClientSecret", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Google_Code" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Google_Refresh" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Google_ServiceData" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Access_Token" , TestParameters);
|
||||
|
||||
GoogleDrive_FormCodeRetrievalLink(TestParameters);
|
||||
GoogleDrive_GetTokenByCode(TestParameters);
|
||||
GoogleDrive_RefreshToken(TestParameters);
|
||||
GoogleDrive_GetServiceAccountToken(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GD_GetCatalogList() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Google_Token", TestParameters);
|
||||
|
||||
GoogleDrive_GetDirectoriesList(TestParameters);
|
||||
GoogleDrive_GetObjectInformation(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GD_UploadDeleteFile() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Google_Token", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("GD_Catalog" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Picture" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Picture2" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Big" , TestParameters);
|
||||
|
||||
TestParameters.Insert("ArrayOfDeletions", New Array);
|
||||
|
||||
GoogleDrive_UploadFile(TestParameters);
|
||||
GoogleDrive_CopyObject(TestParameters);
|
||||
GoogleDrive_DownloadFile(TestParameters);
|
||||
GoogleDrive_UpdateFile(TestParameters);
|
||||
GoogleDrive_GetFilesList(TestParameters);
|
||||
GoogleDrive_DeleteObject(TestParameters);
|
||||
GoogleDrive_GetFileDescription(TestParameters);
|
||||
|
||||
OPI_Tools.Pause(5);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GD_CreateDeleteComment() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Google_Token", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("GD_Catalog" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Picture" , TestParameters);
|
||||
|
||||
TestParameters.Insert("ArrayOfDeletions", New Array);
|
||||
|
||||
GoogleDrive_UploadFile(TestParameters);
|
||||
|
||||
GoogleDrive_CreateComment(TestParameters);
|
||||
GoogleDrive_GetComment(TestParameters);
|
||||
GoogleDrive_GetCommentList(TestParameters);
|
||||
GoogleDrive_DeleteComment(TestParameters);
|
||||
|
||||
GoogleDrive_DeleteObject(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GD_CreateCatalog() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Google_Token", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("GD_Catalog" , TestParameters);
|
||||
|
||||
GoogleDrive_CreateFolder(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // GoogleDrive
|
||||
|
||||
#EndRegion // RunnableTests
|
||||
|
||||
#EndRegion // Internal
|
||||
|
||||
#Region Private
|
||||
|
||||
#Region AtomicTests
|
||||
|
||||
#Region GoogleDrive
|
||||
|
||||
Procedure GoogleDrive_FormCodeRetrievalLink(FunctionParameters)
|
||||
|
||||
ClientID = FunctionParameters["Google_ClientID"];
|
||||
Options = New Structure;
|
||||
Options.Insert("id", ClientID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gdrive", "FormCodeRetrievalLink", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleDrive", "FormCodeRetrievalLink");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleDrive_GetTokenByCode(FunctionParameters)
|
||||
|
||||
ClientID = FunctionParameters["Google_ClientID"];
|
||||
ClientSecret = FunctionParameters["Google_ClientSecret"];
|
||||
Code = FunctionParameters["Google_Code"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("id", ClientID);
|
||||
Options.Insert("secret", ClientSecret);
|
||||
Options.Insert("code", Code);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gdrive", "GetTokenByCode", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleDrive", "GetTokenByCode");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleDrive_RefreshToken(FunctionParameters)
|
||||
|
||||
ClientID = FunctionParameters["Google_ClientID"];
|
||||
ClientSecret = FunctionParameters["Google_ClientSecret"];
|
||||
RefreshToken = FunctionParameters["Google_Refresh"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("id", ClientID);
|
||||
Options.Insert("secret", ClientSecret);
|
||||
Options.Insert("refresh", RefreshToken);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gdrive", "RefreshToken", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleDrive", "RefreshToken");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleDrive_GetServiceAccountToken(FunctionParameters)
|
||||
|
||||
Data = FunctionParameters["Google_ServiceData"]; // URL, binary Data, file or collection
|
||||
|
||||
Token = FunctionParameters["Access_Token"]; // SKIP
|
||||
Data = OPI_HTTPRequests // SKIP
|
||||
.NewRequest() // SKIP
|
||||
.Initialize(Data) // SKIP
|
||||
.AddBearerAuthorization(Token) // SKIP
|
||||
.ProcessRequest("GET") // SKIP
|
||||
.ReturnResponseAsBinaryData(); // SKIP
|
||||
|
||||
Scope = New Array;
|
||||
Scope.Add("https://www.googleapis.com/auth/calendar");
|
||||
Scope.Add("https://www.googleapis.com/auth/drive");
|
||||
Scope.Add("https://www.googleapis.com/auth/spreadsheets");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("auth", Data);
|
||||
Options.Insert("scope", Scope);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gdrive", "GetServiceAccountToken", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleDrive", "GetServiceAccountToken");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleDrive_GetDirectoriesList(FunctionParameters)
|
||||
|
||||
Name = "TestFolder";
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("query", Name);
|
||||
Options.Insert("depth", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gdrive", "GetDirectoriesList", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleDrive", "GetDirectoriesList", , FunctionParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleDrive_GetObjectInformation(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Identifier = FunctionParameters["GD_Catalog"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("object", Identifier);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gdrive", "GetObjectInformation", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleDrive", "GetObjectInformation");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleDrive_UploadFile(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Directory = FunctionParameters["GD_Catalog"];
|
||||
Image = FunctionParameters["Picture"]; // URL, Binary Data or File path
|
||||
|
||||
Clear = False;
|
||||
Options = New Structure;
|
||||
Options.Insert("empty", Clear);
|
||||
|
||||
Description = OPI_TestDataRetrieval.ExecuteTestCLI("gdrive", "GetFileDescription", Options);
|
||||
|
||||
Description.Insert("Parent", Directory);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("file", Image);
|
||||
Options.Insert("props", Description);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gdrive", "UploadFile", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleDrive", "UploadFile", , FunctionParameters, Description);
|
||||
|
||||
If Not OPI_Tools.IsOneScript() And FunctionParameters.Property("Big") Then
|
||||
|
||||
BigFile = FunctionParameters["Big"];
|
||||
Description.Insert("Name", "big.rar");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("file", BigFile);
|
||||
Options.Insert("props", Description);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gdrive", "UploadFile", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleDrive", "UploadFile", "Big", FunctionParameters, Description);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("object", Result);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gdrive", "DownloadFile", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleDrive", "UploadFile", "Check", FunctionParameters, Description);
|
||||
|
||||
EndIf;
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleDrive_CopyObject(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Identifier = FunctionParameters["GD_File"];
|
||||
NewName = "CopiedFile.jpeg";
|
||||
NewParent = "root";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("object", Identifier);
|
||||
Options.Insert("title", NewName);
|
||||
Options.Insert("catalog", NewParent);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gdrive", "CopyObject", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleDrive", "CopyObject", , FunctionParameters, NewName);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleDrive_DownloadFile(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Identifier = FunctionParameters["GD_File"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("object", Identifier);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gdrive", "DownloadFile", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleDrive", "DownloadFile", , FunctionParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleDrive_UpdateFile(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
NewName = "UpdatedFile.jpg";
|
||||
Identifier = FunctionParameters["GD_File"];
|
||||
File = FunctionParameters["Picture2"]; // URL, Binary Data or File path
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("object", Identifier);
|
||||
Options.Insert("file", File);
|
||||
Options.Insert("title", NewName);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gdrive", "UpdateFile", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleDrive", "UpdateFile", , NewName);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleDrive_GetFilesList(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Directory = "root";
|
||||
NameContains = "data";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("query", NameContains);
|
||||
Options.Insert("catalog", Directory);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gdrive", "GetFilesList", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleDrive", "GetFilesList");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleDrive_DeleteObject(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Identifier = FunctionParameters["GD_File"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("object", Identifier);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gdrive", "DeleteObject", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleDrive", "DeleteObject");
|
||||
|
||||
For Each Deletable In FunctionParameters["ArrayOfDeletions"] Do
|
||||
|
||||
Result = OPI_GoogleDrive.DeleteObject(Token, Deletable);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleDrive", "DeleteObject", "Additional");
|
||||
|
||||
OPI_Tools.Pause(2);
|
||||
|
||||
EndDo;
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleDrive_GetFileDescription(FunctionParameters)
|
||||
|
||||
Options = New Structure;
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gdrive", "GetFileDescription", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleDrive", "GetFileDescription");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleDrive_CreateComment(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Identifier = FunctionParameters["GD_File"];
|
||||
Comment = "Comment text";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("object", Identifier);
|
||||
Options.Insert("text", Comment);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gdrive", "CreateComment", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleDrive", "CreateComment", , FunctionParameters, Comment);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleDrive_GetComment(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Identifier = FunctionParameters["GD_File"];
|
||||
CommentID = FunctionParameters["GD_Comment"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("object", Identifier);
|
||||
Options.Insert("comment", CommentID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gdrive", "GetComment", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleDrive", "GetComment");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleDrive_GetCommentList(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Identifier = FunctionParameters["GD_File"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("object", Identifier);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gdrive", "GetCommentList", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleDrive", "GetCommentList");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleDrive_DeleteComment(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Identifier = FunctionParameters["GD_File"];
|
||||
CommentID = FunctionParameters["GD_Comment"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("object", Identifier);
|
||||
Options.Insert("comment", CommentID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gdrive", "DeleteComment", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleDrive", "DeleteComment");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleDrive_CreateFolder(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Directory = FunctionParameters["GD_Catalog"];
|
||||
Name = "TestFolder";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("title", Name);
|
||||
Options.Insert("catalog", Directory);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gdrive", "CreateFolder", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleDrive", "CreateFolder");
|
||||
|
||||
CatalogID = Result["id"];
|
||||
OPI_GoogleDrive.DeleteObject(Token, CatalogID);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("title", Name);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gdrive", "CreateFolder", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleDrive", "CreateFolder", "Root");
|
||||
|
||||
CatalogID = Result["id"];
|
||||
OPI_GoogleDrive.DeleteObject(Token, CatalogID);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // GoogleDrive
|
||||
|
||||
#EndRegion // AtomicTests
|
||||
|
||||
#EndRegion // Private
|
||||
|
||||
#Region Alternate
|
||||
|
||||
Procedure ГД_Авторизация() Export
|
||||
GD_Authorization();
|
||||
EndProcedure
|
||||
|
||||
Procedure ГД_ПолучитьСписокКаталогов() Export
|
||||
GD_GetCatalogList();
|
||||
EndProcedure
|
||||
|
||||
Procedure ГД_ЗагрузитьУдалитьФайл() Export
|
||||
GD_UploadDeleteFile();
|
||||
EndProcedure
|
||||
|
||||
Procedure ГД_СоздатьУдалитьКомментарий() Export
|
||||
GD_CreateDeleteComment();
|
||||
EndProcedure
|
||||
|
||||
Procedure ГД_СоздатьКаталог() Export
|
||||
GD_CreateCatalog();
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
// OneScript: ./OInt/tests/Modules/OPItc_GoogleSheets.os
|
||||
|
||||
// MIT License
|
||||
|
||||
// Copyright (c) 2023-2026 Anton Tsitavets
|
||||
@@ -9,7 +11,7 @@
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// 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.
|
||||
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
@@ -22,6 +24,8 @@
|
||||
|
||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||
|
||||
// Test suite for YAxUnit
|
||||
|
||||
// BSLLS:Typo-off
|
||||
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
||||
// BSLLS:IncorrectLineBreak-off
|
||||
@@ -63,6 +67,428 @@
|
||||
//@skip-check missing-temporary-file-deletion
|
||||
//@skip-check module-unused-method
|
||||
|
||||
// #Use oint
|
||||
// #Use asserts
|
||||
// #Use "internal"
|
||||
//#Use "../../tools/main"
|
||||
//#Use "../../tools/http"
|
||||
//#Use "../../api"
|
||||
//#Use asserts
|
||||
//#Use "internal"
|
||||
|
||||
// For YAxUnit
|
||||
|
||||
Procedure ИсполняемыеСценарии() Export
|
||||
|
||||
OPI_TestDataRetrieval.FormYAXTests("GoogleSheets");
|
||||
|
||||
EndProcedure
|
||||
|
||||
// For Asserts
|
||||
|
||||
Function ПолучитьСписокТестов(UnitTesting) Export
|
||||
|
||||
Return OPI_TestDataRetrieval.FormAssertsTests("GoogleSheets");
|
||||
|
||||
EndFunction
|
||||
|
||||
#Region Internal
|
||||
|
||||
#Region RunnableTests
|
||||
|
||||
#Region GoogleSheets
|
||||
|
||||
Procedure GT_Authorization() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Google_ClientID" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Google_ClientSecret", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Google_Code" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Google_Refresh" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Google_ServiceData" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Access_Token" , TestParameters);
|
||||
|
||||
GoogleSheets_FormCodeRetrievalLink(TestParameters);
|
||||
GoogleSheets_GetTokenByCode(TestParameters);
|
||||
GoogleSheets_RefreshToken(TestParameters);
|
||||
GoogleSheets_GetServiceAccountToken(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GT_CreateTable() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Google_Token", TestParameters);
|
||||
|
||||
GoogleSheets_CreateSpreadsheet(TestParameters);
|
||||
GoogleSheets_GetSpreadsheet(TestParameters);
|
||||
GoogleSheets_CopySheet(TestParameters);
|
||||
GoogleSheets_AddSheet(TestParameters);
|
||||
GoogleSheets_DeleteSheet(TestParameters);
|
||||
GoogleSheets_EditSpreadsheetTitle(TestParameters);
|
||||
GoogleSheets_GetTable(TestParameters);
|
||||
|
||||
OPI_GoogleDrive.DeleteObject(TestParameters["Google_Token"], TestParameters["GS_Spreadsheet"]);
|
||||
OPI_GoogleDrive.DeleteObject(TestParameters["Google_Token"], TestParameters["GS_Spreadsheet2"]);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GT_FillClearCells() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Google_Token", TestParameters);
|
||||
|
||||
GoogleSheets_CreateSpreadsheet(TestParameters);
|
||||
GoogleSheets_SetCellValues(TestParameters);
|
||||
GoogleSheets_GetCellValues(TestParameters);
|
||||
GoogleSheets_ClearCells(TestParameters);
|
||||
|
||||
OPI_GoogleDrive.DeleteObject(TestParameters["Google_Token"], TestParameters["GS_Spreadsheet"]);
|
||||
OPI_GoogleDrive.DeleteObject(TestParameters["Google_Token"], TestParameters["GS_Spreadsheet2"]);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // GoogleSheets
|
||||
|
||||
#EndRegion // RunnableTests
|
||||
|
||||
#EndRegion // Internal
|
||||
|
||||
#Region Private
|
||||
|
||||
#Region AtomicTests
|
||||
|
||||
#Region GoogleSheets
|
||||
|
||||
Procedure GoogleSheets_FormCodeRetrievalLink(FunctionParameters)
|
||||
|
||||
ClientID = FunctionParameters["Google_ClientID"];
|
||||
Options = New Structure;
|
||||
Options.Insert("id", ClientID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gsheets", "FormCodeRetrievalLink", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleSheets", "FormCodeRetrievalLink");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleSheets_GetTokenByCode(FunctionParameters)
|
||||
|
||||
ClientID = FunctionParameters["Google_ClientID"];
|
||||
ClientSecret = FunctionParameters["Google_ClientSecret"];
|
||||
Code = FunctionParameters["Google_Code"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("id", ClientID);
|
||||
Options.Insert("secret", ClientSecret);
|
||||
Options.Insert("code", Code);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gsheets", "GetTokenByCode", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleSheets", "GetTokenByCode");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleSheets_RefreshToken(FunctionParameters)
|
||||
|
||||
ClientID = FunctionParameters["Google_ClientID"];
|
||||
ClientSecret = FunctionParameters["Google_ClientSecret"];
|
||||
RefreshToken = FunctionParameters["Google_Refresh"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("id", ClientID);
|
||||
Options.Insert("secret", ClientSecret);
|
||||
Options.Insert("refresh", RefreshToken);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gsheets", "RefreshToken", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleSheets", "RefreshToken");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleSheets_GetServiceAccountToken(FunctionParameters)
|
||||
|
||||
Data = FunctionParameters["Google_ServiceData"]; // URL, binary Data, file or collection
|
||||
|
||||
Token = FunctionParameters["Access_Token"]; // SKIP
|
||||
Data = OPI_HTTPRequests // SKIP
|
||||
.NewRequest() // SKIP
|
||||
.Initialize(Data) // SKIP
|
||||
.AddBearerAuthorization(Token) // SKIP
|
||||
.ProcessRequest("GET") // SKIP
|
||||
.ReturnResponseAsBinaryData(); // SKIP
|
||||
|
||||
Scope = New Array;
|
||||
Scope.Add("https://www.googleapis.com/auth/calendar");
|
||||
Scope.Add("https://www.googleapis.com/auth/drive");
|
||||
Scope.Add("https://www.googleapis.com/auth/spreadsheets");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("auth", Data);
|
||||
Options.Insert("scope", Scope);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gsheets", "GetServiceAccountToken", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleSheets", "GetServiceAccountToken");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleSheets_CreateSpreadsheet(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Name = "TestTable";
|
||||
|
||||
SheetArray = New Array;
|
||||
SheetArray.Add("Sheet1");
|
||||
SheetArray.Add("Sheet2");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("title", Name);
|
||||
Options.Insert("sheets", SheetArray);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gsheets", "CreateSpreadsheet", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleSheets", "CreateSpreadsheet", , FunctionParameters, Name, SheetArray);
|
||||
|
||||
Name = "Test table (new.)";
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("title", Name);
|
||||
Options.Insert("sheets", SheetArray);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gsheets", "CreateSpreadsheet", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleSheets", "CreateSpreadsheet", "Additionally", FunctionParameters, Name);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleSheets_GetSpreadsheet(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Identifier = FunctionParameters["GS_Spreadsheet"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("spreadsheet", Identifier);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gsheets", "GetSpreadsheet", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleSheets", "GetSpreadsheet");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleSheets_CopySheet(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
From = FunctionParameters["GS_Spreadsheet"];
|
||||
Target = FunctionParameters["GS_Spreadsheet2"];
|
||||
Sheet = FunctionParameters["GS_Sheet"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("from", From);
|
||||
Options.Insert("to", Target);
|
||||
Options.Insert("sheet", Sheet);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gsheets", "CopySheet", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleSheets", "CopySheet");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleSheets_AddSheet(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Spreadsheet = FunctionParameters["GS_Spreadsheet"];
|
||||
Name = "TestSheet";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("spreadsheet", Spreadsheet);
|
||||
Options.Insert("title", Name);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gsheets", "AddSheet", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleSheets", "AddSheet");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleSheets_DeleteSheet(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Spreadsheet = FunctionParameters["GS_Spreadsheet"];
|
||||
Sheet = FunctionParameters["GS_Sheet"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("spreadsheet", Spreadsheet);
|
||||
Options.Insert("sheet", Sheet);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gsheets", "DeleteSheet", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleSheets", "DeleteSheet", , Spreadsheet);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleSheets_EditSpreadsheetTitle(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Spreadsheet = FunctionParameters["GS_Spreadsheet"];
|
||||
Name = "Test table (changed.)";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("spreadsheet", Spreadsheet);
|
||||
Options.Insert("title", Name);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gsheets", "EditSpreadsheetTitle", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleSheets", "EditSpreadsheetTitle", , Spreadsheet);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleSheets_GetTable(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Spreadsheet = FunctionParameters["GS_Spreadsheet"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("spreadsheet", Spreadsheet);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gsheets", "GetSpreadsheet", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleSheets", "GetTable");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleSheets_SetCellValues(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Spreadsheet = FunctionParameters["GS_Spreadsheet"];
|
||||
Sheet = "Sheet2";
|
||||
|
||||
ValueMapping = New Map;
|
||||
ValueMapping.Insert("A1", "ThisIsA1");
|
||||
ValueMapping.Insert("A2", "ThisIsA2");
|
||||
ValueMapping.Insert("B2", "ThisIsB2");
|
||||
ValueMapping.Insert("B3", "ThisIsB3");
|
||||
ValueMapping.Insert("A3", "ThisIsA3");
|
||||
ValueMapping.Insert("A4", "ThisIsA4");
|
||||
ValueMapping.Insert("B1", "ThisIsB1");
|
||||
ValueMapping.Insert("B4", "ThisIsB4");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("spreadsheet", Spreadsheet);
|
||||
Options.Insert("data", ValueMapping);
|
||||
Options.Insert("sheetname", Sheet);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gsheets", "SetCellValues", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleSheets", "SetCellValues", , ValueMapping.Count());
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleSheets_GetCellValues(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Spreadsheet = FunctionParameters["GS_Spreadsheet"];
|
||||
Sheet = "Sheet2";
|
||||
|
||||
CellsArray = New Array;
|
||||
CellsArray.Add("B2");
|
||||
CellsArray.Add("A3");
|
||||
CellsArray.Add("B4");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("spreadsheet", Spreadsheet);
|
||||
Options.Insert("cells", CellsArray);
|
||||
Options.Insert("sheetname", Sheet);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gsheets", "GetCellValues", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleSheets", "GetCellValues", , CellsArray.Count());
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("spreadsheet", Spreadsheet);
|
||||
Options.Insert("sheetname", Sheet);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gsheets", "GetCellValues", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleSheets", "GetCellValues", "All", Spreadsheet);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleSheets_ClearCells(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Spreadsheet = FunctionParameters["GS_Spreadsheet"];
|
||||
Sheet = "Sheet2";
|
||||
|
||||
CellsArray = New Array;
|
||||
CellsArray.Add("B2");
|
||||
CellsArray.Add("A3");
|
||||
CellsArray.Add("B4");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("spreadsheet", Spreadsheet);
|
||||
Options.Insert("cells", CellsArray);
|
||||
Options.Insert("sheetname", Sheet);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gsheets", "ClearCells", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleSheets", "ClearCells", , CellsArray.Count());
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // GoogleSheets
|
||||
|
||||
#EndRegion // AtomicTests
|
||||
|
||||
#EndRegion // Private
|
||||
|
||||
#Region Alternate
|
||||
|
||||
Procedure ГТ_Авторизация() Export
|
||||
GT_Authorization();
|
||||
EndProcedure
|
||||
|
||||
Procedure ГТ_СоздатьТаблицу() Export
|
||||
GT_CreateTable();
|
||||
EndProcedure
|
||||
|
||||
Procedure ГТ_ЗаполнитьОчиститьЯчейки() Export
|
||||
GT_FillClearCells();
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
// OneScript: ./OInt/tests/Modules/OPItc_GoogleWorkspace.os
|
||||
|
||||
// MIT License
|
||||
|
||||
// Copyright (c) 2023-2026 Anton Tsitavets
|
||||
@@ -9,7 +11,7 @@
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// 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.
|
||||
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
@@ -22,6 +24,8 @@
|
||||
|
||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||
|
||||
// Test suite for YAxUnit
|
||||
|
||||
// BSLLS:Typo-off
|
||||
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
||||
// BSLLS:IncorrectLineBreak-off
|
||||
@@ -63,6 +67,155 @@
|
||||
//@skip-check missing-temporary-file-deletion
|
||||
//@skip-check module-unused-method
|
||||
|
||||
// #Use oint
|
||||
// #Use asserts
|
||||
// #Use "internal"
|
||||
//#Use "../../tools/main"
|
||||
//#Use "../../tools/http"
|
||||
//#Use "../../api"
|
||||
//#Use asserts
|
||||
//#Use "internal"
|
||||
|
||||
|
||||
// For YAxUnit
|
||||
|
||||
Procedure ИсполняемыеСценарии() Export
|
||||
|
||||
OPI_TestDataRetrieval.FormYAXTests("GoogleWorkspace");
|
||||
|
||||
EndProcedure
|
||||
|
||||
// For Asserts
|
||||
|
||||
Function ПолучитьСписокТестов(UnitTesting) Export
|
||||
|
||||
Return OPI_TestDataRetrieval.FormAssertsTests("GoogleWorkspace");
|
||||
|
||||
EndFunction
|
||||
|
||||
#Region Internal
|
||||
|
||||
#Region RunnableTests
|
||||
|
||||
#Region GoogleWorkspace
|
||||
|
||||
Procedure GW_Auth() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Google_ClientID" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Google_ClientSecret", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Google_Code" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Google_Refresh" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Google_ServiceData" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Access_Token" , TestParameters);
|
||||
|
||||
GoogleWorkspace_FormCodeRetrievalLink(TestParameters);
|
||||
GoogleWorkspace_GetTokenByCode(TestParameters);
|
||||
GoogleWorkspace_RefreshToken(TestParameters);
|
||||
GoogleWorkspace_GetServiceAccountToken(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // GoogleWorkspace
|
||||
|
||||
#EndRegion // RunnableTests
|
||||
|
||||
#EndRegion // Internal
|
||||
|
||||
#Region Private
|
||||
|
||||
#Region AtomicTests
|
||||
|
||||
#Region GoogleWorkspace
|
||||
|
||||
Procedure GoogleWorkspace_FormCodeRetrievalLink(FunctionParameters)
|
||||
|
||||
ClientID = FunctionParameters["Google_ClientID"];
|
||||
Options = New Structure;
|
||||
Options.Insert("id", ClientID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("google", "FormCodeRetrievalLink", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleWorkspace", "FormCodeRetrievalLink");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleWorkspace_GetTokenByCode(FunctionParameters)
|
||||
|
||||
ClientID = FunctionParameters["Google_ClientID"];
|
||||
ClientSecret = FunctionParameters["Google_ClientSecret"];
|
||||
Code = FunctionParameters["Google_Code"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("id", ClientID);
|
||||
Options.Insert("secret", ClientSecret);
|
||||
Options.Insert("code", Code);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("google", "GetTokenByCode", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleWorkspace", "GetTokenByCode");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleWorkspace_RefreshToken(FunctionParameters)
|
||||
|
||||
ClientID = FunctionParameters["Google_ClientID"];
|
||||
ClientSecret = FunctionParameters["Google_ClientSecret"];
|
||||
RefreshToken = FunctionParameters["Google_Refresh"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("id", ClientID);
|
||||
Options.Insert("secret", ClientSecret);
|
||||
Options.Insert("refresh", RefreshToken);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("google", "RefreshToken", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleWorkspace", "RefreshToken");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleWorkspace_GetServiceAccountToken(FunctionParameters)
|
||||
|
||||
Data = FunctionParameters["Google_ServiceData"]; // URL, binary Data, file or collection
|
||||
|
||||
Token = FunctionParameters["Access_Token"]; // SKIP
|
||||
Data = OPI_HTTPRequests // SKIP
|
||||
.NewRequest() // SKIP
|
||||
.Initialize(Data) // SKIP
|
||||
.AddBearerAuthorization(Token) // SKIP
|
||||
.ProcessRequest("GET") // SKIP
|
||||
.ReturnResponseAsBinaryData(); // SKIP
|
||||
|
||||
Scope = New Array;
|
||||
Scope.Add("https://www.googleapis.com/auth/calendar");
|
||||
Scope.Add("https://www.googleapis.com/auth/drive");
|
||||
Scope.Add("https://www.googleapis.com/auth/spreadsheets");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("auth", Data);
|
||||
Options.Insert("scope", Scope);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("google", "GetServiceAccountToken", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleWorkspace", "GetServiceAccountToken");
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // GoogleWorkspace
|
||||
|
||||
#EndRegion // AtomicTests
|
||||
|
||||
#EndRegion // Private
|
||||
|
||||
#Region Alternate
|
||||
|
||||
Procedure ГВ_Авторизация() Export
|
||||
GW_Auth();
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
+1528
-4
File diff suppressed because it is too large
Load Diff
+1468
-4
File diff suppressed because it is too large
Load Diff
+1086
-220
File diff suppressed because it is too large
Load Diff
+1318
-4
File diff suppressed because it is too large
Load Diff
+1961
-4
File diff suppressed because it is too large
Load Diff
+1539
-4
File diff suppressed because it is too large
Load Diff
+259
-4
@@ -1,3 +1,5 @@
|
||||
// OneScript: ./OInt/tests/Modules/OPItc_Neocities.os
|
||||
|
||||
// MIT License
|
||||
|
||||
// Copyright (c) 2023-2026 Anton Tsitavets
|
||||
@@ -9,7 +11,7 @@
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// 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.
|
||||
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
@@ -22,6 +24,8 @@
|
||||
|
||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||
|
||||
// Test suite for YAxUnit
|
||||
|
||||
// BSLLS:Typo-off
|
||||
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
||||
// BSLLS:IncorrectLineBreak-off
|
||||
@@ -63,6 +67,257 @@
|
||||
//@skip-check missing-temporary-file-deletion
|
||||
//@skip-check module-unused-method
|
||||
|
||||
// #Use oint
|
||||
// #Use asserts
|
||||
// #Use "internal"
|
||||
//#Use "../../tools/main"
|
||||
//#Use "../../tools/http"
|
||||
//#Use "../../api"
|
||||
//#Use asserts
|
||||
//#Use "internal"
|
||||
|
||||
|
||||
// For YAxUnit
|
||||
|
||||
Procedure ИсполняемыеСценарии() Export
|
||||
|
||||
OPI_TestDataRetrieval.FormYAXTests("Neocities");
|
||||
|
||||
EndProcedure
|
||||
|
||||
// For Asserts
|
||||
|
||||
Function ПолучитьСписокТестов(UnitTesting) Export
|
||||
|
||||
Return OPI_TestDataRetrieval.FormAssertsTests("Neocities");
|
||||
|
||||
EndFunction
|
||||
|
||||
#Region Internal
|
||||
|
||||
#Region RunnableTests
|
||||
|
||||
#Region Neocities
|
||||
|
||||
Procedure NC_FilesManagement() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("NC_Token", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Picture" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Picture2", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Gif" , TestParameters);
|
||||
|
||||
Neocities_UploadFile(TestParameters);
|
||||
Neocities_UploadFiles(TestParameters);
|
||||
Neocities_GetFilesList(TestParameters);
|
||||
Neocities_DeleteSelectedFiles(TestParameters);
|
||||
Neocities_SynchronizeFolders(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure NC_DataRetrieving() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("NC_Token" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("NC_Login" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("NC_Password", TestParameters);
|
||||
|
||||
Neocities_GetSiteData(TestParameters);
|
||||
Neocities_GetToken(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // Neocities
|
||||
|
||||
#EndRegion // RunnableTests
|
||||
|
||||
#EndRegion // Internal
|
||||
|
||||
#Region Private
|
||||
|
||||
#Region AtomicTests
|
||||
|
||||
#Region Neocities
|
||||
|
||||
Procedure Neocities_UploadFile(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["NC_Token"];
|
||||
Data = FunctionParameters["Picture"]; // URL, Path or Binary Data
|
||||
Path = "testfolder/test_pic.png";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("path", Path);
|
||||
Options.Insert("file", Data);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("neocities", "UploadFile", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Neocities", "UploadFile");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Neocities_UploadFiles(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["NC_Token"];
|
||||
|
||||
Image1 = FunctionParameters["Picture"]; // URL, Path or Binary Data
|
||||
Image2 = FunctionParameters["Picture2"]; // URL, Path or Binary Data
|
||||
GIF = FunctionParameters["Gif"]; // URL, Path or Binary Data
|
||||
|
||||
FileMapping = New Map;
|
||||
FileMapping.Insert("test/pic1.png", Image1);
|
||||
FileMapping.Insert("test/gif.gif" , Image2);
|
||||
FileMapping.Insert("pic2.png" , GIF);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("files", FileMapping);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("neocities", "UploadFiles", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Neocities", "UploadFiles");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Neocities_DeleteSelectedFiles(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["NC_Token"];
|
||||
|
||||
Paths = New Array;
|
||||
Paths.Add("/test/pic1.png");
|
||||
Paths.Add("/test/gif.gif");
|
||||
Paths.Add("/pic2.png");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("paths", Paths);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("neocities", "DeleteSelectedFiles", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Neocities", "DeleteSelectedFiles");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("paths", "/testfolder");
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("neocities", "DeleteSelectedFiles", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Neocities", "DeleteSelectedFiles", "Directory 1");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("paths", "/test");
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("neocities", "DeleteSelectedFiles", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Neocities", "DeleteSelectedFiles", "Directory 2");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Neocities_GetFilesList(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["NC_Token"];
|
||||
Path = "test";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("path", Path);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("neocities", "GetFilesList", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Neocities", "GetFilesList");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("neocities", "GetFilesList", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Neocities", "GetFilesList", "All");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Neocities_GetSiteData(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["NC_Token"];
|
||||
Website = "2athenaeum";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("neocities", "GetSiteData", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Neocities", "GetSiteData"); // SKIP
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("sitename", Website);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("neocities", "GetSiteData", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Neocities", "GetSiteData", "Website");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Neocities_GetToken(FunctionParameters)
|
||||
|
||||
Login = FunctionParameters["NC_Login"];
|
||||
Password = FunctionParameters["NC_Password"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("login", Login);
|
||||
Options.Insert("password", Password);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("neocities", "GetToken", Options);
|
||||
|
||||
// END
|
||||
|
||||
Result["api_key"] = "***";
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Neocities", "GetToken");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Neocities_SynchronizeFolders(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["NC_Token"];
|
||||
|
||||
LocalFolder = "C:\test_site";
|
||||
RemoteFolder = "test_sync";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("local", LocalFolder);
|
||||
Options.Insert("remote", RemoteFolder);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("neocities", "SynchronizeFolders", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Neocities", "SynchronizeFolders");
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // Neocities
|
||||
|
||||
#EndRegion // AtomicTests
|
||||
|
||||
#EndRegion // Private
|
||||
|
||||
#Region Alternate
|
||||
|
||||
Procedure НС_РаботаСФайлами() Export
|
||||
NC_FilesManagement();
|
||||
EndProcedure
|
||||
|
||||
Procedure НС_ПолучениеДанных() Export
|
||||
NC_DataRetrieving();
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
+412
-4
@@ -1,3 +1,5 @@
|
||||
// OneScript: ./OInt/tests/Modules/OPItc_Notion.os
|
||||
|
||||
// MIT License
|
||||
|
||||
// Copyright (c) 2023-2026 Anton Tsitavets
|
||||
@@ -9,7 +11,7 @@
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// 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.
|
||||
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
@@ -22,6 +24,8 @@
|
||||
|
||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||
|
||||
// Test suite for YAxUnit
|
||||
|
||||
// BSLLS:Typo-off
|
||||
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
||||
// BSLLS:IncorrectLineBreak-off
|
||||
@@ -63,6 +67,410 @@
|
||||
//@skip-check missing-temporary-file-deletion
|
||||
//@skip-check module-unused-method
|
||||
|
||||
// #Use oint
|
||||
// #Use asserts
|
||||
// #Use "internal"
|
||||
//#Use "../../tools/main"
|
||||
//#Use "../../tools/http"
|
||||
//#Use "../../api"
|
||||
//#Use asserts
|
||||
//#Use "internal"
|
||||
|
||||
|
||||
// For YAxUnit
|
||||
|
||||
Procedure ИсполняемыеСценарии() Export
|
||||
|
||||
OPI_TestDataRetrieval.FormYAXTests("Notion");
|
||||
|
||||
EndProcedure
|
||||
|
||||
// For Asserts
|
||||
|
||||
Function ПолучитьСписокТестов(UnitTesting) Export
|
||||
|
||||
Return OPI_TestDataRetrieval.FormAssertsTests("Notion");
|
||||
|
||||
EndFunction
|
||||
|
||||
#Region Internal
|
||||
|
||||
#Region RunnableTests
|
||||
|
||||
#Region Notion
|
||||
|
||||
Procedure NotionAPI_CreatePage() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Notion_Token" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Notion_Parent", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Picture" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Picture2" , TestParameters);
|
||||
|
||||
Notion_CreatePage(TestParameters);
|
||||
Notion_GetPage(TestParameters);
|
||||
Notion_EditPageProperties(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure NotionAPI_CreateUpdateBase() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Notion_Token" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Notion_Parent", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Picture" , TestParameters);
|
||||
|
||||
Notion_CreateDatabase(TestParameters);
|
||||
Notion_EditDatabaseProperties(TestParameters);
|
||||
Notion_GetDatabase(TestParameters);
|
||||
Notion_CreatePageInDatabase(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure NotionAPI_CreateDeleteBlock() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Notion_Token" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Notion_Parent", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Notion_Block" , TestParameters);
|
||||
|
||||
Notion_ReturnBlock(TestParameters);
|
||||
Notion_CreateBlock(TestParameters);
|
||||
Notion_ReturnChildBlocks(TestParameters);
|
||||
Notion_DeleteBlock(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure NotionAPI_GetUsers() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Notion_Token", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Notion_User" , TestParameters);
|
||||
|
||||
Notion_UserList(TestParameters);
|
||||
Notion_GetUserData(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // Notion
|
||||
|
||||
#EndRegion // RunnableTests
|
||||
|
||||
#EndRegion // Internal
|
||||
|
||||
#Region Private
|
||||
|
||||
#Region AtomicTests
|
||||
|
||||
#Region Notion
|
||||
|
||||
Procedure Notion_CreatePage(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Notion_Token"];
|
||||
Parent = FunctionParameters["Notion_Parent"];
|
||||
Title = "TestTitle";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("page", Parent);
|
||||
Options.Insert("title", Title);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("notion", "CreatePage", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Notion", "CreatePage", , FunctionParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Notion_CreateDatabase(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Notion_Token"];
|
||||
Parent = FunctionParameters["Notion_Parent"];
|
||||
Title = "TestTitle";
|
||||
|
||||
Properties = New Map;
|
||||
Properties.Insert("Name" , "title");
|
||||
Properties.Insert("Description" , "rich_text");
|
||||
Properties.Insert("Number" , "number");
|
||||
Properties.Insert("CreationDate", "date");
|
||||
Properties.Insert("Image" , "files");
|
||||
Properties.Insert("Active" , "checkbox");
|
||||
Properties.Insert("Website" , "url");
|
||||
Properties.Insert("Email" , "email");
|
||||
Properties.Insert("Phone" , "phone_number");
|
||||
Properties.Insert("User" , "people");
|
||||
|
||||
ValueSelection = New Map;
|
||||
ValueSelection.Insert("New" , "green");
|
||||
ValueSelection.Insert("InProgress" , "yellow");
|
||||
ValueSelection.Insert("Remote" , "red");
|
||||
|
||||
Properties.Insert("Status", ValueSelection);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("page", Parent);
|
||||
Options.Insert("title", Title);
|
||||
Options.Insert("props", Properties);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("notion", "CreateDatabase", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Notion", "CreateDatabase", , FunctionParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Notion_EditDatabaseProperties(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Notion_Token"];
|
||||
Base = FunctionParameters["Notion_Base"];
|
||||
|
||||
Title = "TestTitle";
|
||||
Description = "TestDescription";
|
||||
|
||||
Properties = New Map;
|
||||
Properties.Insert("Email", "rich_text"); // Type fields "Email" will changed with email to text
|
||||
Properties.Insert("Website"); // Field "Website" will deleted
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("base", Base);
|
||||
Options.Insert("props", Properties);
|
||||
Options.Insert("title", Title);
|
||||
Options.Insert("description", Description);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("notion", "EditDatabaseProperties", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Notion", "EditDatabaseProperties");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Notion_GetPage(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Notion_Token"];
|
||||
Page = FunctionParameters["Notion_Page"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("page", Page);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("notion", "GetPage", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Notion", "GetPage");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Notion_GetDatabase(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Notion_Token"];
|
||||
Base = FunctionParameters["Notion_Base"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("base", Base);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("notion", "GetDatabase", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Notion", "GetDatabase");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Notion_CreatePageInDatabase(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Notion_Token"];
|
||||
Base = FunctionParameters["Notion_Base"];
|
||||
Image_ = FunctionParameters["Picture"]; // URL, Binary Data or File path
|
||||
|
||||
Image = New Map;
|
||||
Image.Insert("Logo", Image_);
|
||||
|
||||
Properties = New Map;
|
||||
Properties.Insert("Name" , "LLC Vector");
|
||||
Properties.Insert("Description" , "OurFirstClient");
|
||||
Properties.Insert("Number" , 1);
|
||||
Properties.Insert("CreationDate", OPI_Tools.GetCurrentDate());
|
||||
Properties.Insert("Image" , Image);
|
||||
Properties.Insert("Active" , True);
|
||||
Properties.Insert("Website" , "https://vector.ru");
|
||||
Properties.Insert("Email" , "mail@vector.ru");
|
||||
Properties.Insert("Phone" , "88005553535");
|
||||
Properties.Insert("Status" , "New");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("base", Base);
|
||||
Options.Insert("data", Properties);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("notion", "CreatePageInDatabase", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Notion", "CreatePageInDatabase", , Base);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Notion_EditPageProperties(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Notion_Token"];
|
||||
Page = FunctionParameters["Notion_Page"];
|
||||
Icon = FunctionParameters["Picture"];
|
||||
Cover = FunctionParameters["Picture2"];
|
||||
Archive = False;
|
||||
|
||||
Properties = New Map;
|
||||
Properties.Insert("Active", False);
|
||||
Properties.Insert("Email" , "vector@mail.ru");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("page", Page);
|
||||
Options.Insert("data", Properties);
|
||||
Options.Insert("icon", Icon);
|
||||
Options.Insert("cover", Cover);
|
||||
Options.Insert("archive", Archive);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("notion", "EditPageProperties", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Notion", "EditPageProperties");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Notion_ReturnBlock(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Notion_Token"];
|
||||
Block = FunctionParameters["Notion_Block"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("block", Block);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("notion", "ReturnBlock", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Notion", "ReturnBlock");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Notion_CreateBlock(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Notion_Token"];
|
||||
Parent = FunctionParameters["Notion_Parent"];
|
||||
Block = FunctionParameters["Notion_Block"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("block", Block);
|
||||
|
||||
BlockData = OPI_TestDataRetrieval.ExecuteTestCLI("notion", "ReturnBlock", Options);
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("page", Parent);
|
||||
Options.Insert("block", BlockData);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("notion", "CreateBlock", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Notion", "CreateBlock", , FunctionParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Notion_ReturnChildBlocks(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Notion_Token"];
|
||||
Block = FunctionParameters["Notion_NewBlock"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("block", Block);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("notion", "ReturnChildBlocks", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Notion", "ReturnChildBlocks");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Notion_DeleteBlock(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Notion_Token"];
|
||||
Block = FunctionParameters["Notion_NewBlock"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("block", Block);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("notion", "DeleteBlock", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Notion", "DeleteBlock");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Notion_UserList(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Notion_Token"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("notion", "UserList", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Notion", "UserList");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Notion_GetUserData(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Notion_Token"];
|
||||
User = FunctionParameters["Notion_User"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("user", User);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("notion", "GetUserData", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Notion", "GetUserData");
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // Notion
|
||||
|
||||
#EndRegion // AtomicTests
|
||||
|
||||
#EndRegion // Private
|
||||
|
||||
#Region Alternate
|
||||
|
||||
Procedure НоушнАпи_СоздатьСтраницу() Export
|
||||
NotionAPI_CreatePage();
|
||||
EndProcedure
|
||||
|
||||
Procedure НоушнАпи_СоздатьИзменитьБазу() Export
|
||||
NotionAPI_CreateUpdateBase();
|
||||
EndProcedure
|
||||
|
||||
Procedure НоушнАпи_СоздатьУдалитьБлок() Export
|
||||
NotionAPI_CreateDeleteBlock();
|
||||
EndProcedure
|
||||
|
||||
Procedure НоушнАпи_ПолучитьПользователей() Export
|
||||
NotionAPI_GetUsers();
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
+754
-4
@@ -1,3 +1,5 @@
|
||||
// OneScript: ./OInt/tests/Modules/OPItc_Ollama.os
|
||||
|
||||
// MIT License
|
||||
|
||||
// Copyright (c) 2023-2026 Anton Tsitavets
|
||||
@@ -9,7 +11,7 @@
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// 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.
|
||||
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
@@ -22,6 +24,8 @@
|
||||
|
||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||
|
||||
// Test suite for YAxUnit
|
||||
|
||||
// BSLLS:Typo-off
|
||||
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
||||
// BSLLS:IncorrectLineBreak-off
|
||||
@@ -63,6 +67,752 @@
|
||||
//@skip-check missing-temporary-file-deletion
|
||||
//@skip-check module-unused-method
|
||||
|
||||
// #Use oint
|
||||
// #Use asserts
|
||||
// #Use "internal"
|
||||
//#Use "../../tools/main"
|
||||
//#Use "../../tools/http"
|
||||
//#Use "../../api"
|
||||
//#Use asserts
|
||||
//#Use "internal"
|
||||
|
||||
|
||||
// For YAxUnit
|
||||
|
||||
Procedure ИсполняемыеСценарии() Export
|
||||
|
||||
OPI_TestDataRetrieval.FormYAXTests("Ollama");
|
||||
|
||||
EndProcedure
|
||||
|
||||
// For Asserts
|
||||
|
||||
Function ПолучитьСписокТестов(UnitTesting) Export
|
||||
|
||||
Return OPI_TestDataRetrieval.FormAssertsTests("Ollama");
|
||||
|
||||
EndFunction
|
||||
|
||||
#Region Internal
|
||||
|
||||
#Region RunnableTests
|
||||
|
||||
#Region Ollama
|
||||
|
||||
Procedure OLLM_RequestsProcessing() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Ollama_URL" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Ollama_Token", TestParameters);
|
||||
|
||||
Ollama_PullModel(TestParameters);
|
||||
Ollama_GetVersion(TestParameters);
|
||||
Ollama_GetResponse(TestParameters);
|
||||
Ollama_GetContextResponse(TestParameters);
|
||||
Ollama_GetEmbeddings(TestParameters);
|
||||
Ollama_GetRequestParameterStructure(TestParameters);
|
||||
Ollama_GetContextParameterStructure(TestParameters);
|
||||
Ollama_GetContextMessageStructure(TestParameters);
|
||||
Ollama_GetEmbeddingsParameterStructure(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure OLLM_ModelsManagement() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Ollama_URL" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Ollama_Token", TestParameters);
|
||||
|
||||
Ollama_PullModel(TestParameters);
|
||||
Ollama_LoadModelToMemory(TestParameters);
|
||||
Ollama_UnloadModelFromMemory(TestParameters);
|
||||
Ollama_CreateModel(TestParameters);
|
||||
Ollama_GetModelInformation(TestParameters);
|
||||
Ollama_GetModelList(TestParameters);
|
||||
Ollama_ListRunningModels(TestParameters);
|
||||
Ollama_CopyModel(TestParameters);
|
||||
Ollama_PushModel(TestParameters);
|
||||
Ollama_GetModelSettingsStructure(TestParameters);
|
||||
Ollama_DeleteModel(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure OLLM_WorkingWithBlob() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Ollama_URL" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Ollama_Token", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Picture" , TestParameters);
|
||||
|
||||
Ollama_PushBlob(TestParameters);
|
||||
Ollama_CheckBlob(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // Ollama
|
||||
|
||||
#EndRegion // RunnableTests
|
||||
|
||||
#EndRegion // Internal
|
||||
|
||||
#Region Private
|
||||
|
||||
#Region AtomicTests
|
||||
|
||||
#Region Ollama
|
||||
|
||||
Procedure Ollama_GetResponse(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["Ollama_URL"];
|
||||
Token = FunctionParameters["Ollama_Token"]; // Authorization - not part API Ollama
|
||||
|
||||
Prompt = "What is 1C:Enterprise?";
|
||||
Model = "tinyllama";
|
||||
|
||||
AdditionalHeaders = New Map;
|
||||
AdditionalHeaders.Insert("Authorization", StrTemplate("Bearer %1", Token));
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("model", Model);
|
||||
Options.Insert("prompt", Prompt);
|
||||
Options.Insert("headers", AdditionalHeaders);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetResponse", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Ollama", "GetResponse"); // SKIP
|
||||
|
||||
// With paramether
|
||||
|
||||
Prompt = "Ollama is 22 years old and is busy saving the world. Respond using JSON";
|
||||
|
||||
Format = OPI_Tools.JSONToStructure("
|
||||
|{
|
||||
|""type"": ""object"",
|
||||
|""properties"": {
|
||||
| ""age"": {
|
||||
| ""type"": ""integer""
|
||||
| },
|
||||
| ""available"": {
|
||||
| ""type"": ""boolean""
|
||||
| }
|
||||
|},
|
||||
|""required"": [
|
||||
| ""age"",
|
||||
| ""available""
|
||||
|]
|
||||
|}");
|
||||
|
||||
AdditionalParameters = New Structure("format", Format);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("model", Model);
|
||||
Options.Insert("prompt", Prompt);
|
||||
Options.Insert("options", AdditionalParameters);
|
||||
Options.Insert("headers", AdditionalHeaders);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetResponse", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Ollama", "GetResponse", "Parameters");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ollama_GetContextResponse(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["Ollama_URL"];
|
||||
Token = FunctionParameters["Ollama_Token"]; // Authorization - not part API Ollama
|
||||
|
||||
AdditionalHeaders = New Map;
|
||||
AdditionalHeaders.Insert("Authorization", StrTemplate("Bearer %1", Token));
|
||||
|
||||
Model = "tinyllama";
|
||||
|
||||
MessagesArray = New Array;
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("role", "user");
|
||||
Options.Insert("text", "What is 1C:Enterprise?");
|
||||
|
||||
Question1 = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetContextMessageStructure", Options);
|
||||
Question2 = OPI_Ollama.GetContextMessageStructure("user", "When the first version was released?"); // Question without specifics
|
||||
|
||||
// Adding the first question to the context
|
||||
MessagesArray.Add(Question1);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("model", Model);
|
||||
Options.Insert("msgs", MessagesArray);
|
||||
Options.Insert("headers", AdditionalHeaders);
|
||||
|
||||
Response1 = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetContextResponse", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Response1, "Ollama", "GetContextResponse", "Preliminary"); // SKIP
|
||||
|
||||
MessagesArray.Add(Response1["message"]); // Add response to first question in context
|
||||
MessagesArray.Add(Question2); // Add second question in context
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("model", Model);
|
||||
Options.Insert("msgs", MessagesArray);
|
||||
Options.Insert("headers", AdditionalHeaders);
|
||||
|
||||
Response2 = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetContextResponse", Options);
|
||||
|
||||
MessagesArray.Add(Response2["message"]);
|
||||
|
||||
// ...
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Response2, "Ollama", "GetContextResponse");
|
||||
|
||||
MessagesArray = New Array;
|
||||
|
||||
Question = New Structure("role,content", "user", "Hello!");
|
||||
MessagesArray.Add(Question);
|
||||
|
||||
Options = New Structure("seed,temperature", 101, 0);
|
||||
AdditionalParameters = New Structure("options", Options);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("model", Model);
|
||||
Options.Insert("msgs", MessagesArray);
|
||||
Options.Insert("options", AdditionalParameters);
|
||||
Options.Insert("headers", AdditionalHeaders);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetContextResponse", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Ollama", "GetContextResponse", "Seed 1");
|
||||
|
||||
Message1 = Result["message"]["content"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("model", Model);
|
||||
Options.Insert("msgs", MessagesArray);
|
||||
Options.Insert("options", AdditionalParameters);
|
||||
Options.Insert("headers", AdditionalHeaders);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetContextResponse", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Ollama", "GetContextResponse", "Seed 2");
|
||||
|
||||
Message2 = Result["message"]["content"];
|
||||
|
||||
Options = New Structure("seed,temperature", 555, 10);
|
||||
AdditionalParameters = New Structure("options", Options);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("model", Model);
|
||||
Options.Insert("msgs", MessagesArray);
|
||||
Options.Insert("options", AdditionalParameters);
|
||||
Options.Insert("headers", AdditionalHeaders);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetContextResponse", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Ollama", "GetContextResponse", "Seed 3");
|
||||
|
||||
Message3 = Result["message"]["content"];
|
||||
|
||||
OPI_TestDataRetrieval.Process(Message3, "Ollama", "GetContextResponse", "Comparison", Message1, Message2, Message3);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ollama_LoadModelToMemory(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["Ollama_URL"];
|
||||
Token = FunctionParameters["Ollama_Token"]; // Authorization - not part API Ollama
|
||||
|
||||
Model = "tinyllama";
|
||||
Period = 500;
|
||||
|
||||
AdditionalHeaders = New Map;
|
||||
AdditionalHeaders.Insert("Authorization", StrTemplate("Bearer %1", Token));
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("model", Model);
|
||||
Options.Insert("keep", Period);
|
||||
Options.Insert("headers", AdditionalHeaders);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "LoadModelToMemory", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Ollama", "LoadModelToMemory");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ollama_UnloadModelFromMemory(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["Ollama_URL"];
|
||||
Token = FunctionParameters["Ollama_Token"]; // Authorization - not part API Ollama
|
||||
|
||||
Model = "tinyllama";
|
||||
|
||||
AdditionalHeaders = New Map;
|
||||
AdditionalHeaders.Insert("Authorization", StrTemplate("Bearer %1", Token));
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("model", Model);
|
||||
Options.Insert("headers", AdditionalHeaders);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "UnloadModelFromMemory", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Ollama", "UnloadModelFromMemory");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ollama_GetRequestParameterStructure(FunctionParameters)
|
||||
|
||||
Options = New Structure;
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetRequestParameterStructure", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Ollama", "GetRequestParameterStructure");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("empty", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetRequestParameterStructure", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Ollama", "GetRequestParameterStructure", "Clear");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ollama_GetContextParameterStructure(FunctionParameters)
|
||||
|
||||
Options = New Structure;
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetContextParameterStructure", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Ollama", "GetContextParameterStructure");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("empty", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetContextParameterStructure", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Ollama", "GetContextParameterStructure", "Clear");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ollama_GetContextMessageStructure(FunctionParameters)
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("role", "user");
|
||||
Options.Insert("text", "Hello!");
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetContextMessageStructure", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Ollama", "GetContextMessageStructure");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ollama_GetModelSettingsStructure(FunctionParameters)
|
||||
|
||||
Options = New Structure;
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetModelSettingsStructure", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Ollama", "GetModelSettingsStructure");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("empty", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetModelSettingsStructure", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Ollama", "GetModelSettingsStructure", "Clear");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ollama_CreateModel(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["Ollama_URL"];
|
||||
Token = FunctionParameters["Ollama_Token"]; // Authorization - not part API Ollama
|
||||
|
||||
Model = "mario";
|
||||
|
||||
AdditionalHeaders = New Map;
|
||||
AdditionalHeaders.Insert("Authorization", StrTemplate("Bearer %1", Token));
|
||||
|
||||
Settings = New Structure("from,system", "tinyllama", "You are Mario from Super Mario Bros.");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("model", Model);
|
||||
Options.Insert("settings", Settings);
|
||||
Options.Insert("headers", AdditionalHeaders);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "CreateModel", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Ollama", "CreateModel");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("model", Model);
|
||||
Options.Insert("prompt", "How are you?");
|
||||
Options.Insert("headers", AdditionalHeaders);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetResponse", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Ollama", "CreateModel", "Request");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ollama_DeleteModel(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["Ollama_URL"];
|
||||
Token = FunctionParameters["Ollama_Token"]; // Authorization - not part API Ollama
|
||||
|
||||
Model = "mario";
|
||||
|
||||
AdditionalHeaders = New Map;
|
||||
AdditionalHeaders.Insert("Authorization", StrTemplate("Bearer %1", Token));
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("model", Model);
|
||||
Options.Insert("headers", AdditionalHeaders);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "DeleteModel", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Ollama", "DeleteModel");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("model", "library/tinyllama:latest");
|
||||
Options.Insert("headers", AdditionalHeaders);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "DeleteModel", Options);
|
||||
OPI_TestDataRetrieval.Process(Result, "Ollama", "DeleteModel", "Tiny");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("model", "bayselonarrend/tinyllama:latest");
|
||||
Options.Insert("headers", AdditionalHeaders);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "DeleteModel", Options);
|
||||
OPI_TestDataRetrieval.Process(Result, "Ollama", "DeleteModel", "Tiny, account");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("headers", AdditionalHeaders);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetModelList", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Ollama", "DeleteModel", "List");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ollama_GetModelList(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["Ollama_URL"];
|
||||
Token = FunctionParameters["Ollama_Token"]; // Authorization - not part API Ollama
|
||||
|
||||
AdditionalHeaders = New Map;
|
||||
AdditionalHeaders.Insert("Authorization", StrTemplate("Bearer %1", Token));
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("headers", AdditionalHeaders);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetModelList", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Ollama", "GetModelList");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ollama_ListRunningModels(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["Ollama_URL"];
|
||||
Token = FunctionParameters["Ollama_Token"]; // Authorization - not part API Ollama
|
||||
|
||||
AdditionalHeaders = New Map;
|
||||
AdditionalHeaders.Insert("Authorization", StrTemplate("Bearer %1", Token));
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("headers", AdditionalHeaders);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "ListRunningModels", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Ollama", "ListRunningModels");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ollama_GetModelInformation(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["Ollama_URL"];
|
||||
Token = FunctionParameters["Ollama_Token"]; // Authorization - not part API Ollama
|
||||
|
||||
Model = "mario";
|
||||
|
||||
AdditionalHeaders = New Map;
|
||||
AdditionalHeaders.Insert("Authorization", StrTemplate("Bearer %1", Token));
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("model", Model);
|
||||
Options.Insert("verbose", Ложь);
|
||||
Options.Insert("headers", AdditionalHeaders);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetModelInformation", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Ollama", "GetModelInformation");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ollama_CopyModel(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["Ollama_URL"];
|
||||
Token = FunctionParameters["Ollama_Token"]; // Authorization - not part API Ollama
|
||||
|
||||
Model = "mario";
|
||||
Name = "mario2";
|
||||
|
||||
AdditionalHeaders = New Map;
|
||||
AdditionalHeaders.Insert("Authorization", StrTemplate("Bearer %1", Token));
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("model", Model);
|
||||
Options.Insert("name", Name);
|
||||
Options.Insert("headers", AdditionalHeaders);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "CopyModel", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Ollama", "CopyModel");
|
||||
|
||||
OPI_Ollama.DeleteModel(URL, Name, AdditionalHeaders);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ollama_GetVersion(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["Ollama_URL"];
|
||||
Token = FunctionParameters["Ollama_Token"]; // Authorization - not part API Ollama
|
||||
|
||||
AdditionalHeaders = New Map;
|
||||
AdditionalHeaders.Insert("Authorization", StrTemplate("Bearer %1", Token));
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("headers", AdditionalHeaders);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetVersion", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Ollama", "GetVersion");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ollama_GetEmbeddings(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["Ollama_URL"];
|
||||
Token = FunctionParameters["Ollama_Token"]; // Authorization - not part API Ollama
|
||||
|
||||
StingsArray = New Array;
|
||||
StingsArray.Add("Why is the sky blue?");
|
||||
StingsArray.Add("Why is the grass green?");
|
||||
|
||||
Model = "tinyllama";
|
||||
|
||||
AdditionalHeaders = New Map;
|
||||
AdditionalHeaders.Insert("Authorization", StrTemplate("Bearer %1", Token));
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("model", Model);
|
||||
Options.Insert("input", StingsArray);
|
||||
Options.Insert("headers", AdditionalHeaders);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetEmbeddings", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Ollama", "GetEmbeddings");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ollama_GetEmbeddingsParameterStructure(FunctionParameters)
|
||||
|
||||
Options = New Structure;
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetEmbeddingsParameterStructure", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Ollama", "GetEmbeddingsParameterStructure");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("empty", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetEmbeddingsParameterStructure", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Ollama", "GetEmbeddingsParameterStructure", "Clear");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ollama_PushModel(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["Ollama_URL"];
|
||||
Token = FunctionParameters["Ollama_Token"]; // Authorization - not part API Ollama
|
||||
|
||||
Model = "bayselonarrend/tinyllama:latest";
|
||||
|
||||
AdditionalHeaders = New Map;
|
||||
AdditionalHeaders.Insert("Authorization", StrTemplate("Bearer %1", Token));
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("model", Model);
|
||||
Options.Insert("headers", AdditionalHeaders);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "PushModel", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Ollama", "PushModel");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ollama_PullModel(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["Ollama_URL"];
|
||||
Token = FunctionParameters["Ollama_Token"]; // Authorization - not part API Ollama
|
||||
|
||||
Model = "tinyllama";
|
||||
|
||||
AdditionalHeaders = New Map;
|
||||
AdditionalHeaders.Insert("Authorization", StrTemplate("Bearer %1", Token));
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("model", Model);
|
||||
Options.Insert("headers", AdditionalHeaders);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "PullModel", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Ollama", "PullModel");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("model", "bayselonarrend/tinyllama:latest");
|
||||
Options.Insert("headers", AdditionalHeaders);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "PullModel", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Ollama", "PullModel", "Account");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ollama_PushBlob(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["Ollama_URL"];
|
||||
Token = FunctionParameters["Ollama_Token"]; // Authorization - not part API Ollama
|
||||
|
||||
Image = FunctionParameters["Picture"]; // URL, Path or Binary Data
|
||||
|
||||
OPI_TypeConversion.GetBinaryData(Image, True); // SKIP
|
||||
Random = GetBinaryDataFromString(String(New UUID)); // SKIP
|
||||
Image = OPI_Tools.MergeData(Image, Random); // SKIP
|
||||
|
||||
AdditionalHeaders = New Map;
|
||||
AdditionalHeaders.Insert("Authorization", StrTemplate("Bearer %1", Token));
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("data", Image);
|
||||
Options.Insert("headers", AdditionalHeaders);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "PushBlob", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Ollama", "PushBlob", , FunctionParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ollama_CheckBlob(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["Ollama_URL"];
|
||||
Token = FunctionParameters["Ollama_Token"]; // Authorization - not part API Ollama
|
||||
SHA256 = FunctionParameters["Ollama_Blob"];
|
||||
|
||||
AdditionalHeaders = New Map;
|
||||
AdditionalHeaders.Insert("Authorization", StrTemplate("Bearer %1", Token));
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("digest", SHA256);
|
||||
Options.Insert("headers", AdditionalHeaders);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "CheckBlob", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Ollama", "CheckBlob");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("digest", "yoyoyo");
|
||||
Options.Insert("headers", AdditionalHeaders);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "CheckBlob", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Ollama", "CheckBlob", "Error");
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // Ollama
|
||||
|
||||
#EndRegion // AtomicTests
|
||||
|
||||
#EndRegion // Private
|
||||
|
||||
#Region Alternate
|
||||
|
||||
Procedure OLLM_ОбработкаЗапросов() Export
|
||||
OLLM_RequestsProcessing();
|
||||
EndProcedure
|
||||
|
||||
Procedure OLLM_РаботаСМоделями() Export
|
||||
OLLM_ModelsManagement();
|
||||
EndProcedure
|
||||
|
||||
Procedure OLLM_РаботаСBlob() Export
|
||||
OLLM_WorkingWithBlob();
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
+618
-4
@@ -1,3 +1,5 @@
|
||||
// OneScript: ./OInt/tests/Modules/OPItc_OpenAI.os
|
||||
|
||||
// MIT License
|
||||
|
||||
// Copyright (c) 2023-2026 Anton Tsitavets
|
||||
@@ -9,7 +11,7 @@
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// 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.
|
||||
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
@@ -22,6 +24,8 @@
|
||||
|
||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||
|
||||
// Test suite for YAxUnit
|
||||
|
||||
// BSLLS:Typo-off
|
||||
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
||||
// BSLLS:IncorrectLineBreak-off
|
||||
@@ -63,6 +67,616 @@
|
||||
//@skip-check missing-temporary-file-deletion
|
||||
//@skip-check module-unused-method
|
||||
|
||||
// #Use oint
|
||||
// #Use asserts
|
||||
// #Use "internal"
|
||||
//#Use "../../tools/main"
|
||||
//#Use "../../tools/http"
|
||||
//#Use "../../api"
|
||||
//#Use asserts
|
||||
//#Use "internal"
|
||||
|
||||
|
||||
// For YAxUnit
|
||||
|
||||
Procedure ИсполняемыеСценарии() Export
|
||||
|
||||
OPI_TestDataRetrieval.FormYAXTests("OpenAI");
|
||||
|
||||
EndProcedure
|
||||
|
||||
// For Asserts
|
||||
|
||||
Function ПолучитьСписокТестов(UnitTesting) Export
|
||||
|
||||
Return OPI_TestDataRetrieval.FormAssertsTests("OpenAI");
|
||||
|
||||
EndFunction
|
||||
|
||||
#Region Internal
|
||||
|
||||
#Region RunnableTests
|
||||
|
||||
#Region OpenAI
|
||||
|
||||
Procedure OAI_RequestsProcessing() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("OpenAI_Token" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("OpenAI_URL" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("OpenAI_Token2" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("OpenAI_URL2" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("OpenAI_File" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Picture" , TestParameters);
|
||||
|
||||
OpenAI_GetResponse(TestParameters);
|
||||
OpenAI_GetEmbeddings(TestParameters);
|
||||
OpenAI_GetMessageStructure(TestParameters);
|
||||
OpenAI_GetImageMessageStructure(TestParameters);
|
||||
OpenAI_GetImages(TestParameters);
|
||||
OpenAI_GetAssistantMessage(TestParameters);
|
||||
OpenAI_GetUserMessage(TestParameters);
|
||||
OpenAI_GetSystemMessage(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure OAI_Assistants() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("OpenAI_Token" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("OpenAI_URL" , TestParameters);
|
||||
|
||||
OpenAI_CreateAssistant(TestParameters);
|
||||
OpenAI_RetrieveAssistant(TestParameters);
|
||||
OpenAI_GetAssistantsList(TestParameters);
|
||||
OpenAI_DeleteAssistant(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure OAI_FileManagement() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("OpenAI_Token" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("OpenAI_URL" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Picture" , TestParameters);
|
||||
|
||||
OpenAI_UploadFile(TestParameters);
|
||||
OpenAI_GetFileInformation(TestParameters);
|
||||
OpenAI_GetFilesList(TestParameters);
|
||||
OpenAI_DownloadFile(TestParameters);
|
||||
OpenAI_DeleteFile(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure OAI_AudioProcessing() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("OpenAI_Token" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("OpenAI_URL" , TestParameters);
|
||||
|
||||
OpenAI_GenerateSpeech(TestParameters);
|
||||
OpenAI_CreateTranscription(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure OAI_ModelsManagement() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("OpenAI_Token" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("OpenAI_URL" , TestParameters);
|
||||
|
||||
OpenAI_GetModelList(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // OpenAI
|
||||
|
||||
#EndRegion // RunnableTests
|
||||
|
||||
#EndRegion // Internal
|
||||
|
||||
#Region Private
|
||||
|
||||
#Region AtomicTests
|
||||
|
||||
#Region OpenAI
|
||||
|
||||
Procedure OpenAI_GetResponse(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["OpenAI_URL"];
|
||||
Token = FunctionParameters["OpenAI_Token"];
|
||||
|
||||
// Text messages
|
||||
|
||||
Messages = New Array;
|
||||
Messages.Add(OPI_OpenAI.GetMessageStructure("user" , "What is 1C:Enterprise?"));
|
||||
Messages.Add(OPI_OpenAI.GetMessageStructure("assistant", "1C:Enterprise is a full-stack, low-code platform"));
|
||||
Messages.Add(OPI_OpenAI.GetMessageStructure("user" , "When the first version was released?"));
|
||||
|
||||
Model = "smolvlm-256m-instruct";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("model", Model);
|
||||
Options.Insert("msgs", Messages);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("openai", "GetResponse", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "OpenAI", "GetResponse"); // SKIP
|
||||
|
||||
// Pictures
|
||||
|
||||
Model = "moondream2-20250414";
|
||||
File = FunctionParameters["Picture"]; // URL, Path or Binary Data
|
||||
FileName = StrTemplate("%1.png", String(New UUID()));
|
||||
Destination = "user_data";
|
||||
|
||||
Messages = New Array;
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("name", FileName);
|
||||
Options.Insert("data", File);
|
||||
Options.Insert("purpose", Destination);
|
||||
|
||||
ImageUpload = OPI_TestDataRetrieval.ExecuteTestCLI("openai", "UploadFile", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(ImageUpload, "OpenAI", "GetResponse", "Image upload"); // SKIP
|
||||
|
||||
ImageID = ImageUpload["id"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("role", "user");
|
||||
Options.Insert("file", ImageID);
|
||||
Options.Insert("prompt", "What is in this image?");
|
||||
|
||||
Description = OPI_TestDataRetrieval.ExecuteTestCLI("openai", "GetImageMessageStructure", Options);
|
||||
|
||||
Messages.Add(Description);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("model", Model);
|
||||
Options.Insert("msgs", Messages);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("openai", "GetResponse", Options);
|
||||
|
||||
OPI_OpenAI.DeleteFile(URL, Token, ImageID);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "OpenAI", "GetResponse", "Image");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure OpenAI_GetEmbeddings(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["OpenAI_URL"];
|
||||
Token = FunctionParameters["OpenAI_Token"];
|
||||
|
||||
Text = "What is 1C:Enterprise?";
|
||||
Model = "arcee-ai_afm-4.5b";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("model", Model);
|
||||
Options.Insert("input", Text);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("openai", "GetEmbeddings", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "OpenAI", "GetEmbeddings");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure OpenAI_CreateAssistant(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["OpenAI_URL"];
|
||||
Token = FunctionParameters["OpenAI_Token"];
|
||||
|
||||
Instruction = "You are a personal math tutor. When asked a question, write and run Python code to answer the question.";
|
||||
Model = "smolvlm-256m-instruct";
|
||||
Name = "Math tutor";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("model", Model);
|
||||
Options.Insert("name", Name);
|
||||
Options.Insert("inst", Instruction);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("openai", "CreateAssistant", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "OpenAI", "CreateAssistant", , FunctionParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure OpenAI_DeleteAssistant(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["OpenAI_URL"];
|
||||
Token = FunctionParameters["OpenAI_Token"];
|
||||
|
||||
AssistantID = FunctionParameters["OpenAI_Assistant"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("id", AssistantID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("openai", "DeleteAssistant", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "OpenAI", "DeleteAssistant", , AssistantID);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure OpenAI_RetrieveAssistant(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["OpenAI_URL"];
|
||||
Token = FunctionParameters["OpenAI_Token"];
|
||||
|
||||
AssistantID = FunctionParameters["OpenAI_Assistant"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("id", AssistantID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("openai", "RetrieveAssistant", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "OpenAI", "RetrieveAssistant");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure OpenAI_GetAssistantsList(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["OpenAI_URL"];
|
||||
Token = FunctionParameters["OpenAI_Token"];
|
||||
|
||||
Count = 2;
|
||||
AdditionalParameters = New Structure("after,order", "asst_2", "desc");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("limit", Count);
|
||||
Options.Insert("options", AdditionalParameters);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("openai", "GetAssistantsList", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "OpenAI", "GetAssistantsList");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure OpenAI_UploadFile(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["OpenAI_URL"];
|
||||
Token = FunctionParameters["OpenAI_Token"];
|
||||
|
||||
File = FunctionParameters["Picture"]; // URL, Path or Binary Data
|
||||
|
||||
FileName = StrTemplate("%1.png", String(New UUID()));
|
||||
Destination = "assistants";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("name", FileName);
|
||||
Options.Insert("data", File);
|
||||
Options.Insert("purpose", Destination);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("openai", "UploadFile", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TypeConversion.GetBinaryData(File);
|
||||
OPI_TestDataRetrieval.Process(Result, "OpenAI", "UploadFile", , FunctionParameters, FileName, File.Size() + 2);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure OpenAI_DeleteFile(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["OpenAI_URL"];
|
||||
Token = FunctionParameters["OpenAI_Token"];
|
||||
|
||||
FileID = FunctionParameters["OpenAI_File"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("id", FileID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("openai", "DeleteFile", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "OpenAI", "DeleteFile", , FileID);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure OpenAI_GetFileInformation(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["OpenAI_URL"];
|
||||
Token = FunctionParameters["OpenAI_Token"];
|
||||
|
||||
FileID = FunctionParameters["OpenAI_File"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("id", FileID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("openai", "GetFileInformation", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "OpenAI", "GetFileInformation");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure OpenAI_GetFilesList(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["OpenAI_URL"];
|
||||
Token = FunctionParameters["OpenAI_Token"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("token", Token);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("openai", "GetFilesList", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "OpenAI", "GetFilesList");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure OpenAI_DownloadFile(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["OpenAI_URL"];
|
||||
Token = FunctionParameters["OpenAI_Token"];
|
||||
|
||||
FileID = FunctionParameters["OpenAI_File"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("id", FileID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("openai", "DownloadFile", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "OpenAI", "DownloadFile", , FunctionParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure OpenAI_GetMessageStructure(FunctionParameters)
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("role", "user");
|
||||
Options.Insert("text", "What is 1C:Enterprise?");
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("openai", "GetMessageStructure", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "OpenAI", "GetMessageStructure");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure OpenAI_GetImageMessageStructure(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["OpenAI_URL"];
|
||||
Token = FunctionParameters["OpenAI_Token"];
|
||||
Image = FunctionParameters["OpenAI_File"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("role", "user");
|
||||
Options.Insert("file", Image);
|
||||
Options.Insert("prompt", "What is in this image?");
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("openai", "GetImageMessageStructure", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "OpenAI", "GetImageMessageStructure");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure OpenAI_GenerateSpeech(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["OpenAI_URL"];
|
||||
Token = FunctionParameters["OpenAI_Token"];
|
||||
|
||||
Text = "Attack ships on fire off the shoulder of Orion bright as magnesium";
|
||||
Model = "bark-cpp-small";
|
||||
|
||||
AdditionalParameters = New Structure("response_format", "wav");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("model", Model);
|
||||
Options.Insert("input", Text);
|
||||
Options.Insert("options", AdditionalParameters);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("openai", "GenerateSpeech", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "OpenAI", "GenerateSpeech", , FunctionParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure OpenAI_CreateTranscription(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["OpenAI_URL"];
|
||||
Token = FunctionParameters["OpenAI_Token"];
|
||||
|
||||
Audio = FunctionParameters["OpenAI_Speech"];
|
||||
Model = "whisper-1";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("model", Model);
|
||||
Options.Insert("audio", Audio);
|
||||
Options.Insert("type", "audio/wav");
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("openai", "CreateTranscription", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_Tools.RemoveFileWithTry(Audio, "Failed to delete the temporary file after the test!!");
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "OpenAI", "CreateTranscription");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure OpenAI_GetImages(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["OpenAI_URL"];
|
||||
Token = FunctionParameters["OpenAI_Token"];
|
||||
|
||||
Model = "sd-1.5-ggml";
|
||||
Options = New Structure;
|
||||
Options.Insert("prompt", "Yellow alpaca");
|
||||
Options.Insert("amount", 1);
|
||||
Options.Insert("size", "64x64");
|
||||
|
||||
Description = OPI_TestDataRetrieval.ExecuteTestCLI("openai", "GetImageDescriptionStructure", Options);
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("model", Model);
|
||||
Options.Insert("descr", Description);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("openai", "GetImages", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "OpenAI", "GetImages");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure OpenAI_GetModelList(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["OpenAI_URL"];
|
||||
Token = FunctionParameters["OpenAI_Token"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("token", Token);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("openai", "GetModelList", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "OpenAI", "GetModelList");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure OpenAI_GetAssistantMessage(FunctionParameters)
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("text", "What is 1C:Enterprise?");
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("openai", "GetAssistantMessage", Options);
|
||||
|
||||
// END
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("role", "assistant");
|
||||
Options.Insert("text", "What is 1C:Enterprise?");
|
||||
|
||||
Check = OPI_TestDataRetrieval.ExecuteTestCLI("openai", "GetMessageStructure", Options);
|
||||
Check = OPI_Tools.JSONString(Check);
|
||||
Result = OPI_Tools.JSONString(Result);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "OpenAI", "GetAssistantMessage", , Check);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure OpenAI_GetUserMessage(FunctionParameters)
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("text", "What is 1C:Enterprise?");
|
||||
Options.Insert("name", "Vitaly");
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("openai", "GetUserMessage", Options);
|
||||
|
||||
// END
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("role", "user");
|
||||
Options.Insert("text", "What is 1C:Enterprise?");
|
||||
Options.Insert("name", "Vitaly");
|
||||
|
||||
Check = OPI_TestDataRetrieval.ExecuteTestCLI("openai", "GetMessageStructure", Options);
|
||||
Check = OPI_Tools.JSONString(Check);
|
||||
Result = OPI_Tools.JSONString(Result);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "OpenAI", "GetUserMessage", , Check);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure OpenAI_GetSystemMessage(FunctionParameters)
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("text", "What is 1C:Enterprise?");
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("openai", "GetSystemMessage", Options);
|
||||
|
||||
// END
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("role", "system");
|
||||
Options.Insert("text", "What is 1C:Enterprise?");
|
||||
|
||||
Check = OPI_TestDataRetrieval.ExecuteTestCLI("openai", "GetMessageStructure", Options);
|
||||
Check = OPI_Tools.JSONString(Check);
|
||||
Result = OPI_Tools.JSONString(Result);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "OpenAI", "GetSystemMessage", , Check);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // OpenAI
|
||||
|
||||
#EndRegion // AtomicTests
|
||||
|
||||
#EndRegion // Private
|
||||
|
||||
#Region Alternate
|
||||
|
||||
Procedure OAI_ОбработкаЗапросов() Export
|
||||
OAI_RequestsProcessing();
|
||||
EndProcedure
|
||||
|
||||
Procedure OAI_Ассистенты() Export
|
||||
OAI_Assistants();
|
||||
EndProcedure
|
||||
|
||||
Procedure OAI_РаботаСФайлами() Export
|
||||
OAI_FileManagement();
|
||||
EndProcedure
|
||||
|
||||
Procedure OAI_РаботаСАудио() Export
|
||||
OAI_AudioProcessing();
|
||||
EndProcedure
|
||||
|
||||
Procedure OAI_РаботаСМоделями() Export
|
||||
OAI_ModelsManagement();
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
+1608
-4
File diff suppressed because it is too large
Load Diff
+176
-4
@@ -1,3 +1,5 @@
|
||||
// OneScript: ./OInt/tests/Modules/OPItc_RCON.os
|
||||
|
||||
// MIT License
|
||||
|
||||
// Copyright (c) 2023-2026 Anton Tsitavets
|
||||
@@ -9,7 +11,7 @@
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// 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.
|
||||
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
@@ -22,6 +24,8 @@
|
||||
|
||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||
|
||||
// Test suite for YAxUnit
|
||||
|
||||
// BSLLS:Typo-off
|
||||
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
||||
// BSLLS:IncorrectLineBreak-off
|
||||
@@ -63,6 +67,174 @@
|
||||
//@skip-check missing-temporary-file-deletion
|
||||
//@skip-check module-unused-method
|
||||
|
||||
// #Use oint
|
||||
// #Use asserts
|
||||
// #Use "internal"
|
||||
//#Use "../../tools/main"
|
||||
//#Use "../../tools/http"
|
||||
//#Use "../../api"
|
||||
//#Use asserts
|
||||
//#Use "internal"
|
||||
|
||||
|
||||
// For YAxUnit
|
||||
|
||||
Procedure ИсполняемыеСценарии() Export
|
||||
|
||||
OPI_TestDataRetrieval.FormYAXTests("RCON");
|
||||
|
||||
EndProcedure
|
||||
|
||||
// For Asserts
|
||||
|
||||
Function ПолучитьСписокТестов(UnitTesting) Export
|
||||
|
||||
Return OPI_TestDataRetrieval.FormAssertsTests("RCON");
|
||||
|
||||
EndFunction
|
||||
|
||||
#Region Internal
|
||||
|
||||
#Region RunnableTests
|
||||
|
||||
#Region RCON
|
||||
|
||||
Procedure RC_CommandsExecution() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("RCON_URL" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("RCON_Password", TestParameters);
|
||||
|
||||
RCON_FormConnectionParameters(TestParameters);
|
||||
RCON_CreateConnection(TestParameters);
|
||||
RCON_ExecuteCommand(TestParameters);
|
||||
RCON_IsConnector(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // RCON
|
||||
|
||||
#EndRegion // RunnableTests
|
||||
|
||||
#EndRegion // Internal
|
||||
|
||||
#Region Private
|
||||
|
||||
#Region AtomicTests
|
||||
|
||||
#Region RCON
|
||||
|
||||
Procedure RCON_FormConnectionParameters(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["RCON_URL"];
|
||||
Password = FunctionParameters["RCON_Password"];
|
||||
WriteTimeout = 20;
|
||||
ReadTimeout = 20;
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("pass", Password);
|
||||
Options.Insert("rtout", ReadTimeout);
|
||||
Options.Insert("wtout", WriteTimeout);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("rcon", "FormConnectionParameters", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "RCON", "FormConnectionParameters");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure RCON_CreateConnection(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["RCON_URL"];
|
||||
Password = FunctionParameters["RCON_Password"];
|
||||
WriteTimeout = 20;
|
||||
ReadTimeout = 20;
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("pass", Password);
|
||||
Options.Insert("rtout", ReadTimeout);
|
||||
Options.Insert("wtout", WriteTimeout);
|
||||
|
||||
ConnectionParams = OPI_TestDataRetrieval.ExecuteTestCLI("rcon", "FormConnectionParameters", Options);
|
||||
Result = OPI_RCON.CreateConnection(ConnectionParams);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "RCON", "CreateConnection");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure RCON_ExecuteCommand(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["RCON_URL"];
|
||||
Password = FunctionParameters["RCON_Password"];
|
||||
WriteTimeout = 20;
|
||||
ReadTimeout = 20;
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("pass", Password);
|
||||
Options.Insert("rtout", ReadTimeout);
|
||||
Options.Insert("wtout", WriteTimeout);
|
||||
|
||||
ConnectionParams = OPI_TestDataRetrieval.ExecuteTestCLI("rcon", "FormConnectionParameters", Options);
|
||||
Connection = OPI_RCON.CreateConnection(ConnectionParams);
|
||||
|
||||
Command = "list";
|
||||
Options = New Structure;
|
||||
Options.Insert("exec", Command);
|
||||
Options.Insert("conn", Connection);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("rcon", "ExecuteCommand", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "RCON", "ExecuteCommand");
|
||||
|
||||
Command = "list";
|
||||
Options = New Structure;
|
||||
Options.Insert("exec", Command);
|
||||
Options.Insert("conn", ConnectionParams);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("rcon", "ExecuteCommand", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "RCON", "ExecuteCommand", "No connection");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure RCON_IsConnector(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["RCON_URL"];
|
||||
Password = FunctionParameters["RCON_Password"];
|
||||
WriteTimeout = 20;
|
||||
ReadTimeout = 20;
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("pass", Password);
|
||||
Options.Insert("rtout", ReadTimeout);
|
||||
Options.Insert("wtout", WriteTimeout);
|
||||
|
||||
ConnectionParams = OPI_TestDataRetrieval.ExecuteTestCLI("rcon", "FormConnectionParameters", Options);
|
||||
Connection = OPI_RCON.CreateConnection(ConnectionParams);
|
||||
Result = OPI_RCON.IsConnector(Connection);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "RCON", "IsConnector");
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // RCON
|
||||
|
||||
#EndRegion // AtomicTests
|
||||
|
||||
#EndRegion // Private
|
||||
|
||||
#Region Alternate
|
||||
|
||||
Procedure RC_ВыполнениеКоманд() Export
|
||||
RC_CommandsExecution();
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
+271
-4
@@ -1,3 +1,5 @@
|
||||
// OneScript: ./OInt/tests/Modules/OPItc_RSS.os
|
||||
|
||||
// MIT License
|
||||
|
||||
// Copyright (c) 2023-2026 Anton Tsitavets
|
||||
@@ -9,7 +11,7 @@
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// 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.
|
||||
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
@@ -22,6 +24,8 @@
|
||||
|
||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||
|
||||
// Test suite for YAxUnit
|
||||
|
||||
// BSLLS:Typo-off
|
||||
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
||||
// BSLLS:IncorrectLineBreak-off
|
||||
@@ -63,6 +67,269 @@
|
||||
//@skip-check missing-temporary-file-deletion
|
||||
//@skip-check module-unused-method
|
||||
|
||||
// #Use oint
|
||||
// #Use asserts
|
||||
// #Use "internal"
|
||||
//#Use "../../tools/main"
|
||||
//#Use "../../tools/http"
|
||||
//#Use "../../api"
|
||||
//#Use asserts
|
||||
//#Use "internal"
|
||||
|
||||
|
||||
// For YAxUnit
|
||||
|
||||
Procedure ИсполняемыеСценарии() Export
|
||||
|
||||
OPI_TestDataRetrieval.FormYAXTests("RSS");
|
||||
|
||||
EndProcedure
|
||||
|
||||
// For Asserts
|
||||
|
||||
Function ПолучитьСписокТестов(UnitTesting) Export
|
||||
|
||||
Return OPI_TestDataRetrieval.FormAssertsTests("RSS");
|
||||
|
||||
EndFunction
|
||||
|
||||
#Region Internal
|
||||
|
||||
#Region RunnableTests
|
||||
|
||||
#Region RSS
|
||||
|
||||
Procedure RSS_RSSMethods() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
|
||||
RSS_CreateFeedRSS(TestParameters);
|
||||
RSS_GetFeedItemStructureRSS(TestParameters);
|
||||
RSS_ParseFeedRSS(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure RSS_AtomMethods() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
|
||||
RSS_CreateFeedAtom(TestParameters);
|
||||
RSS_GetFeedItemStructureAtom(TestParameters);
|
||||
RSS_ParseFeedAtom(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // RSS
|
||||
|
||||
#EndRegion // RunnableTests
|
||||
|
||||
#EndRegion // Internal
|
||||
|
||||
#Region Private
|
||||
|
||||
#Region AtomicTests
|
||||
|
||||
#Region RSS
|
||||
|
||||
Procedure RSS_CreateFeedRSS(FunctionParameters)
|
||||
|
||||
ChannelTitle = "Test RSS channel";
|
||||
ChannelDescription = "Test RSS channel description";
|
||||
ChannelLink = "https://example.com";
|
||||
|
||||
ItemsArray = New Array;
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("empty", Истина);
|
||||
|
||||
ElementStructure = OPI_TestDataRetrieval.ExecuteTestCLI("rss", "GetFeedItemStructureRSS", Options);
|
||||
ElementStructure["title"] = "First element";
|
||||
ElementStructure["description"] = "First element description";
|
||||
ElementStructure["link"] = "https://example.com/item1";
|
||||
ElementStructure["pubDate"] = OPI_Tools.GetCurrentDate();
|
||||
ElementStructure["author"] = "test@example.com";
|
||||
ElementStructure["guid"] = "item-1";
|
||||
|
||||
ItemsArray.Add(ElementStructure);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("empty", Истина);
|
||||
|
||||
ElementStructure = OPI_TestDataRetrieval.ExecuteTestCLI("rss", "GetFeedItemStructureRSS", Options);
|
||||
ElementStructure["title"] = "Second element";
|
||||
ElementStructure["description"] = "Second element description";
|
||||
ElementStructure["link"] = "https://example.com/item2";
|
||||
ElementStructure["pubDate"] = OPI_Tools.GetCurrentDate();
|
||||
ElementStructure["author"] = "test@example.com";
|
||||
ElementStructure["guid"] = "item-2";
|
||||
|
||||
ItemsArray.Add(ElementStructure);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("name", ChannelTitle);
|
||||
Options.Insert("descr", ChannelDescription);
|
||||
Options.Insert("link", ChannelLink);
|
||||
Options.Insert("items", ItemsArray);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("rss", "CreateFeedRSS", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "RSS", "CreateFeedRSS", , FunctionParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure RSS_GetFeedItemStructureRSS(FunctionParameters)
|
||||
|
||||
Options = New Structure;
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("rss", "GetFeedItemStructureRSS", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "RSS", "GetFeedItemStructureRSS");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("empty", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("rss", "GetFeedItemStructureRSS", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "RSS", "GetFeedItemStructureRSS", "Clear");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("empty", Ложь);
|
||||
Options.Insert("map", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("rss", "GetFeedItemStructureRSS", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "RSS", "GetFeedItemStructureRSS", "Map");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure RSS_ParseFeedRSS(FunctionParameters)
|
||||
|
||||
FeedXML = FunctionParameters["RSS_FeedXML"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("xml", FeedXML);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("rss", "ParseFeedRSS", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "RSS", "ParseFeedRSS");
|
||||
|
||||
OPI_Tools.RemoveFileWithTry(FeedXML, "Failed to delete the temporary file after the test!!");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure RSS_CreateFeedAtom(FunctionParameters)
|
||||
|
||||
FeedTitle = "Test Atom feed";
|
||||
FeedLink = "https://example.com";
|
||||
FeedID = "https://example.com/feed";
|
||||
|
||||
ItemsArray = New Array;
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("empty", Истина);
|
||||
|
||||
ElementStructure = OPI_TestDataRetrieval.ExecuteTestCLI("rss", "GetFeedItemStructureAtom", Options);
|
||||
ElementStructure["title"] = "First record";
|
||||
ElementStructure["id"] = "https://example.com/entry1";
|
||||
ElementStructure["link"] = "https://example.com/entry1";
|
||||
ElementStructure["updated"] = OPI_Tools.GetCurrentDate();
|
||||
ElementStructure["summary"] = "First record summary";
|
||||
ElementStructure["content"] = "Full content of the first record";
|
||||
ElementStructure["author"] = "First Author";
|
||||
ElementStructure["published"] = OPI_Tools.GetCurrentDate();
|
||||
|
||||
ItemsArray.Add(ElementStructure);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("empty", Истина);
|
||||
|
||||
ElementStructure = OPI_TestDataRetrieval.ExecuteTestCLI("rss", "GetFeedItemStructureAtom", Options);
|
||||
ElementStructure["title"] = "Second record";
|
||||
ElementStructure["id"] = "https://example.com/entry2";
|
||||
ElementStructure["link"] = "https://example.com/entry2";
|
||||
ElementStructure["updated"] = OPI_Tools.GetCurrentDate();
|
||||
ElementStructure["summary"] = "Second record summary";
|
||||
ElementStructure["content"] = "Full content of the second record";
|
||||
ElementStructure["author"] = "Second Author";
|
||||
ElementStructure["published"] = OPI_Tools.GetCurrentDate();
|
||||
|
||||
ItemsArray.Add(ElementStructure);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("name", FeedTitle);
|
||||
Options.Insert("link", FeedLink);
|
||||
Options.Insert("id", FeedID);
|
||||
Options.Insert("items", ItemsArray);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("rss", "CreateFeedAtom", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "RSS", "CreateFeedAtom", , FunctionParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure RSS_GetFeedItemStructureAtom(FunctionParameters)
|
||||
|
||||
Options = New Structure;
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("rss", "GetFeedItemStructureAtom", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "RSS", "GetFeedItemStructureAtom");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("empty", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("rss", "GetFeedItemStructureAtom", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "RSS", "GetFeedItemStructureAtom", "Clear");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("empty", Ложь);
|
||||
Options.Insert("map", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("rss", "GetFeedItemStructureAtom", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "RSS", "GetFeedItemStructureAtom", "Map");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure RSS_ParseFeedAtom(FunctionParameters)
|
||||
|
||||
FeedXML = FunctionParameters["RSS_AtomFeedXML"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("xml", FeedXML);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("rss", "ParseFeedAtom", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "RSS", "ParseFeedAtom");
|
||||
|
||||
OPI_Tools.RemoveFileWithTry(FeedXML, "Failed to delete the temporary file after the test!!");
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // RSS
|
||||
|
||||
#EndRegion // AtomicTests
|
||||
|
||||
#EndRegion // Private
|
||||
|
||||
#Region Alternate
|
||||
|
||||
Procedure RSS_МетодыRSS() Export
|
||||
RSS_RSSMethods();
|
||||
EndProcedure
|
||||
|
||||
Procedure RSS_МетодыAtom() Export
|
||||
RSS_AtomMethods();
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
+1018
-4
File diff suppressed because it is too large
Load Diff
+1564
-4
File diff suppressed because it is too large
Load Diff
+1718
-4
File diff suppressed because it is too large
Load Diff
+929
-4
@@ -1,3 +1,5 @@
|
||||
// OneScript: ./OInt/tests/Modules/OPItc_SQLite.os
|
||||
|
||||
// MIT License
|
||||
|
||||
// Copyright (c) 2023-2026 Anton Tsitavets
|
||||
@@ -9,7 +11,7 @@
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// 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.
|
||||
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
@@ -22,6 +24,8 @@
|
||||
|
||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||
|
||||
// Test suite for YAxUnit
|
||||
|
||||
// BSLLS:Typo-off
|
||||
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
||||
// BSLLS:IncorrectLineBreak-off
|
||||
@@ -63,6 +67,927 @@
|
||||
//@skip-check missing-temporary-file-deletion
|
||||
//@skip-check module-unused-method
|
||||
|
||||
// #Use oint
|
||||
// #Use asserts
|
||||
// #Use "internal"
|
||||
//#Use "../../tools/main"
|
||||
//#Use "../../tools/http"
|
||||
//#Use "../../api"
|
||||
//#Use asserts
|
||||
//#Use "internal"
|
||||
|
||||
|
||||
// For YAxUnit
|
||||
|
||||
Procedure ИсполняемыеСценарии() Export
|
||||
|
||||
OPI_TestDataRetrieval.FormYAXTests("SQLite");
|
||||
|
||||
EndProcedure
|
||||
|
||||
// For Asserts
|
||||
|
||||
Function ПолучитьСписокТестов(UnitTesting) Export
|
||||
|
||||
Return OPI_TestDataRetrieval.FormAssertsTests("SQLite");
|
||||
|
||||
EndFunction
|
||||
|
||||
#Region Internal
|
||||
|
||||
#Region RunnableTests
|
||||
|
||||
#Region SQLite
|
||||
|
||||
Procedure SQLL_CommonMethods() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
|
||||
Base = GetTempFileName("sqlite");
|
||||
OPI_TestDataRetrieval.WriteParameter("SQLite_DB", Base);
|
||||
OPI_Tools.AddField("SQLite_DB", Base, "String", TestParameters);
|
||||
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Picture" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("SQLite_Ext" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("SQLite_ExtLinux", TestParameters);
|
||||
|
||||
SQLite_CreateConnection(TestParameters);
|
||||
SQLite_CloseConnection(TestParameters);
|
||||
SQLite_ExecuteSQLQuery(TestParameters);
|
||||
SQLite_IsConnector(TestParameters);
|
||||
SQLite_ConnectExtension(TestParameters);
|
||||
|
||||
OPI_Tools.RemoveFileWithTry(Base, "Database file deletion error");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure SQLL_ORM() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
|
||||
Base = GetTempFileName("sqlite");
|
||||
|
||||
Connection = OPI_SQLite.CreateConnection(Base);
|
||||
TestParameters.Insert("SQLite_DB", Connection);
|
||||
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Picture", TestParameters);
|
||||
|
||||
SQLite_CreateTable(TestParameters);
|
||||
SQLite_AddRecords(TestParameters);
|
||||
SQLite_EnsureRecords(TestParameters);
|
||||
SQLite_GetRecords(TestParameters);
|
||||
SQLite_UpdateRecords(TestParameters);
|
||||
SQLite_DeleteRecords(TestParameters);
|
||||
SQLite_GetTableInformation(TestParameters);
|
||||
SQLite_AddTableColumn(TestParameters);
|
||||
SQLite_DeleteTableColumn(TestParameters);
|
||||
SQLite_EnsureTable(TestParameters);
|
||||
SQLite_ClearTable(TestParameters);
|
||||
SQLite_DeleteTable(TestParameters);
|
||||
SQLite_GetRecordsFilterStructure(TestParameters);
|
||||
|
||||
OPI_TestDataRetrieval.WriteParameter("SQLite_DB", Base);
|
||||
OPI_Tools.AddField("SQLite_DB", Base, "String", TestParameters);
|
||||
|
||||
SQLite_CreateTable(TestParameters);
|
||||
SQLite_AddRecords(TestParameters);
|
||||
SQLite_EnsureRecords(TestParameters);
|
||||
SQLite_GetRecords(TestParameters);
|
||||
SQLite_UpdateRecords(TestParameters);
|
||||
SQLite_DeleteRecords(TestParameters);
|
||||
SQLite_GetTableInformation(TestParameters);
|
||||
SQLite_AddTableColumn(TestParameters);
|
||||
SQLite_DeleteTableColumn(TestParameters);
|
||||
SQLite_EnsureTable(TestParameters);
|
||||
SQLite_ClearTable(TestParameters);
|
||||
SQLite_DeleteTable(TestParameters);
|
||||
SQLite_GetRecordsFilterStructure(TestParameters);
|
||||
|
||||
OPI_Tools.RemoveFileWithTry(Base, "Database file deletion error");
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // SQLite
|
||||
|
||||
#EndRegion // RunnableTests
|
||||
|
||||
#EndRegion // Internal
|
||||
|
||||
#Region Private
|
||||
|
||||
#Region AtomicTests
|
||||
|
||||
#Region SQLite
|
||||
|
||||
Procedure SQLite_CreateConnection(FunctionParameters)
|
||||
|
||||
TFN = GetTempFileName("sqlite");
|
||||
|
||||
LocalBase = OPI_SQLite.CreateConnection(TFN);
|
||||
InMemoryBase = OPI_SQLite.CreateConnection();
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(LocalBase , "SQLite", "CreateConnection");
|
||||
OPI_TestDataRetrieval.Process(InMemoryBase, "SQLite", "CreateConnection", "IM");
|
||||
|
||||
Closing = OPI_SQLite.CloseConnection(LocalBase);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Closing, "SQLite", "CreateConnection", "Closing");
|
||||
|
||||
OPI_Tools.RemoveFileWithTry(TFN, "Database file deletion error");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure SQLite_CloseConnection(FunctionParameters)
|
||||
|
||||
TFN = GetTempFileName("sqlite");
|
||||
|
||||
Connection = OPI_SQLite.CreateConnection(TFN);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Connection, "SQLite", "CloseConnection", "Openning"); // SKIP
|
||||
|
||||
Closing = OPI_SQLite.CloseConnection(Connection);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Closing, "SQLite", "CloseConnection");
|
||||
|
||||
OPI_Tools.RemoveFileWithTry(TFN, "Database file deletion error");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure SQLite_ExecuteSQLQuery(FunctionParameters)
|
||||
|
||||
TFN = GetTempFileName("sqlite");
|
||||
|
||||
Image = FunctionParameters["Picture"];
|
||||
OPI_TypeConversion.GetBinaryData(Image); // Image - Type: BinaryData
|
||||
|
||||
Connection = OPI_SQLite.CreateConnection(TFN);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Connection, "SQLite", "ExecuteSQLQuery", "Openning"); // SKIP
|
||||
|
||||
// CREATE
|
||||
|
||||
QueryText = "
|
||||
|CREATE TABLE test_table (
|
||||
|id INTEGER PRIMARY KEY,
|
||||
|name TEXT,
|
||||
|age INTEGER,
|
||||
|salary REAL,
|
||||
|is_active BOOLEAN,
|
||||
|created_at DATETIME,
|
||||
|data BLOB
|
||||
|);";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("sql", QueryText);
|
||||
Options.Insert("db", Connection);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "ExecuteSQLQuery", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "ExecuteSQLQuery", "Create"); // SKIP
|
||||
|
||||
// INSERT with parameters
|
||||
|
||||
QueryText = "
|
||||
|INSERT INTO test_table (name, age, salary, is_active, created_at, data)
|
||||
|VALUES (?1, ?2, ?3, ?4, ?5, ?6);";
|
||||
|
||||
ParameterArray = New Array;
|
||||
ParameterArray.Add("Vitaly"); // TEXT
|
||||
ParameterArray.Add(25); // INTEGER
|
||||
ParameterArray.Add(1000.12); // REAL
|
||||
ParameterArray.Add(True); // BOOL
|
||||
ParameterArray.Add(OPI_Tools.GetCurrentDate()); // DATETIME
|
||||
ParameterArray.Add(New Structure("blob", Image)); // BLOB
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("sql", QueryText);
|
||||
Options.Insert("params", ParameterArray);
|
||||
Options.Insert("db", Connection);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "ExecuteSQLQuery", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "ExecuteSQLQuery", "Insert"); // SKIP
|
||||
|
||||
// SELECT (The result of this query is shown in the Result block)
|
||||
|
||||
QueryText = "SELECT id, name, age, salary, is_active, created_at, data FROM test_table;";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("sql", QueryText);
|
||||
Options.Insert("db", Connection);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "ExecuteSQLQuery", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "ExecuteSQLQuery", , Image); // SKIP
|
||||
|
||||
// Transaction
|
||||
|
||||
QueryText = "BEGIN TRANSACTION;
|
||||
| CREATE TABLE IF NOT EXISTS users (
|
||||
| id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
| name TEXT NOT NULL,
|
||||
| age INTEGER NOT NULL
|
||||
| );
|
||||
| INSERT INTO users (name, age) VALUES ('Alice', 30);
|
||||
| INSERT INTO users (name, age) VALUES ('Bob', 25);
|
||||
| INSERT INTO users (name, age) VALUES ('Charlie', 35);
|
||||
| COMMIT;";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("sql", QueryText);
|
||||
Options.Insert("db", Connection);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "ExecuteSQLQuery", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "ExecuteSQLQuery", "Transaction"); // SKIP
|
||||
|
||||
// With extension
|
||||
|
||||
If OPI_Tools.IsWindows() Then
|
||||
Extension = FunctionParameters["SQLite_Ext"]; // URL, Path or Binary Data
|
||||
Else
|
||||
Extension = FunctionParameters["SQLite_ExtLinux"]; // URL, Path or Binary Data
|
||||
EndIf;
|
||||
|
||||
EntryPoint = "sqlite3_uuid_init";
|
||||
|
||||
ExtensionMap = New Map;
|
||||
ExtensionMap.Insert(Extension, EntryPoint);
|
||||
|
||||
QueryText = "SELECT uuid4();";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("sql", QueryText);
|
||||
Options.Insert("db", Connection);
|
||||
Options.Insert("exts", ExtensionMap);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "ExecuteSQLQuery", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "ExecuteSQLQuery", "Extension"); // SKIP
|
||||
|
||||
Closing = OPI_SQLite.CloseConnection(Connection);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "ExecuteSQLQuery", "Closing");
|
||||
|
||||
OPI_Tools.RemoveFileWithTry(TFN, "Database file deletion error");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure SQLite_IsConnector(FunctionParameters)
|
||||
|
||||
Connection = OPI_SQLite.CreateConnection();
|
||||
Result = OPI_SQLite.IsConnector(Connection);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "IsConnector");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure SQLite_CreateTable(FunctionParameters)
|
||||
|
||||
Base = FunctionParameters["SQLite_DB"];
|
||||
Table = "test";
|
||||
|
||||
ColoumnsStruct = New Structure;
|
||||
ColoumnsStruct.Insert("id" , "INTEGER PRIMARY KEY");
|
||||
ColoumnsStruct.Insert("name" , "TEXT");
|
||||
ColoumnsStruct.Insert("age" , "INTEGER");
|
||||
ColoumnsStruct.Insert("salary" , "REAL");
|
||||
ColoumnsStruct.Insert("is_active" , "BOOLEAN");
|
||||
ColoumnsStruct.Insert("created_at", "DATETIME");
|
||||
ColoumnsStruct.Insert("data" , "BLOB");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("cols", ColoumnsStruct);
|
||||
Options.Insert("db", Base);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "CreateTable", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "CreateTable");
|
||||
|
||||
ColoumnsMap = New Map;
|
||||
ColoumnsMap.Insert("id" , "INTEGER PRIMARY KEY");
|
||||
ColoumnsMap.Insert("[An obscure column]", "TEXT");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", "test1");
|
||||
Options.Insert("cols", ColoumnsMap);
|
||||
Options.Insert("db", Base);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "CreateTable", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "CreateTable", "An obscure column");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure SQLite_AddRecords(FunctionParameters)
|
||||
|
||||
Image = FunctionParameters["Picture"];
|
||||
OPI_TypeConversion.GetBinaryData(Image); // Image - Type: BinaryData
|
||||
|
||||
PictureFile = GetTempFileName("png");
|
||||
Image.Write(PictureFile); // PictureFile - File to disk
|
||||
|
||||
Base = FunctionParameters["SQLite_DB"];
|
||||
Table = "test";
|
||||
|
||||
DataArray = New Array;
|
||||
|
||||
RowStructure2 = New Structure;
|
||||
RowStructure2.Insert("name" , "Vitaly"); // TEXT
|
||||
RowStructure2.Insert("age" , 25); // INTEGER
|
||||
RowStructure2.Insert("salary" , 1000.12); // REAL
|
||||
RowStructure2.Insert("is_active" , True); // BOOL
|
||||
RowStructure2.Insert("created_at", OPI_Tools.GetCurrentDate()); // DATETIME
|
||||
RowStructure2.Insert("data" , New Structure("blob", Image)); // BLOB
|
||||
|
||||
RowStructure1 = New Structure;
|
||||
RowStructure1.Insert("name" , "Lesha"); // TEXT
|
||||
RowStructure1.Insert("age" , 20); // INTEGER
|
||||
RowStructure1.Insert("salary" , 200.20); // REAL
|
||||
RowStructure1.Insert("is_active" , False); // BOOL
|
||||
RowStructure1.Insert("created_at", OPI_Tools.GetCurrentDate()); // DATETIME
|
||||
RowStructure1.Insert("data" , New Structure("blob", PictureFile)); // BLOB
|
||||
|
||||
DataArray.Add(RowStructure2);
|
||||
DataArray.Add(RowStructure1);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("rows", DataArray);
|
||||
Options.Insert("db", Base);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "AddRecords", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "AddRecords");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("rows", DataArray);
|
||||
Options.Insert("trn", Ложь);
|
||||
Options.Insert("db", Base);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "AddRecords", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "AddRecords", "No transaction");
|
||||
|
||||
RowStructure1.Insert("error", "Lesha");
|
||||
DataArray.Add(RowStructure1);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("rows", DataArray);
|
||||
Options.Insert("db", Base);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "AddRecords", Options);
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "AddRecords", "Field error");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("rows", DataArray);
|
||||
Options.Insert("trn", Ложь);
|
||||
Options.Insert("db", Base);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "AddRecords", Options);
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "AddRecords", "Error without transaction");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("rows", "not valid json");
|
||||
Options.Insert("db", Base);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "AddRecords", Options);
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "AddRecords", "JSON Error");
|
||||
|
||||
RowMap = New Map;
|
||||
RowMap.Insert("[An obscure column]", "yo");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", "test1");
|
||||
Options.Insert("rows", RowMap);
|
||||
Options.Insert("db", Base);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "AddRecords", Options);
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "AddRecords", "An obscure column");
|
||||
|
||||
OPI_Tools.RemoveFileWithTry(PictureFile, "Failed to delete the temporary file after the test!!");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure SQLite_GetRecords(FunctionParameters)
|
||||
|
||||
Base = FunctionParameters["SQLite_DB"];
|
||||
Table = "test";
|
||||
|
||||
Fields = New Array;
|
||||
Fields.Add("name");
|
||||
Fields.Add("salary");
|
||||
|
||||
Filters = New Array;
|
||||
|
||||
FilterStructure1 = New Structure;
|
||||
|
||||
FilterStructure1.Insert("field", "name");
|
||||
FilterStructure1.Insert("type" , "=");
|
||||
FilterStructure1.Insert("value", "Vitaly");
|
||||
FilterStructure1.Insert("union", "AND");
|
||||
FilterStructure1.Insert("raw" , False);
|
||||
|
||||
FilterStructure2 = New Structure;
|
||||
|
||||
FilterStructure2.Insert("field", "age");
|
||||
FilterStructure2.Insert("type" , "BETWEEN");
|
||||
FilterStructure2.Insert("value", "20 AND 30");
|
||||
FilterStructure2.Insert("raw" , True);
|
||||
|
||||
Filters.Add(FilterStructure1);
|
||||
Filters.Add(FilterStructure2);
|
||||
|
||||
Sort = New Structure("created_at", "DESC");
|
||||
Count = 1;
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("fields", Fields);
|
||||
Options.Insert("filter", Filters);
|
||||
Options.Insert("order", Sort);
|
||||
Options.Insert("limit", Count);
|
||||
Options.Insert("db", Base);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "GetRecords", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "GetRecords");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("fields", "['name','age','salary','is_active','created_at']");
|
||||
Options.Insert("db", Base);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "GetRecords", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "GetRecords", "No parameters");
|
||||
|
||||
FilterStructure2.Insert("type", "SOMETHING");
|
||||
Filters.Add(FilterStructure2);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("fields", "['name','age','salary','is_active','created_at']");
|
||||
Options.Insert("filter", Filters);
|
||||
Options.Insert("db", Base);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "GetRecords", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "GetRecords", "Error");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", "test1");
|
||||
Options.Insert("db", Base);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "GetRecords", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "GetRecords", "An obscure column");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure SQLite_UpdateRecords(FunctionParameters)
|
||||
|
||||
Base = FunctionParameters["SQLite_DB"];
|
||||
Table = "test";
|
||||
|
||||
FieldsStructure = New Structure;
|
||||
FieldsStructure.Insert("name" , "Vitaly A.");
|
||||
FieldsStructure.Insert("salary", "999999");
|
||||
|
||||
Filters = New Array;
|
||||
|
||||
FilterStructure = New Structure;
|
||||
|
||||
FilterStructure.Insert("field", "name");
|
||||
FilterStructure.Insert("type" , "=");
|
||||
FilterStructure.Insert("value", "Vitaly");
|
||||
FilterStructure.Insert("union", "AND");
|
||||
FilterStructure.Insert("raw" , False);
|
||||
|
||||
Filters.Add(FilterStructure);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("values", FieldsStructure);
|
||||
Options.Insert("filter", FilterStructure);
|
||||
Options.Insert("db", Base);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "UpdateRecords", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "UpdateRecords");
|
||||
|
||||
FilterStructure.Insert("value", "Vitaly A.");
|
||||
|
||||
Filters = New Array;
|
||||
Filters.Add(FilterStructure);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("fields", "['name','salary']");
|
||||
Options.Insert("filter", Filters);
|
||||
Options.Insert("db", Base);
|
||||
|
||||
Check = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "GetRecords", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Check, "SQLite", "UpdateRecords", "Check", FieldsStructure);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure SQLite_DeleteRecords(FunctionParameters)
|
||||
|
||||
Base = FunctionParameters["SQLite_DB"];
|
||||
Table = "test";
|
||||
|
||||
Filters = New Array;
|
||||
|
||||
FilterStructure = New Structure;
|
||||
|
||||
FilterStructure.Insert("field", "name");
|
||||
FilterStructure.Insert("type" , "=");
|
||||
FilterStructure.Insert("value", "Vitaly A.");
|
||||
FilterStructure.Insert("union", "AND");
|
||||
FilterStructure.Insert("raw" , False);
|
||||
|
||||
Filters.Add(FilterStructure);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("filter", FilterStructure);
|
||||
Options.Insert("db", Base);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "DeleteRecords", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "DeleteRecords");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("fields", "['name','salary']");
|
||||
Options.Insert("filter", Filters);
|
||||
Options.Insert("db", Base);
|
||||
|
||||
Check = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "GetRecords", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Check, "SQLite", "DeleteRecords", "Check");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure SQLite_GetTableInformation(FunctionParameters)
|
||||
|
||||
Base = FunctionParameters["SQLite_DB"];
|
||||
Table = "test";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("db", Base);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "GetTableInformation", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "GetTableInformation");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure SQLite_EnsureRecords(FunctionParameters)
|
||||
|
||||
Base = FunctionParameters["SQLite_DB"];
|
||||
Table = "test_merge";
|
||||
|
||||
ColoumnsStruct = New Structure; // SKIP
|
||||
ColoumnsStruct.Insert("id" , "INTEGER PRIMARY KEY"); // SKIP
|
||||
ColoumnsStruct.Insert("name" , "TEXT"); // SKIP
|
||||
ColoumnsStruct.Insert("age" , "INTEGER"); // SKIP
|
||||
ColoumnsStruct.Insert("salary" , "REAL"); // SKIP
|
||||
OPI_SQLite.CreateTable(Table, ColoumnsStruct, Base); // SKIP
|
||||
|
||||
DataArray = New Array;
|
||||
|
||||
RowStructure2 = New Structure;
|
||||
RowStructure2.Insert("id" , 1);
|
||||
RowStructure2.Insert("name" , "Vitaly");
|
||||
RowStructure2.Insert("age" , 25);
|
||||
RowStructure2.Insert("salary", 1000.12);
|
||||
|
||||
RowStructure1 = New Structure;
|
||||
RowStructure1.Insert("id" , 2);
|
||||
RowStructure1.Insert("name" , "Lesha");
|
||||
RowStructure1.Insert("age" , 20);
|
||||
RowStructure1.Insert("salary", 200.20);
|
||||
|
||||
DataArray.Add(RowStructure2);
|
||||
DataArray.Add(RowStructure1);
|
||||
|
||||
KeyFields = New Array;
|
||||
KeyFields.Add("id");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("rows", DataArray);
|
||||
Options.Insert("unique", KeyFields);
|
||||
Options.Insert("db", Base);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "EnsureRecords", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "EnsureRecords", "Insertion");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("fields", "*");
|
||||
Options.Insert("db", Base);
|
||||
|
||||
Check = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "GetRecords", Options);
|
||||
OPI_TestDataRetrieval.Process(Check, "SQLite", "EnsureRecords", "Insertion check");
|
||||
|
||||
RowStructure2.Insert("name" , "Vitaly Updated");
|
||||
RowStructure2.Insert("salary", 1500.50);
|
||||
|
||||
StringStructure3 = New Structure;
|
||||
StringStructure3.Insert("id" , 3);
|
||||
StringStructure3.Insert("name" , "Anton");
|
||||
StringStructure3.Insert("age" , 30);
|
||||
StringStructure3.Insert("salary", 3000.00);
|
||||
|
||||
DataArray = New Array;
|
||||
DataArray.Add(RowStructure2);
|
||||
DataArray.Add(StringStructure3);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("rows", DataArray);
|
||||
Options.Insert("unique", KeyFields);
|
||||
Options.Insert("db", Base);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "EnsureRecords", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "EnsureRecords", "Updating");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("fields", "*");
|
||||
Options.Insert("db", Base);
|
||||
|
||||
Check = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "GetRecords", Options);
|
||||
OPI_TestDataRetrieval.Process(Check, "SQLite", "EnsureRecords", "Updating check");
|
||||
|
||||
OPI_SQLite.DeleteTable(Table, Base);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure SQLite_GetRecordsFilterStructure(FunctionParameters)
|
||||
|
||||
Options = New Structure;
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "GetRecordsFilterStructure", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "GetRecordsFilterStructure");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("empty", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "GetRecordsFilterStructure", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "GetRecordsFilterStructure", "Clear");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure SQLite_DeleteTable(FunctionParameters)
|
||||
|
||||
Base = FunctionParameters["SQLite_DB"];
|
||||
Table = "test";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("db", Base);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "DeleteTable", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "DeleteTable");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("db", Base);
|
||||
|
||||
Check = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "GetTableInformation", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Check, "SQLite", "DeleteTable", "Check");
|
||||
|
||||
OPI_SQLite.DeleteTable("test1", Base);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure SQLite_ClearTable(FunctionParameters)
|
||||
|
||||
Base = FunctionParameters["SQLite_DB"];
|
||||
Table = "test";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("db", Base);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "ClearTable", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "ClearTable");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("db", Base);
|
||||
|
||||
Check = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "GetTableInformation", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Check, "SQLite", "ClearTable", "Table");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("db", Base);
|
||||
|
||||
Check = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "GetRecords", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Check, "SQLite", "ClearTable", "Check");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure SQLite_ConnectExtension(FunctionParameters)
|
||||
|
||||
If OPI_Tools.IsWindows() Then
|
||||
Extension = FunctionParameters["SQLite_Ext"]; // URL, Path or Binary Data
|
||||
Else
|
||||
Extension = FunctionParameters["SQLite_ExtLinux"]; // URL, Path or Binary Data
|
||||
EndIf;
|
||||
|
||||
Base = FunctionParameters["SQLite_DB"];
|
||||
EntryPoint = "sqlite3_uuid_init";
|
||||
|
||||
Connection = OPI_SQLite.CreateConnection(Base);
|
||||
Result = OPI_SQLite.ConnectExtension(Extension, EntryPoint, Connection);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "ConnectExtension");
|
||||
|
||||
TFN = GetTempFileName("dll");
|
||||
FileCopy(Extension, TFN);
|
||||
|
||||
Result = OPI_SQLite.ConnectExtension(TFN, EntryPoint, Connection);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "ConnectExtension", "Path");
|
||||
|
||||
Result = OPI_SQLite.ConnectExtension(New BinaryData(TFN), EntryPoint, Connection);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "ConnectExtension", "Binary");
|
||||
|
||||
Result = OPI_SQLite.CloseConnection(Connection);
|
||||
|
||||
OPI_Tools.RemoveFileWithTry(TFN, "Error deleting extension file");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure SQLite_AddTableColumn(FunctionParameters)
|
||||
|
||||
Base = FunctionParameters["SQLite_DB"];
|
||||
Table = "test";
|
||||
Name = "new_col";
|
||||
DataType = "TEXT";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("name", Name);
|
||||
Options.Insert("type", DataType);
|
||||
Options.Insert("db", Base);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "AddTableColumn", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "AddTableColumn");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("db", Base);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "GetTableInformation", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "AddTableColumn", "Check");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure SQLite_DeleteTableColumn(FunctionParameters)
|
||||
|
||||
Base = FunctionParameters["SQLite_DB"];
|
||||
Table = "test";
|
||||
Name = "new_col";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("name", Name);
|
||||
Options.Insert("db", Base);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "DeleteTableColumn", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "DeleteTableColumn");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("db", Base);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "GetTableInformation", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "DeleteTableColumn", "Check");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure SQLite_EnsureTable(FunctionParameters)
|
||||
|
||||
Base = FunctionParameters["SQLite_DB"];
|
||||
|
||||
Table = "test";
|
||||
|
||||
ColoumnsStruct = New Structure;
|
||||
ColoumnsStruct.Insert("id" , "INTEGER");
|
||||
ColoumnsStruct.Insert("code" , "INTEGER");
|
||||
ColoumnsStruct.Insert("name" , "TEXT");
|
||||
ColoumnsStruct.Insert("age" , "INTEGER");
|
||||
ColoumnsStruct.Insert("info" , "TEXT");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("cols", ColoumnsStruct);
|
||||
Options.Insert("db", Base);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "EnsureTable", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "EnsureTable");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("db", Base);
|
||||
|
||||
Check = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "GetTableInformation", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Check, "SQLite", "EnsureTable", "Check", ColoumnsStruct);
|
||||
|
||||
Table = "test_new";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("cols", ColoumnsStruct);
|
||||
Options.Insert("db", Base);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "EnsureTable", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "EnsureTable", "New");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("db", Base);
|
||||
|
||||
Check = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "GetTableInformation", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Check, "SQLite", "EnsureTable", "Check 2", ColoumnsStruct);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // SQLite
|
||||
|
||||
#EndRegion // AtomicTests
|
||||
|
||||
#EndRegion // Private
|
||||
|
||||
#Region Alternate
|
||||
|
||||
Procedure SQLL_ОсновныеМетоды() Export
|
||||
SQLL_CommonMethods();
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
+664
-4
@@ -1,3 +1,5 @@
|
||||
// OneScript: ./OInt/tests/Modules/OPItc_SSH.os
|
||||
|
||||
// MIT License
|
||||
|
||||
// Copyright (c) 2023-2026 Anton Tsitavets
|
||||
@@ -9,7 +11,7 @@
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// 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.
|
||||
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
@@ -22,6 +24,8 @@
|
||||
|
||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||
|
||||
// Test suite for YAxUnit
|
||||
|
||||
// BSLLS:Typo-off
|
||||
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
||||
// BSLLS:IncorrectLineBreak-off
|
||||
@@ -63,6 +67,662 @@
|
||||
//@skip-check missing-temporary-file-deletion
|
||||
//@skip-check module-unused-method
|
||||
|
||||
// #Use oint
|
||||
// #Use asserts
|
||||
// #Use "internal"
|
||||
//#Use "../../tools/main"
|
||||
//#Use "../../tools/http"
|
||||
//#Use "../../api"
|
||||
//#Use asserts
|
||||
//#Use "internal"
|
||||
|
||||
|
||||
// For YAxUnit
|
||||
|
||||
Procedure ИсполняемыеСценарии() Export
|
||||
|
||||
OPI_TestDataRetrieval.FormYAXTests("SSH");
|
||||
|
||||
EndProcedure
|
||||
|
||||
// For Asserts
|
||||
|
||||
Function ПолучитьСписокТестов(UnitTesting) Export
|
||||
|
||||
Return OPI_TestDataRetrieval.FormAssertsTests("SSH");
|
||||
|
||||
EndFunction
|
||||
|
||||
#Region Internal
|
||||
|
||||
#Region RunnableTests
|
||||
|
||||
#Region SSH
|
||||
|
||||
Procedure SShell_CommonMethods() Export
|
||||
|
||||
OptionArray = OPI_TestDataRetrieval.GetSSHParameterOptions();
|
||||
|
||||
For Each TestParameters In OptionArray Do
|
||||
|
||||
SSH_CreateConnection(TestParameters);
|
||||
SSH_GetConnectionConfiguration(TestParameters);
|
||||
SSH_ExecuteCommand(TestParameters);
|
||||
SSH_CloseConnection(TestParameters);
|
||||
SSH_IsConnector(TestParameters);
|
||||
SSH_GetSettingsLoginPassword(TestParameters);
|
||||
SSH_GetSettingsPrivateKey(TestParameters);
|
||||
SSH_GetSettingsViaAgent(TestParameters);
|
||||
SSH_GetSettingsKI(TestParameters);
|
||||
SSH_GetProxySettings(TestParameters);
|
||||
|
||||
EndDo;
|
||||
|
||||
OPI_Tools.RemoveFileWithTry(OptionArray[0]["SSH_Key"], "Error deleting file after test");
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // SSH
|
||||
|
||||
#EndRegion // RunnableTests
|
||||
|
||||
#EndRegion // Internal
|
||||
|
||||
#Region Private
|
||||
|
||||
#Region AtomicTests
|
||||
|
||||
#Region SSH
|
||||
|
||||
Procedure SSH_CreateConnection(FunctionParameters)
|
||||
|
||||
Postfix = FunctionParameters["Postfix"]; // SKIP
|
||||
|
||||
Host = FunctionParameters["SSH_Host"];
|
||||
Port = FunctionParameters["SSH_Port"];
|
||||
|
||||
UseProxy = True;
|
||||
ProxySettings = Undefined;
|
||||
AuthorizationType = "By login and password";
|
||||
|
||||
UseProxy = FunctionParameters["Proxy"]; // SKIP
|
||||
AuthorizationType = FunctionParameters["AuthType"]; // SKIP
|
||||
|
||||
If AuthorizationType = "By login and password" Then
|
||||
|
||||
Login = FunctionParameters["SSH_User"];
|
||||
Password = FunctionParameters["SSH_Password"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("host", Host);
|
||||
Options.Insert("port", Port);
|
||||
Options.Insert("user", Login);
|
||||
Options.Insert("pass", Password);
|
||||
|
||||
SSHSettings = OPI_TestDataRetrieval.ExecuteTestCLI("ssh", "GetSettingsLoginPassword", Options);
|
||||
|
||||
ElsIf AuthorizationType = "By key" Then
|
||||
|
||||
Login = FunctionParameters["SSH_User"];
|
||||
PrivateKey = "./ssh_key";
|
||||
PublicKey = "./ssh_key.pub";
|
||||
|
||||
PrivateKey = FunctionParameters["SSH_Key"]; // SKIP
|
||||
PublicKey = FunctionParameters["SSH_Pub"]; // SKIP
|
||||
|
||||
SSHSettings = OPI_SSH.GetSettingsPrivateKey(Host, Port, Login, PrivateKey, PublicKey);
|
||||
|
||||
ElsIf AuthorizationType = "Keyboard interactive" Then
|
||||
|
||||
Login = FunctionParameters["SSH_User"];
|
||||
Password = FunctionParameters["SSH_Password"];
|
||||
|
||||
AnswersArray = New Array;
|
||||
AnswersArray.Add(Password);
|
||||
|
||||
Port = FunctionParameters["SSH_PortKI"]; // SKIP
|
||||
|
||||
SSHSettings = OPI_SSH.GetSettingsKI(Host, Port, Login, AnswersArray);
|
||||
|
||||
Else
|
||||
|
||||
Login = FunctionParameters["SSH_User"];
|
||||
SSHSettings = OPI_SSH.GetSettingsViaAgent(Host, Port, Login);
|
||||
|
||||
EndIf;
|
||||
|
||||
If UseProxy Then
|
||||
|
||||
ProxyType = FunctionParameters["Proxy_Type"]; // http, socks5, socks4
|
||||
|
||||
ProxyAddress = FunctionParameters["Proxy_IP"];
|
||||
ProxyPort = FunctionParameters["Proxy_Port"];
|
||||
ProxyLogin = FunctionParameters["Proxy_User"];
|
||||
ProxyPassword = FunctionParameters["Proxy_Password"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("addr", ProxyAddress);
|
||||
Options.Insert("port", ProxyPort);
|
||||
Options.Insert("type", ProxyType);
|
||||
Options.Insert("login", ProxyLogin);
|
||||
Options.Insert("pass", ProxyPassword);
|
||||
|
||||
ProxySettings = OPI_TestDataRetrieval.ExecuteTestCLI("ssh", "GetProxySettings", Options);
|
||||
|
||||
EndIf;
|
||||
|
||||
Result = OPI_SSH.CreateConnection(SSHSettings, ProxySettings);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SSH", "CreateConnection", Postfix);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure SSH_ExecuteCommand(FunctionParameters)
|
||||
|
||||
Postfix = FunctionParameters["Postfix"]; // SKIP
|
||||
|
||||
Host = FunctionParameters["SSH_Host"];
|
||||
Port = FunctionParameters["SSH_Port"];
|
||||
|
||||
UseProxy = True;
|
||||
ProxySettings = Undefined;
|
||||
AuthorizationType = "By login and password";
|
||||
|
||||
UseProxy = FunctionParameters["Proxy"]; // SKIP
|
||||
AuthorizationType = FunctionParameters["AuthType"]; // SKIP
|
||||
|
||||
If AuthorizationType = "By login and password" Then
|
||||
|
||||
Login = FunctionParameters["SSH_User"];
|
||||
Password = FunctionParameters["SSH_Password"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("host", Host);
|
||||
Options.Insert("port", Port);
|
||||
Options.Insert("user", Login);
|
||||
Options.Insert("pass", Password);
|
||||
|
||||
SSHSettings = OPI_TestDataRetrieval.ExecuteTestCLI("ssh", "GetSettingsLoginPassword", Options);
|
||||
|
||||
ElsIf AuthorizationType = "By key" Then
|
||||
|
||||
Login = FunctionParameters["SSH_User"];
|
||||
PrivateKey = "./ssh_key";
|
||||
PublicKey = "./ssh_key.pub";
|
||||
|
||||
PrivateKey = FunctionParameters["SSH_Key"]; // SKIP
|
||||
PublicKey = FunctionParameters["SSH_Pub"]; // SKIP
|
||||
|
||||
SSHSettings = OPI_SSH.GetSettingsPrivateKey(Host, Port, Login, PrivateKey, PublicKey);
|
||||
|
||||
ElsIf AuthorizationType = "Keyboard interactive" Then
|
||||
|
||||
Login = FunctionParameters["SSH_User"];
|
||||
Password = FunctionParameters["SSH_Password"];
|
||||
|
||||
AnswersArray = New Array;
|
||||
AnswersArray.Add(Password);
|
||||
|
||||
Port = FunctionParameters["SSH_PortKI"]; // SKIP
|
||||
|
||||
SSHSettings = OPI_SSH.GetSettingsKI(Host, Port, Login, AnswersArray);
|
||||
|
||||
Else
|
||||
|
||||
Login = FunctionParameters["SSH_User"];
|
||||
SSHSettings = OPI_SSH.GetSettingsViaAgent(Host, Port, Login);
|
||||
|
||||
EndIf;
|
||||
|
||||
If UseProxy Then
|
||||
|
||||
ProxyType = FunctionParameters["Proxy_Type"]; // http, socks5, socks4
|
||||
|
||||
ProxyAddress = FunctionParameters["Proxy_IP"];
|
||||
ProxyPort = FunctionParameters["Proxy_Port"];
|
||||
ProxyLogin = FunctionParameters["Proxy_User"];
|
||||
ProxyPassword = FunctionParameters["Proxy_Password"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("addr", ProxyAddress);
|
||||
Options.Insert("port", ProxyPort);
|
||||
Options.Insert("type", ProxyType);
|
||||
Options.Insert("login", ProxyLogin);
|
||||
Options.Insert("pass", ProxyPassword);
|
||||
|
||||
ProxySettings = OPI_TestDataRetrieval.ExecuteTestCLI("ssh", "GetProxySettings", Options);
|
||||
|
||||
EndIf;
|
||||
|
||||
Connection = OPI_SSH.CreateConnection(SSHSettings, ProxySettings);
|
||||
|
||||
If OPI_SSH.IsConnector(Connection) Then
|
||||
Options = New Structure;
|
||||
Options.Insert("conn", Connection);
|
||||
Options.Insert("comm", "whoami");
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ssh", "ExecuteCommand", Options);
|
||||
Else
|
||||
Result = Connection; // Error of connection
|
||||
EndIf;
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SSH", "ExecuteCommand", Postfix);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure SSH_GetConnectionConfiguration(FunctionParameters)
|
||||
|
||||
Postfix = FunctionParameters["Postfix"]; // SKIP
|
||||
|
||||
Host = FunctionParameters["SSH_Host"];
|
||||
Port = FunctionParameters["SSH_Port"];
|
||||
|
||||
UseProxy = True;
|
||||
ProxySettings = Undefined;
|
||||
AuthorizationType = "By login and password";
|
||||
|
||||
UseProxy = FunctionParameters["Proxy"]; // SKIP
|
||||
AuthorizationType = FunctionParameters["AuthType"]; // SKIP
|
||||
|
||||
If AuthorizationType = "By login and password" Then
|
||||
|
||||
Login = FunctionParameters["SSH_User"];
|
||||
Password = FunctionParameters["SSH_Password"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("host", Host);
|
||||
Options.Insert("port", Port);
|
||||
Options.Insert("user", Login);
|
||||
Options.Insert("pass", Password);
|
||||
|
||||
SSHSettings = OPI_TestDataRetrieval.ExecuteTestCLI("ssh", "GetSettingsLoginPassword", Options);
|
||||
|
||||
ElsIf AuthorizationType = "By key" Then
|
||||
|
||||
Login = FunctionParameters["SSH_User"];
|
||||
PrivateKey = "./ssh_key";
|
||||
PublicKey = "./ssh_key.pub";
|
||||
|
||||
PrivateKey = FunctionParameters["SSH_Key"]; // SKIP
|
||||
PublicKey = FunctionParameters["SSH_Pub"]; // SKIP
|
||||
|
||||
SSHSettings = OPI_SSH.GetSettingsPrivateKey(Host, Port, Login, PrivateKey, PublicKey);
|
||||
|
||||
ElsIf AuthorizationType = "Keyboard interactive" Then
|
||||
|
||||
Login = FunctionParameters["SSH_User"];
|
||||
Password = FunctionParameters["SSH_Password"];
|
||||
|
||||
AnswersArray = New Array;
|
||||
AnswersArray.Add(Password);
|
||||
|
||||
Port = FunctionParameters["SSH_PortKI"]; // SKIP
|
||||
|
||||
SSHSettings = OPI_SSH.GetSettingsKI(Host, Port, Login, AnswersArray);
|
||||
|
||||
Else
|
||||
|
||||
Login = FunctionParameters["SSH_User"];
|
||||
SSHSettings = OPI_SSH.GetSettingsViaAgent(Host, Port, Login);
|
||||
|
||||
EndIf;
|
||||
|
||||
If UseProxy Then
|
||||
|
||||
ProxyType = FunctionParameters["Proxy_Type"]; // http, socks5, socks4
|
||||
|
||||
ProxyAddress = FunctionParameters["Proxy_IP"];
|
||||
ProxyPort = FunctionParameters["Proxy_Port"];
|
||||
ProxyLogin = FunctionParameters["Proxy_User"];
|
||||
ProxyPassword = FunctionParameters["Proxy_Password"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("addr", ProxyAddress);
|
||||
Options.Insert("port", ProxyPort);
|
||||
Options.Insert("type", ProxyType);
|
||||
Options.Insert("login", ProxyLogin);
|
||||
Options.Insert("pass", ProxyPassword);
|
||||
|
||||
ProxySettings = OPI_TestDataRetrieval.ExecuteTestCLI("ssh", "GetProxySettings", Options);
|
||||
|
||||
EndIf;
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("set", SSHSettings);
|
||||
Options.Insert("proxy", ProxySettings);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ssh", "GetConnectionConfiguration", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SSH", "GetConnectionConfiguration", Postfix);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("conn", Result);
|
||||
Options.Insert("comm", "whoami");
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ssh", "ExecuteCommand", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SSH", "GetConnectionConfiguration", "Check, " + Postfix);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure SSH_CloseConnection(FunctionParameters)
|
||||
|
||||
Postfix = FunctionParameters["Postfix"]; // SKIP
|
||||
|
||||
Host = FunctionParameters["SSH_Host"];
|
||||
Port = FunctionParameters["SSH_Port"];
|
||||
|
||||
UseProxy = True;
|
||||
ProxySettings = Undefined;
|
||||
AuthorizationType = "By login and password";
|
||||
|
||||
UseProxy = FunctionParameters["Proxy"]; // SKIP
|
||||
AuthorizationType = FunctionParameters["AuthType"]; // SKIP
|
||||
|
||||
If AuthorizationType = "By login and password" Then
|
||||
|
||||
Login = FunctionParameters["SSH_User"];
|
||||
Password = FunctionParameters["SSH_Password"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("host", Host);
|
||||
Options.Insert("port", Port);
|
||||
Options.Insert("user", Login);
|
||||
Options.Insert("pass", Password);
|
||||
|
||||
SSHSettings = OPI_TestDataRetrieval.ExecuteTestCLI("ssh", "GetSettingsLoginPassword", Options);
|
||||
|
||||
ElsIf AuthorizationType = "By key" Then
|
||||
|
||||
Login = FunctionParameters["SSH_User"];
|
||||
PrivateKey = "./ssh_key";
|
||||
PublicKey = "./ssh_key.pub";
|
||||
|
||||
PrivateKey = FunctionParameters["SSH_Key"]; // SKIP
|
||||
PublicKey = FunctionParameters["SSH_Pub"]; // SKIP
|
||||
|
||||
SSHSettings = OPI_SSH.GetSettingsPrivateKey(Host, Port, Login, PrivateKey, PublicKey);
|
||||
|
||||
ElsIf AuthorizationType = "Keyboard interactive" Then
|
||||
|
||||
Login = FunctionParameters["SSH_User"];
|
||||
Password = FunctionParameters["SSH_Password"];
|
||||
|
||||
AnswersArray = New Array;
|
||||
AnswersArray.Add(Password);
|
||||
|
||||
Port = FunctionParameters["SSH_PortKI"]; // SKIP
|
||||
|
||||
SSHSettings = OPI_SSH.GetSettingsKI(Host, Port, Login, AnswersArray);
|
||||
|
||||
Else
|
||||
|
||||
Login = FunctionParameters["SSH_User"];
|
||||
SSHSettings = OPI_SSH.GetSettingsViaAgent(Host, Port, Login);
|
||||
|
||||
EndIf;
|
||||
|
||||
If UseProxy Then
|
||||
|
||||
ProxyType = FunctionParameters["Proxy_Type"]; // http, socks5, socks4
|
||||
|
||||
ProxyAddress = FunctionParameters["Proxy_IP"];
|
||||
ProxyPort = FunctionParameters["Proxy_Port"];
|
||||
ProxyLogin = FunctionParameters["Proxy_User"];
|
||||
ProxyPassword = FunctionParameters["Proxy_Password"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("addr", ProxyAddress);
|
||||
Options.Insert("port", ProxyPort);
|
||||
Options.Insert("type", ProxyType);
|
||||
Options.Insert("login", ProxyLogin);
|
||||
Options.Insert("pass", ProxyPassword);
|
||||
|
||||
ProxySettings = OPI_TestDataRetrieval.ExecuteTestCLI("ssh", "GetProxySettings", Options);
|
||||
|
||||
EndIf;
|
||||
|
||||
Connection = OPI_SSH.CreateConnection(SSHSettings, ProxySettings);
|
||||
|
||||
If OPI_SSH.IsConnector(Connection) Then
|
||||
Result = OPI_SSH.CloseConnection(Connection);
|
||||
Else
|
||||
Result = Connection; // Error of connection
|
||||
EndIf;
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SSH", "CloseConnection", Postfix);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure SSH_IsConnector(FunctionParameters)
|
||||
|
||||
Postfix = FunctionParameters["Postfix"]; // SKIP
|
||||
|
||||
Host = FunctionParameters["SSH_Host"];
|
||||
Port = FunctionParameters["SSH_Port"];
|
||||
|
||||
UseProxy = True;
|
||||
ProxySettings = Undefined;
|
||||
AuthorizationType = "By login and password";
|
||||
|
||||
UseProxy = FunctionParameters["Proxy"]; // SKIP
|
||||
AuthorizationType = FunctionParameters["AuthType"]; // SKIP
|
||||
|
||||
If AuthorizationType = "By login and password" Then
|
||||
|
||||
Login = FunctionParameters["SSH_User"];
|
||||
Password = FunctionParameters["SSH_Password"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("host", Host);
|
||||
Options.Insert("port", Port);
|
||||
Options.Insert("user", Login);
|
||||
Options.Insert("pass", Password);
|
||||
|
||||
SSHSettings = OPI_TestDataRetrieval.ExecuteTestCLI("ssh", "GetSettingsLoginPassword", Options);
|
||||
|
||||
ElsIf AuthorizationType = "By key" Then
|
||||
|
||||
Login = FunctionParameters["SSH_User"];
|
||||
PrivateKey = "./ssh_key";
|
||||
PublicKey = "./ssh_key.pub";
|
||||
|
||||
PrivateKey = FunctionParameters["SSH_Key"]; // SKIP
|
||||
PublicKey = FunctionParameters["SSH_Pub"]; // SKIP
|
||||
|
||||
SSHSettings = OPI_SSH.GetSettingsPrivateKey(Host, Port, Login, PrivateKey, PublicKey);
|
||||
|
||||
ElsIf AuthorizationType = "Keyboard interactive" Then
|
||||
|
||||
Login = FunctionParameters["SSH_User"];
|
||||
Password = FunctionParameters["SSH_Password"];
|
||||
|
||||
AnswersArray = New Array;
|
||||
AnswersArray.Add(Password);
|
||||
|
||||
Port = 2223; // SKIP
|
||||
|
||||
SSHSettings = OPI_SSH.GetSettingsKI(Host, Port, Login, AnswersArray);
|
||||
|
||||
Else
|
||||
|
||||
Login = FunctionParameters["SSH_User"];
|
||||
SSHSettings = OPI_SSH.GetSettingsViaAgent(Host, Port, Login);
|
||||
|
||||
EndIf;
|
||||
|
||||
If UseProxy Then
|
||||
|
||||
ProxyType = FunctionParameters["Proxy_Type"]; // http, socks5, socks4
|
||||
|
||||
ProxyAddress = FunctionParameters["Proxy_IP"];
|
||||
ProxyPort = FunctionParameters["Proxy_Port"];
|
||||
ProxyLogin = FunctionParameters["Proxy_User"];
|
||||
ProxyPassword = FunctionParameters["Proxy_Password"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("addr", ProxyAddress);
|
||||
Options.Insert("port", ProxyPort);
|
||||
Options.Insert("type", ProxyType);
|
||||
Options.Insert("login", ProxyLogin);
|
||||
Options.Insert("pass", ProxyPassword);
|
||||
|
||||
ProxySettings = OPI_TestDataRetrieval.ExecuteTestCLI("ssh", "GetProxySettings", Options);
|
||||
|
||||
EndIf;
|
||||
|
||||
Connection = OPI_SSH.CreateConnection(SSHSettings, ProxySettings);
|
||||
Result = OPI_SSH.IsConnector(Connection);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SSH", "IsConnector", Postfix);
|
||||
|
||||
Result = OPI_SSH.IsConnector("a");
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SSH", "IsConnector", "Error, " + Postfix);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure SSH_GetSettingsLoginPassword(FunctionParameters)
|
||||
|
||||
Postfix = FunctionParameters["Postfix"]; // SKIP
|
||||
|
||||
Host = FunctionParameters["SSH_Host"];
|
||||
Port = FunctionParameters["SSH_Port"];
|
||||
Login = FunctionParameters["SSH_User"];
|
||||
Password = FunctionParameters["SSH_Password"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("host", Host);
|
||||
Options.Insert("port", Port);
|
||||
Options.Insert("user", Login);
|
||||
Options.Insert("pass", Password);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ssh", "GetSettingsLoginPassword", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SSH", "GetSettingsLoginPassword", Postfix);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure SSH_GetSettingsPrivateKey(FunctionParameters)
|
||||
|
||||
Postfix = FunctionParameters["Postfix"]; // SKIP
|
||||
|
||||
Host = FunctionParameters["SSH_Host"];
|
||||
Port = FunctionParameters["SSH_Port"];
|
||||
Login = FunctionParameters["SSH_User"];
|
||||
PrivateKey = "./ssh_key";
|
||||
PublicKey = "./ssh_key.pub";
|
||||
|
||||
PrivateKey = FunctionParameters["SSH_Key"]; // SKIP
|
||||
PublicKey = FunctionParameters["SSH_Pub"]; // SKIP
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("host", Host);
|
||||
Options.Insert("port", Port);
|
||||
Options.Insert("user", Login);
|
||||
Options.Insert("key", PrivateKey);
|
||||
Options.Insert("pub", PublicKey);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ssh", "GetSettingsPrivateKey", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SSH", "GetSettingsPrivateKey", Postfix);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure SSH_GetSettingsViaAgent(FunctionParameters)
|
||||
|
||||
Postfix = FunctionParameters["Postfix"]; // SKIP
|
||||
|
||||
Host = FunctionParameters["SSH_Host"];
|
||||
Port = FunctionParameters["SSH_Port"];
|
||||
Login = FunctionParameters["SSH_User"];
|
||||
Options = New Structure;
|
||||
Options.Insert("host", Host);
|
||||
Options.Insert("port", Port);
|
||||
Options.Insert("user", Login);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ssh", "GetSettingsViaAgent", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SSH", "GetSettingsViaAgent", Postfix);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure SSH_GetSettingsKI(FunctionParameters)
|
||||
|
||||
Postfix = FunctionParameters["Postfix"]; // SKIP
|
||||
|
||||
Host = FunctionParameters["SSH_Host"];
|
||||
Port = FunctionParameters["SSH_Port"];
|
||||
Login = FunctionParameters["SSH_User"];
|
||||
Password = FunctionParameters["SSH_Password"];
|
||||
|
||||
AnswersArray = New Array;
|
||||
AnswersArray.Add("yes");
|
||||
AnswersArray.Add(Password);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("host", Host);
|
||||
Options.Insert("port", Port);
|
||||
Options.Insert("user", Login);
|
||||
Options.Insert("prompts", AnswersArray);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ssh", "GetSettingsKI", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SSH", "GetSettingsKI", Postfix);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure SSH_GetProxySettings(FunctionParameters)
|
||||
|
||||
Postfix = FunctionParameters["Postfix"]; // SKIP
|
||||
|
||||
ProxyType = FunctionParameters["Proxy_Type"]; // http, socks5, socks4
|
||||
|
||||
ProxyAddress = FunctionParameters["Proxy_IP"];
|
||||
ProxyPort = FunctionParameters["Proxy_Port"];
|
||||
ProxyLogin = FunctionParameters["Proxy_User"];
|
||||
ProxyPassword = FunctionParameters["Proxy_Password"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("addr", ProxyAddress);
|
||||
Options.Insert("port", ProxyPort);
|
||||
Options.Insert("type", ProxyType);
|
||||
Options.Insert("login", ProxyLogin);
|
||||
Options.Insert("pass", ProxyPassword);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ssh", "GetProxySettings", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SSH", "GetProxySettings", Postfix);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // SSH
|
||||
|
||||
#EndRegion // AtomicTests
|
||||
|
||||
#EndRegion // Private
|
||||
|
||||
#Region Alternate
|
||||
|
||||
Procedure SShell_ОсновныеМетоды() Export
|
||||
SShell_CommonMethods();
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
+920
-4
@@ -1,3 +1,5 @@
|
||||
// OneScript: ./OInt/tests/Modules/OPItc_Slack.os
|
||||
|
||||
// MIT License
|
||||
|
||||
// Copyright (c) 2023-2026 Anton Tsitavets
|
||||
@@ -9,7 +11,7 @@
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// 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.
|
||||
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
@@ -22,6 +24,8 @@
|
||||
|
||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||
|
||||
// Test suite for YAxUnit
|
||||
|
||||
// BSLLS:Typo-off
|
||||
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
||||
// BSLLS:IncorrectLineBreak-off
|
||||
@@ -63,6 +67,918 @@
|
||||
//@skip-check missing-temporary-file-deletion
|
||||
//@skip-check module-unused-method
|
||||
|
||||
// #Use oint
|
||||
// #Use asserts
|
||||
// #Use "internal"
|
||||
//#Use "../../tools/main"
|
||||
//#Use "../../tools/http"
|
||||
//#Use "../../api"
|
||||
//#Use asserts
|
||||
//#Use "internal"
|
||||
|
||||
|
||||
// For YAxUnit
|
||||
|
||||
Procedure ИсполняемыеСценарии() Export
|
||||
|
||||
OPI_TestDataRetrieval.FormYAXTests("Slack");
|
||||
|
||||
EndProcedure
|
||||
|
||||
// For Asserts
|
||||
|
||||
Function ПолучитьСписокТестов(UnitTesting) Export
|
||||
|
||||
Return OPI_TestDataRetrieval.FormAssertsTests("Slack");
|
||||
|
||||
EndFunction
|
||||
|
||||
#Region Internal
|
||||
|
||||
#Region RunnableTests
|
||||
|
||||
#Region Slack
|
||||
|
||||
Procedure SlackGetData() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Slack_Token", TestParameters);
|
||||
|
||||
Slack_GetBotInformation(TestParameters);
|
||||
Slack_GetUserList(TestParameters);
|
||||
Slack_GetWorkspaceList(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_SendDeleteMessage() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Slack_Token" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Slack_Channel", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Picture" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Slack_User" , TestParameters);
|
||||
|
||||
Slack_SendMessage(TestParameters);
|
||||
Slack_EditMessage(TestParameters);
|
||||
Slack_GetMessageReplyList(TestParameters);
|
||||
Slack_GetMessageLink(TestParameters);
|
||||
Slack_DeleteMessage(TestParameters);
|
||||
Slack_SendEphemeralMessage(TestParameters);
|
||||
Slack_GetDelayedMessageList(TestParameters);
|
||||
Slack_GenerateImageBlock(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_CreateArchiveChannel() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Slack_Token", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Slack_User" , TestParameters);
|
||||
|
||||
Slack_CreateChannel(TestParameters);
|
||||
Slack_SetChannelTopic(TestParameters);
|
||||
Slack_SetChannelGoal(TestParameters);
|
||||
Slack_GetChannel(TestParameters);
|
||||
Slack_InviteUsersToChannel(TestParameters);
|
||||
Slack_KickUserFromChannel(TestParameters);
|
||||
Slack_GetChannelHistory(TestParameters);
|
||||
Slack_GetChannelUserList(TestParameters);
|
||||
Slack_LeaveChannel(TestParameters);
|
||||
Slack_JoinChannel(TestParameters);
|
||||
Slack_RenameChannel(TestParameters);
|
||||
Slack_ArchiveChannel(TestParameters);
|
||||
Slack_GetChannelList(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_OpenCloseDialog() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Slack_Token", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Slack_User" , TestParameters);
|
||||
|
||||
Slack_OpenDialog(TestParameters);
|
||||
Slack_CloseDialog(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_UploadDeleteFile() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Slack_Token" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Slack_Channel", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Document" , TestParameters);
|
||||
|
||||
Slack_GetFilesList(TestParameters);
|
||||
Slack_UploadFile(TestParameters);
|
||||
Slack_MakeFilePublic(TestParameters);
|
||||
Slack_MakeFilePrivate(TestParameters);
|
||||
Slack_GetFileData(TestParameters);
|
||||
Slack_DeleteFile(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_UploadDeleteExternalFile() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Slack_Token" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Slack_Channel", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Document" , TestParameters);
|
||||
|
||||
Slack_GetExternalFileList(TestParameters);
|
||||
Slack_AddExternalFile(TestParameters);
|
||||
Slack_GetExternalFile(TestParameters);
|
||||
Slack_SendExternalFile(TestParameters);
|
||||
Slack_DeleteExternalFile(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // Slack
|
||||
|
||||
#EndRegion // RunnableTests
|
||||
|
||||
#EndRegion // Internal
|
||||
|
||||
#Region Private
|
||||
|
||||
#Region AtomicTests
|
||||
|
||||
#Region Slack
|
||||
|
||||
Procedure Slack_GetBotInformation(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "GetBotInformation", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "GetBotInformation");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_GetUserList(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "GetUserList", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "GetUserList");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_GetWorkspaceList(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "GetWorkspaceList", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "GetWorkspaceList");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_SendMessage(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
Channel = FunctionParameters["Slack_Channel"];
|
||||
|
||||
// Text
|
||||
|
||||
Text = "TestMessage1";
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("channel", Channel);
|
||||
Options.Insert("text", Text);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "SendMessage", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "SendMessage", , FunctionParameters, Text, Channel); // SKIP
|
||||
|
||||
// With attachments (picture block in the example)
|
||||
|
||||
Text = "Message with picture";
|
||||
Image = FunctionParameters["Picture"];
|
||||
BlockArray = New Array;
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("picture", Image);
|
||||
Options.Insert("alt", "Image");
|
||||
|
||||
Block = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "GenerateImageBlock", Options);
|
||||
BlockArray.Add(Block);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("channel", Channel);
|
||||
Options.Insert("text", Text);
|
||||
Options.Insert("blocks", BlockArray);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "SendMessage", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "SendMessage", "Image", FunctionParameters, Text, Channel); // SKIP
|
||||
|
||||
// Sheduled
|
||||
|
||||
Text = "Sheduled message";
|
||||
Hour = 3600;
|
||||
Day = 24;
|
||||
|
||||
SendingDate = OPI_Tools.GetCurrentDate() + (Day * Hour);
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("channel", Channel);
|
||||
Options.Insert("text", Text);
|
||||
Options.Insert("date", SendingDate);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "SendMessage", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "SendMessage", "Sheduled", FunctionParameters, Text, Channel);
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
Timestamp = Result["scheduled_message_id"];
|
||||
|
||||
OPI_Slack.DeleteMessage(Token, Channel, Timestamp, True);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_GenerateImageBlock(FunctionParameters)
|
||||
|
||||
Image = FunctionParameters["Picture"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("picture", Image);
|
||||
Options.Insert("alt", "Image");
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "GenerateImageBlock", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "GenerateImageBlock");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_EditMessage(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
Channel = FunctionParameters["Slack_Channel"];
|
||||
Timestamp = FunctionParameters["Slack_MessageTS"];
|
||||
|
||||
Text = "TestMessage2";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("channel", Channel);
|
||||
Options.Insert("stamp", Timestamp);
|
||||
Options.Insert("text", Text);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "EditMessage", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "EditMessage", , Text, Channel);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_GetMessageReplyList(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
Channel = FunctionParameters["Slack_Channel"];
|
||||
Timestamp = FunctionParameters["Slack_MessageTS"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("channel", Channel);
|
||||
Options.Insert("stamp", Timestamp);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "GetMessageReplyList", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "GetMessageReplyList");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_GetMessageLink(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
Channel = FunctionParameters["Slack_Channel"];
|
||||
Timestamp = FunctionParameters["Slack_MessageTS"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("channel", Channel);
|
||||
Options.Insert("stamp", Timestamp);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "GetMessageLink", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "GetMessageLink", , Channel);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_DeleteMessage(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
Channel = FunctionParameters["Slack_Channel"];
|
||||
Timestamp = FunctionParameters["Slack_MessageTS"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("channel", Channel);
|
||||
Options.Insert("stamp", Timestamp);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "DeleteMessage", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "DeleteMessage");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_SendEphemeralMessage(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
Channel = FunctionParameters["Slack_Channel"];
|
||||
User = FunctionParameters["Slack_User"];
|
||||
Image = FunctionParameters["Picture"];
|
||||
Text = "Ephemeral message";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("picture", Image);
|
||||
Options.Insert("alt", "Image");
|
||||
|
||||
Block = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "GenerateImageBlock", Options);
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("channel", Channel);
|
||||
Options.Insert("text", Text);
|
||||
Options.Insert("user", User);
|
||||
Options.Insert("blocks", Block);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "SendEphemeralMessage", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "SendEphemeralMessage");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_GetDelayedMessageList(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
Channel = FunctionParameters["Slack_Channel"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("channel", Channel);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "GetDelayedMessageList", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "GetDelayedMessageList");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_CreateChannel(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
Name = "testconv" + String(New UUID);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("title", Name);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "CreateChannel", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "CreateChannel", , FunctionParameters, Name);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_SetChannelTopic(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
Channel = FunctionParameters["Slack_NewChannel"];
|
||||
Topic = "TestTopic";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("channel", Channel);
|
||||
Options.Insert("theme", Topic);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "SetChannelTopic", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "SetChannelTopic", , Topic);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_SetChannelGoal(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
Channel = FunctionParameters["Slack_NewChannel"];
|
||||
Purpose = "TestGoal";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("channel", Channel);
|
||||
Options.Insert("purpose", Purpose);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "SetChannelGoal", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "SetChannelGoal");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_GetChannel(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
Channel = FunctionParameters["Slack_NewChannel"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("channel", Channel);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "GetChannel", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "GetChannel", , FunctionParameters["Slack_NewChannelName"]);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_InviteUsersToChannel(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
Channel = FunctionParameters["Slack_NewChannel"];
|
||||
User = FunctionParameters["Slack_User"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("channel", Channel);
|
||||
Options.Insert("users", User);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "InviteUsersToChannel", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "InviteUsersToChannel", , FunctionParameters["Slack_NewChannelName"]);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_KickUserFromChannel(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
Channel = FunctionParameters["Slack_NewChannel"];
|
||||
User = FunctionParameters["Slack_User"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("channel", Channel);
|
||||
Options.Insert("user", User);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "KickUserFromChannel", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "KickUserFromChannel");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_GetChannelHistory(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
Channel = FunctionParameters["Slack_NewChannel"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("channel", Channel);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "GetChannelHistory", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "GetChannelHistory");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_GetChannelUserList(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
Channel = FunctionParameters["Slack_NewChannel"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("channel", Channel);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "GetChannelUserList", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "GetChannelUserList");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_LeaveChannel(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
Channel = FunctionParameters["Slack_NewChannel"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("channel", Channel);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "LeaveChannel", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "LeaveChannel");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_JoinChannel(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
Channel = FunctionParameters["Slack_NewChannel"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("channel", Channel);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "JoinChannel", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "JoinChannel", , FunctionParameters["Slack_NewChannelName"]);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_RenameChannel(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
Channel = FunctionParameters["Slack_NewChannel"];
|
||||
Name = "testconv" + String(New UUID);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("channel", Channel);
|
||||
Options.Insert("title", Name);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "RenameChannel", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "RenameChannel", , Name);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_ArchiveChannel(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
Channel = FunctionParameters["Slack_NewChannel"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("channel", Channel);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "ArchiveChannel", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "ArchiveChannel");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_GetChannelList(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "GetChannelList", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "GetChannelList");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_OpenDialog(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
User = FunctionParameters["Slack_User"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("users", User);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "OpenDialog", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "OpenDialog", , FunctionParameters);
|
||||
|
||||
Channel = Result["channel"]["id"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("channel", Channel);
|
||||
Options.Insert("text", "Test dialog");
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "SendMessage", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "OpenDialog", "Message", FunctionParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_CloseDialog(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
Dialog = FunctionParameters["Slack_Dialog"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("conv", Dialog);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "CloseDialog", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "CloseDialog");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_GetFilesList(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
Channel = FunctionParameters["Slack_Channel"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("channel", Channel);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "GetFilesList", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "GetFilesList");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "GetFilesList", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "GetFilesList", "All");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_UploadFile(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
Channel = FunctionParameters["Slack_Channel"];
|
||||
File = FunctionParameters["Document"]; // URL, Binary Data or File path
|
||||
|
||||
FileName = "megadoc.docx";
|
||||
Title = "NewFile";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("file", File);
|
||||
Options.Insert("filename", FileName);
|
||||
Options.Insert("title", Title);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "UploadFile", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "UploadFile", , FunctionParameters, FileName); // SKIP
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "MakeFilePublic"); // SKIP
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "MakeFilePrivate"); // SKIP
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("file", File);
|
||||
Options.Insert("filename", FileName);
|
||||
Options.Insert("title", Title);
|
||||
Options.Insert("channel", Channel);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "UploadFile", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "UploadFile", "Channel", FunctionParameters, FileName);
|
||||
OPI_Slack.DeleteFile(FunctionParameters["Slack_Token"], Result["files"][0]["id"]);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_MakeFilePublic(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
FileID = FunctionParameters["Slack_FileID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("fileid", FileID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "MakeFilePublic", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "MakeFilePublic", "No record");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_MakeFilePrivate(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
FileID = FunctionParameters["Slack_FileID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("fileid", FileID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "MakeFilePrivate", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "MakeFilePrivate", "No record");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_GetFileData(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
FileID = FunctionParameters["Slack_FileID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("fileid", FileID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "GetFileData", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "GetFileData", , "megadoc.docx");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_DeleteFile(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
FileID = FunctionParameters["Slack_FileID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("fileid", FileID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "DeleteFile", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "DeleteFile");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_GetExternalFileList(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
Channel = FunctionParameters["Slack_Channel"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("channel", Channel);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "GetExternalFileList", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "GetExternalFileList");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "GetExternalFileList", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "GetExternalFileList", "All");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_AddExternalFile(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
Title = "NewFile";
|
||||
File = FunctionParameters["Document"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("url", File);
|
||||
Options.Insert("title", Title);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "AddExternalFile", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "AddExternalFile", , FunctionParameters, Title);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_GetExternalFile(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
FileID = FunctionParameters["Slack_ExtFileID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("fileid", FileID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "GetExternalFile", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "GetExternalFile");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_SendExternalFile(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
Channel = FunctionParameters["Slack_Channel"];
|
||||
FileID = FunctionParameters["Slack_ExtFileID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("fileid", FileID);
|
||||
Options.Insert("channels", Channel);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "SendExternalFile", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "SendExternalFile");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_DeleteExternalFile(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
FileID = FunctionParameters["Slack_ExtFileID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("fileid", FileID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "DeleteExternalFile", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "DeleteExternalFile");
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // Slack
|
||||
|
||||
#EndRegion // AtomicTests
|
||||
|
||||
#EndRegion // Private
|
||||
|
||||
#Region Alternate
|
||||
|
||||
Procedure Слак_ПолучитьИнформацию() Export
|
||||
SlackGetData();
|
||||
EndProcedure
|
||||
|
||||
Procedure Слак_ОтправитьУдалитьСообщение() Export
|
||||
Slack_SendDeleteMessage();
|
||||
EndProcedure
|
||||
|
||||
Procedure Слак_СоздатьАрхивироватьКанал() Export
|
||||
Slack_CreateArchiveChannel();
|
||||
EndProcedure
|
||||
|
||||
Procedure Слак_ОткрытьЗакрытьДиалог() Export
|
||||
Slack_OpenCloseDialog();
|
||||
EndProcedure
|
||||
|
||||
Procedure Слак_ЗагрузитьУдалитьФайл() Export
|
||||
Slack_UploadDeleteFile();
|
||||
EndProcedure
|
||||
|
||||
Procedure Слак_ЗагрузитьУдалитьВФ() Export
|
||||
Slack_UploadDeleteExternalFile();
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
+775
-4
@@ -1,3 +1,5 @@
|
||||
// OneScript: ./OInt/tests/Modules/OPItc_TCP.os
|
||||
|
||||
// MIT License
|
||||
|
||||
// Copyright (c) 2023-2026 Anton Tsitavets
|
||||
@@ -9,7 +11,7 @@
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// 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.
|
||||
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
@@ -22,6 +24,8 @@
|
||||
|
||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||
|
||||
// Test suite for YAxUnit
|
||||
|
||||
// BSLLS:Typo-off
|
||||
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
||||
// BSLLS:IncorrectLineBreak-off
|
||||
@@ -63,6 +67,773 @@
|
||||
//@skip-check missing-temporary-file-deletion
|
||||
//@skip-check module-unused-method
|
||||
|
||||
// #Use oint
|
||||
// #Use asserts
|
||||
// #Use "internal"
|
||||
//#Use "../../tools/main"
|
||||
//#Use "../../tools/http"
|
||||
//#Use "../../api"
|
||||
//#Use asserts
|
||||
//#Use "internal"
|
||||
|
||||
|
||||
// For YAxUnit
|
||||
|
||||
Procedure ИсполняемыеСценарии() Export
|
||||
|
||||
OPI_TestDataRetrieval.FormYAXTests("TCP");
|
||||
|
||||
EndProcedure
|
||||
|
||||
// For Asserts
|
||||
|
||||
Function ПолучитьСписокТестов(UnitTesting) Export
|
||||
|
||||
Return OPI_TestDataRetrieval.FormAssertsTests("TCP");
|
||||
|
||||
EndFunction
|
||||
|
||||
#Region Internal
|
||||
|
||||
#Region RunnableTests
|
||||
|
||||
#Region TCP
|
||||
|
||||
Procedure TC_Client() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("TCP_Address" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("TCP_AddressTLS", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Proxy_User" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Proxy_Password", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Socks5_IP" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Socks5_Port" , TestParameters);
|
||||
|
||||
TCP_CreateConnection(TestParameters);
|
||||
TCP_CloseConnection(TestParameters);
|
||||
TCP_ReadBinaryData(TestParameters);
|
||||
TCP_SendBinaryData(TestParameters);
|
||||
TCP_ReadLine(TestParameters);
|
||||
TCP_SendLine(TestParameters);
|
||||
TCP_ProcessRequest(TestParameters);
|
||||
TCP_GetTLSSettings(TestParameters);
|
||||
TCP_GetLastError(TestParameters);
|
||||
TCP_GetProxySettings(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure TC_Server() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
|
||||
TCP_StartServer(TestParameters);
|
||||
TCP_StopServer(TestParameters);
|
||||
TCP_GetNextConnectionData(TestParameters);
|
||||
TCP_GetConnectionData(TestParameters);
|
||||
TCP_SendData(TestParameters);
|
||||
TCP_CloseIncomingConnection(TestParameters);
|
||||
TCP_CompleteSend(TestParameters);
|
||||
TCP_FinishReceiving(TestParameters);
|
||||
TCP_GetConnectionList(TestParameters);
|
||||
TCP_IsServerObject(TestParameters);
|
||||
TCP_GetLog(TestParameters);
|
||||
TCP_GetLoggingSettings(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // TCP
|
||||
|
||||
#EndRegion // RunnableTests
|
||||
|
||||
#EndRegion // Internal
|
||||
|
||||
#Region Private
|
||||
|
||||
#Region AtomicTests
|
||||
|
||||
#Region TCP
|
||||
|
||||
Procedure TCP_CreateConnection(FunctionParameters)
|
||||
|
||||
Address = FunctionParameters["TCP_Address"];
|
||||
Connection = OPI_TCP.CreateConnection(Address);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Connection, "TCP", "CreateConnection"); // SKIP
|
||||
|
||||
OPI_TCP.CloseConnection(Connection);
|
||||
|
||||
Address = "tcpbin.com:4243";
|
||||
Options = New Structure;
|
||||
Options.Insert("trust", Истина);
|
||||
|
||||
Tls = OPI_TestDataRetrieval.ExecuteTestCLI("tcp", "GetTLSSettings", Options);
|
||||
|
||||
ProxtUser = FunctionParameters["Proxy_User"];
|
||||
ProxyPassword = FunctionParameters["Proxy_Password"];
|
||||
ProxyAddress = FunctionParameters["Socks5_IP"];
|
||||
ProxyPort = FunctionParameters["Socks5_Port"];
|
||||
|
||||
ProxyAddress = ?(ProxyAddress = "127.0.0.1", OPI_TestDataRetrieval.GetLocalhost(), ProxyAddress); // SKIP
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("addr", ProxyAddress);
|
||||
Options.Insert("port", ProxyPort);
|
||||
Options.Insert("type", "socks5");
|
||||
Options.Insert("login", ProxtUser);
|
||||
Options.Insert("pass", ProxyPassword);
|
||||
|
||||
Proxy = OPI_TestDataRetrieval.ExecuteTestCLI("tcp", "GetProxySettings", Options);
|
||||
Options = New Structure;
|
||||
Options.Insert("trust", Истина);
|
||||
|
||||
Tls = OPI_TestDataRetrieval.ExecuteTestCLI("tcp", "GetTLSSettings", Options);
|
||||
|
||||
Connection = OPI_TCP.CreateConnection(Address, TLS, Proxy);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Connection, "TCP", "CreateConnection", "TLS");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure TCP_CloseConnection(FunctionParameters)
|
||||
|
||||
Address = FunctionParameters["TCP_Address"];
|
||||
Connection = OPI_TCP.CreateConnection(Address);
|
||||
|
||||
Result = OPI_TCP.CloseConnection(Connection);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "TCP", "CloseConnection");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure TCP_ReadBinaryData(FunctionParameters)
|
||||
|
||||
Address = FunctionParameters["TCP_Address"];
|
||||
Connection = OPI_TCP.CreateConnection(Address);
|
||||
Message = "Hello server!" + Chars.LF;
|
||||
Data = GetBinaryDataFromString(Message);
|
||||
|
||||
OPI_TCP.SendBinaryData(Connection, Data);
|
||||
|
||||
// End of message marker to avoid waiting for the end of timeout
|
||||
Marker = Chars.LF;
|
||||
Result = OPI_TCP.ReadBinaryData(Connection, , Marker);
|
||||
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
OPI_TCP.CloseConnection(Connection);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "TCP", "ReadBinaryData", , Message);
|
||||
|
||||
Connection = OPI_TCP.CreateConnection(Address);
|
||||
|
||||
OPI_TCP.SendBinaryData(Connection, Data);
|
||||
Result = OPI_TCP.ReadBinaryData(Connection, , , 50000);
|
||||
|
||||
OPI_TCP.CloseConnection(Connection);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "TCP", "ReadBinaryData", "Timeout", Message);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure TCP_SendBinaryData(FunctionParameters)
|
||||
|
||||
Address = FunctionParameters["TCP_Address"];
|
||||
Connection = OPI_TCP.CreateConnection(Address);
|
||||
Message = "Hello server!" + Chars.LF;
|
||||
Data = GetBinaryDataFromString(Message);
|
||||
|
||||
Result = OPI_TCP.SendBinaryData(Connection, Data);
|
||||
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
// End of message marker to avoid waiting for the end of timeout
|
||||
Marker = Chars.LF;
|
||||
Response = OPI_TCP.ReadBinaryData(Connection, , Marker);
|
||||
|
||||
OPI_TCP.CloseConnection(Connection);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Response, "TCP", "SendBinaryData", , Message);
|
||||
|
||||
Connection = OPI_TCP.CreateConnection(Address);
|
||||
|
||||
OPI_TCP.SendBinaryData(Connection, Data);
|
||||
Result = OPI_TCP.ReadBinaryData(Connection, , , 50000);
|
||||
|
||||
OPI_TCP.CloseConnection(Connection);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "TCP", "SendBinaryData", "Timeout", Message);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure TCP_ProcessRequest(FunctionParameters)
|
||||
|
||||
Address = FunctionParameters["TCP_Address"];
|
||||
Data = "Echo this!" + Chars.LF;
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("address", Address);
|
||||
Options.Insert("data", Data);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("tcp", "ProcessRequest", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "TCP", "ProcessRequest", , "Echo this!" + Chars.LF); // SKIP
|
||||
|
||||
Address = FunctionParameters["TCP_AddressTLS"];
|
||||
|
||||
ProxtUser = FunctionParameters["Proxy_User"];
|
||||
ProxyPassword = FunctionParameters["Proxy_Password"];
|
||||
ProxyAddress = FunctionParameters["Socks5_IP"];
|
||||
ProxyPort = FunctionParameters["Socks5_Port"];
|
||||
|
||||
ProxyAddress = ?(ProxyAddress = "127.0.0.1", OPI_TestDataRetrieval.GetLocalhost(), ProxyAddress); // SKIP
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("addr", ProxyAddress);
|
||||
Options.Insert("port", ProxyPort);
|
||||
Options.Insert("type", "socks5");
|
||||
Options.Insert("login", ProxtUser);
|
||||
Options.Insert("pass", ProxyPassword);
|
||||
|
||||
Proxy = OPI_TestDataRetrieval.ExecuteTestCLI("tcp", "GetProxySettings", Options);
|
||||
Options = New Structure;
|
||||
Options.Insert("trust", Истина);
|
||||
|
||||
Tls = OPI_TestDataRetrieval.ExecuteTestCLI("tcp", "GetTLSSettings", Options);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("address", Address);
|
||||
Options.Insert("data", Data);
|
||||
Options.Insert("tls", Tls);
|
||||
Options.Insert("proxy", Proxy);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("tcp", "ProcessRequest", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "TCP", "ProcessRequest", "TLS", "Echo this!" + Chars.LF);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure TCP_ReadLine(FunctionParameters)
|
||||
|
||||
Address = FunctionParameters["TCP_Address"];
|
||||
Connection = OPI_TCP.CreateConnection(Address);
|
||||
Data = "Hello server!" + Chars.LF;
|
||||
|
||||
OPI_TCP.SendLine(Connection, Data);
|
||||
|
||||
// End of message marker to avoid waiting for the end of timeout
|
||||
Marker = Chars.LF;
|
||||
Result = OPI_TCP.ReadLine(Connection, , Marker);
|
||||
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
OPI_TCP.CloseConnection(Connection);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "TCP", "ReadLine", , Data);
|
||||
|
||||
Connection = OPI_TCP.CreateConnection(Address);
|
||||
|
||||
OPI_TCP.SendLine(Connection, Data);
|
||||
Result = OPI_TCP.ReadLine(Connection, , , 50000);
|
||||
|
||||
OPI_TCP.CloseConnection(Connection);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "TCP", "ReadLine", "Timeout", Data);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure TCP_SendLine(FunctionParameters)
|
||||
|
||||
Address = FunctionParameters["TCP_Address"];
|
||||
Connection = OPI_TCP.CreateConnection(Address);
|
||||
Data = "Hello server!" + Chars.LF;
|
||||
|
||||
Result = OPI_TCP.SendLine(Connection, Data);
|
||||
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
// End of message marker to avoid waiting for the end of timeout
|
||||
Marker = Chars.LF;
|
||||
Response = OPI_TCP.ReadLine(Connection, , Marker);
|
||||
|
||||
OPI_TCP.CloseConnection(Connection);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Response, "TCP", "SendLine", , Data);
|
||||
|
||||
Connection = OPI_TCP.CreateConnection(Address);
|
||||
|
||||
OPI_TCP.SendLine(Connection, Data);
|
||||
Result = OPI_TCP.ReadLine(Connection, , , 50000);
|
||||
|
||||
OPI_TCP.CloseConnection(Connection);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "TCP", "SendLine", "Timeout", Data);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure TCP_GetTLSSettings(FunctionParameters)
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("trust", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("tcp", "GetTLSSettings", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "TCP", "GetTLSSettings");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure TCP_GetLastError(FunctionParameters)
|
||||
|
||||
Address = FunctionParameters["TCP_Address"];
|
||||
Connection = OPI_TCP.CreateConnection(Address);
|
||||
Data = "Hello server!" + Chars.LF;
|
||||
|
||||
Sending = OPI_TCP.SendLine(Connection, Data);
|
||||
Result = OPI_TCP.GetLastError(Connection); // SKIP
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "TCP", "GetLastError");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure TCP_GetProxySettings(FunctionParameters)
|
||||
|
||||
ProxyType = "socks5"; // http, socks5, socks4
|
||||
|
||||
ProxyAddress = FunctionParameters["Socks5_IP"];
|
||||
ProxyPort = FunctionParameters["Socks5_Port"];
|
||||
ProxyLogin = FunctionParameters["Proxy_User"];
|
||||
ProxyPassword = FunctionParameters["Proxy_Password"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("addr", ProxyAddress);
|
||||
Options.Insert("port", ProxyPort);
|
||||
Options.Insert("type", ProxyType);
|
||||
Options.Insert("login", ProxyLogin);
|
||||
Options.Insert("pass", ProxyPassword);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("tcp", "GetProxySettings", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "TCP", "GetProxySettings");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure TCP_StartServer(FunctionParameters)
|
||||
|
||||
Port = 9876;
|
||||
PoolSize = 10;
|
||||
|
||||
Host = OPI_TCP.StartServer(Port, PoolSize);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Host, "TCP", "StartServer");
|
||||
|
||||
OPI_TCP.StopServer(Host);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure TCP_StopServer(FunctionParameters)
|
||||
|
||||
Port = 9877;
|
||||
Host = OPI_TCP.StartServer(Port);
|
||||
|
||||
Result = OPI_TCP.StopServer(Host);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "TCP", "StopServer");
|
||||
|
||||
ListResult = OPI_TCP.GetConnectionList(Host);
|
||||
|
||||
OPI_TestDataRetrieval.Process(ListResult, "TCP", "StopServer", "List");
|
||||
|
||||
OPI_TypeConversion.GetLine(Port);
|
||||
|
||||
Address = StrTemplate("127.0.0.1:%1", Port);
|
||||
Client = OPI_TCP.CreateConnection(Address);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Client, "TCP", "StopServer", "Connection");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure TCP_GetNextConnectionData(FunctionParameters)
|
||||
|
||||
LaunchPort = 9877;
|
||||
ServerObject = OPI_TCP.StartServer(LaunchPort);
|
||||
|
||||
// Send message from client
|
||||
ConnectionAddress = "127.0.0.1:9877";
|
||||
ClientObject = OPI_TCP.CreateConnection(ConnectionAddress);
|
||||
|
||||
If Not OPI_TCP.IsClientObject(ClientObject) Then
|
||||
Raise OPI_Tools.JSONString(ClientObject);
|
||||
Else
|
||||
Message = "Hello from client!" + Chars.LF;
|
||||
OPI_TCP.SendLine(ClientObject, Message);
|
||||
EndIf;
|
||||
|
||||
// Receive message on server
|
||||
Result = OPI_TCP.GetNextConnectionData(ServerObject, 5000, 8192);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TCP.CloseConnection(ClientObject);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "TCP", "GetNextConnectionData", , Message);
|
||||
|
||||
OPI_TCP.SendLine(ClientObject, Message);
|
||||
OPI_TCP.CloseConnection(ClientObject);
|
||||
|
||||
Result = OPI_TCP.GetNextConnectionData(ServerObject, 5000, 8192);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "TCP", "GetNextConnectionData", "Closed", Message);
|
||||
|
||||
OPI_TCP.StopServer(ServerObject);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure TCP_GetConnectionData(FunctionParameters)
|
||||
|
||||
LaunchPort = 9877;
|
||||
ServerObject = OPI_TCP.StartServer(LaunchPort);
|
||||
|
||||
// Connect to running server
|
||||
ConnectionAddress = "127.0.0.1:9877";
|
||||
ClientObject = OPI_TCP.CreateConnection(ConnectionAddress);
|
||||
|
||||
If Not OPI_TCP.IsClientObject(ClientObject) Then
|
||||
Raise OPI_Tools.JSONString(ClientObject);
|
||||
EndIf;
|
||||
|
||||
OPI_Tools.Pause(1); // SKIP
|
||||
|
||||
// Receive the list of server connections
|
||||
ConnectionList = OPI_TCP.GetConnectionList(ServerObject);
|
||||
|
||||
If Not ConnectionList["result"] Then
|
||||
Raise OPI_Tools.JSONString(ConnectionList);
|
||||
EndIf;
|
||||
|
||||
If ConnectionList["connections"].Count() = 0 Then
|
||||
Raise "Connection list is empty";
|
||||
Else
|
||||
ConnectionID = ConnectionList["connections"][0]["connectionId"];
|
||||
EndIf;
|
||||
|
||||
EmptyResult = OPI_TCP.GetConnectionData(ServerObject, ConnectionID, 5000, 8192); // SKIP
|
||||
OPI_TestDataRetrieval.Process(EmptyResult, "TCP", "GetConnectionData", "Empty"); // SKIP
|
||||
|
||||
For N = 0 To 5 Do
|
||||
|
||||
// Send from client
|
||||
CurrentMessage = StrTemplate("Message no. %1%2", N, Chars.LF);
|
||||
OPI_TCP.SendLine(ClientObject, CurrentMessage);
|
||||
|
||||
// Recieve on server
|
||||
Result = OPI_TCP.GetConnectionData(ServerObject, ConnectionID, 5000, 8192);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "TCP", "GetConnectionData", , CurrentMessage); // SKIP
|
||||
|
||||
EndDo;
|
||||
|
||||
// END
|
||||
|
||||
OPI_TCP.CloseConnection(ClientObject);
|
||||
|
||||
Result = OPI_TCP.GetConnectionData(ServerObject, ConnectionID, 5000, 8192);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "TCP", "GetConnectionData", "Closed");
|
||||
|
||||
Result = OPI_TCP.GetConnectionList(ServerObject);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "TCP", "GetConnectionData", "EmptyList");
|
||||
|
||||
OPI_TCP.StopServer(ServerObject);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure TCP_SendData(FunctionParameters)
|
||||
|
||||
LaunchPort = 9877;
|
||||
ServerObject = OPI_TCP.StartServer(LaunchPort);
|
||||
|
||||
// Connect to running server
|
||||
ConnectionAddress = "127.0.0.1:9877";
|
||||
ClientObject = OPI_TCP.CreateConnection(ConnectionAddress);
|
||||
|
||||
If Not OPI_TCP.IsClientObject(ClientObject) Then
|
||||
Raise OPI_Tools.JSONString(ClientObject);
|
||||
EndIf;
|
||||
|
||||
Message = "Hello!" + Chars.LF;
|
||||
|
||||
OPI_TCP.SendLine(ClientObject, Message);
|
||||
|
||||
// Receive message and connection ID
|
||||
NextMessage = OPI_TCP.GetNextConnectionData(ServerObject, 5000);
|
||||
ConnectionID = NextMessage["connectionId"];
|
||||
|
||||
// Send response from server
|
||||
ServerResponse = "Response from server!" + Chars.LF;
|
||||
Result = OPI_TCP.SendData(ServerObject, ConnectionID, ServerResponse);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "TCP", "SendData");
|
||||
|
||||
// Check receiving on client
|
||||
ClientResponse = OPI_TCP.ReadLine(ClientObject, , Chars.LF);
|
||||
|
||||
OPI_TestDataRetrieval.Process(ClientResponse, "TCP", "SendData", "Check", ServerResponse);
|
||||
|
||||
OPI_TCP.CloseConnection(ClientObject);
|
||||
OPI_TCP.StopServer(ServerObject);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure TCP_CloseIncomingConnection(FunctionParameters)
|
||||
|
||||
LaunchPort = 9877;
|
||||
ServerObject = OPI_TCP.StartServer(LaunchPort);
|
||||
|
||||
// Connect to running server
|
||||
ConnectionAddress = "127.0.0.1:9877";
|
||||
ClientObject = OPI_TCP.CreateConnection(ConnectionAddress);
|
||||
|
||||
If Not OPI_TCP.IsClientObject(ClientObject) Then
|
||||
Raise OPI_Tools.JSONString(ClientObject);
|
||||
EndIf;
|
||||
|
||||
Message = "Hello!" + Chars.LF;
|
||||
|
||||
OPI_TCP.SendLine(ClientObject, Message);
|
||||
|
||||
// Get connection ID
|
||||
FirstMessage = OPI_TCP.GetNextConnectionData(ServerObject, 5000);
|
||||
ConnectionID = FirstMessage["connectionId"];
|
||||
|
||||
// Close connection from server side
|
||||
Result = OPI_TCP.CloseIncomingConnection(ServerObject, ConnectionID);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "TCP", "CloseIncomingConnection");
|
||||
|
||||
Result = OPI_TCP.GetConnectionList(ServerObject);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "TCP", "CloseIncomingConnection", "EmptyList");
|
||||
|
||||
OPI_TCP.SendLine(ClientObject, Message);
|
||||
Result = OPI_TCP.SendLine(ClientObject, Message);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "TCP", "CloseIncomingConnection", "SendingToClosed");
|
||||
|
||||
OPI_TCP.StopServer(ServerObject);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure TCP_CompleteSend(FunctionParameters)
|
||||
|
||||
LaunchPort = 9877;
|
||||
ServerObject = OPI_TCP.StartServer(LaunchPort);
|
||||
|
||||
// Connect to running server
|
||||
ConnectionAddress = "127.0.0.1:9877";
|
||||
ClientObject = OPI_TCP.CreateConnection(ConnectionAddress);
|
||||
OPI_Tools.Pause(1); // SKIP
|
||||
|
||||
If Not OPI_TCP.IsClientObject(ClientObject) Then
|
||||
Raise OPI_Tools.JSONString(ClientObject);
|
||||
EndIf;
|
||||
|
||||
ActiveConnections = OPI_TCP.GetConnectionList(ServerObject);
|
||||
ConnectionID = ActiveConnections["connections"][0]["connectionId"];
|
||||
|
||||
// Finish sending from server
|
||||
Result = OPI_TCP.CompleteSend(ServerObject, ConnectionID);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "TCP", "CompleteSend");
|
||||
|
||||
Message = "Hello" + Chars.LF;
|
||||
|
||||
OPI_TCP.SendLine(ClientObject, Message);
|
||||
Result = OPI_TCP.SendLine(ClientObject, Message);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "TCP", "CompleteSend", "SendingClient");
|
||||
|
||||
ServerResponse = "Response from server!" + Chars.LF;
|
||||
Result = OPI_TCP.SendData(ServerObject, ConnectionID, ServerResponse);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "TCP", "CompleteSend", "SendingServer");
|
||||
|
||||
OPI_TCP.CloseConnection(ClientObject);
|
||||
OPI_TCP.StopServer(ServerObject);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure TCP_GetConnectionList(FunctionParameters)
|
||||
|
||||
LaunchPort = 9877;
|
||||
ServerObject = OPI_TCP.StartServer(LaunchPort);
|
||||
|
||||
// Connect to running server
|
||||
ConnectionAddress = "127.0.0.1:9877";
|
||||
|
||||
Client1 = OPI_TCP.CreateConnection(ConnectionAddress);
|
||||
Client2 = OPI_TCP.CreateConnection(ConnectionAddress);
|
||||
|
||||
If Not OPI_TCP.IsClientObject(Client1) Then
|
||||
Raise OPI_Tools.JSONString(Client1);
|
||||
EndIf;
|
||||
|
||||
If Not OPI_TCP.IsClientObject(Client2) Then
|
||||
Raise OPI_Tools.JSONString(Client2);
|
||||
EndIf;
|
||||
|
||||
Result = OPI_TCP.GetConnectionList(ServerObject);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "TCP", "GetConnectionList");
|
||||
|
||||
OPI_TCP.CloseConnection(Client1);
|
||||
OPI_TCP.CloseConnection(Client2);
|
||||
|
||||
Client3 = OPI_TCP.CreateConnection(ConnectionAddress);
|
||||
Client4 = OPI_TCP.CreateConnection(ConnectionAddress);
|
||||
|
||||
OPI_TCP.SendLine(Client3, "Yo" + Chars.LF);
|
||||
|
||||
OPI_TCP.CloseConnection(Client3);
|
||||
OPI_TCP.CloseConnection(Client4);
|
||||
|
||||
Result = OPI_TCP.GetConnectionList(ServerObject);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "TCP", "GetConnectionList", "Closing");
|
||||
|
||||
OPI_TCP.StopServer(ServerObject);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure TCP_FinishReceiving(FunctionParameters)
|
||||
|
||||
LaunchPort = 9877;
|
||||
ServerObject = OPI_TCP.StartServer(LaunchPort);
|
||||
|
||||
// Connect to running server
|
||||
ConnectionAddress = "127.0.0.1:9877";
|
||||
ClientObject = OPI_TCP.CreateConnection(ConnectionAddress);
|
||||
OPI_Tools.Pause(1); // SKIP
|
||||
|
||||
If Not OPI_TCP.IsClientObject(ClientObject) Then
|
||||
Raise OPI_Tools.JSONString(ClientObject);
|
||||
EndIf;
|
||||
|
||||
ActiveConnections = OPI_TCP.GetConnectionList(ServerObject);
|
||||
ConnectionID = ActiveConnections["connections"][0]["connectionId"];
|
||||
|
||||
// Completing server-side reception
|
||||
Result = OPI_TCP.FinishReceiving(ServerObject, ConnectionID);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "TCP", "FinishReceiving");
|
||||
|
||||
OPI_TCP.CloseConnection(ClientObject);
|
||||
OPI_TCP.StopServer(ServerObject);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure TCP_IsServerObject(FunctionParameters)
|
||||
|
||||
Port = 9884;
|
||||
Host = OPI_TCP.StartServer(Port);
|
||||
|
||||
Result = OPI_TCP.IsServerObject(Host);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "TCP", "IsServerObject");
|
||||
|
||||
OPI_TCP.StopServer(Host);
|
||||
|
||||
// Check with wrong object
|
||||
Result = OPI_TCP.IsServerObject("Not a server");
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "TCP", "IsServerObject", "False");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure TCP_GetLog(FunctionParameters)
|
||||
|
||||
LaunchPort = 9877;
|
||||
LogFile = GetTempFileName("txt");
|
||||
LoggingSettings = OPI_TCP.GetLoggingSettings(True, 100, LogFile);
|
||||
ServerObject = OPI_TCP.StartServer(LaunchPort, , LoggingSettings);
|
||||
|
||||
// Connect to running server
|
||||
ConnectionAddress = "127.0.0.1:9877";
|
||||
ClientObject = OPI_TCP.CreateConnection(ConnectionAddress);
|
||||
OPI_Tools.Pause(1); // SKIP
|
||||
|
||||
If Not OPI_TCP.IsClientObject(ClientObject) Then
|
||||
Raise OPI_Tools.JSONString(ClientObject);
|
||||
EndIf;
|
||||
|
||||
Result = OPI_TCP.GetLog(ServerObject);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "TCP", "GetLog", , LogFile);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure TCP_GetLoggingSettings(FunctionParameters)
|
||||
|
||||
Result = OPI_TCP.GetLoggingSettings(True, 100, GetTempFileName());
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "TCP", "GetLoggingSettings");
|
||||
|
||||
Result = OPI_TCP.GetLoggingSettings(False, , GetTempFileName());
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "TCP", "GetLoggingSettings", "File");
|
||||
|
||||
Result = OPI_TCP.GetLoggingSettings(True);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "TCP", "GetLoggingSettings", "Memory");
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // TCP
|
||||
|
||||
#EndRegion // AtomicTests
|
||||
|
||||
#EndRegion // Private
|
||||
|
||||
#Region Alternate
|
||||
|
||||
Procedure TC_Клиент() Export
|
||||
TC_Client();
|
||||
EndProcedure
|
||||
|
||||
Procedure TC_Сервер() Export
|
||||
TC_Server();
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
+1598
-4
File diff suppressed because it is too large
Load Diff
+405
-4
@@ -1,3 +1,5 @@
|
||||
// OneScript: ./OInt/tests/Modules/OPItc_Twitter.os
|
||||
|
||||
// MIT License
|
||||
|
||||
// Copyright (c) 2023-2026 Anton Tsitavets
|
||||
@@ -9,7 +11,7 @@
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// 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.
|
||||
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
@@ -22,6 +24,8 @@
|
||||
|
||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||
|
||||
// Test suite for YAxUnit
|
||||
|
||||
// BSLLS:Typo-off
|
||||
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
||||
// BSLLS:IncorrectLineBreak-off
|
||||
@@ -63,6 +67,403 @@
|
||||
//@skip-check missing-temporary-file-deletion
|
||||
//@skip-check module-unused-method
|
||||
|
||||
// #Use oint
|
||||
// #Use asserts
|
||||
// #Use "internal"
|
||||
//#Use "../../tools/main"
|
||||
//#Use "../../tools/http"
|
||||
//#Use "../../api"
|
||||
//#Use asserts
|
||||
//#Use "internal"
|
||||
|
||||
|
||||
// For YAxUnit
|
||||
|
||||
Procedure ИсполняемыеСценарии() Export
|
||||
|
||||
OPI_TestDataRetrieval.FormYAXTests("Twitter");
|
||||
|
||||
EndProcedure
|
||||
|
||||
// For Asserts
|
||||
|
||||
Function ПолучитьСписокТестов(UnitTesting) Export
|
||||
|
||||
Return OPI_TestDataRetrieval.FormAssertsTests("Twitter");
|
||||
|
||||
EndFunction
|
||||
|
||||
#Region Internal
|
||||
|
||||
#Region RunnableTests
|
||||
|
||||
#Region Twitter
|
||||
|
||||
Procedure TwitterAPI_AccountData() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
|
||||
Twitter_GetToken(TestParameters);
|
||||
Twitter_GetAuthorizationLink(TestParameters);
|
||||
// !DISABLED! Twitter_UpdateToken(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure TwitterAPI_Tweets() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Picture" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Picture2", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("GIF" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Video" , TestParameters);
|
||||
|
||||
Twitter_CreateTextTweet(TestParameters);
|
||||
Twitter_UploadAttachmentsArray(TestParameters);
|
||||
Twitter_CreateVideoTweet(TestParameters);
|
||||
Twitter_CreateImageTweet(TestParameters);
|
||||
Twitter_CreateGifTweet(TestParameters);
|
||||
Twitter_CreatePollTweet(TestParameters);
|
||||
Twitter_CreateCustomTweet(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // Twitter
|
||||
|
||||
#EndRegion // RunnableTests
|
||||
|
||||
#EndRegion // Internal
|
||||
|
||||
#Region Private
|
||||
|
||||
Function GetTwitterAuthData()
|
||||
|
||||
Parameters = New Map;
|
||||
|
||||
ServerToken = OPI_TestDataRetrieval.GetParameter("Access_Token");
|
||||
|
||||
URL = OPI_TestDataRetrieval.GetParameter("Twitter_TokenURL");
|
||||
|
||||
Result = OPI_HTTPRequests.NewRequest()
|
||||
.Initialize()
|
||||
.SetURL(URL)
|
||||
.AddBearerAuthorization(ServerToken) // <---
|
||||
.ProcessRequest("GET")
|
||||
.ReturnResponseAsJSONObject();
|
||||
|
||||
Token = Result["data"];
|
||||
|
||||
Parameters.Insert("redirect_uri" , OPI_TestDataRetrieval.GetParameter("Twitter_Redirect"));
|
||||
Parameters.Insert("client_id" , OPI_TestDataRetrieval.GetParameter("Twitter_ClientID"));
|
||||
Parameters.Insert("client_secret" , OPI_TestDataRetrieval.GetParameter("Twitter_ClientSecret"));
|
||||
Parameters.Insert("access_token" , Token);
|
||||
Parameters.Insert("refresh_token" , OPI_TestDataRetrieval.GetParameter("Twitter_Refresh"));
|
||||
Parameters.Insert("oauth_token" , OPI_TestDataRetrieval.GetParameter("Twitter_OAuthToken"));
|
||||
Parameters.Insert("oauth_token_secret", OPI_TestDataRetrieval.GetParameter("Twitter_OAuthSecret"));
|
||||
|
||||
Parameters.Insert("oauth_consumer_key" , OPI_TestDataRetrieval.GetParameter("Twitter_OAuthConsumerKey"));
|
||||
Parameters.Insert("oauth_consumer_secret", OPI_TestDataRetrieval.GetParameter(
|
||||
"Twitter_OAuthConsumerSecret"));
|
||||
|
||||
Return Parameters;
|
||||
|
||||
EndFunction
|
||||
|
||||
#Region AtomicTests
|
||||
|
||||
#Region Twitter
|
||||
|
||||
Procedure Twitter_GetToken(FunctionParameters)
|
||||
|
||||
Parameters = GetTwitterAuthData();
|
||||
Code = "123456";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("code", Code);
|
||||
Options.Insert("auth", Parameters);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("twitter", "GetToken", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Twitter", "GetToken");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Twitter_GetAuthorizationLink(FunctionParameters)
|
||||
|
||||
Parameters = GetTwitterAuthData();
|
||||
Options = New Structure;
|
||||
Options.Insert("auth", Parameters);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("twitter", "GetAuthorizationLink", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Twitter", "GetAuthorizationLink");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Twitter_RefreshToken(FunctionParameters)
|
||||
|
||||
Parameters = GetTwitterAuthData();
|
||||
Options = New Structure;
|
||||
Options.Insert("auth", Parameters);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("twitter", "RefreshToken", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Twitter", "RefreshToken");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Twitter_CreateTextTweet(FunctionParameters)
|
||||
|
||||
Parameters = GetTwitterAuthData();
|
||||
Text = "TestTweet" + String(New UUID);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("text", Text);
|
||||
Options.Insert("auth", Parameters);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("twitter", "CreateTextTweet", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Twitter", "CreateTextTweet", , Text);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Twitter_CreateImageTweet(FunctionParameters)
|
||||
|
||||
Parameters = GetTwitterAuthData();
|
||||
Text = "TestTweet" + String(New UUID);
|
||||
|
||||
Image = FunctionParameters["Picture"]; // URL, Binary or File path
|
||||
Image2 = FunctionParameters["Picture2"]; // URL, Binary or File path
|
||||
|
||||
ImageArray = New Array;
|
||||
ImageArray.Add(Image);
|
||||
ImageArray.Add(Image2);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("text", Text);
|
||||
Options.Insert("pictures", ImageArray);
|
||||
Options.Insert("auth", Parameters);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("twitter", "CreateImageTweet", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Twitter", "CreateImageTweet", , Text); // SKIP
|
||||
|
||||
Text = "TestTweet" + String(New UUID);
|
||||
Options = New Structure;
|
||||
Options.Insert("text", Text);
|
||||
Options.Insert("pictures", Image);
|
||||
Options.Insert("auth", Parameters);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("twitter", "CreateImageTweet", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Twitter", "CreateImageTweet", "Single", Text);
|
||||
|
||||
Image = OPI_HTTPRequests.Get(Image);
|
||||
|
||||
Text = "TestTweet" + String(New UUID);
|
||||
Options = New Structure;
|
||||
Options.Insert("text", Text);
|
||||
Options.Insert("pictures", Image);
|
||||
Options.Insert("auth", Parameters);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("twitter", "CreateImageTweet", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Twitter", "CreateImageTweet", "Binary", Text);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Twitter_CreateVideoTweet(FunctionParameters)
|
||||
|
||||
Parameters = GetTwitterAuthData();
|
||||
Text = "TestTweet" + String(New UUID);
|
||||
|
||||
Video = FunctionParameters["Video"]; // URL, Binary or File path
|
||||
Video2 = FunctionParameters["Video"]; // URL, Binary or File path
|
||||
|
||||
VideosArray = New Array;
|
||||
VideosArray.Add(Video);
|
||||
VideosArray.Add(Video2);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("text", Text);
|
||||
Options.Insert("videos", VideosArray);
|
||||
Options.Insert("auth", Parameters);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("twitter", "CreateVideoTweet", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Twitter", "CreateVideoTweet", , Text); // SKIP
|
||||
|
||||
Text = "TestTweet" + String(New UUID);
|
||||
Options = New Structure;
|
||||
Options.Insert("text", Text);
|
||||
Options.Insert("videos", Video);
|
||||
Options.Insert("auth", Parameters);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("twitter", "CreateVideoTweet", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Twitter", "CreateVideoTweet", "Single", Text);
|
||||
|
||||
Video = OPI_HTTPRequests.Get(Video);
|
||||
|
||||
Text = "TestTweet" + String(New UUID);
|
||||
Options = New Structure;
|
||||
Options.Insert("text", Text);
|
||||
Options.Insert("videos", Video);
|
||||
Options.Insert("auth", Parameters);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("twitter", "CreateVideoTweet", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Twitter", "CreateVideoTweet", "Binary", Text);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Twitter_CreateGifTweet(FunctionParameters)
|
||||
|
||||
Parameters = GetTwitterAuthData();
|
||||
Text = "TestTweet" + String(New UUID);
|
||||
|
||||
GIF = FunctionParameters["GIF"]; // URL, Binary or File path
|
||||
Gif2 = FunctionParameters["GIF"]; // URL, Binary or File path
|
||||
|
||||
GifsArray = New Array;
|
||||
GifsArray.Add(GIF);
|
||||
GifsArray.Add(Gif2);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("text", Text);
|
||||
Options.Insert("gifs", GifsArray);
|
||||
Options.Insert("auth", Parameters);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("twitter", "CreateGifTweet", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Twitter", "CreateGifTweet", , Text); // SKIP
|
||||
|
||||
Text = "TestTweet" + String(New UUID);
|
||||
Options = New Structure;
|
||||
Options.Insert("text", Text);
|
||||
Options.Insert("gifs", GIF);
|
||||
Options.Insert("auth", Parameters);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("twitter", "CreateGifTweet", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Twitter", "CreateGifTweet", "Single", Text);
|
||||
|
||||
GIF = OPI_HTTPRequests.Get(GIF);
|
||||
|
||||
Text = "TestTweet" + String(New UUID);
|
||||
Options = New Structure;
|
||||
Options.Insert("text", Text);
|
||||
Options.Insert("gifs", GIF);
|
||||
Options.Insert("auth", Parameters);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("twitter", "CreateGifTweet", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Twitter", "CreateGifTweet", "Binary", Text);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Twitter_CreatePollTweet(FunctionParameters)
|
||||
|
||||
Parameters = GetTwitterAuthData();
|
||||
Text = "TestTweet" + String(New UUID);
|
||||
|
||||
AnswersArray = New Array;
|
||||
AnswersArray.Add("Option 1");
|
||||
AnswersArray.Add("Option 2");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("text", Text);
|
||||
Options.Insert("options", AnswersArray);
|
||||
Options.Insert("duration", 60);
|
||||
Options.Insert("auth", Parameters);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("twitter", "CreatePollTweet", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Twitter", "CreatePollTweet", , Text);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Twitter_CreateCustomTweet(FunctionParameters)
|
||||
|
||||
Parameters = GetTwitterAuthData();
|
||||
Text = "TestTweet" + String(New UUID);
|
||||
|
||||
Image1 = FunctionParameters["Picture"]; // URL, Binary Data or File path
|
||||
Image2 = FunctionParameters["Picture2"]; // URL, Binary Data or File path
|
||||
|
||||
ImageArray = New Array;
|
||||
ImageArray.Add(Image1);
|
||||
ImageArray.Add(Image2);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("files", ImageArray);
|
||||
Options.Insert("type", "tweet_image");
|
||||
Options.Insert("auth", Parameters);
|
||||
|
||||
MediaArray = OPI_TestDataRetrieval.ExecuteTestCLI("twitter", "UploadAttachmentsArray", Options);
|
||||
Options = New Structure;
|
||||
Options.Insert("text", Text);
|
||||
Options.Insert("media", MediaArray);
|
||||
Options.Insert("auth", Parameters);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("twitter", "CreateCustomTweet", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Twitter", "CreateCustomTweet", , Text);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Twitter_UploadAttachmentsArray(FunctionParameters)
|
||||
|
||||
Parameters = GetTwitterAuthData();
|
||||
|
||||
Image1 = FunctionParameters["Picture"]; // URL, Binary Data or File path
|
||||
Image2 = FunctionParameters["Picture2"]; // URL, Binary Data or File path
|
||||
|
||||
ImageArray = New Array;
|
||||
ImageArray.Add(Image1);
|
||||
ImageArray.Add(Image2);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("files", ImageArray);
|
||||
Options.Insert("type", "tweet_image");
|
||||
Options.Insert("auth", Parameters);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("twitter", "UploadAttachmentsArray", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Twitter", "UploadAttachmentsArray");
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // Twitter
|
||||
|
||||
#EndRegion // AtomicTests
|
||||
|
||||
#EndRegion // Private
|
||||
|
||||
#Region Alternate
|
||||
|
||||
Procedure Твиттер_ДанныеАккаунта() Export
|
||||
TwitterAPI_AccountData();
|
||||
EndProcedure
|
||||
|
||||
Procedure Твиттер_Твиты() Export
|
||||
TwitterAPI_Tweets();
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
+1467
-4
File diff suppressed because it is too large
Load Diff
+857
-4
@@ -1,3 +1,5 @@
|
||||
// OneScript: ./OInt/tests/Modules/OPItc_VKTeams.os
|
||||
|
||||
// MIT License
|
||||
|
||||
// Copyright (c) 2023-2026 Anton Tsitavets
|
||||
@@ -9,7 +11,7 @@
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// 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.
|
||||
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
@@ -22,6 +24,8 @@
|
||||
|
||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||
|
||||
// Test suite for YAxUnit
|
||||
|
||||
// BSLLS:Typo-off
|
||||
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
||||
// BSLLS:IncorrectLineBreak-off
|
||||
@@ -63,6 +67,855 @@
|
||||
//@skip-check missing-temporary-file-deletion
|
||||
//@skip-check module-unused-method
|
||||
|
||||
// #Use oint
|
||||
// #Use asserts
|
||||
// #Use "internal"
|
||||
//#Use "../../tools/main"
|
||||
//#Use "../../tools/http"
|
||||
//#Use "../../api"
|
||||
//#Use asserts
|
||||
//#Use "internal"
|
||||
|
||||
|
||||
// For YAxUnit
|
||||
|
||||
Procedure ИсполняемыеСценарии() Export
|
||||
|
||||
OPI_TestDataRetrieval.FormYAXTests("VKTeams");
|
||||
|
||||
EndProcedure
|
||||
|
||||
// For Asserts
|
||||
|
||||
Function ПолучитьСписокТестов(UnitTesting) Export
|
||||
|
||||
Return OPI_TestDataRetrieval.FormAssertsTests("VKTeams");
|
||||
|
||||
EndFunction
|
||||
|
||||
#Region Internal
|
||||
|
||||
#Region RunnableTests
|
||||
|
||||
#Region VkTeams
|
||||
|
||||
Procedure VKT_CommonMethods() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("VkTeams_Token" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("VkTeams_FileID", TestParameters);
|
||||
|
||||
VkTeams_CheckToken(TestParameters);
|
||||
VkTeams_GetEvents(TestParameters);
|
||||
VKTeams_GetFileInformation(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure VKT_MessagesSending() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("VkTeams_Token" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("VkTeams_ChatID" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("VkTeams_ChatID2" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("VkTeams_MessageID", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Document" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Audio2" , TestParameters);
|
||||
|
||||
VkTeams_SendTextMessage(TestParameters);
|
||||
OPI_Tools.Pause(60);
|
||||
|
||||
VKTeams_AnswerButtonEvent(TestParameters);
|
||||
VKTeams_ForwardMessage(TestParameters);
|
||||
VKTeams_SendFile(TestParameters);
|
||||
VKTeams_ResendFile(TestParameters);
|
||||
VKTeams_EditMessageText(TestParameters);
|
||||
VKTeams_PinMessage(TestParameters);
|
||||
VKTeams_UnpinMessage(TestParameters);
|
||||
VKTeams_DeleteMessage(TestParameters);
|
||||
VKTeams_SendVoice(TestParameters);
|
||||
VKTeams_ResendVoice(TestParameters);
|
||||
VKTeams_MakeActionButton(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure VKT_ChatManagement() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("VkTeams_Token" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("VkTeams_ChatID" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("VkTeams_ChatID2", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Picture3" , TestParameters);
|
||||
|
||||
VKTeams_RemoveChatMembers(TestParameters);
|
||||
VKTeams_ChangeChatPicture(TestParameters);
|
||||
VKTeams_GetChatInfo(TestParameters);
|
||||
VKTeams_GetChatAdmins(TestParameters);
|
||||
VKTeams_GetChatMembers(TestParameters);
|
||||
VKTeams_GetChatBlockedUsers(TestParameters);
|
||||
VKTeams_GetChatJoinRequests(TestParameters);
|
||||
VKTeams_BlockChatUser(TestParameters);
|
||||
VKTeams_UnblockChatUser(TestParameters);
|
||||
VKTeams_ApprovePending(TestParameters);
|
||||
VKTeams_DisapprovePending(TestParameters);
|
||||
VKTeams_SetChatTitle(TestParameters);
|
||||
VKTeams_SetChatDescription(TestParameters);
|
||||
VKTeams_SetChatRules(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // VkTeams
|
||||
|
||||
#EndRegion // RunnableTests
|
||||
|
||||
#EndRegion // Internal
|
||||
|
||||
#Region Private
|
||||
|
||||
#Region AtomicTests
|
||||
|
||||
#Region VKTeams
|
||||
|
||||
Procedure VKTeams_CheckToken(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["VkTeams_Token"];
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "CheckToken", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "CheckToken");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure VKTeams_GetEvents(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["VkTeams_Token"];
|
||||
LastID = 0;
|
||||
|
||||
For N = 1 To 5 Do // In real work - endless loop
|
||||
|
||||
Result = OPI_VKTeams.GetEvents(Token, LastID, 3);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "GetEvents"); // SKIP
|
||||
|
||||
Events = Result["events"];
|
||||
|
||||
// Event handling...
|
||||
|
||||
If Not Events.Count() = 0 Then
|
||||
|
||||
LastID = Events[Events.UBound()]["eventId"];
|
||||
|
||||
EndIf;
|
||||
|
||||
EndDo;
|
||||
|
||||
// END
|
||||
|
||||
OPI_Tools.Pause(3);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure VKTeams_SendTextMessage(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["VkTeams_Token"];
|
||||
ChatID = FunctionParameters["VkTeams_ChatID"];
|
||||
Text = "Message text";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("chatid", ChatID);
|
||||
Options.Insert("text", Text);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "SendTextMessage", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "SendTextMessage", "Simple", FunctionParameters); // SKIP
|
||||
|
||||
ChatID = FunctionParameters["VkTeams_ChatID2"];
|
||||
ReplyID = FunctionParameters["VkTeams_MessageID"];
|
||||
Text = "<b>Bold text</b>";
|
||||
Markup = "HTML";
|
||||
|
||||
Keyboard = New Array;
|
||||
ButtonsLineArray = New Array;
|
||||
|
||||
ButtonsLineArray.Add(OPI_VKTeams.MakeActionButton("Button1", "ButtonEvent1", , "attention"));
|
||||
|
||||
ButtonsLineArray.Add(OPI_VKTeams.MakeActionButton("Button2", , "https://openintegrations.dev"));
|
||||
|
||||
// BSLLS:DuplicatedInsertionIntoCollection-off // SKIP
|
||||
Keyboard.Add(ButtonsLineArray);
|
||||
Keyboard.Add(ButtonsLineArray);
|
||||
// BSLLS:DuplicatedInsertionIntoCollection-on // SKIP
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("chatid", ChatID);
|
||||
Options.Insert("text", Text);
|
||||
Options.Insert("reply", ReplyID);
|
||||
Options.Insert("keyboard", Keyboard);
|
||||
Options.Insert("parsemod", Markup);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "SendTextMessage", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "SendTextMessage", , FunctionParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure VKTeams_ForwardMessage(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["VkTeams_Token"];
|
||||
ChatID = FunctionParameters["VkTeams_ChatID"];
|
||||
FromChatID = FunctionParameters["VkTeams_ChatID2"];
|
||||
MessageID = FunctionParameters["VkTeams_MessageID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("messageid", MessageID);
|
||||
Options.Insert("fromid", FromChatID);
|
||||
Options.Insert("chatid", ChatID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "ForwardMessage", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "ForwardMessage", "Simple"); // SKIP
|
||||
|
||||
Text = "Additional text";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("messageid", MessageID);
|
||||
Options.Insert("fromid", FromChatID);
|
||||
Options.Insert("chatid", ChatID);
|
||||
Options.Insert("text", Text);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "ForwardMessage", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "ForwardMessage");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure VKTeams_SendFile(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["VkTeams_Token"];
|
||||
ChatID = FunctionParameters["VkTeams_ChatID"];
|
||||
Text = "File caption";
|
||||
|
||||
File = FunctionParameters["Document"]; // URL
|
||||
FilePath = GetTempFileName("docx"); // Path
|
||||
|
||||
FileCopy(File, FilePath);
|
||||
|
||||
FileBD = New BinaryData(FilePath); // Binary
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("chatid", ChatID);
|
||||
Options.Insert("file", File);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "SendFile", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "SendFile", "URL", FunctionParameters); // SKIP
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("chatid", ChatID);
|
||||
Options.Insert("file", FilePath);
|
||||
Options.Insert("text", Text);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "SendFile", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "SendFile", "Path", FunctionParameters); // SKIP
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("chatid", ChatID);
|
||||
Options.Insert("file", FileBD);
|
||||
Options.Insert("text", Text);
|
||||
Options.Insert("filename", "ImportantDocument.docx");
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "SendFile", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "SendFile", , FunctionParameters);
|
||||
|
||||
OPI_Tools.RemoveFileWithTry(FilePath, "Failed to delete the temporary file after the test!!");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure VKTeams_ResendFile(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["VkTeams_Token"];
|
||||
ChatID = FunctionParameters["VkTeams_ChatID"];
|
||||
FileID = FunctionParameters["VkTeams_FileID"];
|
||||
Text = "File caption";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("chatid", ChatID);
|
||||
Options.Insert("fileid", FileID);
|
||||
Options.Insert("text", Text);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "ResendFile", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "ResendFile");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure VKTeams_GetFileInformation(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["VkTeams_Token"];
|
||||
FileID = FunctionParameters["VkTeams_FileID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("fileid", FileID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "GetFileInformation", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "GetFileInformation");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure VKTeams_EditMessageText(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["VkTeams_Token"];
|
||||
ChatID = FunctionParameters["VkTeams_ChatID2"];
|
||||
MessageID = FunctionParameters["VkTeams_MessageID"];
|
||||
Text = "New message text";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("chatid", ChatID);
|
||||
Options.Insert("messageid", MessageID);
|
||||
Options.Insert("text", Text);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "EditMessageText", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "EditMessageText", "Path"); // SKIP
|
||||
|
||||
Text = "<b>New bold message text</b>";
|
||||
Markup = "HTML";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("chatid", ChatID);
|
||||
Options.Insert("messageid", MessageID);
|
||||
Options.Insert("text", Text);
|
||||
Options.Insert("parsemod", Markup);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "EditMessageText", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "EditMessageText");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure VKTeams_DeleteMessage(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["VkTeams_Token"];
|
||||
ChatID = FunctionParameters["VkTeams_ChatID2"];
|
||||
MessageID = FunctionParameters["VkTeams_MessageID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("chatid", ChatID);
|
||||
Options.Insert("messageid", MessageID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "DeleteMessage", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "DeleteMessage");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure VKTeams_SendVoice(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["VkTeams_Token"];
|
||||
ChatID = FunctionParameters["VkTeams_ChatID2"];
|
||||
ReplyID = FunctionParameters["VkTeams_MessageID"];
|
||||
|
||||
File = FunctionParameters["Audio2"]; // URL
|
||||
FilePath = GetTempFileName("m4a"); // Path
|
||||
|
||||
FileCopy(File, FilePath);
|
||||
|
||||
FileBD = New BinaryData(FilePath); // Binary
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("chatid", ChatID);
|
||||
Options.Insert("file", File);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "SendVoice", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "SendVoice", "URL", FunctionParameters); // SKIP
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("chatid", ChatID);
|
||||
Options.Insert("file", FilePath);
|
||||
Options.Insert("reply", ReplyID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "SendVoice", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "SendVoice", "Path", FunctionParameters); // SKIP
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("chatid", ChatID);
|
||||
Options.Insert("file", FileBD);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "SendVoice", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "SendVoice", , FunctionParameters);
|
||||
|
||||
OPI_Tools.RemoveFileWithTry(FilePath, "Failed to delete the temporary file after the test!!");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure VKTeams_ResendVoice(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["VkTeams_Token"];
|
||||
ChatID = FunctionParameters["VkTeams_ChatID"];
|
||||
FileID = FunctionParameters["VkTeams_VoiceID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("chatid", ChatID);
|
||||
Options.Insert("fileid", FileID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "ResendVoice", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "ResendVoice");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure VKTeams_RemoveChatMembers(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["VkTeams_Token"];
|
||||
ChatID = FunctionParameters["VkTeams_ChatID2"];
|
||||
User = 1011987091;
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("chatid", ChatID);
|
||||
Options.Insert("members", User);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "RemoveChatMembers", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "RemoveChatMembers");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure VKTeams_ChangeChatPicture(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["VkTeams_Token"];
|
||||
ChatID = FunctionParameters["VkTeams_ChatID"];
|
||||
|
||||
File = FunctionParameters["Picture3"]; // URL
|
||||
FilePath = GetTempFileName("png"); // Path
|
||||
|
||||
FileCopy(File, FilePath);
|
||||
|
||||
FileBD = New BinaryData(FilePath); // Binary
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("chatid", ChatID);
|
||||
Options.Insert("file", File);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "ChangeChatPicture", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "ChangeChatPicture", "URL");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("chatid", ChatID);
|
||||
Options.Insert("file", FilePath);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "ChangeChatPicture", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "ChangeChatPicture", "Path");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("chatid", ChatID);
|
||||
Options.Insert("file", FileBD);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "ChangeChatPicture", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "ChangeChatPicture");
|
||||
|
||||
OPI_Tools.RemoveFileWithTry(FilePath, "Failed to delete the temporary file after the test!!");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure VKTeams_GetChatInfo(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["VkTeams_Token"];
|
||||
ChatID = FunctionParameters["VkTeams_ChatID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("chatid", ChatID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "GetChatInfo", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "GetChatInfo");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure VKTeams_GetChatAdmins(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["VkTeams_Token"];
|
||||
ChatID = FunctionParameters["VkTeams_ChatID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("chatid", ChatID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "GetChatAdmins", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "GetChatAdmins");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure VKTeams_GetChatMembers(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["VkTeams_Token"];
|
||||
ChatID = FunctionParameters["VkTeams_ChatID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("chatid", ChatID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "GetChatMembers", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "GetChatMembers");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure VKTeams_GetChatBlockedUsers(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["VkTeams_Token"];
|
||||
ChatID = FunctionParameters["VkTeams_ChatID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("chatid", ChatID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "GetChatBlockedUsers", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "GetChatBlockedUsers");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure VKTeams_GetChatJoinRequests(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["VkTeams_Token"];
|
||||
ChatID = FunctionParameters["VkTeams_ChatID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("chatid", ChatID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "GetChatJoinRequests", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "GetChatJoinRequests");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure VKTeams_BlockChatUser(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["VkTeams_Token"];
|
||||
ChatID = FunctionParameters["VkTeams_ChatID2"];
|
||||
User = 1011987091;
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("chatid", ChatID);
|
||||
Options.Insert("userid", User);
|
||||
Options.Insert("dellast", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "BlockChatUser", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "BlockChatUser");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure VKTeams_UnblockChatUser(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["VkTeams_Token"];
|
||||
ChatID = FunctionParameters["VkTeams_ChatID2"];
|
||||
User = 1011987091;
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("chatid", ChatID);
|
||||
Options.Insert("userid", User);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "UnblockChatUser", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "UnblockChatUser");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure VKTeams_PinMessage(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["VkTeams_Token"];
|
||||
ChatID = FunctionParameters["VkTeams_ChatID2"];
|
||||
MessageID = FunctionParameters["VkTeams_MessageID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("chatid", ChatID);
|
||||
Options.Insert("messageid", MessageID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "PinMessage", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "PinMessage");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure VKTeams_UnpinMessage(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["VkTeams_Token"];
|
||||
ChatID = FunctionParameters["VkTeams_ChatID2"];
|
||||
MessageID = FunctionParameters["VkTeams_MessageID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("chatid", ChatID);
|
||||
Options.Insert("messageid", MessageID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "UnpinMessage", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "UnpinMessage");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure VKTeams_ApprovePending(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["VkTeams_Token"];
|
||||
ChatID = FunctionParameters["VkTeams_ChatID2"];
|
||||
User = 1011987091;
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("chatid", ChatID);
|
||||
Options.Insert("userid", User);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "ApprovePending", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "ApprovePending", "One"); // SKIP
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("chatid", ChatID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "ApprovePending", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "ApprovePending");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure VKTeams_DisapprovePending(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["VkTeams_Token"];
|
||||
ChatID = FunctionParameters["VkTeams_ChatID2"];
|
||||
User = 1011987091;
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("chatid", ChatID);
|
||||
Options.Insert("userid", User);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "DisapprovePending", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "DisapprovePending", "One"); // SKIP
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("chatid", ChatID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "DisapprovePending", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "DisapprovePending");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure VKTeams_SetChatTitle(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["VkTeams_Token"];
|
||||
ChatID = FunctionParameters["VkTeams_ChatID2"];
|
||||
Text = "New title";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("chatid", ChatID);
|
||||
Options.Insert("text", Text);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "SetChatTitle", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "SetChatTitle");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure VKTeams_SetChatDescription(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["VkTeams_Token"];
|
||||
ChatID = FunctionParameters["VkTeams_ChatID2"];
|
||||
Text = "New description";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("chatid", ChatID);
|
||||
Options.Insert("text", Text);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "SetChatDescription", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "SetChatDescription");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure VKTeams_SetChatRules(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["VkTeams_Token"];
|
||||
ChatID = FunctionParameters["VkTeams_ChatID2"];
|
||||
Text = "Text of the new rules";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("chatid", ChatID);
|
||||
Options.Insert("text", Text);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "SetChatRules", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "SetChatRules");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure VKTeams_AnswerButtonEvent(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["VkTeams_Token"];
|
||||
LastID = 0;
|
||||
|
||||
For N = 1 To 5 Do
|
||||
|
||||
Result = OPI_VKTeams.GetEvents(Token, LastID, 3);
|
||||
Events = Result["events"];
|
||||
|
||||
If Not Events.Count() = 0 Then
|
||||
|
||||
For Each Event In Events Do
|
||||
|
||||
callbackData = Event["payload"];
|
||||
|
||||
If callbackData["callbackData"] = "ButtonEvent1" Then
|
||||
|
||||
EventID = callbackData["queryId"];
|
||||
Result = OPI_VKTeams.AnswerButtonEvent(Token, EventID, "Get it!!");
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "AnswerButtonEvent"); // SKIP
|
||||
|
||||
EndIf;
|
||||
|
||||
EndDo;
|
||||
|
||||
LastID = Events[Events.UBound()]["eventId"];
|
||||
|
||||
EndIf;
|
||||
|
||||
EndDo;
|
||||
|
||||
// END
|
||||
|
||||
OPI_Tools.Pause(3);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure VKTeams_MakeActionButton(FunctionParameters)
|
||||
|
||||
Keyboard = New Array;
|
||||
ButtonsLineArray = New Array;
|
||||
|
||||
ButtonsLineArray.Add(OPI_VKTeams.MakeActionButton("Button1", "ButtonEvent1", , "attention"));
|
||||
|
||||
ButtonsLineArray.Add(OPI_VKTeams.MakeActionButton("Button2", , "https://openintegrations.dev"));
|
||||
|
||||
// BSLLS:DuplicatedInsertionIntoCollection-off // SKIP
|
||||
Keyboard.Add(ButtonsLineArray);
|
||||
Keyboard.Add(ButtonsLineArray);
|
||||
// BSLLS:DuplicatedInsertionIntoCollection-on // SKIP
|
||||
|
||||
// END
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // VKTeams
|
||||
|
||||
#EndRegion // AtomicTests
|
||||
|
||||
#EndRegion // Private
|
||||
|
||||
#Region Alternate
|
||||
|
||||
Procedure ВКТ_ОбщиеМетоды() Export
|
||||
VKT_CommonMethods();
|
||||
EndProcedure
|
||||
|
||||
Procedure ВКТ_ОтправкаСообщений() Export
|
||||
VKT_MessagesSending();
|
||||
EndProcedure
|
||||
|
||||
Procedure ВКТ_УправлениеЧатами() Export
|
||||
VKT_ChatManagement();
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
+434
-4
@@ -1,3 +1,5 @@
|
||||
// OneScript: ./OInt/tests/Modules/OPItc_Viber.os
|
||||
|
||||
// MIT License
|
||||
|
||||
// Copyright (c) 2023-2026 Anton Tsitavets
|
||||
@@ -9,7 +11,7 @@
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// 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.
|
||||
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
@@ -22,6 +24,8 @@
|
||||
|
||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||
|
||||
// Test suite for YAxUnit
|
||||
|
||||
// BSLLS:Typo-off
|
||||
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
||||
// BSLLS:IncorrectLineBreak-off
|
||||
@@ -63,6 +67,432 @@
|
||||
//@skip-check missing-temporary-file-deletion
|
||||
//@skip-check module-unused-method
|
||||
|
||||
// #Use oint
|
||||
// #Use asserts
|
||||
// #Use "internal"
|
||||
//#Use "../../tools/main"
|
||||
//#Use "../../tools/http"
|
||||
//#Use "../../api"
|
||||
//#Use asserts
|
||||
//#Use "internal"
|
||||
|
||||
|
||||
// For YAxUnit
|
||||
|
||||
Procedure ИсполняемыеСценарии() Export
|
||||
|
||||
OPI_TestDataRetrieval.FormYAXTests("Viber");
|
||||
|
||||
EndProcedure
|
||||
|
||||
// For Asserts
|
||||
|
||||
Function ПолучитьСписокТестов(UnitTesting) Export
|
||||
|
||||
Return OPI_TestDataRetrieval.FormAssertsTests("Viber");
|
||||
|
||||
EndFunction
|
||||
|
||||
#Region Internal
|
||||
|
||||
#Region RunnableTests
|
||||
|
||||
#Region Viber
|
||||
|
||||
Procedure Viber_DataRetrieval() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Viber_ChannelToken" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Viber_ChannelAdminID", TestParameters);
|
||||
|
||||
Return;
|
||||
|
||||
//@skip-check unreachable-statements
|
||||
// BSLLS:UnreachableCode-off
|
||||
|
||||
Viber_GetChannelInformation(TestParameters);
|
||||
Viber_GetUserData(TestParameters);
|
||||
Viber_GetOnlineUsers(TestParameters);
|
||||
Viber_SetWebhook(TestParameters);
|
||||
|
||||
// BSLLS:UnreachableCode-on
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Viber_MessagesSending() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Viber_ChannelToken" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Viber_ChannelAdminID", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Viber_Token" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Viber_UserID" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Picture" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Document" , TestParameters);
|
||||
|
||||
Viber_CreateKeyboardFromArrayButton(TestParameters);
|
||||
|
||||
Return;
|
||||
|
||||
//@skip-check unreachable-statement
|
||||
// BSLLS:UnreachableCode-off
|
||||
|
||||
Viber_SendTextMessage(TestParameters);
|
||||
Viber_SendImage(TestParameters);
|
||||
Viber_SendFile(TestParameters);
|
||||
Viber_SendContact(TestParameters);
|
||||
Viber_SendLocation(TestParameters);
|
||||
Viber_SendLink(TestParameters);
|
||||
|
||||
// BSLLS:UnreachableCode-on
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // Viber
|
||||
|
||||
#EndRegion // RunnableTests
|
||||
|
||||
#EndRegion // Internal
|
||||
|
||||
#Region Private
|
||||
|
||||
#Region AtomicTests
|
||||
|
||||
#Region Viber
|
||||
|
||||
Procedure Viber_SetWebhook(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Viber_ChannelToken"];
|
||||
URL = "http://api.athenaeum.digital/hs/viber";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("url", URL);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("viber", "SetWebhook", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Viber", "SetWebhook");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Viber_GetChannelInformation(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Viber_ChannelToken"];
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("viber", "GetChannelInformation", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Viber", "GetChannelInformation");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Viber_GetUserData(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Viber_ChannelToken"];
|
||||
UserID = FunctionParameters["Viber_ChannelAdminID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("user", UserID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("viber", "GetUserData", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Viber", "GetUserData");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Viber_GetOnlineUsers(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Viber_ChannelToken"];
|
||||
UserID = FunctionParameters["Viber_ChannelAdminID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("users", UserID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("viber", "GetOnlineUsers", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Viber", "GetOnlineUsers");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Viber_CreateKeyboardFromArrayButton(FunctionParameters)
|
||||
|
||||
ButtonArray = New Array;
|
||||
ButtonArray.Add("Button 1");
|
||||
ButtonArray.Add("Button 2");
|
||||
ButtonArray.Add("Button 3");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("buttons", ButtonArray);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("viber", "CreateKeyboardFromArrayButton", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Viber", "CreateKeyboardFromArrayButton");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Viber_SendTextMessage(FunctionParameters)
|
||||
|
||||
Text = "TestMessage";
|
||||
|
||||
UserID = FunctionParameters["Viber_UserID"];
|
||||
Token = FunctionParameters["Viber_Token"];
|
||||
SendingToChannel = False;
|
||||
|
||||
ButtonArray = New Array;
|
||||
ButtonArray.Add("Button 1");
|
||||
ButtonArray.Add("Button 2");
|
||||
ButtonArray.Add("Button 3");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("buttons", ButtonArray);
|
||||
|
||||
Keyboard = OPI_TestDataRetrieval.ExecuteTestCLI("viber", "CreateKeyboardFromArrayButton", Options);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("text", Text);
|
||||
Options.Insert("user", UserID);
|
||||
Options.Insert("ischannel", SendingToChannel);
|
||||
Options.Insert("keyboard", Keyboard);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("viber", "SendTextMessage", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Viber", "SendTextMessage"); // SKIP
|
||||
|
||||
UserID = FunctionParameters["Viber_ChannelAdminID"];
|
||||
Token = FunctionParameters["Viber_ChannelToken"];
|
||||
SendingToChannel = True;
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("text", Text);
|
||||
Options.Insert("user", UserID);
|
||||
Options.Insert("ischannel", SendingToChannel);
|
||||
Options.Insert("keyboard", Keyboard);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("viber", "SendTextMessage", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Viber", "SendTextMessage", "Channel");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Viber_SendImage(FunctionParameters)
|
||||
|
||||
Description = "TestMessage";
|
||||
URL = FunctionParameters["Picture"];
|
||||
|
||||
UserID = FunctionParameters["Viber_UserID"];
|
||||
Token = FunctionParameters["Viber_Token"];
|
||||
SendingToChannel = False;
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("picture", URL);
|
||||
Options.Insert("user", UserID);
|
||||
Options.Insert("ischannel", SendingToChannel);
|
||||
Options.Insert("description", Description);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("viber", "SendImage", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Viber", "SendImage"); // SKIP
|
||||
|
||||
UserID = FunctionParameters["Viber_ChannelAdminID"];
|
||||
Token = FunctionParameters["Viber_ChannelToken"];
|
||||
SendingToChannel = True;
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("picture", URL);
|
||||
Options.Insert("user", UserID);
|
||||
Options.Insert("ischannel", SendingToChannel);
|
||||
Options.Insert("description", Description);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("viber", "SendImage", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Viber", "SendImage", "Channel");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Viber_SendFile(FunctionParameters)
|
||||
|
||||
Extension = "docx";
|
||||
URL = FunctionParameters["Document"];
|
||||
|
||||
UserID = FunctionParameters["Viber_UserID"];
|
||||
Token = FunctionParameters["Viber_Token"];
|
||||
SendingToChannel = False;
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("file", URL);
|
||||
Options.Insert("user", UserID);
|
||||
Options.Insert("ischannel", SendingToChannel);
|
||||
Options.Insert("ext", Extension);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("viber", "SendFile", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Viber", "SendFile"); // SKIP
|
||||
|
||||
UserID = FunctionParameters["Viber_ChannelAdminID"];
|
||||
Token = FunctionParameters["Viber_ChannelToken"];
|
||||
SendingToChannel = True;
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("file", URL);
|
||||
Options.Insert("user", UserID);
|
||||
Options.Insert("ischannel", SendingToChannel);
|
||||
Options.Insert("ext", Extension);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("viber", "SendFile", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Viber", "SendFile", "Channel");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Viber_SendContact(FunctionParameters)
|
||||
|
||||
Name = "Petr Petrov";
|
||||
Phone = "+123456789";
|
||||
|
||||
UserID = FunctionParameters["Viber_UserID"];
|
||||
Token = FunctionParameters["Viber_Token"];
|
||||
SendingToChannel = False;
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("name", Name);
|
||||
Options.Insert("phone", Phone);
|
||||
Options.Insert("user", UserID);
|
||||
Options.Insert("ischannel", SendingToChannel);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("viber", "SendContact", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Viber", "SendContact"); // SKIP
|
||||
|
||||
UserID = FunctionParameters["Viber_ChannelAdminID"];
|
||||
Token = FunctionParameters["Viber_ChannelToken"];
|
||||
SendingToChannel = True;
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("name", Name);
|
||||
Options.Insert("phone", Phone);
|
||||
Options.Insert("user", UserID);
|
||||
Options.Insert("ischannel", SendingToChannel);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("viber", "SendContact", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Viber", "SendContact", "Channel");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Viber_SendLocation(FunctionParameters)
|
||||
|
||||
Latitude = "48.87373649724122";
|
||||
Longitude = "2.2954639195323967";
|
||||
|
||||
UserID = FunctionParameters["Viber_UserID"];
|
||||
Token = FunctionParameters["Viber_Token"];
|
||||
SendingToChannel = False;
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("lat", Latitude);
|
||||
Options.Insert("long", Longitude);
|
||||
Options.Insert("user", UserID);
|
||||
Options.Insert("ischannel", SendingToChannel);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("viber", "SendLocation", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Viber", "SendLocation"); // SKIP
|
||||
|
||||
UserID = FunctionParameters["Viber_ChannelAdminID"];
|
||||
Token = FunctionParameters["Viber_ChannelToken"];
|
||||
SendingToChannel = True;
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("lat", Latitude);
|
||||
Options.Insert("long", Longitude);
|
||||
Options.Insert("user", UserID);
|
||||
Options.Insert("ischannel", SendingToChannel);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("viber", "SendLocation", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Viber", "SendLocation", "Channel");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Viber_SendLink(FunctionParameters)
|
||||
|
||||
URL = "https://github.com/Bayselonarrend/OpenIntegrations";
|
||||
|
||||
UserID = FunctionParameters["Viber_UserID"];
|
||||
Token = FunctionParameters["Viber_Token"];
|
||||
SendingToChannel = False;
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("user", UserID);
|
||||
Options.Insert("ischannel", SendingToChannel);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("viber", "SendLink", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Viber", "SendLink"); // SKIP
|
||||
|
||||
UserID = FunctionParameters["Viber_ChannelAdminID"];
|
||||
Token = FunctionParameters["Viber_ChannelToken"];
|
||||
SendingToChannel = True;
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("user", UserID);
|
||||
Options.Insert("ischannel", SendingToChannel);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("viber", "SendLink", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Viber", "SendLink", "Channel");
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // Viber
|
||||
|
||||
#EndRegion // AtomicTests
|
||||
|
||||
#EndRegion // Private
|
||||
|
||||
#Region Alternate
|
||||
|
||||
Procedure Вайбер_ПолучениеИнформации() Export
|
||||
Viber_DataRetrieval();
|
||||
EndProcedure
|
||||
|
||||
Procedure Вайбер_ОтправкаСообщений() Export
|
||||
Viber_MessagesSending();
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
// OneScript: ./OInt/tests/Modules/OPItc_WebSocket.os
|
||||
|
||||
// MIT License
|
||||
|
||||
// Copyright (c) 2023-2026 Anton Tsitavets
|
||||
@@ -63,6 +65,31 @@
|
||||
//@skip-check missing-temporary-file-deletion
|
||||
//@skip-check module-unused-method
|
||||
|
||||
// #Use oint
|
||||
// #Use asserts
|
||||
// #Use "internal"
|
||||
//#Use "../../tools/main"
|
||||
//#Use "../../tools/http"
|
||||
//#Use "../../api"
|
||||
//#Use asserts
|
||||
//#Use "internal"
|
||||
|
||||
// For YAxUnit
|
||||
|
||||
Procedure ИсполняемыеСценарии() Export
|
||||
|
||||
OPI_TestDataRetrieval.FormYAXTests("WebSocket");
|
||||
|
||||
EndProcedure
|
||||
|
||||
// For Asserts
|
||||
|
||||
Function ПолучитьСписокТестов(UnitTesting) Export
|
||||
|
||||
Return OPI_TestDataRetrieval.FormAssertsTests("WebSocket");
|
||||
|
||||
EndFunction
|
||||
|
||||
|
||||
#Region Alternate
|
||||
|
||||
|
||||
|
||||
#EndRegion
|
||||
|
||||
+703
-4
@@ -1,3 +1,5 @@
|
||||
// OneScript: ./OInt/tests/Modules/OPItc_YandexDisk.os
|
||||
|
||||
// MIT License
|
||||
|
||||
// Copyright (c) 2023-2026 Anton Tsitavets
|
||||
@@ -9,7 +11,7 @@
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// 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.
|
||||
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
@@ -22,6 +24,8 @@
|
||||
|
||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||
|
||||
// Test suite for YAxUnit
|
||||
|
||||
// BSLLS:Typo-off
|
||||
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
||||
// BSLLS:IncorrectLineBreak-off
|
||||
@@ -63,6 +67,701 @@
|
||||
//@skip-check missing-temporary-file-deletion
|
||||
//@skip-check module-unused-method
|
||||
|
||||
// #Use oint
|
||||
// #Use asserts
|
||||
// #Use "internal"
|
||||
//#Use "../../tools/main"
|
||||
//#Use "../../tools/http"
|
||||
//#Use "../../api"
|
||||
//#Use asserts
|
||||
//#Use "internal"
|
||||
|
||||
|
||||
// For YAxUnit
|
||||
|
||||
Procedure ИсполняемыеСценарии() Export
|
||||
|
||||
OPI_TestDataRetrieval.FormYAXTests("YandexDisk");
|
||||
|
||||
EndProcedure
|
||||
|
||||
// For Asserts
|
||||
|
||||
Function ПолучитьСписокТестов(UnitTesting) Export
|
||||
|
||||
Return OPI_TestDataRetrieval.FormAssertsTests("YandexDisk");
|
||||
|
||||
EndFunction
|
||||
|
||||
#Region Internal
|
||||
|
||||
#Region RunnableTests
|
||||
|
||||
#Region YandexDisk
|
||||
|
||||
Procedure YDisk_Authorization() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("YandexDisk_Token" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("YandexDisk_ClientID" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("YandexDisk_ClientSecret", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("YandexDisk_RefreshToken", TestParameters);
|
||||
|
||||
YandexDisk_GetConfirmationCode(TestParameters);
|
||||
YandexDisk_ConvertCodeToToken(TestParameters);
|
||||
YandexDisk_RefreshToken(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YDisk_GetDiskInfo() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("YandexDisk_Token", TestParameters);
|
||||
|
||||
YandexDisk_GetDiskInformation(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YDisk_CreateFolder() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("YandexDisk_Token", TestParameters);
|
||||
|
||||
YandexDisk_CreateFolder(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YDisk_UploadByUrlAndGetObject() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("YandexDisk_Token", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Picture" , TestParameters);
|
||||
|
||||
YandexDisk_UploadFileByURL(TestParameters);
|
||||
YandexDisk_GetObject(TestParameters);
|
||||
YandexDisk_DeleteObject(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YDisk_UploadDeleteFile() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("YandexDisk_Token", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Picture" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Audio" , TestParameters);
|
||||
|
||||
YandexDisk_UploadFileInParts(TestParameters);
|
||||
YandexDisk_UploadFile(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YDisk_CreateObjectCopy() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("YandexDisk_Token", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Picture" , TestParameters);
|
||||
|
||||
Token = TestParameters["YandexDisk_Token"];
|
||||
URL = TestParameters["Picture"];
|
||||
|
||||
OriginalPath = "/" + String(New UUID) + ".png";
|
||||
|
||||
OPI_YandexDisk.UploadFileByURL(Token, OriginalPath, URL);
|
||||
OPI_Tools.Pause(35);
|
||||
|
||||
OPI_TestDataRetrieval.WriteParameter("YandexDisk_OriginalFilePath", OriginalPath);
|
||||
TestParameters.Insert("YandexDisk_OriginalFilePath", OriginalPath);
|
||||
|
||||
YandexDisk_CreateObjectCopy(TestParameters);
|
||||
|
||||
CopyPath = TestParameters["YandexDisk_FileCopyPath"];
|
||||
|
||||
OPI_YandexDisk.DeleteObject(Token, OriginalPath, False);
|
||||
OPI_YandexDisk.DeleteObject(Token, CopyPath , False);
|
||||
|
||||
OPI_Tools.Pause(5);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YDisk_GetDownloadLink() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("YandexDisk_Token", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Picture" , TestParameters);
|
||||
|
||||
Token = TestParameters["YandexDisk_Token"];
|
||||
URL = TestParameters["Picture"];
|
||||
|
||||
Path = "/" + String(New UUID) + ".png";
|
||||
|
||||
OPI_YandexDisk.UploadFileByURL(Token, Path, URL);
|
||||
OPI_Tools.Pause(35);
|
||||
|
||||
OPI_TestDataRetrieval.WriteParameter("YandexDisk_PathForLink", Path);
|
||||
TestParameters.Insert("YandexDisk_PathForLink", Path);
|
||||
|
||||
YandexDisk_GetDownloadLink(TestParameters);
|
||||
YandexDisk_DownloadFile(TestParameters);
|
||||
|
||||
OPI_YandexDisk.DeleteObject(Token, Path, False);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YDisk_GetFileList() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("YandexDisk_Token", TestParameters);
|
||||
|
||||
YandexDisk_GetFilesList(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YDisk_MoveObject() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("YandexDisk_Token", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Picture" , TestParameters);
|
||||
|
||||
Token = TestParameters["YandexDisk_Token"];
|
||||
URL = TestParameters["Picture"];
|
||||
|
||||
OriginalPath = "/" + String(New UUID) + ".png";
|
||||
|
||||
OPI_YandexDisk.UploadFileByURL(Token, OriginalPath, URL);
|
||||
OPI_Tools.Pause(35);
|
||||
|
||||
OPI_TestDataRetrieval.WriteParameter("YandexDisk_OriginalFilePath", OriginalPath);
|
||||
TestParameters.Insert("YandexDisk_OriginalFilePath", OriginalPath);
|
||||
|
||||
YandexDisk_MoveObject(TestParameters);
|
||||
|
||||
NewPath = TestParameters["YandexDisk_NewFilePath"];
|
||||
|
||||
OPI_YandexDisk.DeleteObject(Token, OriginalPath, False);
|
||||
OPI_YandexDisk.DeleteObject(Token, NewPath , False);
|
||||
|
||||
OPI_Tools.Pause(5);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YDisk_PublicObjectActions() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("YandexDisk_Token", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Picture" , TestParameters);
|
||||
|
||||
Token = TestParameters["YandexDisk_Token"];
|
||||
URL = TestParameters["Picture"];
|
||||
|
||||
OriginalPath = "/" + String(New UUID) + ".png";
|
||||
|
||||
OPI_YandexDisk.UploadFileByURL(Token, OriginalPath, URL);
|
||||
OPI_Tools.Pause(35);
|
||||
|
||||
OPI_TestDataRetrieval.WriteParameter("YandexDisk_OriginalFilePath", OriginalPath);
|
||||
TestParameters.Insert("YandexDisk_OriginalFilePath", OriginalPath);
|
||||
|
||||
YandexDisk_PublishObject(TestParameters);
|
||||
YandexDisk_GetDownloadLinkForPublicObject(TestParameters);
|
||||
YandexDisk_GetPublicObject(TestParameters);
|
||||
YandexDisk_SavePublicObjectToDisk(TestParameters);
|
||||
YandexDisk_CancelObjectPublication(TestParameters);
|
||||
|
||||
OPI_YandexDisk.DeleteObject(Token, OriginalPath, False);
|
||||
|
||||
OPI_Tools.Pause(5);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YDisk_GetPublishedList() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("YandexDisk_Token", TestParameters);
|
||||
|
||||
YandexDisk_GetPublishedObjectsList(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // YandexDisk
|
||||
|
||||
#EndRegion // RunnableTests
|
||||
|
||||
#EndRegion // Internal
|
||||
|
||||
#Region Private
|
||||
|
||||
#Region AtomicTests
|
||||
|
||||
#Region YandexDisk
|
||||
|
||||
Procedure YandexDisk_GetConfirmationCode(FunctionParameters)
|
||||
|
||||
ClientID = FunctionParameters["YandexDisk_ClientID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("id", ClientID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("yadisk", "GetConfirmationCode", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexDisk", "GetConfirmationCode");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexDisk_ConvertCodeToToken(FunctionParameters)
|
||||
|
||||
ClientID = FunctionParameters["YandexDisk_ClientID"];
|
||||
ClientSecret = FunctionParameters["YandexDisk_ClientSecret"];
|
||||
DeviceCode = "12345678";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("id", ClientID);
|
||||
Options.Insert("secret", ClientSecret);
|
||||
Options.Insert("device", DeviceCode);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("yadisk", "ConvertCodeToToken", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexDisk", "ConvertCodeToToken", , FunctionParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexDisk_RefreshToken(FunctionParameters)
|
||||
|
||||
ClientID = FunctionParameters["YandexDisk_ClientID"];
|
||||
ClientSecret = FunctionParameters["YandexDisk_ClientSecret"];
|
||||
RefreshToken = FunctionParameters["YandexDisk_RefreshToken"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("id", ClientID);
|
||||
Options.Insert("secret", ClientSecret);
|
||||
Options.Insert("refresh", RefreshToken);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("yadisk", "RefreshToken", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexDisk", "RefreshToken", , FunctionParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexDisk_GetDiskInformation(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["YandexDisk_Token"];
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("yadisk", "GetDiskInformation", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexDisk", "GetDiskInformation");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexDisk_CreateFolder(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["YandexDisk_Token"];
|
||||
Path = "/" + String(New UUID);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("path", Path);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("yadisk", "CreateFolder", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexDisk", "CreateFolder", , Token, Path);
|
||||
|
||||
OPI_YandexDisk.DeleteObject(Token, Path, False);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexDisk_UploadFileByURL(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["YandexDisk_Token"];
|
||||
Address = FunctionParameters["Picture"];
|
||||
Path = "/" + String(New UUID) + ".png";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("path", Path);
|
||||
Options.Insert("url", Address);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("yadisk", "UploadFileByURL", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexDisk", "UploadFileByURL", , FunctionParameters, Path);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexDisk_GetObject(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["YandexDisk_Token"];
|
||||
Path = FunctionParameters["YandexDisk_FileByURLPath"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("path", Path);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("yadisk", "GetObject", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexDisk", "GetObject", , Path);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexDisk_DeleteObject(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["YandexDisk_Token"];
|
||||
Path = FunctionParameters["YandexDisk_FileByURLPath"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("path", Path);
|
||||
Options.Insert("can", Ложь);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("yadisk", "DeleteObject", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexDisk", "DeleteObject");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexDisk_UploadFile(FunctionParameters)
|
||||
|
||||
Path1 = "/" + String(New UUID) + ".png";
|
||||
Path2 = "/" + String(New UUID) + ".png";
|
||||
|
||||
Token = FunctionParameters["YandexDisk_Token"];
|
||||
Image = FunctionParameters["Picture"]; // URL
|
||||
|
||||
TFN = GetTempFileName("png"); // Path
|
||||
FileCopy(Image, TFN);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("path", Path1);
|
||||
Options.Insert("file", Image);
|
||||
Options.Insert("rewrite", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("yadisk", "UploadFile", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexDisk", "UploadFile", "URL"); // SKIP
|
||||
|
||||
OPI_YandexDisk.DeleteObject(Token, Path1, False); // SKIP
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("path", Path2);
|
||||
Options.Insert("file", TFN);
|
||||
Options.Insert("rewrite", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("yadisk", "UploadFile", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_Tools.RemoveFileWithTry(TFN, "Failed to delete the temporary file after the test!!");
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexDisk", "UploadFile");
|
||||
|
||||
OPI_YandexDisk.DeleteObject(Token, Path2, False); // SKIP
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexDisk_CreateObjectCopy(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["YandexDisk_Token"];
|
||||
Original = FunctionParameters["YandexDisk_OriginalFilePath"];
|
||||
Path = "/" + String(New UUID) + ".png";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("from", Original);
|
||||
Options.Insert("to", Path);
|
||||
Options.Insert("rewrite", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("yadisk", "CreateObjectCopy", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexDisk", "CreateObjectCopy", , FunctionParameters, Path);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexDisk_GetDownloadLink(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["YandexDisk_Token"];
|
||||
Path = FunctionParameters["YandexDisk_PathForLink"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("path", Path);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("yadisk", "GetDownloadLink", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexDisk", "GetDownloadLink");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexDisk_DownloadFile(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["YandexDisk_Token"];
|
||||
Path = FunctionParameters["YandexDisk_PathForLink"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("path", Path);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("yadisk", "DownloadFile", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexDisk", "DownloadFile");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexDisk_GetFilesList(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["YandexDisk_Token"];
|
||||
Count = 2;
|
||||
OffsetFromStart = 1;
|
||||
FilterByType = "image";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("amount", Count);
|
||||
Options.Insert("offset", OffsetFromStart);
|
||||
Options.Insert("type", FilterByType);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("yadisk", "GetFilesList", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexDisk", "GetFilesList", , Count, OffsetFromStart);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexDisk_MoveObject(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["YandexDisk_Token"];
|
||||
Original = FunctionParameters["YandexDisk_OriginalFilePath"];
|
||||
Path = "/" + String(New UUID) + ".png";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("from", Original);
|
||||
Options.Insert("to", Path);
|
||||
Options.Insert("rewrite", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("yadisk", "MoveObject", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexDisk", "MoveObject", , FunctionParameters, Path);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexDisk_GetPublishedObjectsList(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["YandexDisk_Token"];
|
||||
Count = 2;
|
||||
OffsetFromStart = 1;
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("amount", Count);
|
||||
Options.Insert("offset", OffsetFromStart);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("yadisk", "GetPublishedObjectsList", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexDisk", "GetPublishedObjectsList", , Count, OffsetFromStart);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexDisk_PublishObject(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["YandexDisk_Token"];
|
||||
Path = FunctionParameters["YandexDisk_OriginalFilePath"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("path", Path);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("yadisk", "PublishObject", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexDisk", "PublishObject", , FunctionParameters, Path);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexDisk_GetDownloadLinkForPublicObject(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["YandexDisk_Token"];
|
||||
URL = FunctionParameters["YandexDisk_PublicURL"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("url", URL);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("yadisk", "GetDownloadLinkForPublicObject", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexDisk", "GetDownloadLinkForPublicObject");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexDisk_GetPublicObject(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["YandexDisk_Token"];
|
||||
URL = FunctionParameters["YandexDisk_PublicURL"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("url", URL);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("yadisk", "GetPublicObject", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexDisk", "GetPublicObject");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexDisk_SavePublicObjectToDisk(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["YandexDisk_Token"];
|
||||
URL = FunctionParameters["YandexDisk_PublicURL"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("url", URL);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("yadisk", "SavePublicObjectToDisk", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexDisk", "SavePublicObjectToDisk");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexDisk_CancelObjectPublication(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["YandexDisk_Token"];
|
||||
Path = FunctionParameters["YandexDisk_OriginalFilePath"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("path", Path);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("yadisk", "CancelObjectPublication", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexDisk", "CancelObjectPublication", , Path);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexDisk_UploadFileInParts(FunctionParameters)
|
||||
|
||||
Path = "/song.mp3";
|
||||
|
||||
Token = FunctionParameters["YandexDisk_Token"];
|
||||
File = FunctionParameters["Audio"]; // URL, Binary or File path
|
||||
|
||||
ChunkSize = 1048576; // 1 MB
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("path", Path);
|
||||
Options.Insert("file", File);
|
||||
Options.Insert("psize", ChunkSize);
|
||||
Options.Insert("rewrite", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("yadisk", "UploadFileInParts", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexDisk", "UploadFileInParts", , File);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("path", Path);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("yadisk", "DownloadFile", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexDisk", "UploadFileInParts", "Downloading", File);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("path", Path);
|
||||
Options.Insert("can", Ложь);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("yadisk", "DeleteObject", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexDisk", "UploadFileInParts", "Deletion");
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // YandexDisk
|
||||
|
||||
#EndRegion // AtomicTests
|
||||
|
||||
#EndRegion // Private
|
||||
|
||||
#Region Alternate
|
||||
|
||||
Procedure ЯДиск_Авторизация() Export
|
||||
YDisk_Authorization();
|
||||
EndProcedure
|
||||
|
||||
Procedure ЯДиск_ПолучитьИнформациюОДиске() Export
|
||||
YDisk_GetDiskInfo();
|
||||
EndProcedure
|
||||
|
||||
Procedure ЯДиск_СоздатьПапку() Export
|
||||
YDisk_CreateFolder();
|
||||
EndProcedure
|
||||
|
||||
Procedure ЯДиск_ЗагрузитьПоАдресуПолучитьОбъект() Export
|
||||
YDisk_UploadByUrlAndGetObject();
|
||||
EndProcedure
|
||||
|
||||
Procedure ЯДиск_ЗагрузитьУдалитьФайл() Export
|
||||
YDisk_UploadDeleteFile();
|
||||
EndProcedure
|
||||
|
||||
Procedure ЯДиск_СоздатьКопиюОбъекта() Export
|
||||
YDisk_CreateObjectCopy();
|
||||
EndProcedure
|
||||
|
||||
Procedure ЯДиск_ПолучитьСсылкуНаСкачивание() Export
|
||||
YDisk_GetDownloadLink();
|
||||
EndProcedure
|
||||
|
||||
Procedure ЯДиск_ПолучитьСписокФайлов() Export
|
||||
YDisk_GetFileList();
|
||||
EndProcedure
|
||||
|
||||
Procedure ЯДиск_ПереместитьОбъект() Export
|
||||
YDisk_MoveObject();
|
||||
EndProcedure
|
||||
|
||||
Procedure ЯДиск_ДействияПубличныхОбъектов() Export
|
||||
YDisk_PublicObjectActions();
|
||||
EndProcedure
|
||||
|
||||
Procedure ЯДиск_ПолучитьСписокОпубликованных() Export
|
||||
YDisk_GetPublishedList();
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
// OneScript: ./OInt/tests/Modules/OPItc_YandexMetrika.os
|
||||
|
||||
// MIT License
|
||||
|
||||
// Copyright (c) 2023-2026 Anton Tsitavets
|
||||
@@ -9,7 +11,7 @@
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// 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.
|
||||
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
@@ -22,6 +24,8 @@
|
||||
|
||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||
|
||||
// Test suite for YAxUnit
|
||||
|
||||
// BSLLS:Typo-off
|
||||
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
||||
// BSLLS:IncorrectLineBreak-off
|
||||
@@ -63,6 +67,395 @@
|
||||
//@skip-check missing-temporary-file-deletion
|
||||
//@skip-check module-unused-method
|
||||
|
||||
// #Use oint
|
||||
// #Use asserts
|
||||
// #Use "internal"
|
||||
//#Use "../../tools/main"
|
||||
//#Use "../../tools/http"
|
||||
//#Use "../../api"
|
||||
//#Use asserts
|
||||
//#Use "internal"
|
||||
|
||||
|
||||
// For YAxUnit
|
||||
|
||||
Procedure ИсполняемыеСценарии() Export
|
||||
|
||||
OPI_TestDataRetrieval.FormYAXTests("YandexMetrika");
|
||||
|
||||
EndProcedure
|
||||
|
||||
// For Asserts
|
||||
|
||||
Function ПолучитьСписокТестов(UnitTesting) Export
|
||||
|
||||
Return OPI_TestDataRetrieval.FormAssertsTests("YandexMetrika");
|
||||
|
||||
EndFunction
|
||||
|
||||
#Region Internal
|
||||
|
||||
#Region RunnableTests
|
||||
|
||||
#Region YandexMetrika
|
||||
|
||||
Procedure YaMetrika_TagsManagement() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Metrika_Token", TestParameters);
|
||||
|
||||
YandexMetrika_CreateTag(TestParameters);
|
||||
YandexMetrika_GetTagsList(TestParameters);
|
||||
YandexMetrika_UpdateTag(TestParameters);
|
||||
YandexMetrika_GetTag(TestParameters);
|
||||
YandexMetrika_DeleteTag(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YaMetrika_CountersManagement() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Metrika_Token", TestParameters);
|
||||
|
||||
YandexMetrika_GetCounterStructure(TestParameters);
|
||||
YandexMetrika_CreateCounter(TestParameters);
|
||||
YandexMetrika_GetCounter(TestParameters);
|
||||
YandexMetrika_UpdateCounter(TestParameters);
|
||||
YandexMetrika_DeleteCounter(TestParameters);
|
||||
YandexMetrika_RestoreCounter(TestParameters);
|
||||
YandexMetrika_GetCountersList(TestParameters);
|
||||
YandexMetrika_DeleteCounter(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YaMetrika_ActionsManagement() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Metrika_Token", TestParameters);
|
||||
|
||||
YandexMetrika_CreateCounter(TestParameters);
|
||||
YandexMetrika_GetActionsList(TestParameters);
|
||||
YandexMetrika_DeleteCounter(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // YandexMetrika
|
||||
|
||||
#EndRegion // RunnableTests
|
||||
|
||||
#EndRegion // Internal
|
||||
|
||||
#Region Private
|
||||
|
||||
#Region AtomicTests
|
||||
|
||||
#Region YandexMetrika
|
||||
|
||||
Procedure YandexMetrika_GetTagsList(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Metrika_Token"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("metrika", "GetTagsList", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexMetrika", "GetTagsList");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexMetrika_CreateTag(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Metrika_Token"];
|
||||
Name = "New tag";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("title", Name);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("metrika", "CreateTag", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexMetrika", "CreateTag", , FunctionParameters, Name);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexMetrika_DeleteTag(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Metrika_Token"];
|
||||
TagID = FunctionParameters["Metrika_LabelID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("label", TagID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("metrika", "DeleteTag", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexMetrika", "DeleteTag");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexMetrika_UpdateTag(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Metrika_Token"];
|
||||
TagID = FunctionParameters["Metrika_LabelID"];
|
||||
Name = "New tag title";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("label", TagID);
|
||||
Options.Insert("title", Name);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("metrika", "UpdateTag", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexMetrika", "UpdateTag", , Name);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexMetrika_GetTag(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Metrika_Token"];
|
||||
TagID = FunctionParameters["Metrika_LabelID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("label", TagID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("metrika", "GetTag", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexMetrika", "GetTag");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexMetrika_GetCounterStructure(FunctionParameters)
|
||||
|
||||
Clear = False;
|
||||
Options = New Structure;
|
||||
Options.Insert("empty", Clear);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("metrika", "GetCounterStructure", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexMetrika", "GetCounterStructure");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexMetrika_CreateCounter(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Metrika_Token"];
|
||||
|
||||
CounterStructure = New Structure;
|
||||
CounterStructure.Insert("autogoals_enabled", True);
|
||||
|
||||
CodeSettingsStructure = New Structure;
|
||||
CodeSettingsStructure.Insert("async" , 0);
|
||||
CodeSettingsStructure.Insert("clickmap" , 1);
|
||||
CodeSettingsStructure.Insert("ecommerce" , 1);
|
||||
CodeSettingsStructure.Insert("in_one_line" , 0);
|
||||
CodeSettingsStructure.Insert("track_hash" , 1);
|
||||
CodeSettingsStructure.Insert("visor" , 1);
|
||||
CodeSettingsStructure.Insert("xml_site" , 0);
|
||||
CodeSettingsStructure.Insert("ytm" , 0);
|
||||
CodeSettingsStructure.Insert("alternative_cdn", 1);
|
||||
|
||||
InformerStructure = New Structure;
|
||||
InformerStructure.Insert("color_arrow", 1);
|
||||
InformerStructure.Insert("color_end" , "EFEFEFFE");
|
||||
InformerStructure.Insert("color_start", "EEEEEEEE");
|
||||
InformerStructure.Insert("color_text" , 0);
|
||||
InformerStructure.Insert("enabled" , 1);
|
||||
InformerStructure.Insert("indicator" , "uniques");
|
||||
InformerStructure.Insert("size" , 2);
|
||||
InformerStructure.Insert("type" , "ext");
|
||||
|
||||
CodeSettingsStructure.Insert("informer", InformerStructure);
|
||||
|
||||
CounterStructure.Insert("code_options", CodeSettingsStructure);
|
||||
|
||||
FlagsStructure = New Structure;
|
||||
FlagsStructure.Insert("collect_first_party_data" , True);
|
||||
FlagsStructure.Insert("measurement_enabled" , True);
|
||||
FlagsStructure.Insert("use_in_benchmarks" , True);
|
||||
FlagsStructure.Insert("direct_allow_use_goals_without_access", True);
|
||||
|
||||
CounterStructure.Insert("counter_flags" , FlagsStructure);
|
||||
CounterStructure.Insert("favorite" , 1);
|
||||
CounterStructure.Insert("filter_robots" , 2);
|
||||
CounterStructure.Insert("gdpr_agreement_accepted", 1);
|
||||
|
||||
DomainStructure = New Structure("site", "openintegrations.dev");
|
||||
|
||||
CounterStructure.Insert("site2", DomainStructure);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("fields", CounterStructure);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("metrika", "CreateCounter", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexMetrika", "CreateCounter", , FunctionParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexMetrika_DeleteCounter(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Metrika_Token"];
|
||||
CounterID = FunctionParameters["Metrika_CounterID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("counter", CounterID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("metrika", "DeleteCounter", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexMetrika", "DeleteCounter");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexMetrika_UpdateCounter(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Metrika_Token"];
|
||||
CounterID = FunctionParameters["Metrika_CounterID"];
|
||||
|
||||
CounterStructure = New Structure;
|
||||
CounterStructure.Insert("autogoals_enabled", True);
|
||||
|
||||
FlagsStructure = New Structure;
|
||||
FlagsStructure.Insert("collect_first_party_data" , False);
|
||||
FlagsStructure.Insert("measurement_enabled" , False);
|
||||
FlagsStructure.Insert("use_in_benchmarks" , False);
|
||||
FlagsStructure.Insert("direct_allow_use_goals_without_access", False);
|
||||
|
||||
CounterStructure.Insert("counter_flags", FlagsStructure);
|
||||
CounterStructure.Insert("favorite" , 0);
|
||||
CounterStructure.Insert("filter_robots", 1);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("counter", CounterID);
|
||||
Options.Insert("fields", CounterStructure);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("metrika", "UpdateCounter", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexMetrika", "UpdateCounter");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexMetrika_GetCounter(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Metrika_Token"];
|
||||
CounterID = FunctionParameters["Metrika_CounterID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("counter", CounterID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("metrika", "GetCounter", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexMetrika", "GetCounter");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexMetrika_RestoreCounter(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Metrika_Token"];
|
||||
CounterID = FunctionParameters["Metrika_CounterID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("counter", CounterID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("metrika", "RestoreCounter", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexMetrika", "RestoreCounter");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexMetrika_GetCountersList(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Metrika_Token"];
|
||||
CounterID = FunctionParameters["Metrika_CounterID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("metrika", "GetCountersList", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexMetrika", "GetCountersList"); // SKIP
|
||||
|
||||
// filter by IDs list
|
||||
|
||||
Filter = New Structure;
|
||||
|
||||
CountersArray = New Array;
|
||||
CountersArray.Add(CounterID);
|
||||
|
||||
Filter.Insert("counter_ids", CountersArray);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("filter", Filter);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("metrika", "GetCountersList", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexMetrika", "GetCountersList", "Filter");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexMetrika_GetActionsList(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Metrika_Token"];
|
||||
CounterID = FunctionParameters["Metrika_CounterID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("counter", CounterID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("metrika", "GetActionsList", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexMetrika", "GetActionsList");
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // YandexMetrika
|
||||
|
||||
#EndRegion // AtomicTests
|
||||
|
||||
#EndRegion // Private
|
||||
|
||||
#Region Alternate
|
||||
|
||||
Procedure ЯМетрика_УправлениеМетками() Export
|
||||
YaMetrika_TagsManagement();
|
||||
EndProcedure
|
||||
|
||||
Procedure ЯМетрика_УправлениеСчетчиками() Export
|
||||
YaMetrika_CountersManagement();
|
||||
EndProcedure
|
||||
|
||||
Procedure ЯМетрика_УправлениеОперациями() Export
|
||||
YaMetrika_ActionsManagement();
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
-526
@@ -1,526 +0,0 @@
|
||||
// OneScript: ./OInt/tests/Modules/OPI_Tests.os
|
||||
|
||||
// MIT License
|
||||
|
||||
// Copyright (c) 2023-2026 Anton Tsitavets
|
||||
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
|
||||
// The above copyright notice and +this permission notice shall be included in all
|
||||
// copies or substantial portions of the Software.
|
||||
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// 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
|
||||
// SOFTWARE.
|
||||
|
||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||
|
||||
// Test suite for YAxUnit
|
||||
|
||||
// BSLLS:Typo-off
|
||||
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
||||
// BSLLS:IncorrectLineBreak-off
|
||||
// BSLLS:UsingServiceTag-off
|
||||
// BSLLS:UnusedParameters-off
|
||||
// BSLLS:DuplicateStringLiteral-off
|
||||
// BSLLS:UsingHardcodePath-off
|
||||
// BSLLS:UnusedLocalVariable-off
|
||||
// BSLLS:DeprecatedMessage-off
|
||||
// BSLLS:LineLength-off
|
||||
// BSLLS:MagicNumber-off
|
||||
// BSLLS:CommentedCode-off
|
||||
// BSLLS:AssignAliasFieldsInQuery-off
|
||||
// BSLLS:UsingHardcodeNetworkAddress-off
|
||||
// BSLLS:UnreachableCode-off
|
||||
// BSLLS:UnusedLocalMethod-off
|
||||
// BSLLS:NestedFunctionInParameters-off
|
||||
// BSLLS:MissingTemporaryFileDeletion-off
|
||||
// BSLLS:UsingSynchronousCalls-off
|
||||
// BSLLS:MagicNumber-off
|
||||
// BSLLS:MagicDate-off
|
||||
// BSLLS:MissingParameterDescription-off
|
||||
// BSLLS:NumberOfOptionalParams-off
|
||||
// BSLLS:MethodSize-off
|
||||
// BSLLS:NestedConstructorsInStructureDeclaration-off
|
||||
// BSLLS:NumberOfValuesInStructureConstructor-off
|
||||
// BSLLS:UsingHardcodeSecretInformation-off
|
||||
// BSLLS:SpaceAtStartComment-off
|
||||
|
||||
//@skip-check undefined-variable
|
||||
//@skip-check wrong-string-literal-content
|
||||
//@skip-check module-structure-top-region
|
||||
//@skip-check module-structure-method-in-regions
|
||||
//@skip-check undefined-function-or-procedure
|
||||
//@skip-check wrong-string-literal-content
|
||||
//@skip-check module-unused-local-variable
|
||||
//@skip-check bsl-legacy-check-string-literal
|
||||
//@skip-check bsl-legacy-check-method-for-statements-after-return
|
||||
//@skip-check missing-temporary-file-deletion
|
||||
//@skip-check module-unused-method
|
||||
|
||||
#Use oint
|
||||
#Use asserts
|
||||
#Use "internal"
|
||||
|
||||
#Region Internal
|
||||
|
||||
// For YAxUnit
|
||||
|
||||
Procedure ИсполняемыеСценарии() Export
|
||||
|
||||
OPI_TestDataRetrieval.FormYAXTests("Airtable");
|
||||
|
||||
EndProcedure
|
||||
|
||||
// For Asserts
|
||||
|
||||
Function ПолучитьСписокТестов(UnitTesting) Export
|
||||
|
||||
Return OPI_TestDataRetrieval.FormAssertsTests("Airtable");
|
||||
|
||||
EndFunction
|
||||
|
||||
#Region RunnableTests
|
||||
|
||||
#Region Airtable
|
||||
|
||||
Procedure AT_CreateDatabase() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Airtable_Token" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Airtable_Workspace", TestParameters);
|
||||
|
||||
Airtable_CreateDatabase(TestParameters);
|
||||
Airtable_GetDatabaseTables(TestParameters);
|
||||
Airtable_GetListOfBases(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure AT_CreateTable() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Airtable_Token", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Airtable_Base" , TestParameters);
|
||||
|
||||
Airtable_GetNumberField(TestParameters);
|
||||
Airtable_GetStringField(TestParameters);
|
||||
Airtable_GetAttachmentField(TestParameters);
|
||||
Airtable_GetCheckboxField(TestParameters);
|
||||
Airtable_GetDateField(TestParameters);
|
||||
Airtable_GetPhoneField(TestParameters);
|
||||
Airtable_GetEmailField(TestParameters);
|
||||
Airtable_GetLinkField(TestParameters);
|
||||
Airtable_CreateTable(TestParameters);
|
||||
Airtable_ModifyTable(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure AT_CreateField() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Airtable_Token", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Airtable_Base" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Airtable_Table", TestParameters);
|
||||
|
||||
Airtable_CreateField(TestParameters);
|
||||
Airtable_ModifyField(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure AT_CreateDeleteRecords() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Airtable_Token", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Airtable_Base" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Airtable_Table", TestParameters);
|
||||
|
||||
Airtable_CreatePosts(TestParameters);
|
||||
Airtable_GetRecord(TestParameters);
|
||||
Airtable_CreateComment(TestParameters);
|
||||
Airtable_EditComment(TestParameters);
|
||||
Airtable_GetComments(TestParameters);
|
||||
Airtable_DeleteComment(TestParameters);
|
||||
Airtable_GetListOfRecords(TestParameters);
|
||||
Airtable_DeleteRecords(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // Airtable
|
||||
|
||||
#EndRegion // RunnableTests
|
||||
|
||||
#EndRegion // Internal
|
||||
|
||||
#Region Private
|
||||
|
||||
#Region AtomicTests
|
||||
|
||||
#Region Airtable
|
||||
|
||||
Procedure Airtable_CreateDatabase(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Airtable_Token"];
|
||||
Region = FunctionParameters["Airtable_Workspace"];
|
||||
Name = "TestDatabase";
|
||||
|
||||
FieldArray = New Array;
|
||||
FieldArray.Add(OPI_Airtable.GetNumberField("Number"));
|
||||
FieldArray.Add(OPI_Airtable.GetStringField("String"));
|
||||
|
||||
TableName = "TestTable";
|
||||
|
||||
TableMapping = New Map;
|
||||
TableMapping.Insert(TableName, FieldArray);
|
||||
|
||||
Result = OPI_Airtable.CreateDatabase(Token, Region, Name, TableMapping);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Airtable", "CreateDatabase", , FunctionParameters, TableName);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Airtable_GetDatabaseTables(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Airtable_Token"];
|
||||
Base = FunctionParameters["Airtable_Base"];
|
||||
|
||||
Result = OPI_Airtable.GetDatabaseTables(Token, Base);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Airtable", "GetDatabaseTables");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Airtable_GetListOfBases(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Airtable_Token"];
|
||||
|
||||
Result = OPI_Airtable.GetListOfBases(Token);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Airtable", "GetListOfBases");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Airtable_GetNumberField(FunctionParameters)
|
||||
|
||||
Result = OPI_Airtable.GetNumberField("Number");
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Airtable", "GetNumberField");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Airtable_GetStringField(FunctionParameters)
|
||||
|
||||
Result = OPI_Airtable.GetStringField("String");
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Airtable", "GetStringField");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Airtable_GetAttachmentField(FunctionParameters)
|
||||
|
||||
Result = OPI_Airtable.GetAttachmentField("Attachment");
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Airtable", "GetAttachmentField");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Airtable_GetCheckboxField(FunctionParameters)
|
||||
|
||||
Result = OPI_Airtable.GetCheckboxField("Checkbox");
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Airtable", "GetCheckboxField");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Airtable_GetDateField(FunctionParameters)
|
||||
|
||||
Result = OPI_Airtable.GetDateField("Date");
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Airtable", "GetDateField");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Airtable_GetPhoneField(FunctionParameters)
|
||||
|
||||
Result = OPI_Airtable.GetPhoneField("Phone");
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Airtable", "GetPhoneField");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Airtable_GetEmailField(FunctionParameters)
|
||||
|
||||
Result = OPI_Airtable.GetEmailField("Email");
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Airtable", "GetEmailField");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Airtable_GetLinkField(FunctionParameters)
|
||||
|
||||
Result = OPI_Airtable.GetLinkField("Link");
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Airtable", "GetLinkField");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Airtable_CreateTable(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Airtable_Token"];
|
||||
Base = FunctionParameters["Airtable_Base"];
|
||||
|
||||
FieldArray = New Array;
|
||||
FieldArray.Add(OPI_Airtable.GetNumberField("Number"));
|
||||
FieldArray.Add(OPI_Airtable.GetStringField("String"));
|
||||
FieldArray.Add(OPI_Airtable.GetAttachmentField("Attachment"));
|
||||
FieldArray.Add(OPI_Airtable.GetCheckboxField("Checkbox"));
|
||||
FieldArray.Add(OPI_Airtable.GetDateField("Date"));
|
||||
FieldArray.Add(OPI_Airtable.GetPhoneField("Phone"));
|
||||
FieldArray.Add(OPI_Airtable.GetEmailField("Email"));
|
||||
FieldArray.Add(OPI_Airtable.GetLinkField("Link"));
|
||||
|
||||
Name = "TestTable2";
|
||||
Description = "NewTable";
|
||||
|
||||
Result = OPI_Airtable.CreateTable(Token, Base, Name, FieldArray, Description);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Airtable", "CreateTable", , FunctionParameters, Name, Description);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Airtable_ModifyTable(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Airtable_Token"];
|
||||
Base = FunctionParameters["Airtable_Base"];
|
||||
Table = FunctionParameters["Airtable_Table"];
|
||||
Name = "Test table 2 (change.)";
|
||||
Description = "New table (change.)";
|
||||
|
||||
Result = OPI_Airtable.ModifyTable(Token, Base, Table, Name, Description);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Airtable", "ModifyTable", , Name, Description);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Airtable_CreateField(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Airtable_Token"];
|
||||
Base = FunctionParameters["Airtable_Base"];
|
||||
Table = FunctionParameters["Airtable_Table"];
|
||||
Name = String(New UUID);
|
||||
|
||||
Field = OPI_Airtable.GetNumberField(Name);
|
||||
Result = OPI_Airtable.CreateField(Token, Base, Table, Field);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Airtable", "CreateField", , FunctionParameters, Name);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Airtable_ModifyField(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Airtable_Token"];
|
||||
Base = FunctionParameters["Airtable_Base"];
|
||||
Table = FunctionParameters["Airtable_Table"];
|
||||
Field = FunctionParameters["Airtable_Field"];
|
||||
|
||||
Name = String(New UUID) + "(change.)";
|
||||
Description = "New description";
|
||||
|
||||
Result = OPI_Airtable.ModifyField(Token, Base, Table, Field, Name, Description);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Airtable", "ModifyField", , Name, Description);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Airtable_CreatePosts(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Airtable_Token"];
|
||||
Base = FunctionParameters["Airtable_Base"];
|
||||
Table = FunctionParameters["Airtable_Table"];
|
||||
|
||||
Number = 10;
|
||||
String = "Hello";
|
||||
|
||||
RowDescription1 = New Structure("Number,String", Number, String);
|
||||
RowDescription2 = New Structure("Number,String", Number, String);
|
||||
|
||||
ArrayOfDescriptions = New Array;
|
||||
ArrayOfDescriptions.Add(RowDescription1);
|
||||
ArrayOfDescriptions.Add(RowDescription2);
|
||||
|
||||
Result = OPI_Airtable.CreatePosts(Token, Base, Table, ArrayOfDescriptions);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Airtable", "CreatePosts", , FunctionParameters);
|
||||
|
||||
ArrayOfDeletions = New Array;
|
||||
|
||||
For Each Record In Result["records"] Do
|
||||
|
||||
CurrentRecord = Record["id"];
|
||||
ArrayOfDeletions.Add(CurrentRecord);
|
||||
|
||||
EndDo;
|
||||
|
||||
OPI_Airtable.DeleteRecords(Token, Base, Table, ArrayOfDeletions);
|
||||
|
||||
// Single
|
||||
|
||||
Result = OPI_Airtable.CreatePosts(Token, Base, Table, RowDescription1);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Airtable", "CreatePosts", "Single", FunctionParameters, Number, String);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Airtable_GetRecord(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Airtable_Token"];
|
||||
Base = FunctionParameters["Airtable_Base"];
|
||||
Table = FunctionParameters["Airtable_Table"];
|
||||
Record = FunctionParameters["Airtable_Record"];
|
||||
|
||||
Result = OPI_Airtable.GetRecord(Token, Base, Table, Record);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Airtable", "GetRecord", , Record);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Airtable_CreateComment(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Airtable_Token"];
|
||||
Base = FunctionParameters["Airtable_Base"];
|
||||
Table = FunctionParameters["Airtable_Table"];
|
||||
Record = FunctionParameters["Airtable_Record"];
|
||||
Text = "TestComment";
|
||||
|
||||
Result = OPI_Airtable.CreateComment(Token, Base, Table, Record, Text);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Airtable", "CreateComment", , FunctionParameters, Text);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Airtable_EditComment(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Airtable_Token"];
|
||||
Base = FunctionParameters["Airtable_Base"];
|
||||
Table = FunctionParameters["Airtable_Table"];
|
||||
Record = FunctionParameters["Airtable_Record"];
|
||||
Comment = FunctionParameters["Airtable_Comment"];
|
||||
|
||||
Text = "Test comment (change.)";
|
||||
Result = OPI_Airtable.EditComment(Token, Base, Table, Record, Comment, Text);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Airtable", "EditComment", , Text);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Airtable_GetComments(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Airtable_Token"];
|
||||
Base = FunctionParameters["Airtable_Base"];
|
||||
Table = FunctionParameters["Airtable_Table"];
|
||||
Record = FunctionParameters["Airtable_Record"];
|
||||
|
||||
Result = OPI_Airtable.GetComments(Token, Base, Table, Record);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Airtable", "GetComments");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Airtable_DeleteComment(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Airtable_Token"];
|
||||
Base = FunctionParameters["Airtable_Base"];
|
||||
Table = FunctionParameters["Airtable_Table"];
|
||||
Record = FunctionParameters["Airtable_Record"];
|
||||
Comment = FunctionParameters["Airtable_Comment"];
|
||||
|
||||
Result = OPI_Airtable.DeleteComment(Token, Base, Table, Record, Comment);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Airtable", "DeleteComment", , Comment);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Airtable_GetListOfRecords(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Airtable_Token"];
|
||||
Base = FunctionParameters["Airtable_Base"];
|
||||
Table = FunctionParameters["Airtable_Table"];
|
||||
|
||||
Result = OPI_Airtable.GetListOfRecords(Token, Base, Table);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Airtable", "GetListOfRecords");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Airtable_DeleteRecords(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Airtable_Token"];
|
||||
Base = FunctionParameters["Airtable_Base"];
|
||||
Table = FunctionParameters["Airtable_Table"];
|
||||
Record = FunctionParameters["Airtable_Record"];
|
||||
|
||||
Result = OPI_Airtable.DeleteRecords(Token, Base, Table, Record);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Airtable", "DeleteRecords");
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // Airtable
|
||||
|
||||
#EndRegion // AtomicTests
|
||||
|
||||
#EndRegion // Private
|
||||
-39076
File diff suppressed because it is too large
Load Diff
+3
-3
@@ -1,4 +1,4 @@
|
||||
// OneScript: ./OInt/tests/Modules/OPIt_Airtable.os
|
||||
// OneScript: ./OInt/tests/Modules/OPItc_Airtable.os
|
||||
|
||||
// MIT License
|
||||
|
||||
@@ -68,8 +68,8 @@
|
||||
//@skip-check module-unused-method
|
||||
|
||||
#Use "../../tools/main"
|
||||
#Use "../../tools/http"
|
||||
#Use "../../api"
|
||||
#Use "../../tools/http"
|
||||
#Use "../../api"
|
||||
#Use asserts
|
||||
#Use "internal"
|
||||
|
||||
|
||||
+6402
File diff suppressed because it is too large
Load Diff
+919
@@ -0,0 +1,919 @@
|
||||
// OneScript: ./OInt/tests/Modules/OPItc_CDEK.os
|
||||
|
||||
// MIT License
|
||||
|
||||
// Copyright (c) 2023-2026 Anton Tsitavets
|
||||
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
|
||||
// The above copyright notice and +this permission notice shall be included in all
|
||||
// copies or substantial portions of the Software.
|
||||
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// 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
|
||||
// SOFTWARE.
|
||||
|
||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||
|
||||
// Test suite for YAxUnit
|
||||
|
||||
// BSLLS:Typo-off
|
||||
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
||||
// BSLLS:IncorrectLineBreak-off
|
||||
// BSLLS:UsingServiceTag-off
|
||||
// BSLLS:UnusedParameters-off
|
||||
// BSLLS:DuplicateStringLiteral-off
|
||||
// BSLLS:UsingHardcodePath-off
|
||||
// BSLLS:UnusedLocalVariable-off
|
||||
// BSLLS:DeprecatedMessage-off
|
||||
// BSLLS:LineLength-off
|
||||
// BSLLS:MagicNumber-off
|
||||
// BSLLS:CommentedCode-off
|
||||
// BSLLS:AssignAliasFieldsInQuery-off
|
||||
// BSLLS:UsingHardcodeNetworkAddress-off
|
||||
// BSLLS:UnreachableCode-off
|
||||
// BSLLS:UnusedLocalMethod-off
|
||||
// BSLLS:NestedFunctionInParameters-off
|
||||
// BSLLS:MissingTemporaryFileDeletion-off
|
||||
// BSLLS:UsingSynchronousCalls-off
|
||||
// BSLLS:MagicNumber-off
|
||||
// BSLLS:MagicDate-off
|
||||
// BSLLS:MissingParameterDescription-off
|
||||
// BSLLS:NumberOfOptionalParams-off
|
||||
// BSLLS:MethodSize-off
|
||||
// BSLLS:NestedConstructorsInStructureDeclaration-off
|
||||
// BSLLS:NumberOfValuesInStructureConstructor-off
|
||||
// BSLLS:UsingHardcodeSecretInformation-off
|
||||
// BSLLS:SpaceAtStartComment-off
|
||||
|
||||
//@skip-check undefined-variable
|
||||
//@skip-check wrong-string-literal-content
|
||||
//@skip-check module-structure-top-region
|
||||
//@skip-check module-structure-method-in-regions
|
||||
//@skip-check undefined-function-or-procedure
|
||||
//@skip-check wrong-string-literal-content
|
||||
//@skip-check module-unused-local-variable
|
||||
//@skip-check bsl-legacy-check-string-literal
|
||||
//@skip-check bsl-legacy-check-method-for-statements-after-return
|
||||
//@skip-check missing-temporary-file-deletion
|
||||
//@skip-check module-unused-method
|
||||
|
||||
#Use "../../tools/main"
|
||||
#Use "../../tools/http"
|
||||
#Use "../../api"
|
||||
#Use asserts
|
||||
#Use "internal"
|
||||
|
||||
|
||||
// For YAxUnit
|
||||
|
||||
Procedure ИсполняемыеСценарии() Export
|
||||
|
||||
OPI_TestDataRetrieval.FormYAXTests("CDEK");
|
||||
|
||||
EndProcedure
|
||||
|
||||
// For Asserts
|
||||
|
||||
Function ПолучитьСписокТестов(UnitTesting) Export
|
||||
|
||||
Return OPI_TestDataRetrieval.FormAssertsTests("CDEK");
|
||||
|
||||
EndFunction
|
||||
|
||||
#Region Internal
|
||||
|
||||
#Region RunnableTests
|
||||
|
||||
#Region CDEK
|
||||
|
||||
Procedure CdekAPI_CommonMethods() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("CDEK_Account" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("CDEK_Password", TestParameters);
|
||||
|
||||
CDEK_GetToken(TestParameters);
|
||||
CDEK_GetCashboxChecksByDate(TestParameters);
|
||||
CDEK_GetDeliveryCashRegistry(TestParameters);
|
||||
CDEK_GetDeliveryCashTransfers(TestParameters);
|
||||
CDEK_GetOfficeFilterDescription(TestParameters);
|
||||
CDEK_GetOfficeList(TestParameters);
|
||||
CDEK_GetRegionsList(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CDEKAPI_OrdersManagement() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("CDEK_Token", TestParameters);
|
||||
|
||||
CDEK_GetOrderDescription(TestParameters);
|
||||
CDEK_CreateOrder(TestParameters);
|
||||
|
||||
OPI_Tools.Pause(25);
|
||||
|
||||
CDEK_GetOrder(TestParameters);
|
||||
CDEK_GetOrderByNumber(TestParameters);
|
||||
CDEK_CreateReceipt(TestParameters);
|
||||
CDEK_CreateBarcode(TestParameters);
|
||||
CDEK_CreatePrealert(TestParameters);
|
||||
|
||||
OPI_Tools.Pause(25);
|
||||
|
||||
CDEK_GetReceipt(TestParameters);
|
||||
CDEK_GetBarcode(TestParameters);
|
||||
CDEK_GetPrealert(TestParameters);
|
||||
CDEK_GetPassportDataStatus(TestParameters);
|
||||
CDEK_GetCashboxCheck(TestParameters);
|
||||
CDEK_UpdateOrder(TestParameters);
|
||||
CDEK_CreateCustomerRefund(TestParameters);
|
||||
CDEK_CreateRefusal(TestParameters);
|
||||
CDEK_DeleteOrder(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CdekAPI_CourierInvitationsManagement() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("CDEK_Token", TestParameters);
|
||||
|
||||
CDEK_CreateOrder(TestParameters);
|
||||
|
||||
OPI_Tools.Pause(25);
|
||||
|
||||
CDEK_GetCourierInvitationsDescription(TestParameters);
|
||||
CDEK_CreateCourierInvitation(TestParameters);
|
||||
CDEK_GetCourierInvitation(TestParameters);
|
||||
CDEK_DeleteCourierInvitation(TestParameters);
|
||||
CDEK_GetAppointmentDescription(TestParameters);
|
||||
|
||||
CDEK_GetAvailableDeliveryIntervals(TestParameters);
|
||||
CDEK_RegisterDeliveryAppointment(TestParameters);
|
||||
|
||||
OPI_Tools.Pause(25);
|
||||
|
||||
CDEK_GetDeliveryAppointment(TestParameters);
|
||||
CDEK_DeleteOrder(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // CDEK
|
||||
|
||||
#EndRegion // RunnableTests
|
||||
|
||||
#EndRegion // Internal
|
||||
|
||||
#Region Private
|
||||
|
||||
#Region AtomicTests
|
||||
|
||||
#Region CDEK
|
||||
|
||||
Procedure CDEK_GetToken(FunctionParameters)
|
||||
|
||||
Account = FunctionParameters["CDEK_Account"];
|
||||
Password = FunctionParameters["CDEK_Password"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("account", Account);
|
||||
Options.Insert("pass", Password);
|
||||
Options.Insert("testapi", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("cdek", "GetToken", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "GetToken", , FunctionParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CDEK_GetOrderDescription(FunctionParameters)
|
||||
|
||||
Options = New Structure;
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("cdek", "GetOrderDescription", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "GetOrderDescription");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("empty", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("cdek", "GetOrderDescription", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "GetOrderDescription", "Clear");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CDEK_CreateOrder(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["CDEK_Token"];
|
||||
|
||||
OrderDescription = New Structure;
|
||||
|
||||
SendLocation = New Structure;
|
||||
SendLocation.Insert("code" , "44");
|
||||
SendLocation.Insert("city" , "Moscow");
|
||||
SendLocation.Insert("address", "Ave. Leningradsky, 4");
|
||||
|
||||
DestLocation = New Structure;
|
||||
DestLocation.Insert("code" , "270");
|
||||
DestLocation.Insert("city" , "Novosibirsk");
|
||||
DestLocation.Insert("address", "st. Bluchera, 32");
|
||||
|
||||
Recipient = New Structure;
|
||||
|
||||
Phones = New Array;
|
||||
Phones.Add(New Structure("number", "+79134637228"));
|
||||
|
||||
Recipient.Insert("phones", Phones);
|
||||
Recipient.Insert("name" , "Ivaniv Ivan");
|
||||
|
||||
Sender = New Structure("name", "Petrov Petr");
|
||||
|
||||
Services = New Array;
|
||||
|
||||
Service = New Structure;
|
||||
Service.Insert("code" , "SECURE_PACKAGE_A2");
|
||||
Service.Insert("parameter", 10);
|
||||
|
||||
Services.Add(Service);
|
||||
|
||||
Packages = New Array;
|
||||
|
||||
Package = New Structure;
|
||||
|
||||
Items = New Array;
|
||||
|
||||
Item = New Structure;
|
||||
|
||||
Payment = New Structure;
|
||||
Payment.Insert("value", 3000);
|
||||
|
||||
Item.Insert("payment" , Payment);
|
||||
Item.Insert("ware_key", "00055");
|
||||
Item.Insert("name" , "Product");
|
||||
Item.Insert("cost" , 300);
|
||||
Item.Insert("amount" , 2);
|
||||
Item.Insert("weight" , 700);
|
||||
Item.Insert("url" , "www.item.ru");
|
||||
|
||||
Items.Add(Item);
|
||||
|
||||
Package.Insert("items" , Items);
|
||||
Package.Insert("number" , "bar-001");
|
||||
Package.Insert("comment", "Packaging");
|
||||
Package.Insert("height" , 10);
|
||||
Package.Insert("length" , 10);
|
||||
Package.Insert("weight" , "4000");
|
||||
Package.Insert("width" , 10);
|
||||
|
||||
Packages.Add(Package);
|
||||
|
||||
OrderDescription.Insert("from_location", SendLocation);
|
||||
OrderDescription.Insert("to_location" , DestLocation);
|
||||
OrderDescription.Insert("packages" , Packages);
|
||||
OrderDescription.Insert("recipient" , Recipient);
|
||||
OrderDescription.Insert("sender" , Sender);
|
||||
OrderDescription.Insert("services" , Services);
|
||||
|
||||
OrderDescription.Insert("number" , String(New UUID));
|
||||
OrderDescription.Insert("comment" , "New order");
|
||||
OrderDescription.Insert("tariff_code", 139);
|
||||
|
||||
OrderDescription.Insert("delivery_recipient_cost" , New Structure("value" , 50));
|
||||
OrderDescription.Insert("delivery_recipient_cost_adv", New Structure("sum,threshold", 3000, 200));
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("order", OrderDescription);
|
||||
Options.Insert("ostore", Истина);
|
||||
Options.Insert("testapi", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("cdek", "CreateOrder", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "CreateOrder", , FunctionParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CDEK_GetOrder(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["CDEK_Token"];
|
||||
UUID = FunctionParameters["CDEK_OrderUUID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("uuid", UUID);
|
||||
Options.Insert("testapi", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("cdek", "GetOrder", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "GetOrder", , FunctionParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CDEK_GetOrderByNumber(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["CDEK_Token"];
|
||||
|
||||
OrderNumber = FunctionParameters["CDEK_OrderIMN"];
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("number", OrderNumber);
|
||||
Options.Insert("internal", Истина);
|
||||
Options.Insert("testapi", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("cdek", "GetOrderByNumber", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "GetOrderByNumber");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CDEK_UpdateOrder(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["CDEK_Token"];
|
||||
UUID = FunctionParameters["CDEK_OrderUUID"];
|
||||
|
||||
OrderDescription = New Structure("comment", "NewComment");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("uuid", UUID);
|
||||
Options.Insert("order", OrderDescription);
|
||||
Options.Insert("testapi", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("cdek", "UpdateOrder", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "UpdateOrder");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CDEK_DeleteOrder(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["CDEK_Token"];
|
||||
UUID = FunctionParameters["CDEK_OrderUUID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("uuid", UUID);
|
||||
Options.Insert("testapi", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("cdek", "DeleteOrder", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "DeleteOrder");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CDEK_CreateCustomerRefund(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["CDEK_Token"];
|
||||
UUID = FunctionParameters["CDEK_OrderUUID"];
|
||||
Tariff = 139;
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("uuid", UUID);
|
||||
Options.Insert("tariff", Tariff);
|
||||
Options.Insert("testapi", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("cdek", "CreateCustomerRefund", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "CreateCustomerRefund");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CDEK_CreateRefusal(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["CDEK_Token"];
|
||||
UUID = FunctionParameters["CDEK_OrderUUID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("uuid", UUID);
|
||||
Options.Insert("testapi", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("cdek", "CreateRefusal", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "CreateRefusal");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CDEK_GetCourierInvitationsDescription(FunctionParameters)
|
||||
|
||||
Options = New Structure;
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("cdek", "GetCourierInvitationsDescription", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "GetCourierInvitationsDescription");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("empty", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("cdek", "GetCourierInvitationsDescription", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "GetCourierInvitationsDescription", "Clear");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CDEK_CreateCourierInvitation(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["CDEK_Token"];
|
||||
CurrentDate = OPI_Tools.GetCurrentDate();
|
||||
|
||||
InvitationDescription = New Structure;
|
||||
InvitationDescription.Insert("intake_date" , Format(CurrentDate + 60 * 60 * 24, "DF=yyyy-MM-dd"));
|
||||
InvitationDescription.Insert("intake_time_from", "10:00");
|
||||
InvitationDescription.Insert("intake_time_to" , "17:00");
|
||||
InvitationDescription.Insert("name" , "Consolidated cargo");
|
||||
InvitationDescription.Insert("weight" , 1000);
|
||||
InvitationDescription.Insert("length" , 10);
|
||||
InvitationDescription.Insert("width" , 10);
|
||||
InvitationDescription.Insert("height" , 10);
|
||||
InvitationDescription.Insert("comment" , "Comment to courier");
|
||||
InvitationDescription.Insert("need_call" , False);
|
||||
|
||||
Sender = New Structure;
|
||||
Sender.Insert("company", "Company");
|
||||
Sender.Insert("name" , "Ivaniv Ivan");
|
||||
|
||||
Phones = New Array;
|
||||
Phone = New Structure("number", "+79589441654");
|
||||
Phones.Add(Phone);
|
||||
|
||||
Sender.Insert("phones", Phones);
|
||||
|
||||
InvitationDescription.Insert("sender", Sender);
|
||||
|
||||
ShippingPoint = New Structure;
|
||||
ShippingPoint.Insert("code" , "44");
|
||||
ShippingPoint.Insert("fias_guid" , "0c5b2444-70a0-4932-980c-b4dc0d3f02b5");
|
||||
ShippingPoint.Insert("postal_code" , "109004");
|
||||
ShippingPoint.Insert("longitude" , 37.6204);
|
||||
ShippingPoint.Insert("latitude" , 55.754);
|
||||
ShippingPoint.Insert("country_code", "RU");
|
||||
ShippingPoint.Insert("region" , "Moscow");
|
||||
ShippingPoint.Insert("sub_region" , "Moscow");
|
||||
ShippingPoint.Insert("city" , "Moscow");
|
||||
ShippingPoint.Insert("kladr_code" , "7700000000000");
|
||||
ShippingPoint.Insert("address" , "st. Bluchera, 32");
|
||||
|
||||
InvitationDescription.Insert("from_location", ShippingPoint);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("intake", InvitationDescription);
|
||||
Options.Insert("testapi", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("cdek", "CreateCourierInvitation", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "CreateCourierInvitation", , FunctionParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CDEK_GetCourierInvitation(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["CDEK_Token"];
|
||||
UUID = FunctionParameters["CDEK_IntakeUUID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("uuid", UUID);
|
||||
Options.Insert("testapi", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("cdek", "GetCourierInvitation", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "GetCourierInvitation");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CDEK_DeleteCourierInvitation(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["CDEK_Token"];
|
||||
UUID = FunctionParameters["CDEK_IntakeUUID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("uuid", UUID);
|
||||
Options.Insert("testapi", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("cdek", "DeleteCourierInvitation", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "DeleteCourierInvitation");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CDEK_CreateReceipt(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["CDEK_Token"];
|
||||
UUID = FunctionParameters["CDEK_OrderUUID"];
|
||||
Type = "tpl_russia";
|
||||
Copies = 1;
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("uuids", UUID);
|
||||
Options.Insert("type", Type);
|
||||
Options.Insert("count", Copies);
|
||||
Options.Insert("testapi", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("cdek", "CreateReceipt", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "CreateReceipt", , FunctionParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CDEK_GetReceipt(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["CDEK_Token"];
|
||||
UUID = FunctionParameters["CDEK_PrintUUID"];
|
||||
|
||||
Result = OPI_CDEK.GetReceipt(Token, UUID, , True); // Server response with a URL
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "GetReceipt");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CDEK_CreateBarcode(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["CDEK_Token"];
|
||||
UUID = FunctionParameters["CDEK_OrderUUID"];
|
||||
Format = "A5";
|
||||
Copies = 1;
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("uuids", UUID);
|
||||
Options.Insert("count", Copies);
|
||||
Options.Insert("format", Format);
|
||||
Options.Insert("testapi", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("cdek", "CreateBarcode", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "CreateBarcode", , FunctionParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CDEK_GetBarcode(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["CDEK_Token"];
|
||||
UUID = FunctionParameters["CDEK_BarcodeUUID"];
|
||||
|
||||
Result = OPI_CDEK.GetBarcode(Token, UUID, , True); // Server response with a URL
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "GetBarcode");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CDEK_GetAvailableDeliveryIntervals(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["CDEK_Token"];
|
||||
UUID = FunctionParameters["CDEK_OrderUUID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("uuid", UUID);
|
||||
Options.Insert("testapi", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("cdek", "GetAvailableDeliveryIntervals", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "GetAvailableDeliveryIntervals");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CDEK_GetAppointmentDescription(FunctionParameters)
|
||||
|
||||
Options = New Structure;
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("cdek", "GetAppointmentDescription", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "GetAppointmentDescription");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("empty", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("cdek", "GetAppointmentDescription", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "GetAppointmentDescription", "Clear");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CDEK_RegisterDeliveryAppointment(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["CDEK_Token"];
|
||||
OrderUUID = FunctionParameters["CDEK_OrderUUID"];
|
||||
|
||||
Day = 60 * 60 * 24;
|
||||
CurrentDate = BegOfDay(OPI_Tools.GetCurrentDate());
|
||||
DeliveryDate = CurrentDate + Day * 14;
|
||||
|
||||
While DayOfWeek(DeliveryDate) > 5 Do
|
||||
DeliveryDate = DeliveryDate + Day;
|
||||
EndDo;
|
||||
|
||||
Appointment = New Structure;
|
||||
|
||||
Appointment.Insert("cdek_number", "1106207236");
|
||||
Appointment.Insert("order_uuid" , OrderUUID);
|
||||
Appointment.Insert("date" , Format(DeliveryDate, "DF=yyyy-MM-dd"));
|
||||
Appointment.Insert("time_from" , "10:00");
|
||||
Appointment.Insert("time_to" , "17:00");
|
||||
Appointment.Insert("comment" , "Group office");
|
||||
|
||||
DeliveryLocation = New Structure;
|
||||
DeliveryLocation.Insert("code" , "270");
|
||||
DeliveryLocation.Insert("fias_guid" , "0c5b2444-70a0-4932-980c-b4dc0d3f02b5");
|
||||
DeliveryLocation.Insert("postal_code" , "109004");
|
||||
DeliveryLocation.Insert("longitude" , 37.6204);
|
||||
DeliveryLocation.Insert("latitude" , 55.754);
|
||||
DeliveryLocation.Insert("country_code", "RU");
|
||||
DeliveryLocation.Insert("region" , "Novosibirsk");
|
||||
DeliveryLocation.Insert("sub_region" , "Novosibirsk");
|
||||
DeliveryLocation.Insert("city" , "Novosibirsk");
|
||||
DeliveryLocation.Insert("kladr_code" , "7700000000000");
|
||||
DeliveryLocation.Insert("address" , "st. Bluchera, 33");
|
||||
|
||||
Appointment.Insert("to_location", DeliveryLocation);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("appt", Appointment);
|
||||
Options.Insert("testapi", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("cdek", "RegisterDeliveryAppointment", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "RegisterDeliveryAppointment", , FunctionParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CDEK_GetDeliveryAppointment(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["CDEK_Token"];
|
||||
UUID = FunctionParameters["CDEK_ApptUUID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("uuid", UUID);
|
||||
Options.Insert("testapi", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("cdek", "GetDeliveryAppointment", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "GetDeliveryAppointment");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CDEK_CreatePrealert(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["CDEK_Token"];
|
||||
UUID = FunctionParameters["CDEK_OrderUUID"];
|
||||
Point = "NSK27";
|
||||
TransferDate = OPI_Tools.GetCurrentDate() + 60 * 60 * 24;
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("uuids", UUID);
|
||||
Options.Insert("date", TransferDate);
|
||||
Options.Insert("point", Point);
|
||||
Options.Insert("testapi", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("cdek", "CreatePrealert", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "CreatePrealert", , FunctionParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CDEK_GetPrealert(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["CDEK_Token"];
|
||||
UUID = FunctionParameters["CDEK_PrealertUUID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("uuid", UUID);
|
||||
Options.Insert("testapi", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("cdek", "GetPrealert", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "GetPrealert");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CDEK_GetPassportDataStatus(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["CDEK_Token"];
|
||||
UUID = FunctionParameters["CDEK_OrderUUID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("uuid", UUID);
|
||||
Options.Insert("testapi", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("cdek", "GetPassportDataStatus", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "GetPassportDataStatus");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CDEK_GetCashboxCheck(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["CDEK_Token"];
|
||||
UUID = FunctionParameters["CDEK_OrderUUID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("uuid", UUID);
|
||||
Options.Insert("testapi", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("cdek", "GetCashboxCheck", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "GetCashboxCheck");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CDEK_GetCashboxChecksByDate(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["CDEK_Token"];
|
||||
ReceivingDate = OPI_Tools.GetCurrentDate();
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("date", ReceivingDate);
|
||||
Options.Insert("testapi", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("cdek", "GetCashboxChecksByDate", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "GetCashboxChecksByDate");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CDEK_GetDeliveryCashRegistry(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["CDEK_Token"];
|
||||
ReceivingDate = OPI_Tools.GetCurrentDate();
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("date", ReceivingDate);
|
||||
Options.Insert("testapi", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("cdek", "GetDeliveryCashRegistry", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "GetDeliveryCashRegistry");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CDEK_GetDeliveryCashTransfers(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["CDEK_Token"];
|
||||
ReceivingDate = OPI_Tools.GetCurrentDate();
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("date", ReceivingDate);
|
||||
Options.Insert("testapi", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("cdek", "GetDeliveryCashTransfers", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "GetDeliveryCashTransfers");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CDEK_GetOfficeFilterDescription(FunctionParameters)
|
||||
|
||||
Options = New Structure;
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("cdek", "GetOfficeFilterDescription", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "GetOfficeFilterDescription");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("empty", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("cdek", "GetOfficeFilterDescription", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "GetOfficeFilterDescription", "Clear");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CDEK_GetOfficeList(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["CDEK_Token"];
|
||||
Filter = New Structure;
|
||||
Filter.Insert("weight_max" , 50);
|
||||
Filter.Insert("city_code" , 270);
|
||||
Filter.Insert("allowed_cod", True);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("filter", Filter);
|
||||
Options.Insert("testapi", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("cdek", "GetOfficeList", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "GetOfficeList");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CDEK_GetRegionsList(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["CDEK_Token"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("testapi", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("cdek", "GetRegionsList", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "CDEK", "GetRegionsList");
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // CDEK
|
||||
|
||||
#EndRegion // AtomicTests
|
||||
|
||||
#EndRegion // Private
|
||||
|
||||
#Region Alternate
|
||||
|
||||
Procedure СдэкАПИ_ОбщиеМетоды() Export
|
||||
CdekAPI_CommonMethods();
|
||||
EndProcedure
|
||||
|
||||
Procedure СдэкАПИ_РаботаСЗаказами() Export
|
||||
CDEKAPI_OrdersManagement();
|
||||
EndProcedure
|
||||
|
||||
Procedure СдэкАПИ_РаботаСЗаявкамиНаВызовКурьера() Export
|
||||
CdekAPI_CourierInvitationsManagement();
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
+1342
File diff suppressed because it is too large
Load Diff
+858
@@ -0,0 +1,858 @@
|
||||
// OneScript: ./OInt/tests/Modules/OPItc_Dropbox.os
|
||||
|
||||
// MIT License
|
||||
|
||||
// Copyright (c) 2023-2026 Anton Tsitavets
|
||||
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
|
||||
// The above copyright notice and +this permission notice shall be included in all
|
||||
// copies or substantial portions of the Software.
|
||||
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// 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
|
||||
// SOFTWARE.
|
||||
|
||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||
|
||||
// Test suite for YAxUnit
|
||||
|
||||
// BSLLS:Typo-off
|
||||
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
||||
// BSLLS:IncorrectLineBreak-off
|
||||
// BSLLS:UsingServiceTag-off
|
||||
// BSLLS:UnusedParameters-off
|
||||
// BSLLS:DuplicateStringLiteral-off
|
||||
// BSLLS:UsingHardcodePath-off
|
||||
// BSLLS:UnusedLocalVariable-off
|
||||
// BSLLS:DeprecatedMessage-off
|
||||
// BSLLS:LineLength-off
|
||||
// BSLLS:MagicNumber-off
|
||||
// BSLLS:CommentedCode-off
|
||||
// BSLLS:AssignAliasFieldsInQuery-off
|
||||
// BSLLS:UsingHardcodeNetworkAddress-off
|
||||
// BSLLS:UnreachableCode-off
|
||||
// BSLLS:UnusedLocalMethod-off
|
||||
// BSLLS:NestedFunctionInParameters-off
|
||||
// BSLLS:MissingTemporaryFileDeletion-off
|
||||
// BSLLS:UsingSynchronousCalls-off
|
||||
// BSLLS:MagicNumber-off
|
||||
// BSLLS:MagicDate-off
|
||||
// BSLLS:MissingParameterDescription-off
|
||||
// BSLLS:NumberOfOptionalParams-off
|
||||
// BSLLS:MethodSize-off
|
||||
// BSLLS:NestedConstructorsInStructureDeclaration-off
|
||||
// BSLLS:NumberOfValuesInStructureConstructor-off
|
||||
// BSLLS:UsingHardcodeSecretInformation-off
|
||||
// BSLLS:SpaceAtStartComment-off
|
||||
|
||||
//@skip-check undefined-variable
|
||||
//@skip-check wrong-string-literal-content
|
||||
//@skip-check module-structure-top-region
|
||||
//@skip-check module-structure-method-in-regions
|
||||
//@skip-check undefined-function-or-procedure
|
||||
//@skip-check wrong-string-literal-content
|
||||
//@skip-check module-unused-local-variable
|
||||
//@skip-check bsl-legacy-check-string-literal
|
||||
//@skip-check bsl-legacy-check-method-for-statements-after-return
|
||||
//@skip-check missing-temporary-file-deletion
|
||||
//@skip-check module-unused-method
|
||||
|
||||
#Use "../../tools/main"
|
||||
#Use "../../tools/http"
|
||||
#Use "../../api"
|
||||
#Use asserts
|
||||
#Use "internal"
|
||||
|
||||
|
||||
// For YAxUnit
|
||||
|
||||
Procedure ИсполняемыеСценарии() Export
|
||||
|
||||
OPI_TestDataRetrieval.FormYAXTests("Dropbox");
|
||||
|
||||
EndProcedure
|
||||
|
||||
// For Asserts
|
||||
|
||||
Function ПолучитьСписокТестов(UnitTesting) Export
|
||||
|
||||
Return OPI_TestDataRetrieval.FormAssertsTests("Dropbox");
|
||||
|
||||
EndFunction
|
||||
|
||||
#Region Internal
|
||||
|
||||
#Region RunnableTests
|
||||
|
||||
#Region Dropbox
|
||||
|
||||
Procedure DropboxAPI_GetUpdateToken() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Dropbox_Appkey" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Dropbox_Appsecret", TestParameters);
|
||||
|
||||
Dropbox_GetAuthorizationLink(TestParameters);
|
||||
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Dropbox_Code", TestParameters);
|
||||
|
||||
Dropbox_GetToken(TestParameters);
|
||||
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Dropbox_Refresh", TestParameters);
|
||||
|
||||
Dropbox_RefreshToken(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure DropboxAPI_UploadFile() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Dropbox_Token", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Picture" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Big" , TestParameters);
|
||||
|
||||
Dropbox_UploadFile(TestParameters);
|
||||
Dropbox_GetObjectInformation(TestParameters);
|
||||
Dropbox_GetObjectVersionList(TestParameters);
|
||||
Dropbox_RestoreObjectToVersion(TestParameters);
|
||||
Dropbox_GetPreview(TestParameters);
|
||||
Dropbox_DownloadFile(TestParameters);
|
||||
Dropbox_MoveObject(TestParameters);
|
||||
Dropbox_CopyObject(TestParameters);
|
||||
Dropbox_DeleteObject(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure DropboxAPI_CreateFolder() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Dropbox_Token", TestParameters);
|
||||
|
||||
Dropbox_CreateFolder(TestParameters);
|
||||
Dropbox_DownloadFolder(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure DropboxAPI_GetFolderFileList() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Dropbox_Token", TestParameters);
|
||||
|
||||
Dropbox_GetListOfFolderFiles(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure DropboxAPI_UploadFileByURL() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Dropbox_Token", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Document" , TestParameters);
|
||||
|
||||
Dropbox_UploadFileByURL(TestParameters);
|
||||
Dropbox_GetUploadStatusByURL(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure DropboxAPI_CreateDeleteTag() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Dropbox_Token", TestParameters);
|
||||
|
||||
Dropbox_AddTag(TestParameters);
|
||||
Dropbox_GetTagList(TestParameters);
|
||||
Dropbox_DeleteTag(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure DropboxAPI_GetAccount() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Dropbox_Token", TestParameters);
|
||||
|
||||
Dropbox_GetAccountInformation(TestParameters);
|
||||
Dropbox_GetSpaceUsageData(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure DropboxAPI_AccessManagement() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Dropbox_Token" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Dropbox_OtherUser", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Dropbox_FileID" , TestParameters);
|
||||
|
||||
Dropbox_AddUsersToFile(TestParameters);
|
||||
Dropbox_PublishFolder(TestParameters);
|
||||
Dropbox_AddUsersToFolder(TestParameters);
|
||||
Dropbox_CancelFolderPublication(TestParameters);
|
||||
Dropbox_GetAsynchronousChangeStatus(TestParameters);
|
||||
Dropbox_CancelFilePublication(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // Dropbox
|
||||
|
||||
#EndRegion // RunnableTests
|
||||
|
||||
#EndRegion // Internal
|
||||
|
||||
#Region Private
|
||||
|
||||
#Region AtomicTests
|
||||
|
||||
#Region Dropbox
|
||||
|
||||
Procedure Dropbox_GetAuthorizationLink(FunctionParameters)
|
||||
|
||||
AppKey = FunctionParameters["Dropbox_Appkey"];
|
||||
Options = New Structure;
|
||||
Options.Insert("appkey", AppKey);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("dropbox", "GetAuthorizationLink", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "GetAuthorizationLink");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Dropbox_GetToken(FunctionParameters)
|
||||
|
||||
AppKey = FunctionParameters["Dropbox_Appkey"];
|
||||
AppSecret = FunctionParameters["Dropbox_Appsecret"];
|
||||
Code = FunctionParameters["Dropbox_Code"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("appkey", AppKey);
|
||||
Options.Insert("appsecret", AppSecret);
|
||||
Options.Insert("code", Code);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("dropbox", "GetToken", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "GetToken");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Dropbox_RefreshToken(FunctionParameters)
|
||||
|
||||
AppKey = FunctionParameters["Dropbox_Appkey"];
|
||||
AppSecret = FunctionParameters["Dropbox_Appsecret"];
|
||||
RefreshToken = FunctionParameters["Dropbox_Refresh"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("appkey", AppKey);
|
||||
Options.Insert("appsecret", AppSecret);
|
||||
Options.Insert("refresh", RefreshToken);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("dropbox", "RefreshToken", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "RefreshToken");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Dropbox_GetObjectInformation(FunctionParameters)
|
||||
|
||||
Path = "/New/pic.png";
|
||||
Token = FunctionParameters["Dropbox_Token"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("path", Path);
|
||||
Options.Insert("detail", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("dropbox", "GetObjectInformation", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "GetObjectInformation", , Path);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Dropbox_GetPreview(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Dropbox_Token"];
|
||||
Path = "/New/mydoc.docx";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("path", Path);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("dropbox", "GetPreview", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "GetPreview");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Dropbox_UploadFile(FunctionParameters)
|
||||
|
||||
Path = "/New/pic.png";
|
||||
Token = FunctionParameters["Dropbox_Token"];
|
||||
Image = FunctionParameters["Picture"];
|
||||
|
||||
ImagePath = GetTempFileName("png");
|
||||
CopyFile(Image, ImagePath);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("file", ImagePath);
|
||||
Options.Insert("path", Path);
|
||||
Options.Insert("overwrite", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("dropbox", "UploadFile", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "UploadFile", , Path);
|
||||
|
||||
OPI_Tools.RemoveFileWithTry(ImagePath, "Failed to delete the temporary file after the test!!");
|
||||
|
||||
If Not OPI_Tools.IsOneScript() And FunctionParameters.Property("Big") Then
|
||||
|
||||
BigFile = FunctionParameters["Big"];
|
||||
|
||||
Path = "/giant.tmp";
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("file", BigFile);
|
||||
Options.Insert("path", Path);
|
||||
Options.Insert("overwrite", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("dropbox", "UploadFile", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "UploadFile", "Big", Path);
|
||||
|
||||
EndIf;
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Dropbox_UploadFileByURL(FunctionParameters)
|
||||
|
||||
Path = "/New/url_doc.docx";
|
||||
Token = FunctionParameters["Dropbox_Token"];
|
||||
URL = FunctionParameters["Document"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("path", Path);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("dropbox", "UploadFileByURL", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "UploadFileByURL", , FunctionParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Dropbox_GetUploadStatusByURL(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Dropbox_Token"];
|
||||
WorkID = FunctionParameters["Dropbox_Job"];
|
||||
Status = "in_progress";
|
||||
|
||||
While Status = "in_progress" Do
|
||||
|
||||
Result = OPI_Dropbox.GetUploadStatusByURL(Token, WorkID);
|
||||
Status = Result[".tag"];
|
||||
|
||||
OPI_Tools.Pause(5);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "GetUploadStatusByURL", "Progress"); // SKIP
|
||||
|
||||
EndDo;
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "GetUploadStatusByURL");
|
||||
|
||||
Token = FunctionParameters["Dropbox_Token"];
|
||||
Path = "/New/url_doc.docx";
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("path", Path);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("dropbox", "DeleteObject", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "GetUploadStatusByURL", "Deletion", Path);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Dropbox_DeleteObject(FunctionParameters)
|
||||
|
||||
Path = "/New/pic.png";
|
||||
Token = FunctionParameters["Dropbox_Token"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("path", Path);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("dropbox", "DeleteObject", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "DeleteObject", , Path);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Dropbox_CopyObject(FunctionParameters)
|
||||
|
||||
Original = "/New/pic.png";
|
||||
Copy = "/New/pic_copy.png";
|
||||
Token = FunctionParameters["Dropbox_Token"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("from", Original);
|
||||
Options.Insert("to", Copy);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("dropbox", "CopyObject", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "CopyObject", , Copy);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("path", Copy);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("dropbox", "DeleteObject", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "CopyObject", "Deletion", Copy);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Dropbox_MoveObject(FunctionParameters)
|
||||
|
||||
OriginalPath = "/New/pic.png";
|
||||
TargetPath = "/pic.png";
|
||||
Token = FunctionParameters["Dropbox_Token"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("from", OriginalPath);
|
||||
Options.Insert("to", TargetPath);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("dropbox", "MoveObject", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "MoveObject", , TargetPath);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("from", TargetPath);
|
||||
Options.Insert("to", OriginalPath);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("dropbox", "MoveObject", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "MoveObject", "Deletion", OriginalPath);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Dropbox_CreateFolder(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Dropbox_Token"];
|
||||
Path = "/New catalog";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("path", Path);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("dropbox", "CreateFolder", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "CreateFolder", , Path);
|
||||
|
||||
OPI_Dropbox.DeleteObject(Token, Path);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Dropbox_DownloadFile(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Dropbox_Token"];
|
||||
Path = "/New/pic.png";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("path", Path);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("dropbox", "DownloadFile", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "DownloadFile");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Dropbox_DownloadFolder(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Dropbox_Token"];
|
||||
Path = "/New";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("path", Path);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("dropbox", "DownloadFolder", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "DownloadFolder");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Dropbox_GetListOfFolderFiles(FunctionParameters)
|
||||
|
||||
Path = "/New";
|
||||
Token = FunctionParameters["Dropbox_Token"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("path", Path);
|
||||
Options.Insert("detail", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("dropbox", "GetListOfFolderFiles", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "GetListOfFolderFiles");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Dropbox_GetObjectVersionList(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Dropbox_Token"];
|
||||
Path = "/New/pic.png";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("path", Path);
|
||||
Options.Insert("amount", 1);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("dropbox", "GetObjectVersionList", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "GetObjectVersionList", , FunctionParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Dropbox_RestoreObjectToVersion(FunctionParameters)
|
||||
|
||||
Version = FunctionParameters["Dropbox_FileRevision"];
|
||||
Token = FunctionParameters["Dropbox_Token"];
|
||||
Path = "/New/pic.png";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("path", Path);
|
||||
Options.Insert("rev", Version);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("dropbox", "RestoreObjectToVersion", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "RestoreObjectToVersion", , Path);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Dropbox_GetTagList(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Dropbox_Token"];
|
||||
|
||||
PathsArray = New Array;
|
||||
PathsArray.Add("/New/Dogs.mp3");
|
||||
PathsArray.Add("/New/mydoc.docx");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("paths", PathsArray);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("dropbox", "GetTagList", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "GetTagList", , FunctionParameters, PathsArray);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Dropbox_AddTag(FunctionParameters)
|
||||
|
||||
Tag = "Important";
|
||||
Token = FunctionParameters["Dropbox_Token"];
|
||||
Path = "/New/mydoc.docx";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("path", Path);
|
||||
Options.Insert("tag", Tag);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("dropbox", "AddTag", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "AddTag");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Dropbox_DeleteTag(FunctionParameters)
|
||||
|
||||
Tag = "Important";
|
||||
Token = FunctionParameters["Dropbox_Token"];
|
||||
Path = "/New/mydoc.docx";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("path", Path);
|
||||
Options.Insert("tag", Tag);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("dropbox", "DeleteTag", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "DeleteTag");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Dropbox_GetAccountInformation(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Dropbox_Token"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("dropbox", "GetAccountInformation", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "GetAccountInformation");
|
||||
|
||||
AccountID = Result["account_id"];
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("account", AccountID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("dropbox", "GetAccountInformation", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "GetAccountInformation", "By ID");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Dropbox_GetSpaceUsageData(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Dropbox_Token"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("dropbox", "GetSpaceUsageData", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "GetSpaceUsageData");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Dropbox_AddUsersToFile(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Dropbox_Token"];
|
||||
Email = FunctionParameters["Dropbox_OtherUser"];
|
||||
File = FunctionParameters["Dropbox_FileID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("fileid", File);
|
||||
Options.Insert("emails", Email);
|
||||
Options.Insert("readonly", Ложь);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("dropbox", "AddUsersToFile", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "AddUsersToFile", , Email, False);
|
||||
|
||||
Mails = New Array;
|
||||
Mails.Add(Email);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("fileid", File);
|
||||
Options.Insert("emails", Mails);
|
||||
Options.Insert("readonly", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("dropbox", "AddUsersToFile", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "AddUsersToFile", , Email, True);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Dropbox_PublishFolder(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Dropbox_Token"];
|
||||
Path = "/New";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("path", Path);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("dropbox", "PublishFolder", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "PublishFolder", , FunctionParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Dropbox_CancelFolderPublication(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Dropbox_Token"];
|
||||
Folder = FunctionParameters["Dropbox_SharedFolder"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("folder", Folder);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("dropbox", "CancelFolderPublication", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "CancelFolderPublication"); // SKIP
|
||||
|
||||
CurrentStatus = "in_progress";
|
||||
JobID = Result["async_job_id"];
|
||||
|
||||
While CurrentStatus = "in_progress" Do
|
||||
Result = OPI_Dropbox.GetAsynchronousChangeStatus(Token, JobID);
|
||||
CurrentStatus = Result[".tag"];
|
||||
OPI_Tools.Pause(3);
|
||||
EndDo;
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "CancelFolderPublication", "Ending", FunctionParameters, JobID);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Dropbox_GetAsynchronousChangeStatus(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Dropbox_Token"];
|
||||
JobID = FunctionParameters["Dropbox_NewJobID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("job", JobID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("dropbox", "GetAsynchronousChangeStatus", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "GetAsynchronousChangeStatus");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Dropbox_AddUsersToFolder(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Dropbox_Token"];
|
||||
Email = FunctionParameters["Dropbox_OtherUser"];
|
||||
Folder = FunctionParameters["Dropbox_SharedFolder"]; // shared_folder_id
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("folder", Folder);
|
||||
Options.Insert("emails", Email);
|
||||
Options.Insert("readonly", Ложь);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("dropbox", "AddUsersToFolder", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "AddUsersToFolder");
|
||||
|
||||
Mails = New Array;
|
||||
Mails.Add(Email);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("folder", Folder);
|
||||
Options.Insert("emails", Mails);
|
||||
Options.Insert("readonly", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("dropbox", "AddUsersToFolder", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "AddUsersToFolder", "Additional");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Dropbox_CancelFilePublication(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Dropbox_Token"];
|
||||
File = FunctionParameters["Dropbox_FileID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("fileid", File);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("dropbox", "CancelFilePublication", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Dropbox", "CancelFilePublication");
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // Dropbox
|
||||
|
||||
#EndRegion // AtomicTests
|
||||
|
||||
#EndRegion // Private
|
||||
|
||||
#Region Alternate
|
||||
|
||||
Procedure ДропБокс_ПолучитьОбновитьТокен() Export
|
||||
DropboxAPI_GetUpdateToken();
|
||||
EndProcedure
|
||||
|
||||
Procedure ДропБокс_ЗагрузитьФайл() Export
|
||||
DropboxAPI_UploadFile();
|
||||
EndProcedure
|
||||
|
||||
Procedure ДропБокс_СоздатьКаталог() Export
|
||||
DropboxAPI_CreateFolder();
|
||||
EndProcedure
|
||||
|
||||
Procedure ДропБокс_ПолучитьСписокФайловПапки() Export
|
||||
DropboxAPI_GetFolderFileList();
|
||||
EndProcedure
|
||||
|
||||
Procedure ДропБокс_ЗагрузитьФайлПоURL() Export
|
||||
DropboxAPI_UploadFileByURL();
|
||||
EndProcedure
|
||||
|
||||
Procedure ДропБокс_СоздатьУдалитьТег() Export
|
||||
DropboxAPI_CreateDeleteTag();
|
||||
EndProcedure
|
||||
|
||||
Procedure ДропБокс_ПолучитьАккаунт() Export
|
||||
DropboxAPI_GetAccount();
|
||||
EndProcedure
|
||||
|
||||
Procedure ДропБокс_РаботаСДоступами() Export
|
||||
DropboxAPI_AccessManagement();
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
+2000
File diff suppressed because it is too large
Load Diff
+1282
File diff suppressed because it is too large
Load Diff
+631
@@ -0,0 +1,631 @@
|
||||
// OneScript: ./OInt/tests/Modules/OPItc_GoogleCalendar.os
|
||||
|
||||
// MIT License
|
||||
|
||||
// Copyright (c) 2023-2026 Anton Tsitavets
|
||||
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
|
||||
// The above copyright notice and +this permission notice shall be included in all
|
||||
// copies or substantial portions of the Software.
|
||||
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// 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
|
||||
// SOFTWARE.
|
||||
|
||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||
|
||||
// Test suite for YAxUnit
|
||||
|
||||
// BSLLS:Typo-off
|
||||
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
||||
// BSLLS:IncorrectLineBreak-off
|
||||
// BSLLS:UsingServiceTag-off
|
||||
// BSLLS:UnusedParameters-off
|
||||
// BSLLS:DuplicateStringLiteral-off
|
||||
// BSLLS:UsingHardcodePath-off
|
||||
// BSLLS:UnusedLocalVariable-off
|
||||
// BSLLS:DeprecatedMessage-off
|
||||
// BSLLS:LineLength-off
|
||||
// BSLLS:MagicNumber-off
|
||||
// BSLLS:CommentedCode-off
|
||||
// BSLLS:AssignAliasFieldsInQuery-off
|
||||
// BSLLS:UsingHardcodeNetworkAddress-off
|
||||
// BSLLS:UnreachableCode-off
|
||||
// BSLLS:UnusedLocalMethod-off
|
||||
// BSLLS:NestedFunctionInParameters-off
|
||||
// BSLLS:MissingTemporaryFileDeletion-off
|
||||
// BSLLS:UsingSynchronousCalls-off
|
||||
// BSLLS:MagicNumber-off
|
||||
// BSLLS:MagicDate-off
|
||||
// BSLLS:MissingParameterDescription-off
|
||||
// BSLLS:NumberOfOptionalParams-off
|
||||
// BSLLS:MethodSize-off
|
||||
// BSLLS:NestedConstructorsInStructureDeclaration-off
|
||||
// BSLLS:NumberOfValuesInStructureConstructor-off
|
||||
// BSLLS:UsingHardcodeSecretInformation-off
|
||||
// BSLLS:SpaceAtStartComment-off
|
||||
|
||||
//@skip-check undefined-variable
|
||||
//@skip-check wrong-string-literal-content
|
||||
//@skip-check module-structure-top-region
|
||||
//@skip-check module-structure-method-in-regions
|
||||
//@skip-check undefined-function-or-procedure
|
||||
//@skip-check wrong-string-literal-content
|
||||
//@skip-check module-unused-local-variable
|
||||
//@skip-check bsl-legacy-check-string-literal
|
||||
//@skip-check bsl-legacy-check-method-for-statements-after-return
|
||||
//@skip-check missing-temporary-file-deletion
|
||||
//@skip-check module-unused-method
|
||||
|
||||
#Use "../../tools/main"
|
||||
#Use "../../tools/http"
|
||||
#Use "../../api"
|
||||
#Use asserts
|
||||
#Use "internal"
|
||||
|
||||
|
||||
// For YAxUnit
|
||||
|
||||
Procedure ИсполняемыеСценарии() Export
|
||||
|
||||
OPI_TestDataRetrieval.FormYAXTests("GoogleCalendar");
|
||||
|
||||
EndProcedure
|
||||
|
||||
// For Asserts
|
||||
|
||||
Function ПолучитьСписокТестов(UnitTesting) Export
|
||||
|
||||
Return OPI_TestDataRetrieval.FormAssertsTests("GoogleCalendar");
|
||||
|
||||
EndFunction
|
||||
|
||||
#Region Internal
|
||||
|
||||
#Region RunnableTests
|
||||
|
||||
#Region GoogleCalendar
|
||||
|
||||
Procedure GC_Authorization() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Google_ClientID" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Google_ClientSecret", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Google_Code" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Google_Refresh" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Google_ServiceData" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Access_Token" , TestParameters);
|
||||
|
||||
GoogleCalendar_FormCodeRetrievalLink(TestParameters);
|
||||
GoogleCalendar_GetTokenByCode(TestParameters);
|
||||
GoogleCalendar_RefreshToken(TestParameters);
|
||||
GoogleCalendar_GetServiceAccountToken(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GC_GetCalendarList() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Google_Token", TestParameters);
|
||||
|
||||
GoogleCalendar_GetCalendarList(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GC_CreateDeleteCalendar() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Google_Token", TestParameters);
|
||||
|
||||
GoogleCalendar_CreateCalendar(TestParameters);
|
||||
GoogleCalendar_EditCalendarMetadata(TestParameters);
|
||||
GoogleCalendar_GetCalendarMetadata(TestParameters);
|
||||
GoogleCalendar_AddCalendarToList(TestParameters);
|
||||
GoogleCalendar_EditListCalendar(TestParameters);
|
||||
GoogleCalendar_GetListCalendar(TestParameters);
|
||||
GoogleCalendar_ClearMainCalendar(TestParameters);
|
||||
// !DISABLED! GoogleCalendar_DeleteCalendarFromList(TestParameters);
|
||||
GoogleCalendar_DeleteCalendar(TestParameters);
|
||||
|
||||
OPI_Tools.Pause(5);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GC_CreateDeleteEvent() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Google_Token" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Google_NewCalendarID", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Google_CalendarID" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Picture" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Picture2" , TestParameters);
|
||||
|
||||
GoogleCalendar_CreateCalendar(TestParameters);
|
||||
GoogleCalendar_CreateEvent(TestParameters);
|
||||
GoogleCalendar_EditEvent(TestParameters);
|
||||
GoogleCalendar_GetEvent(TestParameters);
|
||||
GoogleCalendar_MoveEvent(TestParameters);
|
||||
GoogleCalendar_GetEventList(TestParameters);
|
||||
GoogleCalendar_GetEventDescription(TestParameters);
|
||||
GoogleCalendar_DeleteEvent(TestParameters);
|
||||
GoogleCalendar_DeleteCalendar(TestParameters);
|
||||
|
||||
OPI_Tools.Pause(5);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // GoogleCalendar
|
||||
|
||||
#EndRegion // RunnableTests
|
||||
|
||||
#EndRegion // Internal
|
||||
|
||||
#Region Private
|
||||
|
||||
#Region AtomicTests
|
||||
|
||||
#Region GoogleCalendar
|
||||
|
||||
Procedure GoogleCalendar_FormCodeRetrievalLink(FunctionParameters)
|
||||
|
||||
ClientID = FunctionParameters["Google_ClientID"];
|
||||
Options = New Structure;
|
||||
Options.Insert("id", ClientID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gcalendar", "FormCodeRetrievalLink", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleCalendar", "FormCodeRetrievalLink");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleCalendar_GetTokenByCode(FunctionParameters)
|
||||
|
||||
ClientID = FunctionParameters["Google_ClientID"];
|
||||
ClientSecret = FunctionParameters["Google_ClientSecret"];
|
||||
Code = FunctionParameters["Google_Code"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("id", ClientID);
|
||||
Options.Insert("secret", ClientSecret);
|
||||
Options.Insert("code", Code);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gcalendar", "GetTokenByCode", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleCalendar", "GetTokenByCode");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleCalendar_RefreshToken(FunctionParameters)
|
||||
|
||||
ClientID = FunctionParameters["Google_ClientID"];
|
||||
ClientSecret = FunctionParameters["Google_ClientSecret"];
|
||||
RefreshToken = FunctionParameters["Google_Refresh"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("id", ClientID);
|
||||
Options.Insert("secret", ClientSecret);
|
||||
Options.Insert("refresh", RefreshToken);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gcalendar", "RefreshToken", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleCalendar", "RefreshToken");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleCalendar_GetServiceAccountToken(FunctionParameters)
|
||||
|
||||
Data = FunctionParameters["Google_ServiceData"]; // URL, binary Data, file or collection
|
||||
|
||||
Token = FunctionParameters["Access_Token"]; // SKIP
|
||||
Data = OPI_HTTPRequests // SKIP
|
||||
.NewRequest() // SKIP
|
||||
.Initialize(Data) // SKIP
|
||||
.AddBearerAuthorization(Token) // SKIP
|
||||
.ProcessRequest("GET") // SKIP
|
||||
.ReturnResponseAsBinaryData(); // SKIP
|
||||
|
||||
Scope = New Array;
|
||||
Scope.Add("https://www.googleapis.com/auth/calendar");
|
||||
Scope.Add("https://www.googleapis.com/auth/drive");
|
||||
Scope.Add("https://www.googleapis.com/auth/spreadsheets");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("auth", Data);
|
||||
Options.Insert("scope", Scope);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gcalendar", "GetServiceAccountToken", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleCalendar", "GetServiceAccountToken");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleCalendar_GetCalendarList(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gcalendar", "GetCalendarList", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleCalendar", "GetCalendarList");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleCalendar_CreateCalendar(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Name = "TestCalendar";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("title", Name);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gcalendar", "CreateCalendar", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleCalendar", "CreateCalendar", , FunctionParameters, Name);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleCalendar_EditCalendarMetadata(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Calendar = FunctionParameters["Google_NewCalendarID"];
|
||||
Name = "New name";
|
||||
Description = "New description";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("calendar", Calendar);
|
||||
Options.Insert("title", Name);
|
||||
Options.Insert("description", Description);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gcalendar", "EditCalendarMetadata", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleCalendar", "EditCalendarMetadata", , Name, Description);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleCalendar_GetCalendarMetadata(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Calendar = FunctionParameters["Google_NewCalendarID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("calendar", Calendar);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gcalendar", "GetCalendarMetadata", Options);
|
||||
|
||||
// END
|
||||
|
||||
Name = "New name";
|
||||
Description = "New description";
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleCalendar", "GetCalendarMetadata", , Name, Description);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleCalendar_AddCalendarToList(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Calendar = FunctionParameters["Google_NewCalendarID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("calendar", Calendar);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gcalendar", "AddCalendarToList", Options);
|
||||
|
||||
// END
|
||||
|
||||
Name = "New name";
|
||||
Description = "New description";
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleCalendar", "AddCalendarToList", , Name, Description);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleCalendar_EditListCalendar(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Calendar = FunctionParameters["Google_NewCalendarID"];
|
||||
PrimaryColor = "#000000";
|
||||
SecondaryColor = "#ffd800";
|
||||
Hidden = False;
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("calendar", Calendar);
|
||||
Options.Insert("primary", PrimaryColor);
|
||||
Options.Insert("secondary", SecondaryColor);
|
||||
Options.Insert("hidden", Hidden);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gcalendar", "EditListCalendar", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleCalendar", "EditListCalendar", , PrimaryColor, SecondaryColor);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleCalendar_GetListCalendar(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Calendar = FunctionParameters["Google_NewCalendarID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("calendar", Calendar);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gcalendar", "GetListCalendar", Options);
|
||||
|
||||
// END
|
||||
|
||||
PrimaryColor = "#000000";
|
||||
SecondaryColor = "#ffd800";
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleCalendar", "GetListCalendar", , PrimaryColor, SecondaryColor);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleCalendar_ClearMainCalendar(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gcalendar", "ClearMainCalendar", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleCalendar", "ClearMainCalendar");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleCalendar_DeleteCalendarFromList(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Calendar = FunctionParameters["Google_NewCalendarID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("calendar", Calendar);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gcalendar", "DeleteCalendarFromList", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleCalendar", "DeleteCalendarFromList");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleCalendar_DeleteCalendar(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Calendar = FunctionParameters["Google_NewCalendarID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("calendar", Calendar);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gcalendar", "DeleteCalendar", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleCalendar", "DeleteCalendar");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleCalendar_CreateEvent(FunctionParameters)
|
||||
|
||||
CurrentDate = OPI_Tools.GetCurrentDate();
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Calendar = FunctionParameters["Google_NewCalendarID"];
|
||||
Name = "New event";
|
||||
Description = "TestEventDescription";
|
||||
Hour = 3600;
|
||||
|
||||
Image1 = FunctionParameters["Picture"]; // URL, Binary or File path
|
||||
Image2 = FunctionParameters["Picture2"]; // URL, Binary or File path
|
||||
Attachments = New Map;
|
||||
|
||||
Attachments.Insert("Image1", Image1);
|
||||
Attachments.Insert("Image2", Image2);
|
||||
|
||||
EventDescription = New Map;
|
||||
EventDescription.Insert("Description" , Description);
|
||||
EventDescription.Insert("Title" , Name);
|
||||
EventDescription.Insert("Venue" , "InOffice");
|
||||
EventDescription.Insert("StartDate" , CurrentDate);
|
||||
EventDescription.Insert("EndDate" , EventDescription["StartDate"] + Hour);
|
||||
EventDescription.Insert("ArrayOfAttachmentURLs", Attachments);
|
||||
EventDescription.Insert("SendNotifications" , True);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("calendar", Calendar);
|
||||
Options.Insert("props", EventDescription);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gcalendar", "CreateEvent", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleCalendar", "CreateEvent", , FunctionParameters, Name, Description);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleCalendar_EditEvent(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Calendar = FunctionParameters["Google_NewCalendarID"];
|
||||
Event = FunctionParameters["Google_EventID"];
|
||||
Description = "New event description";
|
||||
|
||||
EventDescription = New Map;
|
||||
EventDescription.Insert("Description", Description);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("calendar", Calendar);
|
||||
Options.Insert("props", EventDescription);
|
||||
Options.Insert("event", Event);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gcalendar", "EditEvent", Options);
|
||||
|
||||
// END
|
||||
|
||||
Name = "New event";
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleCalendar", "EditEvent", , Name, Description);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleCalendar_GetEvent(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Calendar = FunctionParameters["Google_NewCalendarID"];
|
||||
Event = FunctionParameters["Google_EventID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("calendar", Calendar);
|
||||
Options.Insert("event", Event);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gcalendar", "GetEvent", Options);
|
||||
|
||||
// END
|
||||
|
||||
Name = "New event";
|
||||
Description = "New event description";
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleCalendar", "GetEvent", , Name, Description);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleCalendar_MoveEvent(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Event = FunctionParameters["Google_EventID"];
|
||||
|
||||
SourceCalendar = FunctionParameters["Google_NewCalendarID"];
|
||||
TargetCalendar = FunctionParameters["Google_CalendarID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("from", SourceCalendar);
|
||||
Options.Insert("to", TargetCalendar);
|
||||
Options.Insert("event", Event);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gcalendar", "MoveEvent", Options);
|
||||
|
||||
// END
|
||||
|
||||
Name = "New event";
|
||||
Description = "New event description";
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleCalendar", "MoveEvent", , Name, Description);
|
||||
|
||||
OPI_GoogleCalendar.MoveEvent(Token, TargetCalendar, SourceCalendar, Event);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleCalendar_DeleteEvent(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Calendar = FunctionParameters["Google_NewCalendarID"];
|
||||
Event = FunctionParameters["Google_EventID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("calendar", Calendar);
|
||||
Options.Insert("event", Event);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gcalendar", "DeleteEvent", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleCalendar", "DeleteEvent");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleCalendar_GetEventList(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Calendar = FunctionParameters["Google_NewCalendarID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("calendar", Calendar);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gcalendar", "GetEventList", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleCalendar", "GetEventList");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleCalendar_GetEventDescription(FunctionParameters)
|
||||
|
||||
Clear = False;
|
||||
Options = New Structure;
|
||||
Options.Insert("empty", Clear);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gcalendar", "GetEventDescription", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleCalendar", "GetEventDescription");
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // GoogleCalendar
|
||||
|
||||
#EndRegion // AtomicTests
|
||||
|
||||
#EndRegion // Private
|
||||
|
||||
#Region Alternate
|
||||
|
||||
Procedure ГК_Авторизация() Export
|
||||
GC_Authorization();
|
||||
EndProcedure
|
||||
|
||||
Procedure ГК_ПолучитьСписокКалендарей() Export
|
||||
GC_GetCalendarList();
|
||||
EndProcedure
|
||||
|
||||
Procedure ГК_СоздатьУдалитьКалендарь() Export
|
||||
GC_CreateDeleteCalendar();
|
||||
EndProcedure
|
||||
|
||||
Procedure ГК_СоздатьУдалитьСобытие() Export
|
||||
GC_CreateDeleteEvent();
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
+609
@@ -0,0 +1,609 @@
|
||||
// OneScript: ./OInt/tests/Modules/OPItc_GoogleDrive.os
|
||||
|
||||
// MIT License
|
||||
|
||||
// Copyright (c) 2023-2026 Anton Tsitavets
|
||||
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
|
||||
// The above copyright notice and +this permission notice shall be included in all
|
||||
// copies or substantial portions of the Software.
|
||||
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// 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
|
||||
// SOFTWARE.
|
||||
|
||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||
|
||||
// Test suite for YAxUnit
|
||||
|
||||
// BSLLS:Typo-off
|
||||
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
||||
// BSLLS:IncorrectLineBreak-off
|
||||
// BSLLS:UsingServiceTag-off
|
||||
// BSLLS:UnusedParameters-off
|
||||
// BSLLS:DuplicateStringLiteral-off
|
||||
// BSLLS:UsingHardcodePath-off
|
||||
// BSLLS:UnusedLocalVariable-off
|
||||
// BSLLS:DeprecatedMessage-off
|
||||
// BSLLS:LineLength-off
|
||||
// BSLLS:MagicNumber-off
|
||||
// BSLLS:CommentedCode-off
|
||||
// BSLLS:AssignAliasFieldsInQuery-off
|
||||
// BSLLS:UsingHardcodeNetworkAddress-off
|
||||
// BSLLS:UnreachableCode-off
|
||||
// BSLLS:UnusedLocalMethod-off
|
||||
// BSLLS:NestedFunctionInParameters-off
|
||||
// BSLLS:MissingTemporaryFileDeletion-off
|
||||
// BSLLS:UsingSynchronousCalls-off
|
||||
// BSLLS:MagicNumber-off
|
||||
// BSLLS:MagicDate-off
|
||||
// BSLLS:MissingParameterDescription-off
|
||||
// BSLLS:NumberOfOptionalParams-off
|
||||
// BSLLS:MethodSize-off
|
||||
// BSLLS:NestedConstructorsInStructureDeclaration-off
|
||||
// BSLLS:NumberOfValuesInStructureConstructor-off
|
||||
// BSLLS:UsingHardcodeSecretInformation-off
|
||||
// BSLLS:SpaceAtStartComment-off
|
||||
|
||||
//@skip-check undefined-variable
|
||||
//@skip-check wrong-string-literal-content
|
||||
//@skip-check module-structure-top-region
|
||||
//@skip-check module-structure-method-in-regions
|
||||
//@skip-check undefined-function-or-procedure
|
||||
//@skip-check wrong-string-literal-content
|
||||
//@skip-check module-unused-local-variable
|
||||
//@skip-check bsl-legacy-check-string-literal
|
||||
//@skip-check bsl-legacy-check-method-for-statements-after-return
|
||||
//@skip-check missing-temporary-file-deletion
|
||||
//@skip-check module-unused-method
|
||||
|
||||
#Use "../../tools/main"
|
||||
#Use "../../tools/http"
|
||||
#Use "../../api"
|
||||
#Use asserts
|
||||
#Use "internal"
|
||||
|
||||
// For YAxUnit
|
||||
|
||||
Procedure ИсполняемыеСценарии() Export
|
||||
|
||||
OPI_TestDataRetrieval.FormYAXTests("GoogleDrive");
|
||||
|
||||
EndProcedure
|
||||
|
||||
// For Asserts
|
||||
|
||||
Function ПолучитьСписокТестов(UnitTesting) Export
|
||||
|
||||
Return OPI_TestDataRetrieval.FormAssertsTests("GoogleDrive");
|
||||
|
||||
EndFunction
|
||||
|
||||
#Region Internal
|
||||
|
||||
#Region RunnableTests
|
||||
|
||||
#Region GoogleDrive
|
||||
|
||||
Procedure GD_Authorization() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Google_ClientID" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Google_ClientSecret", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Google_Code" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Google_Refresh" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Google_ServiceData" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Access_Token" , TestParameters);
|
||||
|
||||
GoogleDrive_FormCodeRetrievalLink(TestParameters);
|
||||
GoogleDrive_GetTokenByCode(TestParameters);
|
||||
GoogleDrive_RefreshToken(TestParameters);
|
||||
GoogleDrive_GetServiceAccountToken(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GD_GetCatalogList() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Google_Token", TestParameters);
|
||||
|
||||
GoogleDrive_GetDirectoriesList(TestParameters);
|
||||
GoogleDrive_GetObjectInformation(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GD_UploadDeleteFile() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Google_Token", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("GD_Catalog" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Picture" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Picture2" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Big" , TestParameters);
|
||||
|
||||
TestParameters.Insert("ArrayOfDeletions", New Array);
|
||||
|
||||
GoogleDrive_UploadFile(TestParameters);
|
||||
GoogleDrive_CopyObject(TestParameters);
|
||||
GoogleDrive_DownloadFile(TestParameters);
|
||||
GoogleDrive_UpdateFile(TestParameters);
|
||||
GoogleDrive_GetFilesList(TestParameters);
|
||||
GoogleDrive_DeleteObject(TestParameters);
|
||||
GoogleDrive_GetFileDescription(TestParameters);
|
||||
|
||||
OPI_Tools.Pause(5);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GD_CreateDeleteComment() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Google_Token", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("GD_Catalog" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Picture" , TestParameters);
|
||||
|
||||
TestParameters.Insert("ArrayOfDeletions", New Array);
|
||||
|
||||
GoogleDrive_UploadFile(TestParameters);
|
||||
|
||||
GoogleDrive_CreateComment(TestParameters);
|
||||
GoogleDrive_GetComment(TestParameters);
|
||||
GoogleDrive_GetCommentList(TestParameters);
|
||||
GoogleDrive_DeleteComment(TestParameters);
|
||||
|
||||
GoogleDrive_DeleteObject(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GD_CreateCatalog() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Google_Token", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("GD_Catalog" , TestParameters);
|
||||
|
||||
GoogleDrive_CreateFolder(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // GoogleDrive
|
||||
|
||||
#EndRegion // RunnableTests
|
||||
|
||||
#EndRegion // Internal
|
||||
|
||||
#Region Private
|
||||
|
||||
#Region AtomicTests
|
||||
|
||||
#Region GoogleDrive
|
||||
|
||||
Procedure GoogleDrive_FormCodeRetrievalLink(FunctionParameters)
|
||||
|
||||
ClientID = FunctionParameters["Google_ClientID"];
|
||||
Options = New Structure;
|
||||
Options.Insert("id", ClientID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gdrive", "FormCodeRetrievalLink", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleDrive", "FormCodeRetrievalLink");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleDrive_GetTokenByCode(FunctionParameters)
|
||||
|
||||
ClientID = FunctionParameters["Google_ClientID"];
|
||||
ClientSecret = FunctionParameters["Google_ClientSecret"];
|
||||
Code = FunctionParameters["Google_Code"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("id", ClientID);
|
||||
Options.Insert("secret", ClientSecret);
|
||||
Options.Insert("code", Code);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gdrive", "GetTokenByCode", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleDrive", "GetTokenByCode");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleDrive_RefreshToken(FunctionParameters)
|
||||
|
||||
ClientID = FunctionParameters["Google_ClientID"];
|
||||
ClientSecret = FunctionParameters["Google_ClientSecret"];
|
||||
RefreshToken = FunctionParameters["Google_Refresh"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("id", ClientID);
|
||||
Options.Insert("secret", ClientSecret);
|
||||
Options.Insert("refresh", RefreshToken);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gdrive", "RefreshToken", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleDrive", "RefreshToken");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleDrive_GetServiceAccountToken(FunctionParameters)
|
||||
|
||||
Data = FunctionParameters["Google_ServiceData"]; // URL, binary Data, file or collection
|
||||
|
||||
Token = FunctionParameters["Access_Token"]; // SKIP
|
||||
Data = OPI_HTTPRequests // SKIP
|
||||
.NewRequest() // SKIP
|
||||
.Initialize(Data) // SKIP
|
||||
.AddBearerAuthorization(Token) // SKIP
|
||||
.ProcessRequest("GET") // SKIP
|
||||
.ReturnResponseAsBinaryData(); // SKIP
|
||||
|
||||
Scope = New Array;
|
||||
Scope.Add("https://www.googleapis.com/auth/calendar");
|
||||
Scope.Add("https://www.googleapis.com/auth/drive");
|
||||
Scope.Add("https://www.googleapis.com/auth/spreadsheets");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("auth", Data);
|
||||
Options.Insert("scope", Scope);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gdrive", "GetServiceAccountToken", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleDrive", "GetServiceAccountToken");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleDrive_GetDirectoriesList(FunctionParameters)
|
||||
|
||||
Name = "TestFolder";
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("query", Name);
|
||||
Options.Insert("depth", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gdrive", "GetDirectoriesList", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleDrive", "GetDirectoriesList", , FunctionParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleDrive_GetObjectInformation(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Identifier = FunctionParameters["GD_Catalog"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("object", Identifier);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gdrive", "GetObjectInformation", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleDrive", "GetObjectInformation");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleDrive_UploadFile(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Directory = FunctionParameters["GD_Catalog"];
|
||||
Image = FunctionParameters["Picture"]; // URL, Binary Data or File path
|
||||
|
||||
Clear = False;
|
||||
Options = New Structure;
|
||||
Options.Insert("empty", Clear);
|
||||
|
||||
Description = OPI_TestDataRetrieval.ExecuteTestCLI("gdrive", "GetFileDescription", Options);
|
||||
|
||||
Description.Insert("Parent", Directory);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("file", Image);
|
||||
Options.Insert("props", Description);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gdrive", "UploadFile", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleDrive", "UploadFile", , FunctionParameters, Description);
|
||||
|
||||
If Not OPI_Tools.IsOneScript() And FunctionParameters.Property("Big") Then
|
||||
|
||||
BigFile = FunctionParameters["Big"];
|
||||
Description.Insert("Name", "big.rar");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("file", BigFile);
|
||||
Options.Insert("props", Description);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gdrive", "UploadFile", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleDrive", "UploadFile", "Big", FunctionParameters, Description);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("object", Result);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gdrive", "DownloadFile", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleDrive", "UploadFile", "Check", FunctionParameters, Description);
|
||||
|
||||
EndIf;
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleDrive_CopyObject(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Identifier = FunctionParameters["GD_File"];
|
||||
NewName = "CopiedFile.jpeg";
|
||||
NewParent = "root";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("object", Identifier);
|
||||
Options.Insert("title", NewName);
|
||||
Options.Insert("catalog", NewParent);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gdrive", "CopyObject", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleDrive", "CopyObject", , FunctionParameters, NewName);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleDrive_DownloadFile(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Identifier = FunctionParameters["GD_File"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("object", Identifier);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gdrive", "DownloadFile", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleDrive", "DownloadFile", , FunctionParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleDrive_UpdateFile(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
NewName = "UpdatedFile.jpg";
|
||||
Identifier = FunctionParameters["GD_File"];
|
||||
File = FunctionParameters["Picture2"]; // URL, Binary Data or File path
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("object", Identifier);
|
||||
Options.Insert("file", File);
|
||||
Options.Insert("title", NewName);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gdrive", "UpdateFile", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleDrive", "UpdateFile", , NewName);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleDrive_GetFilesList(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Directory = "root";
|
||||
NameContains = "data";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("query", NameContains);
|
||||
Options.Insert("catalog", Directory);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gdrive", "GetFilesList", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleDrive", "GetFilesList");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleDrive_DeleteObject(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Identifier = FunctionParameters["GD_File"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("object", Identifier);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gdrive", "DeleteObject", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleDrive", "DeleteObject");
|
||||
|
||||
For Each Deletable In FunctionParameters["ArrayOfDeletions"] Do
|
||||
|
||||
Result = OPI_GoogleDrive.DeleteObject(Token, Deletable);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleDrive", "DeleteObject", "Additional");
|
||||
|
||||
OPI_Tools.Pause(2);
|
||||
|
||||
EndDo;
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleDrive_GetFileDescription(FunctionParameters)
|
||||
|
||||
Options = New Structure;
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gdrive", "GetFileDescription", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleDrive", "GetFileDescription");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleDrive_CreateComment(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Identifier = FunctionParameters["GD_File"];
|
||||
Comment = "Comment text";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("object", Identifier);
|
||||
Options.Insert("text", Comment);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gdrive", "CreateComment", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleDrive", "CreateComment", , FunctionParameters, Comment);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleDrive_GetComment(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Identifier = FunctionParameters["GD_File"];
|
||||
CommentID = FunctionParameters["GD_Comment"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("object", Identifier);
|
||||
Options.Insert("comment", CommentID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gdrive", "GetComment", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleDrive", "GetComment");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleDrive_GetCommentList(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Identifier = FunctionParameters["GD_File"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("object", Identifier);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gdrive", "GetCommentList", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleDrive", "GetCommentList");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleDrive_DeleteComment(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Identifier = FunctionParameters["GD_File"];
|
||||
CommentID = FunctionParameters["GD_Comment"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("object", Identifier);
|
||||
Options.Insert("comment", CommentID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gdrive", "DeleteComment", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleDrive", "DeleteComment");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleDrive_CreateFolder(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Directory = FunctionParameters["GD_Catalog"];
|
||||
Name = "TestFolder";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("title", Name);
|
||||
Options.Insert("catalog", Directory);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gdrive", "CreateFolder", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleDrive", "CreateFolder");
|
||||
|
||||
CatalogID = Result["id"];
|
||||
OPI_GoogleDrive.DeleteObject(Token, CatalogID);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("title", Name);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gdrive", "CreateFolder", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleDrive", "CreateFolder", "Root");
|
||||
|
||||
CatalogID = Result["id"];
|
||||
OPI_GoogleDrive.DeleteObject(Token, CatalogID);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // GoogleDrive
|
||||
|
||||
#EndRegion // AtomicTests
|
||||
|
||||
#EndRegion // Private
|
||||
|
||||
#Region Alternate
|
||||
|
||||
Procedure ГД_Авторизация() Export
|
||||
GD_Authorization();
|
||||
EndProcedure
|
||||
|
||||
Procedure ГД_ПолучитьСписокКаталогов() Export
|
||||
GD_GetCatalogList();
|
||||
EndProcedure
|
||||
|
||||
Procedure ГД_ЗагрузитьУдалитьФайл() Export
|
||||
GD_UploadDeleteFile();
|
||||
EndProcedure
|
||||
|
||||
Procedure ГД_СоздатьУдалитьКомментарий() Export
|
||||
GD_CreateDeleteComment();
|
||||
EndProcedure
|
||||
|
||||
Procedure ГД_СоздатьКаталог() Export
|
||||
GD_CreateCatalog();
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
+494
@@ -0,0 +1,494 @@
|
||||
// OneScript: ./OInt/tests/Modules/OPItc_GoogleSheets.os
|
||||
|
||||
// MIT License
|
||||
|
||||
// Copyright (c) 2023-2026 Anton Tsitavets
|
||||
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
|
||||
// The above copyright notice and +this permission notice shall be included in all
|
||||
// copies or substantial portions of the Software.
|
||||
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// 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
|
||||
// SOFTWARE.
|
||||
|
||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||
|
||||
// Test suite for YAxUnit
|
||||
|
||||
// BSLLS:Typo-off
|
||||
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
||||
// BSLLS:IncorrectLineBreak-off
|
||||
// BSLLS:UsingServiceTag-off
|
||||
// BSLLS:UnusedParameters-off
|
||||
// BSLLS:DuplicateStringLiteral-off
|
||||
// BSLLS:UsingHardcodePath-off
|
||||
// BSLLS:UnusedLocalVariable-off
|
||||
// BSLLS:DeprecatedMessage-off
|
||||
// BSLLS:LineLength-off
|
||||
// BSLLS:MagicNumber-off
|
||||
// BSLLS:CommentedCode-off
|
||||
// BSLLS:AssignAliasFieldsInQuery-off
|
||||
// BSLLS:UsingHardcodeNetworkAddress-off
|
||||
// BSLLS:UnreachableCode-off
|
||||
// BSLLS:UnusedLocalMethod-off
|
||||
// BSLLS:NestedFunctionInParameters-off
|
||||
// BSLLS:MissingTemporaryFileDeletion-off
|
||||
// BSLLS:UsingSynchronousCalls-off
|
||||
// BSLLS:MagicNumber-off
|
||||
// BSLLS:MagicDate-off
|
||||
// BSLLS:MissingParameterDescription-off
|
||||
// BSLLS:NumberOfOptionalParams-off
|
||||
// BSLLS:MethodSize-off
|
||||
// BSLLS:NestedConstructorsInStructureDeclaration-off
|
||||
// BSLLS:NumberOfValuesInStructureConstructor-off
|
||||
// BSLLS:UsingHardcodeSecretInformation-off
|
||||
// BSLLS:SpaceAtStartComment-off
|
||||
|
||||
//@skip-check undefined-variable
|
||||
//@skip-check wrong-string-literal-content
|
||||
//@skip-check module-structure-top-region
|
||||
//@skip-check module-structure-method-in-regions
|
||||
//@skip-check undefined-function-or-procedure
|
||||
//@skip-check wrong-string-literal-content
|
||||
//@skip-check module-unused-local-variable
|
||||
//@skip-check bsl-legacy-check-string-literal
|
||||
//@skip-check bsl-legacy-check-method-for-statements-after-return
|
||||
//@skip-check missing-temporary-file-deletion
|
||||
//@skip-check module-unused-method
|
||||
|
||||
#Use "../../tools/main"
|
||||
#Use "../../tools/http"
|
||||
#Use "../../api"
|
||||
#Use asserts
|
||||
#Use "internal"
|
||||
|
||||
// For YAxUnit
|
||||
|
||||
Procedure ИсполняемыеСценарии() Export
|
||||
|
||||
OPI_TestDataRetrieval.FormYAXTests("GoogleSheets");
|
||||
|
||||
EndProcedure
|
||||
|
||||
// For Asserts
|
||||
|
||||
Function ПолучитьСписокТестов(UnitTesting) Export
|
||||
|
||||
Return OPI_TestDataRetrieval.FormAssertsTests("GoogleSheets");
|
||||
|
||||
EndFunction
|
||||
|
||||
#Region Internal
|
||||
|
||||
#Region RunnableTests
|
||||
|
||||
#Region GoogleSheets
|
||||
|
||||
Procedure GT_Authorization() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Google_ClientID" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Google_ClientSecret", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Google_Code" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Google_Refresh" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Google_ServiceData" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Access_Token" , TestParameters);
|
||||
|
||||
GoogleSheets_FormCodeRetrievalLink(TestParameters);
|
||||
GoogleSheets_GetTokenByCode(TestParameters);
|
||||
GoogleSheets_RefreshToken(TestParameters);
|
||||
GoogleSheets_GetServiceAccountToken(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GT_CreateTable() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Google_Token", TestParameters);
|
||||
|
||||
GoogleSheets_CreateSpreadsheet(TestParameters);
|
||||
GoogleSheets_GetSpreadsheet(TestParameters);
|
||||
GoogleSheets_CopySheet(TestParameters);
|
||||
GoogleSheets_AddSheet(TestParameters);
|
||||
GoogleSheets_DeleteSheet(TestParameters);
|
||||
GoogleSheets_EditSpreadsheetTitle(TestParameters);
|
||||
GoogleSheets_GetTable(TestParameters);
|
||||
|
||||
OPI_GoogleDrive.DeleteObject(TestParameters["Google_Token"], TestParameters["GS_Spreadsheet"]);
|
||||
OPI_GoogleDrive.DeleteObject(TestParameters["Google_Token"], TestParameters["GS_Spreadsheet2"]);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GT_FillClearCells() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Google_Token", TestParameters);
|
||||
|
||||
GoogleSheets_CreateSpreadsheet(TestParameters);
|
||||
GoogleSheets_SetCellValues(TestParameters);
|
||||
GoogleSheets_GetCellValues(TestParameters);
|
||||
GoogleSheets_ClearCells(TestParameters);
|
||||
|
||||
OPI_GoogleDrive.DeleteObject(TestParameters["Google_Token"], TestParameters["GS_Spreadsheet"]);
|
||||
OPI_GoogleDrive.DeleteObject(TestParameters["Google_Token"], TestParameters["GS_Spreadsheet2"]);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // GoogleSheets
|
||||
|
||||
#EndRegion // RunnableTests
|
||||
|
||||
#EndRegion // Internal
|
||||
|
||||
#Region Private
|
||||
|
||||
#Region AtomicTests
|
||||
|
||||
#Region GoogleSheets
|
||||
|
||||
Procedure GoogleSheets_FormCodeRetrievalLink(FunctionParameters)
|
||||
|
||||
ClientID = FunctionParameters["Google_ClientID"];
|
||||
Options = New Structure;
|
||||
Options.Insert("id", ClientID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gsheets", "FormCodeRetrievalLink", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleSheets", "FormCodeRetrievalLink");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleSheets_GetTokenByCode(FunctionParameters)
|
||||
|
||||
ClientID = FunctionParameters["Google_ClientID"];
|
||||
ClientSecret = FunctionParameters["Google_ClientSecret"];
|
||||
Code = FunctionParameters["Google_Code"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("id", ClientID);
|
||||
Options.Insert("secret", ClientSecret);
|
||||
Options.Insert("code", Code);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gsheets", "GetTokenByCode", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleSheets", "GetTokenByCode");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleSheets_RefreshToken(FunctionParameters)
|
||||
|
||||
ClientID = FunctionParameters["Google_ClientID"];
|
||||
ClientSecret = FunctionParameters["Google_ClientSecret"];
|
||||
RefreshToken = FunctionParameters["Google_Refresh"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("id", ClientID);
|
||||
Options.Insert("secret", ClientSecret);
|
||||
Options.Insert("refresh", RefreshToken);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gsheets", "RefreshToken", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleSheets", "RefreshToken");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleSheets_GetServiceAccountToken(FunctionParameters)
|
||||
|
||||
Data = FunctionParameters["Google_ServiceData"]; // URL, binary Data, file or collection
|
||||
|
||||
Token = FunctionParameters["Access_Token"]; // SKIP
|
||||
Data = OPI_HTTPRequests // SKIP
|
||||
.NewRequest() // SKIP
|
||||
.Initialize(Data) // SKIP
|
||||
.AddBearerAuthorization(Token) // SKIP
|
||||
.ProcessRequest("GET") // SKIP
|
||||
.ReturnResponseAsBinaryData(); // SKIP
|
||||
|
||||
Scope = New Array;
|
||||
Scope.Add("https://www.googleapis.com/auth/calendar");
|
||||
Scope.Add("https://www.googleapis.com/auth/drive");
|
||||
Scope.Add("https://www.googleapis.com/auth/spreadsheets");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("auth", Data);
|
||||
Options.Insert("scope", Scope);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gsheets", "GetServiceAccountToken", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleSheets", "GetServiceAccountToken");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleSheets_CreateSpreadsheet(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Name = "TestTable";
|
||||
|
||||
SheetArray = New Array;
|
||||
SheetArray.Add("Sheet1");
|
||||
SheetArray.Add("Sheet2");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("title", Name);
|
||||
Options.Insert("sheets", SheetArray);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gsheets", "CreateSpreadsheet", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleSheets", "CreateSpreadsheet", , FunctionParameters, Name, SheetArray);
|
||||
|
||||
Name = "Test table (new.)";
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("title", Name);
|
||||
Options.Insert("sheets", SheetArray);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gsheets", "CreateSpreadsheet", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleSheets", "CreateSpreadsheet", "Additionally", FunctionParameters, Name);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleSheets_GetSpreadsheet(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Identifier = FunctionParameters["GS_Spreadsheet"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("spreadsheet", Identifier);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gsheets", "GetSpreadsheet", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleSheets", "GetSpreadsheet");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleSheets_CopySheet(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
From = FunctionParameters["GS_Spreadsheet"];
|
||||
Target = FunctionParameters["GS_Spreadsheet2"];
|
||||
Sheet = FunctionParameters["GS_Sheet"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("from", From);
|
||||
Options.Insert("to", Target);
|
||||
Options.Insert("sheet", Sheet);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gsheets", "CopySheet", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleSheets", "CopySheet");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleSheets_AddSheet(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Spreadsheet = FunctionParameters["GS_Spreadsheet"];
|
||||
Name = "TestSheet";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("spreadsheet", Spreadsheet);
|
||||
Options.Insert("title", Name);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gsheets", "AddSheet", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleSheets", "AddSheet");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleSheets_DeleteSheet(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Spreadsheet = FunctionParameters["GS_Spreadsheet"];
|
||||
Sheet = FunctionParameters["GS_Sheet"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("spreadsheet", Spreadsheet);
|
||||
Options.Insert("sheet", Sheet);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gsheets", "DeleteSheet", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleSheets", "DeleteSheet", , Spreadsheet);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleSheets_EditSpreadsheetTitle(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Spreadsheet = FunctionParameters["GS_Spreadsheet"];
|
||||
Name = "Test table (changed.)";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("spreadsheet", Spreadsheet);
|
||||
Options.Insert("title", Name);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gsheets", "EditSpreadsheetTitle", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleSheets", "EditSpreadsheetTitle", , Spreadsheet);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleSheets_GetTable(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Spreadsheet = FunctionParameters["GS_Spreadsheet"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("spreadsheet", Spreadsheet);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gsheets", "GetSpreadsheet", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleSheets", "GetTable");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleSheets_SetCellValues(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Spreadsheet = FunctionParameters["GS_Spreadsheet"];
|
||||
Sheet = "Sheet2";
|
||||
|
||||
ValueMapping = New Map;
|
||||
ValueMapping.Insert("A1", "ThisIsA1");
|
||||
ValueMapping.Insert("A2", "ThisIsA2");
|
||||
ValueMapping.Insert("B2", "ThisIsB2");
|
||||
ValueMapping.Insert("B3", "ThisIsB3");
|
||||
ValueMapping.Insert("A3", "ThisIsA3");
|
||||
ValueMapping.Insert("A4", "ThisIsA4");
|
||||
ValueMapping.Insert("B1", "ThisIsB1");
|
||||
ValueMapping.Insert("B4", "ThisIsB4");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("spreadsheet", Spreadsheet);
|
||||
Options.Insert("data", ValueMapping);
|
||||
Options.Insert("sheetname", Sheet);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gsheets", "SetCellValues", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleSheets", "SetCellValues", , ValueMapping.Count());
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleSheets_GetCellValues(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Spreadsheet = FunctionParameters["GS_Spreadsheet"];
|
||||
Sheet = "Sheet2";
|
||||
|
||||
CellsArray = New Array;
|
||||
CellsArray.Add("B2");
|
||||
CellsArray.Add("A3");
|
||||
CellsArray.Add("B4");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("spreadsheet", Spreadsheet);
|
||||
Options.Insert("cells", CellsArray);
|
||||
Options.Insert("sheetname", Sheet);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gsheets", "GetCellValues", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleSheets", "GetCellValues", , CellsArray.Count());
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("spreadsheet", Spreadsheet);
|
||||
Options.Insert("sheetname", Sheet);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gsheets", "GetCellValues", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleSheets", "GetCellValues", "All", Spreadsheet);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleSheets_ClearCells(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Google_Token"];
|
||||
Spreadsheet = FunctionParameters["GS_Spreadsheet"];
|
||||
Sheet = "Sheet2";
|
||||
|
||||
CellsArray = New Array;
|
||||
CellsArray.Add("B2");
|
||||
CellsArray.Add("A3");
|
||||
CellsArray.Add("B4");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("spreadsheet", Spreadsheet);
|
||||
Options.Insert("cells", CellsArray);
|
||||
Options.Insert("sheetname", Sheet);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("gsheets", "ClearCells", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleSheets", "ClearCells", , CellsArray.Count());
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // GoogleSheets
|
||||
|
||||
#EndRegion // AtomicTests
|
||||
|
||||
#EndRegion // Private
|
||||
|
||||
#Region Alternate
|
||||
|
||||
Procedure ГТ_Авторизация() Export
|
||||
GT_Authorization();
|
||||
EndProcedure
|
||||
|
||||
Procedure ГТ_СоздатьТаблицу() Export
|
||||
GT_CreateTable();
|
||||
EndProcedure
|
||||
|
||||
Procedure ГТ_ЗаполнитьОчиститьЯчейки() Export
|
||||
GT_FillClearCells();
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
+221
@@ -0,0 +1,221 @@
|
||||
// OneScript: ./OInt/tests/Modules/OPItc_GoogleWorkspace.os
|
||||
|
||||
// MIT License
|
||||
|
||||
// Copyright (c) 2023-2026 Anton Tsitavets
|
||||
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
|
||||
// The above copyright notice and +this permission notice shall be included in all
|
||||
// copies or substantial portions of the Software.
|
||||
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// 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
|
||||
// SOFTWARE.
|
||||
|
||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||
|
||||
// Test suite for YAxUnit
|
||||
|
||||
// BSLLS:Typo-off
|
||||
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
||||
// BSLLS:IncorrectLineBreak-off
|
||||
// BSLLS:UsingServiceTag-off
|
||||
// BSLLS:UnusedParameters-off
|
||||
// BSLLS:DuplicateStringLiteral-off
|
||||
// BSLLS:UsingHardcodePath-off
|
||||
// BSLLS:UnusedLocalVariable-off
|
||||
// BSLLS:DeprecatedMessage-off
|
||||
// BSLLS:LineLength-off
|
||||
// BSLLS:MagicNumber-off
|
||||
// BSLLS:CommentedCode-off
|
||||
// BSLLS:AssignAliasFieldsInQuery-off
|
||||
// BSLLS:UsingHardcodeNetworkAddress-off
|
||||
// BSLLS:UnreachableCode-off
|
||||
// BSLLS:UnusedLocalMethod-off
|
||||
// BSLLS:NestedFunctionInParameters-off
|
||||
// BSLLS:MissingTemporaryFileDeletion-off
|
||||
// BSLLS:UsingSynchronousCalls-off
|
||||
// BSLLS:MagicNumber-off
|
||||
// BSLLS:MagicDate-off
|
||||
// BSLLS:MissingParameterDescription-off
|
||||
// BSLLS:NumberOfOptionalParams-off
|
||||
// BSLLS:MethodSize-off
|
||||
// BSLLS:NestedConstructorsInStructureDeclaration-off
|
||||
// BSLLS:NumberOfValuesInStructureConstructor-off
|
||||
// BSLLS:UsingHardcodeSecretInformation-off
|
||||
// BSLLS:SpaceAtStartComment-off
|
||||
|
||||
//@skip-check undefined-variable
|
||||
//@skip-check wrong-string-literal-content
|
||||
//@skip-check module-structure-top-region
|
||||
//@skip-check module-structure-method-in-regions
|
||||
//@skip-check undefined-function-or-procedure
|
||||
//@skip-check wrong-string-literal-content
|
||||
//@skip-check module-unused-local-variable
|
||||
//@skip-check bsl-legacy-check-string-literal
|
||||
//@skip-check bsl-legacy-check-method-for-statements-after-return
|
||||
//@skip-check missing-temporary-file-deletion
|
||||
//@skip-check module-unused-method
|
||||
|
||||
#Use "../../tools/main"
|
||||
#Use "../../tools/http"
|
||||
#Use "../../api"
|
||||
#Use asserts
|
||||
#Use "internal"
|
||||
|
||||
|
||||
// For YAxUnit
|
||||
|
||||
Procedure ИсполняемыеСценарии() Export
|
||||
|
||||
OPI_TestDataRetrieval.FormYAXTests("GoogleWorkspace");
|
||||
|
||||
EndProcedure
|
||||
|
||||
// For Asserts
|
||||
|
||||
Function ПолучитьСписокТестов(UnitTesting) Export
|
||||
|
||||
Return OPI_TestDataRetrieval.FormAssertsTests("GoogleWorkspace");
|
||||
|
||||
EndFunction
|
||||
|
||||
#Region Internal
|
||||
|
||||
#Region RunnableTests
|
||||
|
||||
#Region GoogleWorkspace
|
||||
|
||||
Procedure GW_Auth() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Google_ClientID" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Google_ClientSecret", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Google_Code" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Google_Refresh" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Google_ServiceData" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Access_Token" , TestParameters);
|
||||
|
||||
GoogleWorkspace_FormCodeRetrievalLink(TestParameters);
|
||||
GoogleWorkspace_GetTokenByCode(TestParameters);
|
||||
GoogleWorkspace_RefreshToken(TestParameters);
|
||||
GoogleWorkspace_GetServiceAccountToken(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // GoogleWorkspace
|
||||
|
||||
#EndRegion // RunnableTests
|
||||
|
||||
#EndRegion // Internal
|
||||
|
||||
#Region Private
|
||||
|
||||
#Region AtomicTests
|
||||
|
||||
#Region GoogleWorkspace
|
||||
|
||||
Procedure GoogleWorkspace_FormCodeRetrievalLink(FunctionParameters)
|
||||
|
||||
ClientID = FunctionParameters["Google_ClientID"];
|
||||
Options = New Structure;
|
||||
Options.Insert("id", ClientID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("google", "FormCodeRetrievalLink", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleWorkspace", "FormCodeRetrievalLink");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleWorkspace_GetTokenByCode(FunctionParameters)
|
||||
|
||||
ClientID = FunctionParameters["Google_ClientID"];
|
||||
ClientSecret = FunctionParameters["Google_ClientSecret"];
|
||||
Code = FunctionParameters["Google_Code"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("id", ClientID);
|
||||
Options.Insert("secret", ClientSecret);
|
||||
Options.Insert("code", Code);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("google", "GetTokenByCode", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleWorkspace", "GetTokenByCode");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleWorkspace_RefreshToken(FunctionParameters)
|
||||
|
||||
ClientID = FunctionParameters["Google_ClientID"];
|
||||
ClientSecret = FunctionParameters["Google_ClientSecret"];
|
||||
RefreshToken = FunctionParameters["Google_Refresh"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("id", ClientID);
|
||||
Options.Insert("secret", ClientSecret);
|
||||
Options.Insert("refresh", RefreshToken);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("google", "RefreshToken", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleWorkspace", "RefreshToken");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure GoogleWorkspace_GetServiceAccountToken(FunctionParameters)
|
||||
|
||||
Data = FunctionParameters["Google_ServiceData"]; // URL, binary Data, file or collection
|
||||
|
||||
Token = FunctionParameters["Access_Token"]; // SKIP
|
||||
Data = OPI_HTTPRequests // SKIP
|
||||
.NewRequest() // SKIP
|
||||
.Initialize(Data) // SKIP
|
||||
.AddBearerAuthorization(Token) // SKIP
|
||||
.ProcessRequest("GET") // SKIP
|
||||
.ReturnResponseAsBinaryData(); // SKIP
|
||||
|
||||
Scope = New Array;
|
||||
Scope.Add("https://www.googleapis.com/auth/calendar");
|
||||
Scope.Add("https://www.googleapis.com/auth/drive");
|
||||
Scope.Add("https://www.googleapis.com/auth/spreadsheets");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("auth", Data);
|
||||
Options.Insert("scope", Scope);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("google", "GetServiceAccountToken", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "GoogleWorkspace", "GetServiceAccountToken");
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // GoogleWorkspace
|
||||
|
||||
#EndRegion // AtomicTests
|
||||
|
||||
#EndRegion // Private
|
||||
|
||||
#Region Alternate
|
||||
|
||||
Procedure ГВ_Авторизация() Export
|
||||
GW_Auth();
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
+1592
File diff suppressed because it is too large
Load Diff
+1532
File diff suppressed because it is too large
Load Diff
+1392
File diff suppressed because it is too large
Load Diff
+1382
File diff suppressed because it is too large
Load Diff
+2025
File diff suppressed because it is too large
Load Diff
+1603
File diff suppressed because it is too large
Load Diff
+323
@@ -0,0 +1,323 @@
|
||||
// OneScript: ./OInt/tests/Modules/OPItc_Neocities.os
|
||||
|
||||
// MIT License
|
||||
|
||||
// Copyright (c) 2023-2026 Anton Tsitavets
|
||||
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
|
||||
// The above copyright notice and +this permission notice shall be included in all
|
||||
// copies or substantial portions of the Software.
|
||||
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// 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
|
||||
// SOFTWARE.
|
||||
|
||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||
|
||||
// Test suite for YAxUnit
|
||||
|
||||
// BSLLS:Typo-off
|
||||
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
||||
// BSLLS:IncorrectLineBreak-off
|
||||
// BSLLS:UsingServiceTag-off
|
||||
// BSLLS:UnusedParameters-off
|
||||
// BSLLS:DuplicateStringLiteral-off
|
||||
// BSLLS:UsingHardcodePath-off
|
||||
// BSLLS:UnusedLocalVariable-off
|
||||
// BSLLS:DeprecatedMessage-off
|
||||
// BSLLS:LineLength-off
|
||||
// BSLLS:MagicNumber-off
|
||||
// BSLLS:CommentedCode-off
|
||||
// BSLLS:AssignAliasFieldsInQuery-off
|
||||
// BSLLS:UsingHardcodeNetworkAddress-off
|
||||
// BSLLS:UnreachableCode-off
|
||||
// BSLLS:UnusedLocalMethod-off
|
||||
// BSLLS:NestedFunctionInParameters-off
|
||||
// BSLLS:MissingTemporaryFileDeletion-off
|
||||
// BSLLS:UsingSynchronousCalls-off
|
||||
// BSLLS:MagicNumber-off
|
||||
// BSLLS:MagicDate-off
|
||||
// BSLLS:MissingParameterDescription-off
|
||||
// BSLLS:NumberOfOptionalParams-off
|
||||
// BSLLS:MethodSize-off
|
||||
// BSLLS:NestedConstructorsInStructureDeclaration-off
|
||||
// BSLLS:NumberOfValuesInStructureConstructor-off
|
||||
// BSLLS:UsingHardcodeSecretInformation-off
|
||||
// BSLLS:SpaceAtStartComment-off
|
||||
|
||||
//@skip-check undefined-variable
|
||||
//@skip-check wrong-string-literal-content
|
||||
//@skip-check module-structure-top-region
|
||||
//@skip-check module-structure-method-in-regions
|
||||
//@skip-check undefined-function-or-procedure
|
||||
//@skip-check wrong-string-literal-content
|
||||
//@skip-check module-unused-local-variable
|
||||
//@skip-check bsl-legacy-check-string-literal
|
||||
//@skip-check bsl-legacy-check-method-for-statements-after-return
|
||||
//@skip-check missing-temporary-file-deletion
|
||||
//@skip-check module-unused-method
|
||||
|
||||
#Use "../../tools/main"
|
||||
#Use "../../tools/http"
|
||||
#Use "../../api"
|
||||
#Use asserts
|
||||
#Use "internal"
|
||||
|
||||
|
||||
// For YAxUnit
|
||||
|
||||
Procedure ИсполняемыеСценарии() Export
|
||||
|
||||
OPI_TestDataRetrieval.FormYAXTests("Neocities");
|
||||
|
||||
EndProcedure
|
||||
|
||||
// For Asserts
|
||||
|
||||
Function ПолучитьСписокТестов(UnitTesting) Export
|
||||
|
||||
Return OPI_TestDataRetrieval.FormAssertsTests("Neocities");
|
||||
|
||||
EndFunction
|
||||
|
||||
#Region Internal
|
||||
|
||||
#Region RunnableTests
|
||||
|
||||
#Region Neocities
|
||||
|
||||
Procedure NC_FilesManagement() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("NC_Token", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Picture" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Picture2", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Gif" , TestParameters);
|
||||
|
||||
Neocities_UploadFile(TestParameters);
|
||||
Neocities_UploadFiles(TestParameters);
|
||||
Neocities_GetFilesList(TestParameters);
|
||||
Neocities_DeleteSelectedFiles(TestParameters);
|
||||
Neocities_SynchronizeFolders(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure NC_DataRetrieving() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("NC_Token" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("NC_Login" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("NC_Password", TestParameters);
|
||||
|
||||
Neocities_GetSiteData(TestParameters);
|
||||
Neocities_GetToken(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // Neocities
|
||||
|
||||
#EndRegion // RunnableTests
|
||||
|
||||
#EndRegion // Internal
|
||||
|
||||
#Region Private
|
||||
|
||||
#Region AtomicTests
|
||||
|
||||
#Region Neocities
|
||||
|
||||
Procedure Neocities_UploadFile(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["NC_Token"];
|
||||
Data = FunctionParameters["Picture"]; // URL, Path or Binary Data
|
||||
Path = "testfolder/test_pic.png";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("path", Path);
|
||||
Options.Insert("file", Data);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("neocities", "UploadFile", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Neocities", "UploadFile");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Neocities_UploadFiles(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["NC_Token"];
|
||||
|
||||
Image1 = FunctionParameters["Picture"]; // URL, Path or Binary Data
|
||||
Image2 = FunctionParameters["Picture2"]; // URL, Path or Binary Data
|
||||
GIF = FunctionParameters["Gif"]; // URL, Path or Binary Data
|
||||
|
||||
FileMapping = New Map;
|
||||
FileMapping.Insert("test/pic1.png", Image1);
|
||||
FileMapping.Insert("test/gif.gif" , Image2);
|
||||
FileMapping.Insert("pic2.png" , GIF);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("files", FileMapping);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("neocities", "UploadFiles", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Neocities", "UploadFiles");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Neocities_DeleteSelectedFiles(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["NC_Token"];
|
||||
|
||||
Paths = New Array;
|
||||
Paths.Add("/test/pic1.png");
|
||||
Paths.Add("/test/gif.gif");
|
||||
Paths.Add("/pic2.png");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("paths", Paths);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("neocities", "DeleteSelectedFiles", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Neocities", "DeleteSelectedFiles");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("paths", "/testfolder");
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("neocities", "DeleteSelectedFiles", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Neocities", "DeleteSelectedFiles", "Directory 1");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("paths", "/test");
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("neocities", "DeleteSelectedFiles", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Neocities", "DeleteSelectedFiles", "Directory 2");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Neocities_GetFilesList(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["NC_Token"];
|
||||
Path = "test";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("path", Path);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("neocities", "GetFilesList", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Neocities", "GetFilesList");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("neocities", "GetFilesList", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Neocities", "GetFilesList", "All");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Neocities_GetSiteData(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["NC_Token"];
|
||||
Website = "2athenaeum";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("neocities", "GetSiteData", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Neocities", "GetSiteData"); // SKIP
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("sitename", Website);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("neocities", "GetSiteData", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Neocities", "GetSiteData", "Website");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Neocities_GetToken(FunctionParameters)
|
||||
|
||||
Login = FunctionParameters["NC_Login"];
|
||||
Password = FunctionParameters["NC_Password"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("login", Login);
|
||||
Options.Insert("password", Password);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("neocities", "GetToken", Options);
|
||||
|
||||
// END
|
||||
|
||||
Result["api_key"] = "***";
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Neocities", "GetToken");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Neocities_SynchronizeFolders(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["NC_Token"];
|
||||
|
||||
LocalFolder = "C:\test_site";
|
||||
RemoteFolder = "test_sync";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("local", LocalFolder);
|
||||
Options.Insert("remote", RemoteFolder);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("neocities", "SynchronizeFolders", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Neocities", "SynchronizeFolders");
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // Neocities
|
||||
|
||||
#EndRegion // AtomicTests
|
||||
|
||||
#EndRegion // Private
|
||||
|
||||
#Region Alternate
|
||||
|
||||
Procedure НС_РаботаСФайлами() Export
|
||||
NC_FilesManagement();
|
||||
EndProcedure
|
||||
|
||||
Procedure НС_ПолучениеДанных() Export
|
||||
NC_DataRetrieving();
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
+476
@@ -0,0 +1,476 @@
|
||||
// OneScript: ./OInt/tests/Modules/OPItc_Notion.os
|
||||
|
||||
// MIT License
|
||||
|
||||
// Copyright (c) 2023-2026 Anton Tsitavets
|
||||
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
|
||||
// The above copyright notice and +this permission notice shall be included in all
|
||||
// copies or substantial portions of the Software.
|
||||
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// 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
|
||||
// SOFTWARE.
|
||||
|
||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||
|
||||
// Test suite for YAxUnit
|
||||
|
||||
// BSLLS:Typo-off
|
||||
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
||||
// BSLLS:IncorrectLineBreak-off
|
||||
// BSLLS:UsingServiceTag-off
|
||||
// BSLLS:UnusedParameters-off
|
||||
// BSLLS:DuplicateStringLiteral-off
|
||||
// BSLLS:UsingHardcodePath-off
|
||||
// BSLLS:UnusedLocalVariable-off
|
||||
// BSLLS:DeprecatedMessage-off
|
||||
// BSLLS:LineLength-off
|
||||
// BSLLS:MagicNumber-off
|
||||
// BSLLS:CommentedCode-off
|
||||
// BSLLS:AssignAliasFieldsInQuery-off
|
||||
// BSLLS:UsingHardcodeNetworkAddress-off
|
||||
// BSLLS:UnreachableCode-off
|
||||
// BSLLS:UnusedLocalMethod-off
|
||||
// BSLLS:NestedFunctionInParameters-off
|
||||
// BSLLS:MissingTemporaryFileDeletion-off
|
||||
// BSLLS:UsingSynchronousCalls-off
|
||||
// BSLLS:MagicNumber-off
|
||||
// BSLLS:MagicDate-off
|
||||
// BSLLS:MissingParameterDescription-off
|
||||
// BSLLS:NumberOfOptionalParams-off
|
||||
// BSLLS:MethodSize-off
|
||||
// BSLLS:NestedConstructorsInStructureDeclaration-off
|
||||
// BSLLS:NumberOfValuesInStructureConstructor-off
|
||||
// BSLLS:UsingHardcodeSecretInformation-off
|
||||
// BSLLS:SpaceAtStartComment-off
|
||||
|
||||
//@skip-check undefined-variable
|
||||
//@skip-check wrong-string-literal-content
|
||||
//@skip-check module-structure-top-region
|
||||
//@skip-check module-structure-method-in-regions
|
||||
//@skip-check undefined-function-or-procedure
|
||||
//@skip-check wrong-string-literal-content
|
||||
//@skip-check module-unused-local-variable
|
||||
//@skip-check bsl-legacy-check-string-literal
|
||||
//@skip-check bsl-legacy-check-method-for-statements-after-return
|
||||
//@skip-check missing-temporary-file-deletion
|
||||
//@skip-check module-unused-method
|
||||
|
||||
#Use "../../tools/main"
|
||||
#Use "../../tools/http"
|
||||
#Use "../../api"
|
||||
#Use asserts
|
||||
#Use "internal"
|
||||
|
||||
|
||||
// For YAxUnit
|
||||
|
||||
Procedure ИсполняемыеСценарии() Export
|
||||
|
||||
OPI_TestDataRetrieval.FormYAXTests("Notion");
|
||||
|
||||
EndProcedure
|
||||
|
||||
// For Asserts
|
||||
|
||||
Function ПолучитьСписокТестов(UnitTesting) Export
|
||||
|
||||
Return OPI_TestDataRetrieval.FormAssertsTests("Notion");
|
||||
|
||||
EndFunction
|
||||
|
||||
#Region Internal
|
||||
|
||||
#Region RunnableTests
|
||||
|
||||
#Region Notion
|
||||
|
||||
Procedure NotionAPI_CreatePage() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Notion_Token" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Notion_Parent", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Picture" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Picture2" , TestParameters);
|
||||
|
||||
Notion_CreatePage(TestParameters);
|
||||
Notion_GetPage(TestParameters);
|
||||
Notion_EditPageProperties(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure NotionAPI_CreateUpdateBase() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Notion_Token" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Notion_Parent", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Picture" , TestParameters);
|
||||
|
||||
Notion_CreateDatabase(TestParameters);
|
||||
Notion_EditDatabaseProperties(TestParameters);
|
||||
Notion_GetDatabase(TestParameters);
|
||||
Notion_CreatePageInDatabase(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure NotionAPI_CreateDeleteBlock() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Notion_Token" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Notion_Parent", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Notion_Block" , TestParameters);
|
||||
|
||||
Notion_ReturnBlock(TestParameters);
|
||||
Notion_CreateBlock(TestParameters);
|
||||
Notion_ReturnChildBlocks(TestParameters);
|
||||
Notion_DeleteBlock(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure NotionAPI_GetUsers() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Notion_Token", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Notion_User" , TestParameters);
|
||||
|
||||
Notion_UserList(TestParameters);
|
||||
Notion_GetUserData(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // Notion
|
||||
|
||||
#EndRegion // RunnableTests
|
||||
|
||||
#EndRegion // Internal
|
||||
|
||||
#Region Private
|
||||
|
||||
#Region AtomicTests
|
||||
|
||||
#Region Notion
|
||||
|
||||
Procedure Notion_CreatePage(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Notion_Token"];
|
||||
Parent = FunctionParameters["Notion_Parent"];
|
||||
Title = "TestTitle";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("page", Parent);
|
||||
Options.Insert("title", Title);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("notion", "CreatePage", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Notion", "CreatePage", , FunctionParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Notion_CreateDatabase(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Notion_Token"];
|
||||
Parent = FunctionParameters["Notion_Parent"];
|
||||
Title = "TestTitle";
|
||||
|
||||
Properties = New Map;
|
||||
Properties.Insert("Name" , "title");
|
||||
Properties.Insert("Description" , "rich_text");
|
||||
Properties.Insert("Number" , "number");
|
||||
Properties.Insert("CreationDate", "date");
|
||||
Properties.Insert("Image" , "files");
|
||||
Properties.Insert("Active" , "checkbox");
|
||||
Properties.Insert("Website" , "url");
|
||||
Properties.Insert("Email" , "email");
|
||||
Properties.Insert("Phone" , "phone_number");
|
||||
Properties.Insert("User" , "people");
|
||||
|
||||
ValueSelection = New Map;
|
||||
ValueSelection.Insert("New" , "green");
|
||||
ValueSelection.Insert("InProgress" , "yellow");
|
||||
ValueSelection.Insert("Remote" , "red");
|
||||
|
||||
Properties.Insert("Status", ValueSelection);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("page", Parent);
|
||||
Options.Insert("title", Title);
|
||||
Options.Insert("props", Properties);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("notion", "CreateDatabase", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Notion", "CreateDatabase", , FunctionParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Notion_EditDatabaseProperties(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Notion_Token"];
|
||||
Base = FunctionParameters["Notion_Base"];
|
||||
|
||||
Title = "TestTitle";
|
||||
Description = "TestDescription";
|
||||
|
||||
Properties = New Map;
|
||||
Properties.Insert("Email", "rich_text"); // Type fields "Email" will changed with email to text
|
||||
Properties.Insert("Website"); // Field "Website" will deleted
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("base", Base);
|
||||
Options.Insert("props", Properties);
|
||||
Options.Insert("title", Title);
|
||||
Options.Insert("description", Description);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("notion", "EditDatabaseProperties", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Notion", "EditDatabaseProperties");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Notion_GetPage(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Notion_Token"];
|
||||
Page = FunctionParameters["Notion_Page"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("page", Page);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("notion", "GetPage", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Notion", "GetPage");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Notion_GetDatabase(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Notion_Token"];
|
||||
Base = FunctionParameters["Notion_Base"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("base", Base);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("notion", "GetDatabase", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Notion", "GetDatabase");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Notion_CreatePageInDatabase(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Notion_Token"];
|
||||
Base = FunctionParameters["Notion_Base"];
|
||||
Image_ = FunctionParameters["Picture"]; // URL, Binary Data or File path
|
||||
|
||||
Image = New Map;
|
||||
Image.Insert("Logo", Image_);
|
||||
|
||||
Properties = New Map;
|
||||
Properties.Insert("Name" , "LLC Vector");
|
||||
Properties.Insert("Description" , "OurFirstClient");
|
||||
Properties.Insert("Number" , 1);
|
||||
Properties.Insert("CreationDate", OPI_Tools.GetCurrentDate());
|
||||
Properties.Insert("Image" , Image);
|
||||
Properties.Insert("Active" , True);
|
||||
Properties.Insert("Website" , "https://vector.ru");
|
||||
Properties.Insert("Email" , "mail@vector.ru");
|
||||
Properties.Insert("Phone" , "88005553535");
|
||||
Properties.Insert("Status" , "New");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("base", Base);
|
||||
Options.Insert("data", Properties);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("notion", "CreatePageInDatabase", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Notion", "CreatePageInDatabase", , Base);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Notion_EditPageProperties(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Notion_Token"];
|
||||
Page = FunctionParameters["Notion_Page"];
|
||||
Icon = FunctionParameters["Picture"];
|
||||
Cover = FunctionParameters["Picture2"];
|
||||
Archive = False;
|
||||
|
||||
Properties = New Map;
|
||||
Properties.Insert("Active", False);
|
||||
Properties.Insert("Email" , "vector@mail.ru");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("page", Page);
|
||||
Options.Insert("data", Properties);
|
||||
Options.Insert("icon", Icon);
|
||||
Options.Insert("cover", Cover);
|
||||
Options.Insert("archive", Archive);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("notion", "EditPageProperties", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Notion", "EditPageProperties");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Notion_ReturnBlock(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Notion_Token"];
|
||||
Block = FunctionParameters["Notion_Block"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("block", Block);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("notion", "ReturnBlock", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Notion", "ReturnBlock");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Notion_CreateBlock(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Notion_Token"];
|
||||
Parent = FunctionParameters["Notion_Parent"];
|
||||
Block = FunctionParameters["Notion_Block"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("block", Block);
|
||||
|
||||
BlockData = OPI_TestDataRetrieval.ExecuteTestCLI("notion", "ReturnBlock", Options);
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("page", Parent);
|
||||
Options.Insert("block", BlockData);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("notion", "CreateBlock", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Notion", "CreateBlock", , FunctionParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Notion_ReturnChildBlocks(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Notion_Token"];
|
||||
Block = FunctionParameters["Notion_NewBlock"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("block", Block);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("notion", "ReturnChildBlocks", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Notion", "ReturnChildBlocks");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Notion_DeleteBlock(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Notion_Token"];
|
||||
Block = FunctionParameters["Notion_NewBlock"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("block", Block);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("notion", "DeleteBlock", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Notion", "DeleteBlock");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Notion_UserList(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Notion_Token"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("notion", "UserList", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Notion", "UserList");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Notion_GetUserData(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Notion_Token"];
|
||||
User = FunctionParameters["Notion_User"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("user", User);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("notion", "GetUserData", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Notion", "GetUserData");
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // Notion
|
||||
|
||||
#EndRegion // AtomicTests
|
||||
|
||||
#EndRegion // Private
|
||||
|
||||
#Region Alternate
|
||||
|
||||
Procedure НоушнАпи_СоздатьСтраницу() Export
|
||||
NotionAPI_CreatePage();
|
||||
EndProcedure
|
||||
|
||||
Procedure НоушнАпи_СоздатьИзменитьБазу() Export
|
||||
NotionAPI_CreateUpdateBase();
|
||||
EndProcedure
|
||||
|
||||
Procedure НоушнАпи_СоздатьУдалитьБлок() Export
|
||||
NotionAPI_CreateDeleteBlock();
|
||||
EndProcedure
|
||||
|
||||
Procedure НоушнАпи_ПолучитьПользователей() Export
|
||||
NotionAPI_GetUsers();
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
+818
@@ -0,0 +1,818 @@
|
||||
// OneScript: ./OInt/tests/Modules/OPItc_Ollama.os
|
||||
|
||||
// MIT License
|
||||
|
||||
// Copyright (c) 2023-2026 Anton Tsitavets
|
||||
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
|
||||
// The above copyright notice and +this permission notice shall be included in all
|
||||
// copies or substantial portions of the Software.
|
||||
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// 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
|
||||
// SOFTWARE.
|
||||
|
||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||
|
||||
// Test suite for YAxUnit
|
||||
|
||||
// BSLLS:Typo-off
|
||||
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
||||
// BSLLS:IncorrectLineBreak-off
|
||||
// BSLLS:UsingServiceTag-off
|
||||
// BSLLS:UnusedParameters-off
|
||||
// BSLLS:DuplicateStringLiteral-off
|
||||
// BSLLS:UsingHardcodePath-off
|
||||
// BSLLS:UnusedLocalVariable-off
|
||||
// BSLLS:DeprecatedMessage-off
|
||||
// BSLLS:LineLength-off
|
||||
// BSLLS:MagicNumber-off
|
||||
// BSLLS:CommentedCode-off
|
||||
// BSLLS:AssignAliasFieldsInQuery-off
|
||||
// BSLLS:UsingHardcodeNetworkAddress-off
|
||||
// BSLLS:UnreachableCode-off
|
||||
// BSLLS:UnusedLocalMethod-off
|
||||
// BSLLS:NestedFunctionInParameters-off
|
||||
// BSLLS:MissingTemporaryFileDeletion-off
|
||||
// BSLLS:UsingSynchronousCalls-off
|
||||
// BSLLS:MagicNumber-off
|
||||
// BSLLS:MagicDate-off
|
||||
// BSLLS:MissingParameterDescription-off
|
||||
// BSLLS:NumberOfOptionalParams-off
|
||||
// BSLLS:MethodSize-off
|
||||
// BSLLS:NestedConstructorsInStructureDeclaration-off
|
||||
// BSLLS:NumberOfValuesInStructureConstructor-off
|
||||
// BSLLS:UsingHardcodeSecretInformation-off
|
||||
// BSLLS:SpaceAtStartComment-off
|
||||
|
||||
//@skip-check undefined-variable
|
||||
//@skip-check wrong-string-literal-content
|
||||
//@skip-check module-structure-top-region
|
||||
//@skip-check module-structure-method-in-regions
|
||||
//@skip-check undefined-function-or-procedure
|
||||
//@skip-check wrong-string-literal-content
|
||||
//@skip-check module-unused-local-variable
|
||||
//@skip-check bsl-legacy-check-string-literal
|
||||
//@skip-check bsl-legacy-check-method-for-statements-after-return
|
||||
//@skip-check missing-temporary-file-deletion
|
||||
//@skip-check module-unused-method
|
||||
|
||||
#Use "../../tools/main"
|
||||
#Use "../../tools/http"
|
||||
#Use "../../api"
|
||||
#Use asserts
|
||||
#Use "internal"
|
||||
|
||||
|
||||
// For YAxUnit
|
||||
|
||||
Procedure ИсполняемыеСценарии() Export
|
||||
|
||||
OPI_TestDataRetrieval.FormYAXTests("Ollama");
|
||||
|
||||
EndProcedure
|
||||
|
||||
// For Asserts
|
||||
|
||||
Function ПолучитьСписокТестов(UnitTesting) Export
|
||||
|
||||
Return OPI_TestDataRetrieval.FormAssertsTests("Ollama");
|
||||
|
||||
EndFunction
|
||||
|
||||
#Region Internal
|
||||
|
||||
#Region RunnableTests
|
||||
|
||||
#Region Ollama
|
||||
|
||||
Procedure OLLM_RequestsProcessing() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Ollama_URL" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Ollama_Token", TestParameters);
|
||||
|
||||
Ollama_PullModel(TestParameters);
|
||||
Ollama_GetVersion(TestParameters);
|
||||
Ollama_GetResponse(TestParameters);
|
||||
Ollama_GetContextResponse(TestParameters);
|
||||
Ollama_GetEmbeddings(TestParameters);
|
||||
Ollama_GetRequestParameterStructure(TestParameters);
|
||||
Ollama_GetContextParameterStructure(TestParameters);
|
||||
Ollama_GetContextMessageStructure(TestParameters);
|
||||
Ollama_GetEmbeddingsParameterStructure(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure OLLM_ModelsManagement() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Ollama_URL" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Ollama_Token", TestParameters);
|
||||
|
||||
Ollama_PullModel(TestParameters);
|
||||
Ollama_LoadModelToMemory(TestParameters);
|
||||
Ollama_UnloadModelFromMemory(TestParameters);
|
||||
Ollama_CreateModel(TestParameters);
|
||||
Ollama_GetModelInformation(TestParameters);
|
||||
Ollama_GetModelList(TestParameters);
|
||||
Ollama_ListRunningModels(TestParameters);
|
||||
Ollama_CopyModel(TestParameters);
|
||||
Ollama_PushModel(TestParameters);
|
||||
Ollama_GetModelSettingsStructure(TestParameters);
|
||||
Ollama_DeleteModel(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure OLLM_WorkingWithBlob() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Ollama_URL" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Ollama_Token", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Picture" , TestParameters);
|
||||
|
||||
Ollama_PushBlob(TestParameters);
|
||||
Ollama_CheckBlob(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // Ollama
|
||||
|
||||
#EndRegion // RunnableTests
|
||||
|
||||
#EndRegion // Internal
|
||||
|
||||
#Region Private
|
||||
|
||||
#Region AtomicTests
|
||||
|
||||
#Region Ollama
|
||||
|
||||
Procedure Ollama_GetResponse(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["Ollama_URL"];
|
||||
Token = FunctionParameters["Ollama_Token"]; // Authorization - not part API Ollama
|
||||
|
||||
Prompt = "What is 1C:Enterprise?";
|
||||
Model = "tinyllama";
|
||||
|
||||
AdditionalHeaders = New Map;
|
||||
AdditionalHeaders.Insert("Authorization", StrTemplate("Bearer %1", Token));
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("model", Model);
|
||||
Options.Insert("prompt", Prompt);
|
||||
Options.Insert("headers", AdditionalHeaders);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetResponse", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Ollama", "GetResponse"); // SKIP
|
||||
|
||||
// With paramether
|
||||
|
||||
Prompt = "Ollama is 22 years old and is busy saving the world. Respond using JSON";
|
||||
|
||||
Format = OPI_Tools.JSONToStructure("
|
||||
|{
|
||||
|""type"": ""object"",
|
||||
|""properties"": {
|
||||
| ""age"": {
|
||||
| ""type"": ""integer""
|
||||
| },
|
||||
| ""available"": {
|
||||
| ""type"": ""boolean""
|
||||
| }
|
||||
|},
|
||||
|""required"": [
|
||||
| ""age"",
|
||||
| ""available""
|
||||
|]
|
||||
|}");
|
||||
|
||||
AdditionalParameters = New Structure("format", Format);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("model", Model);
|
||||
Options.Insert("prompt", Prompt);
|
||||
Options.Insert("options", AdditionalParameters);
|
||||
Options.Insert("headers", AdditionalHeaders);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetResponse", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Ollama", "GetResponse", "Parameters");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ollama_GetContextResponse(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["Ollama_URL"];
|
||||
Token = FunctionParameters["Ollama_Token"]; // Authorization - not part API Ollama
|
||||
|
||||
AdditionalHeaders = New Map;
|
||||
AdditionalHeaders.Insert("Authorization", StrTemplate("Bearer %1", Token));
|
||||
|
||||
Model = "tinyllama";
|
||||
|
||||
MessagesArray = New Array;
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("role", "user");
|
||||
Options.Insert("text", "What is 1C:Enterprise?");
|
||||
|
||||
Question1 = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetContextMessageStructure", Options);
|
||||
Question2 = OPI_Ollama.GetContextMessageStructure("user", "When the first version was released?"); // Question without specifics
|
||||
|
||||
// Adding the first question to the context
|
||||
MessagesArray.Add(Question1);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("model", Model);
|
||||
Options.Insert("msgs", MessagesArray);
|
||||
Options.Insert("headers", AdditionalHeaders);
|
||||
|
||||
Response1 = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetContextResponse", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Response1, "Ollama", "GetContextResponse", "Preliminary"); // SKIP
|
||||
|
||||
MessagesArray.Add(Response1["message"]); // Add response to first question in context
|
||||
MessagesArray.Add(Question2); // Add second question in context
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("model", Model);
|
||||
Options.Insert("msgs", MessagesArray);
|
||||
Options.Insert("headers", AdditionalHeaders);
|
||||
|
||||
Response2 = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetContextResponse", Options);
|
||||
|
||||
MessagesArray.Add(Response2["message"]);
|
||||
|
||||
// ...
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Response2, "Ollama", "GetContextResponse");
|
||||
|
||||
MessagesArray = New Array;
|
||||
|
||||
Question = New Structure("role,content", "user", "Hello!");
|
||||
MessagesArray.Add(Question);
|
||||
|
||||
Options = New Structure("seed,temperature", 101, 0);
|
||||
AdditionalParameters = New Structure("options", Options);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("model", Model);
|
||||
Options.Insert("msgs", MessagesArray);
|
||||
Options.Insert("options", AdditionalParameters);
|
||||
Options.Insert("headers", AdditionalHeaders);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetContextResponse", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Ollama", "GetContextResponse", "Seed 1");
|
||||
|
||||
Message1 = Result["message"]["content"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("model", Model);
|
||||
Options.Insert("msgs", MessagesArray);
|
||||
Options.Insert("options", AdditionalParameters);
|
||||
Options.Insert("headers", AdditionalHeaders);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetContextResponse", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Ollama", "GetContextResponse", "Seed 2");
|
||||
|
||||
Message2 = Result["message"]["content"];
|
||||
|
||||
Options = New Structure("seed,temperature", 555, 10);
|
||||
AdditionalParameters = New Structure("options", Options);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("model", Model);
|
||||
Options.Insert("msgs", MessagesArray);
|
||||
Options.Insert("options", AdditionalParameters);
|
||||
Options.Insert("headers", AdditionalHeaders);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetContextResponse", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Ollama", "GetContextResponse", "Seed 3");
|
||||
|
||||
Message3 = Result["message"]["content"];
|
||||
|
||||
OPI_TestDataRetrieval.Process(Message3, "Ollama", "GetContextResponse", "Comparison", Message1, Message2, Message3);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ollama_LoadModelToMemory(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["Ollama_URL"];
|
||||
Token = FunctionParameters["Ollama_Token"]; // Authorization - not part API Ollama
|
||||
|
||||
Model = "tinyllama";
|
||||
Period = 500;
|
||||
|
||||
AdditionalHeaders = New Map;
|
||||
AdditionalHeaders.Insert("Authorization", StrTemplate("Bearer %1", Token));
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("model", Model);
|
||||
Options.Insert("keep", Period);
|
||||
Options.Insert("headers", AdditionalHeaders);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "LoadModelToMemory", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Ollama", "LoadModelToMemory");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ollama_UnloadModelFromMemory(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["Ollama_URL"];
|
||||
Token = FunctionParameters["Ollama_Token"]; // Authorization - not part API Ollama
|
||||
|
||||
Model = "tinyllama";
|
||||
|
||||
AdditionalHeaders = New Map;
|
||||
AdditionalHeaders.Insert("Authorization", StrTemplate("Bearer %1", Token));
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("model", Model);
|
||||
Options.Insert("headers", AdditionalHeaders);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "UnloadModelFromMemory", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Ollama", "UnloadModelFromMemory");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ollama_GetRequestParameterStructure(FunctionParameters)
|
||||
|
||||
Options = New Structure;
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetRequestParameterStructure", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Ollama", "GetRequestParameterStructure");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("empty", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetRequestParameterStructure", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Ollama", "GetRequestParameterStructure", "Clear");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ollama_GetContextParameterStructure(FunctionParameters)
|
||||
|
||||
Options = New Structure;
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetContextParameterStructure", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Ollama", "GetContextParameterStructure");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("empty", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetContextParameterStructure", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Ollama", "GetContextParameterStructure", "Clear");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ollama_GetContextMessageStructure(FunctionParameters)
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("role", "user");
|
||||
Options.Insert("text", "Hello!");
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetContextMessageStructure", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Ollama", "GetContextMessageStructure");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ollama_GetModelSettingsStructure(FunctionParameters)
|
||||
|
||||
Options = New Structure;
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetModelSettingsStructure", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Ollama", "GetModelSettingsStructure");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("empty", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetModelSettingsStructure", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Ollama", "GetModelSettingsStructure", "Clear");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ollama_CreateModel(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["Ollama_URL"];
|
||||
Token = FunctionParameters["Ollama_Token"]; // Authorization - not part API Ollama
|
||||
|
||||
Model = "mario";
|
||||
|
||||
AdditionalHeaders = New Map;
|
||||
AdditionalHeaders.Insert("Authorization", StrTemplate("Bearer %1", Token));
|
||||
|
||||
Settings = New Structure("from,system", "tinyllama", "You are Mario from Super Mario Bros.");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("model", Model);
|
||||
Options.Insert("settings", Settings);
|
||||
Options.Insert("headers", AdditionalHeaders);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "CreateModel", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Ollama", "CreateModel");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("model", Model);
|
||||
Options.Insert("prompt", "How are you?");
|
||||
Options.Insert("headers", AdditionalHeaders);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetResponse", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Ollama", "CreateModel", "Request");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ollama_DeleteModel(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["Ollama_URL"];
|
||||
Token = FunctionParameters["Ollama_Token"]; // Authorization - not part API Ollama
|
||||
|
||||
Model = "mario";
|
||||
|
||||
AdditionalHeaders = New Map;
|
||||
AdditionalHeaders.Insert("Authorization", StrTemplate("Bearer %1", Token));
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("model", Model);
|
||||
Options.Insert("headers", AdditionalHeaders);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "DeleteModel", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Ollama", "DeleteModel");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("model", "library/tinyllama:latest");
|
||||
Options.Insert("headers", AdditionalHeaders);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "DeleteModel", Options);
|
||||
OPI_TestDataRetrieval.Process(Result, "Ollama", "DeleteModel", "Tiny");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("model", "bayselonarrend/tinyllama:latest");
|
||||
Options.Insert("headers", AdditionalHeaders);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "DeleteModel", Options);
|
||||
OPI_TestDataRetrieval.Process(Result, "Ollama", "DeleteModel", "Tiny, account");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("headers", AdditionalHeaders);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetModelList", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Ollama", "DeleteModel", "List");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ollama_GetModelList(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["Ollama_URL"];
|
||||
Token = FunctionParameters["Ollama_Token"]; // Authorization - not part API Ollama
|
||||
|
||||
AdditionalHeaders = New Map;
|
||||
AdditionalHeaders.Insert("Authorization", StrTemplate("Bearer %1", Token));
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("headers", AdditionalHeaders);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetModelList", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Ollama", "GetModelList");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ollama_ListRunningModels(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["Ollama_URL"];
|
||||
Token = FunctionParameters["Ollama_Token"]; // Authorization - not part API Ollama
|
||||
|
||||
AdditionalHeaders = New Map;
|
||||
AdditionalHeaders.Insert("Authorization", StrTemplate("Bearer %1", Token));
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("headers", AdditionalHeaders);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "ListRunningModels", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Ollama", "ListRunningModels");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ollama_GetModelInformation(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["Ollama_URL"];
|
||||
Token = FunctionParameters["Ollama_Token"]; // Authorization - not part API Ollama
|
||||
|
||||
Model = "mario";
|
||||
|
||||
AdditionalHeaders = New Map;
|
||||
AdditionalHeaders.Insert("Authorization", StrTemplate("Bearer %1", Token));
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("model", Model);
|
||||
Options.Insert("verbose", Ложь);
|
||||
Options.Insert("headers", AdditionalHeaders);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetModelInformation", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Ollama", "GetModelInformation");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ollama_CopyModel(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["Ollama_URL"];
|
||||
Token = FunctionParameters["Ollama_Token"]; // Authorization - not part API Ollama
|
||||
|
||||
Model = "mario";
|
||||
Name = "mario2";
|
||||
|
||||
AdditionalHeaders = New Map;
|
||||
AdditionalHeaders.Insert("Authorization", StrTemplate("Bearer %1", Token));
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("model", Model);
|
||||
Options.Insert("name", Name);
|
||||
Options.Insert("headers", AdditionalHeaders);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "CopyModel", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Ollama", "CopyModel");
|
||||
|
||||
OPI_Ollama.DeleteModel(URL, Name, AdditionalHeaders);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ollama_GetVersion(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["Ollama_URL"];
|
||||
Token = FunctionParameters["Ollama_Token"]; // Authorization - not part API Ollama
|
||||
|
||||
AdditionalHeaders = New Map;
|
||||
AdditionalHeaders.Insert("Authorization", StrTemplate("Bearer %1", Token));
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("headers", AdditionalHeaders);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetVersion", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Ollama", "GetVersion");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ollama_GetEmbeddings(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["Ollama_URL"];
|
||||
Token = FunctionParameters["Ollama_Token"]; // Authorization - not part API Ollama
|
||||
|
||||
StingsArray = New Array;
|
||||
StingsArray.Add("Why is the sky blue?");
|
||||
StingsArray.Add("Why is the grass green?");
|
||||
|
||||
Model = "tinyllama";
|
||||
|
||||
AdditionalHeaders = New Map;
|
||||
AdditionalHeaders.Insert("Authorization", StrTemplate("Bearer %1", Token));
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("model", Model);
|
||||
Options.Insert("input", StingsArray);
|
||||
Options.Insert("headers", AdditionalHeaders);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetEmbeddings", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Ollama", "GetEmbeddings");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ollama_GetEmbeddingsParameterStructure(FunctionParameters)
|
||||
|
||||
Options = New Structure;
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetEmbeddingsParameterStructure", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Ollama", "GetEmbeddingsParameterStructure");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("empty", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "GetEmbeddingsParameterStructure", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Ollama", "GetEmbeddingsParameterStructure", "Clear");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ollama_PushModel(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["Ollama_URL"];
|
||||
Token = FunctionParameters["Ollama_Token"]; // Authorization - not part API Ollama
|
||||
|
||||
Model = "bayselonarrend/tinyllama:latest";
|
||||
|
||||
AdditionalHeaders = New Map;
|
||||
AdditionalHeaders.Insert("Authorization", StrTemplate("Bearer %1", Token));
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("model", Model);
|
||||
Options.Insert("headers", AdditionalHeaders);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "PushModel", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Ollama", "PushModel");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ollama_PullModel(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["Ollama_URL"];
|
||||
Token = FunctionParameters["Ollama_Token"]; // Authorization - not part API Ollama
|
||||
|
||||
Model = "tinyllama";
|
||||
|
||||
AdditionalHeaders = New Map;
|
||||
AdditionalHeaders.Insert("Authorization", StrTemplate("Bearer %1", Token));
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("model", Model);
|
||||
Options.Insert("headers", AdditionalHeaders);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "PullModel", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Ollama", "PullModel");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("model", "bayselonarrend/tinyllama:latest");
|
||||
Options.Insert("headers", AdditionalHeaders);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "PullModel", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Ollama", "PullModel", "Account");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ollama_PushBlob(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["Ollama_URL"];
|
||||
Token = FunctionParameters["Ollama_Token"]; // Authorization - not part API Ollama
|
||||
|
||||
Image = FunctionParameters["Picture"]; // URL, Path or Binary Data
|
||||
|
||||
OPI_TypeConversion.GetBinaryData(Image, True); // SKIP
|
||||
Random = GetBinaryDataFromString(String(New UUID)); // SKIP
|
||||
Image = OPI_Tools.MergeData(Image, Random); // SKIP
|
||||
|
||||
AdditionalHeaders = New Map;
|
||||
AdditionalHeaders.Insert("Authorization", StrTemplate("Bearer %1", Token));
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("data", Image);
|
||||
Options.Insert("headers", AdditionalHeaders);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "PushBlob", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Ollama", "PushBlob", , FunctionParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ollama_CheckBlob(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["Ollama_URL"];
|
||||
Token = FunctionParameters["Ollama_Token"]; // Authorization - not part API Ollama
|
||||
SHA256 = FunctionParameters["Ollama_Blob"];
|
||||
|
||||
AdditionalHeaders = New Map;
|
||||
AdditionalHeaders.Insert("Authorization", StrTemplate("Bearer %1", Token));
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("digest", SHA256);
|
||||
Options.Insert("headers", AdditionalHeaders);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "CheckBlob", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Ollama", "CheckBlob");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("digest", "yoyoyo");
|
||||
Options.Insert("headers", AdditionalHeaders);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ollama", "CheckBlob", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Ollama", "CheckBlob", "Error");
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // Ollama
|
||||
|
||||
#EndRegion // AtomicTests
|
||||
|
||||
#EndRegion // Private
|
||||
|
||||
#Region Alternate
|
||||
|
||||
Procedure OLLM_ОбработкаЗапросов() Export
|
||||
OLLM_RequestsProcessing();
|
||||
EndProcedure
|
||||
|
||||
Procedure OLLM_РаботаСМоделями() Export
|
||||
OLLM_ModelsManagement();
|
||||
EndProcedure
|
||||
|
||||
Procedure OLLM_РаботаСBlob() Export
|
||||
OLLM_WorkingWithBlob();
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
+682
@@ -0,0 +1,682 @@
|
||||
// OneScript: ./OInt/tests/Modules/OPItc_OpenAI.os
|
||||
|
||||
// MIT License
|
||||
|
||||
// Copyright (c) 2023-2026 Anton Tsitavets
|
||||
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
|
||||
// The above copyright notice and +this permission notice shall be included in all
|
||||
// copies or substantial portions of the Software.
|
||||
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// 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
|
||||
// SOFTWARE.
|
||||
|
||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||
|
||||
// Test suite for YAxUnit
|
||||
|
||||
// BSLLS:Typo-off
|
||||
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
||||
// BSLLS:IncorrectLineBreak-off
|
||||
// BSLLS:UsingServiceTag-off
|
||||
// BSLLS:UnusedParameters-off
|
||||
// BSLLS:DuplicateStringLiteral-off
|
||||
// BSLLS:UsingHardcodePath-off
|
||||
// BSLLS:UnusedLocalVariable-off
|
||||
// BSLLS:DeprecatedMessage-off
|
||||
// BSLLS:LineLength-off
|
||||
// BSLLS:MagicNumber-off
|
||||
// BSLLS:CommentedCode-off
|
||||
// BSLLS:AssignAliasFieldsInQuery-off
|
||||
// BSLLS:UsingHardcodeNetworkAddress-off
|
||||
// BSLLS:UnreachableCode-off
|
||||
// BSLLS:UnusedLocalMethod-off
|
||||
// BSLLS:NestedFunctionInParameters-off
|
||||
// BSLLS:MissingTemporaryFileDeletion-off
|
||||
// BSLLS:UsingSynchronousCalls-off
|
||||
// BSLLS:MagicNumber-off
|
||||
// BSLLS:MagicDate-off
|
||||
// BSLLS:MissingParameterDescription-off
|
||||
// BSLLS:NumberOfOptionalParams-off
|
||||
// BSLLS:MethodSize-off
|
||||
// BSLLS:NestedConstructorsInStructureDeclaration-off
|
||||
// BSLLS:NumberOfValuesInStructureConstructor-off
|
||||
// BSLLS:UsingHardcodeSecretInformation-off
|
||||
// BSLLS:SpaceAtStartComment-off
|
||||
|
||||
//@skip-check undefined-variable
|
||||
//@skip-check wrong-string-literal-content
|
||||
//@skip-check module-structure-top-region
|
||||
//@skip-check module-structure-method-in-regions
|
||||
//@skip-check undefined-function-or-procedure
|
||||
//@skip-check wrong-string-literal-content
|
||||
//@skip-check module-unused-local-variable
|
||||
//@skip-check bsl-legacy-check-string-literal
|
||||
//@skip-check bsl-legacy-check-method-for-statements-after-return
|
||||
//@skip-check missing-temporary-file-deletion
|
||||
//@skip-check module-unused-method
|
||||
|
||||
#Use "../../tools/main"
|
||||
#Use "../../tools/http"
|
||||
#Use "../../api"
|
||||
#Use asserts
|
||||
#Use "internal"
|
||||
|
||||
|
||||
// For YAxUnit
|
||||
|
||||
Procedure ИсполняемыеСценарии() Export
|
||||
|
||||
OPI_TestDataRetrieval.FormYAXTests("OpenAI");
|
||||
|
||||
EndProcedure
|
||||
|
||||
// For Asserts
|
||||
|
||||
Function ПолучитьСписокТестов(UnitTesting) Export
|
||||
|
||||
Return OPI_TestDataRetrieval.FormAssertsTests("OpenAI");
|
||||
|
||||
EndFunction
|
||||
|
||||
#Region Internal
|
||||
|
||||
#Region RunnableTests
|
||||
|
||||
#Region OpenAI
|
||||
|
||||
Procedure OAI_RequestsProcessing() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("OpenAI_Token" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("OpenAI_URL" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("OpenAI_Token2" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("OpenAI_URL2" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("OpenAI_File" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Picture" , TestParameters);
|
||||
|
||||
OpenAI_GetResponse(TestParameters);
|
||||
OpenAI_GetEmbeddings(TestParameters);
|
||||
OpenAI_GetMessageStructure(TestParameters);
|
||||
OpenAI_GetImageMessageStructure(TestParameters);
|
||||
OpenAI_GetImages(TestParameters);
|
||||
OpenAI_GetAssistantMessage(TestParameters);
|
||||
OpenAI_GetUserMessage(TestParameters);
|
||||
OpenAI_GetSystemMessage(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure OAI_Assistants() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("OpenAI_Token" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("OpenAI_URL" , TestParameters);
|
||||
|
||||
OpenAI_CreateAssistant(TestParameters);
|
||||
OpenAI_RetrieveAssistant(TestParameters);
|
||||
OpenAI_GetAssistantsList(TestParameters);
|
||||
OpenAI_DeleteAssistant(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure OAI_FileManagement() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("OpenAI_Token" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("OpenAI_URL" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Picture" , TestParameters);
|
||||
|
||||
OpenAI_UploadFile(TestParameters);
|
||||
OpenAI_GetFileInformation(TestParameters);
|
||||
OpenAI_GetFilesList(TestParameters);
|
||||
OpenAI_DownloadFile(TestParameters);
|
||||
OpenAI_DeleteFile(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure OAI_AudioProcessing() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("OpenAI_Token" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("OpenAI_URL" , TestParameters);
|
||||
|
||||
OpenAI_GenerateSpeech(TestParameters);
|
||||
OpenAI_CreateTranscription(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure OAI_ModelsManagement() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("OpenAI_Token" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("OpenAI_URL" , TestParameters);
|
||||
|
||||
OpenAI_GetModelList(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // OpenAI
|
||||
|
||||
#EndRegion // RunnableTests
|
||||
|
||||
#EndRegion // Internal
|
||||
|
||||
#Region Private
|
||||
|
||||
#Region AtomicTests
|
||||
|
||||
#Region OpenAI
|
||||
|
||||
Procedure OpenAI_GetResponse(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["OpenAI_URL"];
|
||||
Token = FunctionParameters["OpenAI_Token"];
|
||||
|
||||
// Text messages
|
||||
|
||||
Messages = New Array;
|
||||
Messages.Add(OPI_OpenAI.GetMessageStructure("user" , "What is 1C:Enterprise?"));
|
||||
Messages.Add(OPI_OpenAI.GetMessageStructure("assistant", "1C:Enterprise is a full-stack, low-code platform"));
|
||||
Messages.Add(OPI_OpenAI.GetMessageStructure("user" , "When the first version was released?"));
|
||||
|
||||
Model = "smolvlm-256m-instruct";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("model", Model);
|
||||
Options.Insert("msgs", Messages);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("openai", "GetResponse", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "OpenAI", "GetResponse"); // SKIP
|
||||
|
||||
// Pictures
|
||||
|
||||
Model = "moondream2-20250414";
|
||||
File = FunctionParameters["Picture"]; // URL, Path or Binary Data
|
||||
FileName = StrTemplate("%1.png", String(New UUID()));
|
||||
Destination = "user_data";
|
||||
|
||||
Messages = New Array;
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("name", FileName);
|
||||
Options.Insert("data", File);
|
||||
Options.Insert("purpose", Destination);
|
||||
|
||||
ImageUpload = OPI_TestDataRetrieval.ExecuteTestCLI("openai", "UploadFile", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(ImageUpload, "OpenAI", "GetResponse", "Image upload"); // SKIP
|
||||
|
||||
ImageID = ImageUpload["id"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("role", "user");
|
||||
Options.Insert("file", ImageID);
|
||||
Options.Insert("prompt", "What is in this image?");
|
||||
|
||||
Description = OPI_TestDataRetrieval.ExecuteTestCLI("openai", "GetImageMessageStructure", Options);
|
||||
|
||||
Messages.Add(Description);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("model", Model);
|
||||
Options.Insert("msgs", Messages);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("openai", "GetResponse", Options);
|
||||
|
||||
OPI_OpenAI.DeleteFile(URL, Token, ImageID);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "OpenAI", "GetResponse", "Image");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure OpenAI_GetEmbeddings(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["OpenAI_URL"];
|
||||
Token = FunctionParameters["OpenAI_Token"];
|
||||
|
||||
Text = "What is 1C:Enterprise?";
|
||||
Model = "arcee-ai_afm-4.5b";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("model", Model);
|
||||
Options.Insert("input", Text);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("openai", "GetEmbeddings", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "OpenAI", "GetEmbeddings");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure OpenAI_CreateAssistant(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["OpenAI_URL"];
|
||||
Token = FunctionParameters["OpenAI_Token"];
|
||||
|
||||
Instruction = "You are a personal math tutor. When asked a question, write and run Python code to answer the question.";
|
||||
Model = "smolvlm-256m-instruct";
|
||||
Name = "Math tutor";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("model", Model);
|
||||
Options.Insert("name", Name);
|
||||
Options.Insert("inst", Instruction);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("openai", "CreateAssistant", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "OpenAI", "CreateAssistant", , FunctionParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure OpenAI_DeleteAssistant(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["OpenAI_URL"];
|
||||
Token = FunctionParameters["OpenAI_Token"];
|
||||
|
||||
AssistantID = FunctionParameters["OpenAI_Assistant"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("id", AssistantID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("openai", "DeleteAssistant", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "OpenAI", "DeleteAssistant", , AssistantID);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure OpenAI_RetrieveAssistant(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["OpenAI_URL"];
|
||||
Token = FunctionParameters["OpenAI_Token"];
|
||||
|
||||
AssistantID = FunctionParameters["OpenAI_Assistant"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("id", AssistantID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("openai", "RetrieveAssistant", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "OpenAI", "RetrieveAssistant");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure OpenAI_GetAssistantsList(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["OpenAI_URL"];
|
||||
Token = FunctionParameters["OpenAI_Token"];
|
||||
|
||||
Count = 2;
|
||||
AdditionalParameters = New Structure("after,order", "asst_2", "desc");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("limit", Count);
|
||||
Options.Insert("options", AdditionalParameters);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("openai", "GetAssistantsList", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "OpenAI", "GetAssistantsList");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure OpenAI_UploadFile(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["OpenAI_URL"];
|
||||
Token = FunctionParameters["OpenAI_Token"];
|
||||
|
||||
File = FunctionParameters["Picture"]; // URL, Path or Binary Data
|
||||
|
||||
FileName = StrTemplate("%1.png", String(New UUID()));
|
||||
Destination = "assistants";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("name", FileName);
|
||||
Options.Insert("data", File);
|
||||
Options.Insert("purpose", Destination);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("openai", "UploadFile", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TypeConversion.GetBinaryData(File);
|
||||
OPI_TestDataRetrieval.Process(Result, "OpenAI", "UploadFile", , FunctionParameters, FileName, File.Size() + 2);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure OpenAI_DeleteFile(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["OpenAI_URL"];
|
||||
Token = FunctionParameters["OpenAI_Token"];
|
||||
|
||||
FileID = FunctionParameters["OpenAI_File"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("id", FileID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("openai", "DeleteFile", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "OpenAI", "DeleteFile", , FileID);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure OpenAI_GetFileInformation(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["OpenAI_URL"];
|
||||
Token = FunctionParameters["OpenAI_Token"];
|
||||
|
||||
FileID = FunctionParameters["OpenAI_File"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("id", FileID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("openai", "GetFileInformation", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "OpenAI", "GetFileInformation");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure OpenAI_GetFilesList(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["OpenAI_URL"];
|
||||
Token = FunctionParameters["OpenAI_Token"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("token", Token);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("openai", "GetFilesList", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "OpenAI", "GetFilesList");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure OpenAI_DownloadFile(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["OpenAI_URL"];
|
||||
Token = FunctionParameters["OpenAI_Token"];
|
||||
|
||||
FileID = FunctionParameters["OpenAI_File"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("id", FileID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("openai", "DownloadFile", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "OpenAI", "DownloadFile", , FunctionParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure OpenAI_GetMessageStructure(FunctionParameters)
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("role", "user");
|
||||
Options.Insert("text", "What is 1C:Enterprise?");
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("openai", "GetMessageStructure", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "OpenAI", "GetMessageStructure");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure OpenAI_GetImageMessageStructure(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["OpenAI_URL"];
|
||||
Token = FunctionParameters["OpenAI_Token"];
|
||||
Image = FunctionParameters["OpenAI_File"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("role", "user");
|
||||
Options.Insert("file", Image);
|
||||
Options.Insert("prompt", "What is in this image?");
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("openai", "GetImageMessageStructure", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "OpenAI", "GetImageMessageStructure");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure OpenAI_GenerateSpeech(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["OpenAI_URL"];
|
||||
Token = FunctionParameters["OpenAI_Token"];
|
||||
|
||||
Text = "Attack ships on fire off the shoulder of Orion bright as magnesium";
|
||||
Model = "bark-cpp-small";
|
||||
|
||||
AdditionalParameters = New Structure("response_format", "wav");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("model", Model);
|
||||
Options.Insert("input", Text);
|
||||
Options.Insert("options", AdditionalParameters);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("openai", "GenerateSpeech", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "OpenAI", "GenerateSpeech", , FunctionParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure OpenAI_CreateTranscription(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["OpenAI_URL"];
|
||||
Token = FunctionParameters["OpenAI_Token"];
|
||||
|
||||
Audio = FunctionParameters["OpenAI_Speech"];
|
||||
Model = "whisper-1";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("model", Model);
|
||||
Options.Insert("audio", Audio);
|
||||
Options.Insert("type", "audio/wav");
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("openai", "CreateTranscription", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_Tools.RemoveFileWithTry(Audio, "Failed to delete the temporary file after the test!!");
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "OpenAI", "CreateTranscription");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure OpenAI_GetImages(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["OpenAI_URL"];
|
||||
Token = FunctionParameters["OpenAI_Token"];
|
||||
|
||||
Model = "sd-1.5-ggml";
|
||||
Options = New Structure;
|
||||
Options.Insert("prompt", "Yellow alpaca");
|
||||
Options.Insert("amount", 1);
|
||||
Options.Insert("size", "64x64");
|
||||
|
||||
Description = OPI_TestDataRetrieval.ExecuteTestCLI("openai", "GetImageDescriptionStructure", Options);
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("model", Model);
|
||||
Options.Insert("descr", Description);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("openai", "GetImages", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "OpenAI", "GetImages");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure OpenAI_GetModelList(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["OpenAI_URL"];
|
||||
Token = FunctionParameters["OpenAI_Token"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("token", Token);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("openai", "GetModelList", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "OpenAI", "GetModelList");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure OpenAI_GetAssistantMessage(FunctionParameters)
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("text", "What is 1C:Enterprise?");
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("openai", "GetAssistantMessage", Options);
|
||||
|
||||
// END
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("role", "assistant");
|
||||
Options.Insert("text", "What is 1C:Enterprise?");
|
||||
|
||||
Check = OPI_TestDataRetrieval.ExecuteTestCLI("openai", "GetMessageStructure", Options);
|
||||
Check = OPI_Tools.JSONString(Check);
|
||||
Result = OPI_Tools.JSONString(Result);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "OpenAI", "GetAssistantMessage", , Check);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure OpenAI_GetUserMessage(FunctionParameters)
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("text", "What is 1C:Enterprise?");
|
||||
Options.Insert("name", "Vitaly");
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("openai", "GetUserMessage", Options);
|
||||
|
||||
// END
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("role", "user");
|
||||
Options.Insert("text", "What is 1C:Enterprise?");
|
||||
Options.Insert("name", "Vitaly");
|
||||
|
||||
Check = OPI_TestDataRetrieval.ExecuteTestCLI("openai", "GetMessageStructure", Options);
|
||||
Check = OPI_Tools.JSONString(Check);
|
||||
Result = OPI_Tools.JSONString(Result);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "OpenAI", "GetUserMessage", , Check);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure OpenAI_GetSystemMessage(FunctionParameters)
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("text", "What is 1C:Enterprise?");
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("openai", "GetSystemMessage", Options);
|
||||
|
||||
// END
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("role", "system");
|
||||
Options.Insert("text", "What is 1C:Enterprise?");
|
||||
|
||||
Check = OPI_TestDataRetrieval.ExecuteTestCLI("openai", "GetMessageStructure", Options);
|
||||
Check = OPI_Tools.JSONString(Check);
|
||||
Result = OPI_Tools.JSONString(Result);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "OpenAI", "GetSystemMessage", , Check);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // OpenAI
|
||||
|
||||
#EndRegion // AtomicTests
|
||||
|
||||
#EndRegion // Private
|
||||
|
||||
#Region Alternate
|
||||
|
||||
Procedure OAI_ОбработкаЗапросов() Export
|
||||
OAI_RequestsProcessing();
|
||||
EndProcedure
|
||||
|
||||
Procedure OAI_Ассистенты() Export
|
||||
OAI_Assistants();
|
||||
EndProcedure
|
||||
|
||||
Procedure OAI_РаботаСФайлами() Export
|
||||
OAI_FileManagement();
|
||||
EndProcedure
|
||||
|
||||
Procedure OAI_РаботаСАудио() Export
|
||||
OAI_AudioProcessing();
|
||||
EndProcedure
|
||||
|
||||
Procedure OAI_РаботаСМоделями() Export
|
||||
OAI_ModelsManagement();
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
+1672
File diff suppressed because it is too large
Load Diff
+240
@@ -0,0 +1,240 @@
|
||||
// OneScript: ./OInt/tests/Modules/OPItc_RCON.os
|
||||
|
||||
// MIT License
|
||||
|
||||
// Copyright (c) 2023-2026 Anton Tsitavets
|
||||
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
|
||||
// The above copyright notice and +this permission notice shall be included in all
|
||||
// copies or substantial portions of the Software.
|
||||
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// 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
|
||||
// SOFTWARE.
|
||||
|
||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||
|
||||
// Test suite for YAxUnit
|
||||
|
||||
// BSLLS:Typo-off
|
||||
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
||||
// BSLLS:IncorrectLineBreak-off
|
||||
// BSLLS:UsingServiceTag-off
|
||||
// BSLLS:UnusedParameters-off
|
||||
// BSLLS:DuplicateStringLiteral-off
|
||||
// BSLLS:UsingHardcodePath-off
|
||||
// BSLLS:UnusedLocalVariable-off
|
||||
// BSLLS:DeprecatedMessage-off
|
||||
// BSLLS:LineLength-off
|
||||
// BSLLS:MagicNumber-off
|
||||
// BSLLS:CommentedCode-off
|
||||
// BSLLS:AssignAliasFieldsInQuery-off
|
||||
// BSLLS:UsingHardcodeNetworkAddress-off
|
||||
// BSLLS:UnreachableCode-off
|
||||
// BSLLS:UnusedLocalMethod-off
|
||||
// BSLLS:NestedFunctionInParameters-off
|
||||
// BSLLS:MissingTemporaryFileDeletion-off
|
||||
// BSLLS:UsingSynchronousCalls-off
|
||||
// BSLLS:MagicNumber-off
|
||||
// BSLLS:MagicDate-off
|
||||
// BSLLS:MissingParameterDescription-off
|
||||
// BSLLS:NumberOfOptionalParams-off
|
||||
// BSLLS:MethodSize-off
|
||||
// BSLLS:NestedConstructorsInStructureDeclaration-off
|
||||
// BSLLS:NumberOfValuesInStructureConstructor-off
|
||||
// BSLLS:UsingHardcodeSecretInformation-off
|
||||
// BSLLS:SpaceAtStartComment-off
|
||||
|
||||
//@skip-check undefined-variable
|
||||
//@skip-check wrong-string-literal-content
|
||||
//@skip-check module-structure-top-region
|
||||
//@skip-check module-structure-method-in-regions
|
||||
//@skip-check undefined-function-or-procedure
|
||||
//@skip-check wrong-string-literal-content
|
||||
//@skip-check module-unused-local-variable
|
||||
//@skip-check bsl-legacy-check-string-literal
|
||||
//@skip-check bsl-legacy-check-method-for-statements-after-return
|
||||
//@skip-check missing-temporary-file-deletion
|
||||
//@skip-check module-unused-method
|
||||
|
||||
#Use "../../tools/main"
|
||||
#Use "../../tools/http"
|
||||
#Use "../../api"
|
||||
#Use asserts
|
||||
#Use "internal"
|
||||
|
||||
|
||||
// For YAxUnit
|
||||
|
||||
Procedure ИсполняемыеСценарии() Export
|
||||
|
||||
OPI_TestDataRetrieval.FormYAXTests("RCON");
|
||||
|
||||
EndProcedure
|
||||
|
||||
// For Asserts
|
||||
|
||||
Function ПолучитьСписокТестов(UnitTesting) Export
|
||||
|
||||
Return OPI_TestDataRetrieval.FormAssertsTests("RCON");
|
||||
|
||||
EndFunction
|
||||
|
||||
#Region Internal
|
||||
|
||||
#Region RunnableTests
|
||||
|
||||
#Region RCON
|
||||
|
||||
Procedure RC_CommandsExecution() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("RCON_URL" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("RCON_Password", TestParameters);
|
||||
|
||||
RCON_FormConnectionParameters(TestParameters);
|
||||
RCON_CreateConnection(TestParameters);
|
||||
RCON_ExecuteCommand(TestParameters);
|
||||
RCON_IsConnector(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // RCON
|
||||
|
||||
#EndRegion // RunnableTests
|
||||
|
||||
#EndRegion // Internal
|
||||
|
||||
#Region Private
|
||||
|
||||
#Region AtomicTests
|
||||
|
||||
#Region RCON
|
||||
|
||||
Procedure RCON_FormConnectionParameters(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["RCON_URL"];
|
||||
Password = FunctionParameters["RCON_Password"];
|
||||
WriteTimeout = 20;
|
||||
ReadTimeout = 20;
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("pass", Password);
|
||||
Options.Insert("rtout", ReadTimeout);
|
||||
Options.Insert("wtout", WriteTimeout);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("rcon", "FormConnectionParameters", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "RCON", "FormConnectionParameters");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure RCON_CreateConnection(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["RCON_URL"];
|
||||
Password = FunctionParameters["RCON_Password"];
|
||||
WriteTimeout = 20;
|
||||
ReadTimeout = 20;
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("pass", Password);
|
||||
Options.Insert("rtout", ReadTimeout);
|
||||
Options.Insert("wtout", WriteTimeout);
|
||||
|
||||
ConnectionParams = OPI_TestDataRetrieval.ExecuteTestCLI("rcon", "FormConnectionParameters", Options);
|
||||
Result = OPI_RCON.CreateConnection(ConnectionParams);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "RCON", "CreateConnection");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure RCON_ExecuteCommand(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["RCON_URL"];
|
||||
Password = FunctionParameters["RCON_Password"];
|
||||
WriteTimeout = 20;
|
||||
ReadTimeout = 20;
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("pass", Password);
|
||||
Options.Insert("rtout", ReadTimeout);
|
||||
Options.Insert("wtout", WriteTimeout);
|
||||
|
||||
ConnectionParams = OPI_TestDataRetrieval.ExecuteTestCLI("rcon", "FormConnectionParameters", Options);
|
||||
Connection = OPI_RCON.CreateConnection(ConnectionParams);
|
||||
|
||||
Command = "list";
|
||||
Options = New Structure;
|
||||
Options.Insert("exec", Command);
|
||||
Options.Insert("conn", Connection);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("rcon", "ExecuteCommand", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "RCON", "ExecuteCommand");
|
||||
|
||||
Command = "list";
|
||||
Options = New Structure;
|
||||
Options.Insert("exec", Command);
|
||||
Options.Insert("conn", ConnectionParams);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("rcon", "ExecuteCommand", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "RCON", "ExecuteCommand", "No connection");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure RCON_IsConnector(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["RCON_URL"];
|
||||
Password = FunctionParameters["RCON_Password"];
|
||||
WriteTimeout = 20;
|
||||
ReadTimeout = 20;
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("pass", Password);
|
||||
Options.Insert("rtout", ReadTimeout);
|
||||
Options.Insert("wtout", WriteTimeout);
|
||||
|
||||
ConnectionParams = OPI_TestDataRetrieval.ExecuteTestCLI("rcon", "FormConnectionParameters", Options);
|
||||
Connection = OPI_RCON.CreateConnection(ConnectionParams);
|
||||
Result = OPI_RCON.IsConnector(Connection);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "RCON", "IsConnector");
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // RCON
|
||||
|
||||
#EndRegion // AtomicTests
|
||||
|
||||
#EndRegion // Private
|
||||
|
||||
#Region Alternate
|
||||
|
||||
Procedure RC_ВыполнениеКоманд() Export
|
||||
RC_CommandsExecution();
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
+335
@@ -0,0 +1,335 @@
|
||||
// OneScript: ./OInt/tests/Modules/OPItc_RSS.os
|
||||
|
||||
// MIT License
|
||||
|
||||
// Copyright (c) 2023-2026 Anton Tsitavets
|
||||
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
|
||||
// The above copyright notice and +this permission notice shall be included in all
|
||||
// copies or substantial portions of the Software.
|
||||
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// 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
|
||||
// SOFTWARE.
|
||||
|
||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||
|
||||
// Test suite for YAxUnit
|
||||
|
||||
// BSLLS:Typo-off
|
||||
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
||||
// BSLLS:IncorrectLineBreak-off
|
||||
// BSLLS:UsingServiceTag-off
|
||||
// BSLLS:UnusedParameters-off
|
||||
// BSLLS:DuplicateStringLiteral-off
|
||||
// BSLLS:UsingHardcodePath-off
|
||||
// BSLLS:UnusedLocalVariable-off
|
||||
// BSLLS:DeprecatedMessage-off
|
||||
// BSLLS:LineLength-off
|
||||
// BSLLS:MagicNumber-off
|
||||
// BSLLS:CommentedCode-off
|
||||
// BSLLS:AssignAliasFieldsInQuery-off
|
||||
// BSLLS:UsingHardcodeNetworkAddress-off
|
||||
// BSLLS:UnreachableCode-off
|
||||
// BSLLS:UnusedLocalMethod-off
|
||||
// BSLLS:NestedFunctionInParameters-off
|
||||
// BSLLS:MissingTemporaryFileDeletion-off
|
||||
// BSLLS:UsingSynchronousCalls-off
|
||||
// BSLLS:MagicNumber-off
|
||||
// BSLLS:MagicDate-off
|
||||
// BSLLS:MissingParameterDescription-off
|
||||
// BSLLS:NumberOfOptionalParams-off
|
||||
// BSLLS:MethodSize-off
|
||||
// BSLLS:NestedConstructorsInStructureDeclaration-off
|
||||
// BSLLS:NumberOfValuesInStructureConstructor-off
|
||||
// BSLLS:UsingHardcodeSecretInformation-off
|
||||
// BSLLS:SpaceAtStartComment-off
|
||||
|
||||
//@skip-check undefined-variable
|
||||
//@skip-check wrong-string-literal-content
|
||||
//@skip-check module-structure-top-region
|
||||
//@skip-check module-structure-method-in-regions
|
||||
//@skip-check undefined-function-or-procedure
|
||||
//@skip-check wrong-string-literal-content
|
||||
//@skip-check module-unused-local-variable
|
||||
//@skip-check bsl-legacy-check-string-literal
|
||||
//@skip-check bsl-legacy-check-method-for-statements-after-return
|
||||
//@skip-check missing-temporary-file-deletion
|
||||
//@skip-check module-unused-method
|
||||
|
||||
#Use "../../tools/main"
|
||||
#Use "../../tools/http"
|
||||
#Use "../../api"
|
||||
#Use asserts
|
||||
#Use "internal"
|
||||
|
||||
|
||||
// For YAxUnit
|
||||
|
||||
Procedure ИсполняемыеСценарии() Export
|
||||
|
||||
OPI_TestDataRetrieval.FormYAXTests("RSS");
|
||||
|
||||
EndProcedure
|
||||
|
||||
// For Asserts
|
||||
|
||||
Function ПолучитьСписокТестов(UnitTesting) Export
|
||||
|
||||
Return OPI_TestDataRetrieval.FormAssertsTests("RSS");
|
||||
|
||||
EndFunction
|
||||
|
||||
#Region Internal
|
||||
|
||||
#Region RunnableTests
|
||||
|
||||
#Region RSS
|
||||
|
||||
Procedure RSS_RSSMethods() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
|
||||
RSS_CreateFeedRSS(TestParameters);
|
||||
RSS_GetFeedItemStructureRSS(TestParameters);
|
||||
RSS_ParseFeedRSS(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure RSS_AtomMethods() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
|
||||
RSS_CreateFeedAtom(TestParameters);
|
||||
RSS_GetFeedItemStructureAtom(TestParameters);
|
||||
RSS_ParseFeedAtom(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // RSS
|
||||
|
||||
#EndRegion // RunnableTests
|
||||
|
||||
#EndRegion // Internal
|
||||
|
||||
#Region Private
|
||||
|
||||
#Region AtomicTests
|
||||
|
||||
#Region RSS
|
||||
|
||||
Procedure RSS_CreateFeedRSS(FunctionParameters)
|
||||
|
||||
ChannelTitle = "Test RSS channel";
|
||||
ChannelDescription = "Test RSS channel description";
|
||||
ChannelLink = "https://example.com";
|
||||
|
||||
ItemsArray = New Array;
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("empty", Истина);
|
||||
|
||||
ElementStructure = OPI_TestDataRetrieval.ExecuteTestCLI("rss", "GetFeedItemStructureRSS", Options);
|
||||
ElementStructure["title"] = "First element";
|
||||
ElementStructure["description"] = "First element description";
|
||||
ElementStructure["link"] = "https://example.com/item1";
|
||||
ElementStructure["pubDate"] = OPI_Tools.GetCurrentDate();
|
||||
ElementStructure["author"] = "test@example.com";
|
||||
ElementStructure["guid"] = "item-1";
|
||||
|
||||
ItemsArray.Add(ElementStructure);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("empty", Истина);
|
||||
|
||||
ElementStructure = OPI_TestDataRetrieval.ExecuteTestCLI("rss", "GetFeedItemStructureRSS", Options);
|
||||
ElementStructure["title"] = "Second element";
|
||||
ElementStructure["description"] = "Second element description";
|
||||
ElementStructure["link"] = "https://example.com/item2";
|
||||
ElementStructure["pubDate"] = OPI_Tools.GetCurrentDate();
|
||||
ElementStructure["author"] = "test@example.com";
|
||||
ElementStructure["guid"] = "item-2";
|
||||
|
||||
ItemsArray.Add(ElementStructure);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("name", ChannelTitle);
|
||||
Options.Insert("descr", ChannelDescription);
|
||||
Options.Insert("link", ChannelLink);
|
||||
Options.Insert("items", ItemsArray);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("rss", "CreateFeedRSS", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "RSS", "CreateFeedRSS", , FunctionParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure RSS_GetFeedItemStructureRSS(FunctionParameters)
|
||||
|
||||
Options = New Structure;
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("rss", "GetFeedItemStructureRSS", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "RSS", "GetFeedItemStructureRSS");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("empty", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("rss", "GetFeedItemStructureRSS", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "RSS", "GetFeedItemStructureRSS", "Clear");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("empty", Ложь);
|
||||
Options.Insert("map", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("rss", "GetFeedItemStructureRSS", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "RSS", "GetFeedItemStructureRSS", "Map");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure RSS_ParseFeedRSS(FunctionParameters)
|
||||
|
||||
FeedXML = FunctionParameters["RSS_FeedXML"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("xml", FeedXML);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("rss", "ParseFeedRSS", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "RSS", "ParseFeedRSS");
|
||||
|
||||
OPI_Tools.RemoveFileWithTry(FeedXML, "Failed to delete the temporary file after the test!!");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure RSS_CreateFeedAtom(FunctionParameters)
|
||||
|
||||
FeedTitle = "Test Atom feed";
|
||||
FeedLink = "https://example.com";
|
||||
FeedID = "https://example.com/feed";
|
||||
|
||||
ItemsArray = New Array;
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("empty", Истина);
|
||||
|
||||
ElementStructure = OPI_TestDataRetrieval.ExecuteTestCLI("rss", "GetFeedItemStructureAtom", Options);
|
||||
ElementStructure["title"] = "First record";
|
||||
ElementStructure["id"] = "https://example.com/entry1";
|
||||
ElementStructure["link"] = "https://example.com/entry1";
|
||||
ElementStructure["updated"] = OPI_Tools.GetCurrentDate();
|
||||
ElementStructure["summary"] = "First record summary";
|
||||
ElementStructure["content"] = "Full content of the first record";
|
||||
ElementStructure["author"] = "First Author";
|
||||
ElementStructure["published"] = OPI_Tools.GetCurrentDate();
|
||||
|
||||
ItemsArray.Add(ElementStructure);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("empty", Истина);
|
||||
|
||||
ElementStructure = OPI_TestDataRetrieval.ExecuteTestCLI("rss", "GetFeedItemStructureAtom", Options);
|
||||
ElementStructure["title"] = "Second record";
|
||||
ElementStructure["id"] = "https://example.com/entry2";
|
||||
ElementStructure["link"] = "https://example.com/entry2";
|
||||
ElementStructure["updated"] = OPI_Tools.GetCurrentDate();
|
||||
ElementStructure["summary"] = "Second record summary";
|
||||
ElementStructure["content"] = "Full content of the second record";
|
||||
ElementStructure["author"] = "Second Author";
|
||||
ElementStructure["published"] = OPI_Tools.GetCurrentDate();
|
||||
|
||||
ItemsArray.Add(ElementStructure);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("name", FeedTitle);
|
||||
Options.Insert("link", FeedLink);
|
||||
Options.Insert("id", FeedID);
|
||||
Options.Insert("items", ItemsArray);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("rss", "CreateFeedAtom", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "RSS", "CreateFeedAtom", , FunctionParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure RSS_GetFeedItemStructureAtom(FunctionParameters)
|
||||
|
||||
Options = New Structure;
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("rss", "GetFeedItemStructureAtom", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "RSS", "GetFeedItemStructureAtom");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("empty", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("rss", "GetFeedItemStructureAtom", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "RSS", "GetFeedItemStructureAtom", "Clear");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("empty", Ложь);
|
||||
Options.Insert("map", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("rss", "GetFeedItemStructureAtom", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "RSS", "GetFeedItemStructureAtom", "Map");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure RSS_ParseFeedAtom(FunctionParameters)
|
||||
|
||||
FeedXML = FunctionParameters["RSS_AtomFeedXML"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("xml", FeedXML);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("rss", "ParseFeedAtom", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "RSS", "ParseFeedAtom");
|
||||
|
||||
OPI_Tools.RemoveFileWithTry(FeedXML, "Failed to delete the temporary file after the test!!");
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // RSS
|
||||
|
||||
#EndRegion // AtomicTests
|
||||
|
||||
#EndRegion // Private
|
||||
|
||||
#Region Alternate
|
||||
|
||||
Procedure RSS_МетодыRSS() Export
|
||||
RSS_RSSMethods();
|
||||
EndProcedure
|
||||
|
||||
Procedure RSS_МетодыAtom() Export
|
||||
RSS_AtomMethods();
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
+1082
File diff suppressed because it is too large
Load Diff
+1628
File diff suppressed because it is too large
Load Diff
+1782
File diff suppressed because it is too large
Load Diff
+993
@@ -0,0 +1,993 @@
|
||||
// OneScript: ./OInt/tests/Modules/OPItc_SQLite.os
|
||||
|
||||
// MIT License
|
||||
|
||||
// Copyright (c) 2023-2026 Anton Tsitavets
|
||||
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
|
||||
// The above copyright notice and +this permission notice shall be included in all
|
||||
// copies or substantial portions of the Software.
|
||||
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// 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
|
||||
// SOFTWARE.
|
||||
|
||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||
|
||||
// Test suite for YAxUnit
|
||||
|
||||
// BSLLS:Typo-off
|
||||
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
||||
// BSLLS:IncorrectLineBreak-off
|
||||
// BSLLS:UsingServiceTag-off
|
||||
// BSLLS:UnusedParameters-off
|
||||
// BSLLS:DuplicateStringLiteral-off
|
||||
// BSLLS:UsingHardcodePath-off
|
||||
// BSLLS:UnusedLocalVariable-off
|
||||
// BSLLS:DeprecatedMessage-off
|
||||
// BSLLS:LineLength-off
|
||||
// BSLLS:MagicNumber-off
|
||||
// BSLLS:CommentedCode-off
|
||||
// BSLLS:AssignAliasFieldsInQuery-off
|
||||
// BSLLS:UsingHardcodeNetworkAddress-off
|
||||
// BSLLS:UnreachableCode-off
|
||||
// BSLLS:UnusedLocalMethod-off
|
||||
// BSLLS:NestedFunctionInParameters-off
|
||||
// BSLLS:MissingTemporaryFileDeletion-off
|
||||
// BSLLS:UsingSynchronousCalls-off
|
||||
// BSLLS:MagicNumber-off
|
||||
// BSLLS:MagicDate-off
|
||||
// BSLLS:MissingParameterDescription-off
|
||||
// BSLLS:NumberOfOptionalParams-off
|
||||
// BSLLS:MethodSize-off
|
||||
// BSLLS:NestedConstructorsInStructureDeclaration-off
|
||||
// BSLLS:NumberOfValuesInStructureConstructor-off
|
||||
// BSLLS:UsingHardcodeSecretInformation-off
|
||||
// BSLLS:SpaceAtStartComment-off
|
||||
|
||||
//@skip-check undefined-variable
|
||||
//@skip-check wrong-string-literal-content
|
||||
//@skip-check module-structure-top-region
|
||||
//@skip-check module-structure-method-in-regions
|
||||
//@skip-check undefined-function-or-procedure
|
||||
//@skip-check wrong-string-literal-content
|
||||
//@skip-check module-unused-local-variable
|
||||
//@skip-check bsl-legacy-check-string-literal
|
||||
//@skip-check bsl-legacy-check-method-for-statements-after-return
|
||||
//@skip-check missing-temporary-file-deletion
|
||||
//@skip-check module-unused-method
|
||||
|
||||
#Use "../../tools/main"
|
||||
#Use "../../tools/http"
|
||||
#Use "../../api"
|
||||
#Use asserts
|
||||
#Use "internal"
|
||||
|
||||
|
||||
// For YAxUnit
|
||||
|
||||
Procedure ИсполняемыеСценарии() Export
|
||||
|
||||
OPI_TestDataRetrieval.FormYAXTests("SQLite");
|
||||
|
||||
EndProcedure
|
||||
|
||||
// For Asserts
|
||||
|
||||
Function ПолучитьСписокТестов(UnitTesting) Export
|
||||
|
||||
Return OPI_TestDataRetrieval.FormAssertsTests("SQLite");
|
||||
|
||||
EndFunction
|
||||
|
||||
#Region Internal
|
||||
|
||||
#Region RunnableTests
|
||||
|
||||
#Region SQLite
|
||||
|
||||
Procedure SQLL_CommonMethods() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
|
||||
Base = GetTempFileName("sqlite");
|
||||
OPI_TestDataRetrieval.WriteParameter("SQLite_DB", Base);
|
||||
OPI_Tools.AddField("SQLite_DB", Base, "String", TestParameters);
|
||||
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Picture" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("SQLite_Ext" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("SQLite_ExtLinux", TestParameters);
|
||||
|
||||
SQLite_CreateConnection(TestParameters);
|
||||
SQLite_CloseConnection(TestParameters);
|
||||
SQLite_ExecuteSQLQuery(TestParameters);
|
||||
SQLite_IsConnector(TestParameters);
|
||||
SQLite_ConnectExtension(TestParameters);
|
||||
|
||||
OPI_Tools.RemoveFileWithTry(Base, "Database file deletion error");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure SQLL_ORM() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
|
||||
Base = GetTempFileName("sqlite");
|
||||
|
||||
Connection = OPI_SQLite.CreateConnection(Base);
|
||||
TestParameters.Insert("SQLite_DB", Connection);
|
||||
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Picture", TestParameters);
|
||||
|
||||
SQLite_CreateTable(TestParameters);
|
||||
SQLite_AddRecords(TestParameters);
|
||||
SQLite_EnsureRecords(TestParameters);
|
||||
SQLite_GetRecords(TestParameters);
|
||||
SQLite_UpdateRecords(TestParameters);
|
||||
SQLite_DeleteRecords(TestParameters);
|
||||
SQLite_GetTableInformation(TestParameters);
|
||||
SQLite_AddTableColumn(TestParameters);
|
||||
SQLite_DeleteTableColumn(TestParameters);
|
||||
SQLite_EnsureTable(TestParameters);
|
||||
SQLite_ClearTable(TestParameters);
|
||||
SQLite_DeleteTable(TestParameters);
|
||||
SQLite_GetRecordsFilterStructure(TestParameters);
|
||||
|
||||
OPI_TestDataRetrieval.WriteParameter("SQLite_DB", Base);
|
||||
OPI_Tools.AddField("SQLite_DB", Base, "String", TestParameters);
|
||||
|
||||
SQLite_CreateTable(TestParameters);
|
||||
SQLite_AddRecords(TestParameters);
|
||||
SQLite_EnsureRecords(TestParameters);
|
||||
SQLite_GetRecords(TestParameters);
|
||||
SQLite_UpdateRecords(TestParameters);
|
||||
SQLite_DeleteRecords(TestParameters);
|
||||
SQLite_GetTableInformation(TestParameters);
|
||||
SQLite_AddTableColumn(TestParameters);
|
||||
SQLite_DeleteTableColumn(TestParameters);
|
||||
SQLite_EnsureTable(TestParameters);
|
||||
SQLite_ClearTable(TestParameters);
|
||||
SQLite_DeleteTable(TestParameters);
|
||||
SQLite_GetRecordsFilterStructure(TestParameters);
|
||||
|
||||
OPI_Tools.RemoveFileWithTry(Base, "Database file deletion error");
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // SQLite
|
||||
|
||||
#EndRegion // RunnableTests
|
||||
|
||||
#EndRegion // Internal
|
||||
|
||||
#Region Private
|
||||
|
||||
#Region AtomicTests
|
||||
|
||||
#Region SQLite
|
||||
|
||||
Procedure SQLite_CreateConnection(FunctionParameters)
|
||||
|
||||
TFN = GetTempFileName("sqlite");
|
||||
|
||||
LocalBase = OPI_SQLite.CreateConnection(TFN);
|
||||
InMemoryBase = OPI_SQLite.CreateConnection();
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(LocalBase , "SQLite", "CreateConnection");
|
||||
OPI_TestDataRetrieval.Process(InMemoryBase, "SQLite", "CreateConnection", "IM");
|
||||
|
||||
Closing = OPI_SQLite.CloseConnection(LocalBase);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Closing, "SQLite", "CreateConnection", "Closing");
|
||||
|
||||
OPI_Tools.RemoveFileWithTry(TFN, "Database file deletion error");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure SQLite_CloseConnection(FunctionParameters)
|
||||
|
||||
TFN = GetTempFileName("sqlite");
|
||||
|
||||
Connection = OPI_SQLite.CreateConnection(TFN);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Connection, "SQLite", "CloseConnection", "Openning"); // SKIP
|
||||
|
||||
Closing = OPI_SQLite.CloseConnection(Connection);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Closing, "SQLite", "CloseConnection");
|
||||
|
||||
OPI_Tools.RemoveFileWithTry(TFN, "Database file deletion error");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure SQLite_ExecuteSQLQuery(FunctionParameters)
|
||||
|
||||
TFN = GetTempFileName("sqlite");
|
||||
|
||||
Image = FunctionParameters["Picture"];
|
||||
OPI_TypeConversion.GetBinaryData(Image); // Image - Type: BinaryData
|
||||
|
||||
Connection = OPI_SQLite.CreateConnection(TFN);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Connection, "SQLite", "ExecuteSQLQuery", "Openning"); // SKIP
|
||||
|
||||
// CREATE
|
||||
|
||||
QueryText = "
|
||||
|CREATE TABLE test_table (
|
||||
|id INTEGER PRIMARY KEY,
|
||||
|name TEXT,
|
||||
|age INTEGER,
|
||||
|salary REAL,
|
||||
|is_active BOOLEAN,
|
||||
|created_at DATETIME,
|
||||
|data BLOB
|
||||
|);";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("sql", QueryText);
|
||||
Options.Insert("db", Connection);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "ExecuteSQLQuery", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "ExecuteSQLQuery", "Create"); // SKIP
|
||||
|
||||
// INSERT with parameters
|
||||
|
||||
QueryText = "
|
||||
|INSERT INTO test_table (name, age, salary, is_active, created_at, data)
|
||||
|VALUES (?1, ?2, ?3, ?4, ?5, ?6);";
|
||||
|
||||
ParameterArray = New Array;
|
||||
ParameterArray.Add("Vitaly"); // TEXT
|
||||
ParameterArray.Add(25); // INTEGER
|
||||
ParameterArray.Add(1000.12); // REAL
|
||||
ParameterArray.Add(True); // BOOL
|
||||
ParameterArray.Add(OPI_Tools.GetCurrentDate()); // DATETIME
|
||||
ParameterArray.Add(New Structure("blob", Image)); // BLOB
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("sql", QueryText);
|
||||
Options.Insert("params", ParameterArray);
|
||||
Options.Insert("db", Connection);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "ExecuteSQLQuery", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "ExecuteSQLQuery", "Insert"); // SKIP
|
||||
|
||||
// SELECT (The result of this query is shown in the Result block)
|
||||
|
||||
QueryText = "SELECT id, name, age, salary, is_active, created_at, data FROM test_table;";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("sql", QueryText);
|
||||
Options.Insert("db", Connection);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "ExecuteSQLQuery", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "ExecuteSQLQuery", , Image); // SKIP
|
||||
|
||||
// Transaction
|
||||
|
||||
QueryText = "BEGIN TRANSACTION;
|
||||
| CREATE TABLE IF NOT EXISTS users (
|
||||
| id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
| name TEXT NOT NULL,
|
||||
| age INTEGER NOT NULL
|
||||
| );
|
||||
| INSERT INTO users (name, age) VALUES ('Alice', 30);
|
||||
| INSERT INTO users (name, age) VALUES ('Bob', 25);
|
||||
| INSERT INTO users (name, age) VALUES ('Charlie', 35);
|
||||
| COMMIT;";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("sql", QueryText);
|
||||
Options.Insert("db", Connection);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "ExecuteSQLQuery", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "ExecuteSQLQuery", "Transaction"); // SKIP
|
||||
|
||||
// With extension
|
||||
|
||||
If OPI_Tools.IsWindows() Then
|
||||
Extension = FunctionParameters["SQLite_Ext"]; // URL, Path or Binary Data
|
||||
Else
|
||||
Extension = FunctionParameters["SQLite_ExtLinux"]; // URL, Path or Binary Data
|
||||
EndIf;
|
||||
|
||||
EntryPoint = "sqlite3_uuid_init";
|
||||
|
||||
ExtensionMap = New Map;
|
||||
ExtensionMap.Insert(Extension, EntryPoint);
|
||||
|
||||
QueryText = "SELECT uuid4();";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("sql", QueryText);
|
||||
Options.Insert("db", Connection);
|
||||
Options.Insert("exts", ExtensionMap);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "ExecuteSQLQuery", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "ExecuteSQLQuery", "Extension"); // SKIP
|
||||
|
||||
Closing = OPI_SQLite.CloseConnection(Connection);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "ExecuteSQLQuery", "Closing");
|
||||
|
||||
OPI_Tools.RemoveFileWithTry(TFN, "Database file deletion error");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure SQLite_IsConnector(FunctionParameters)
|
||||
|
||||
Connection = OPI_SQLite.CreateConnection();
|
||||
Result = OPI_SQLite.IsConnector(Connection);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "IsConnector");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure SQLite_CreateTable(FunctionParameters)
|
||||
|
||||
Base = FunctionParameters["SQLite_DB"];
|
||||
Table = "test";
|
||||
|
||||
ColoumnsStruct = New Structure;
|
||||
ColoumnsStruct.Insert("id" , "INTEGER PRIMARY KEY");
|
||||
ColoumnsStruct.Insert("name" , "TEXT");
|
||||
ColoumnsStruct.Insert("age" , "INTEGER");
|
||||
ColoumnsStruct.Insert("salary" , "REAL");
|
||||
ColoumnsStruct.Insert("is_active" , "BOOLEAN");
|
||||
ColoumnsStruct.Insert("created_at", "DATETIME");
|
||||
ColoumnsStruct.Insert("data" , "BLOB");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("cols", ColoumnsStruct);
|
||||
Options.Insert("db", Base);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "CreateTable", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "CreateTable");
|
||||
|
||||
ColoumnsMap = New Map;
|
||||
ColoumnsMap.Insert("id" , "INTEGER PRIMARY KEY");
|
||||
ColoumnsMap.Insert("[An obscure column]", "TEXT");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", "test1");
|
||||
Options.Insert("cols", ColoumnsMap);
|
||||
Options.Insert("db", Base);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "CreateTable", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "CreateTable", "An obscure column");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure SQLite_AddRecords(FunctionParameters)
|
||||
|
||||
Image = FunctionParameters["Picture"];
|
||||
OPI_TypeConversion.GetBinaryData(Image); // Image - Type: BinaryData
|
||||
|
||||
PictureFile = GetTempFileName("png");
|
||||
Image.Write(PictureFile); // PictureFile - File to disk
|
||||
|
||||
Base = FunctionParameters["SQLite_DB"];
|
||||
Table = "test";
|
||||
|
||||
DataArray = New Array;
|
||||
|
||||
RowStructure2 = New Structure;
|
||||
RowStructure2.Insert("name" , "Vitaly"); // TEXT
|
||||
RowStructure2.Insert("age" , 25); // INTEGER
|
||||
RowStructure2.Insert("salary" , 1000.12); // REAL
|
||||
RowStructure2.Insert("is_active" , True); // BOOL
|
||||
RowStructure2.Insert("created_at", OPI_Tools.GetCurrentDate()); // DATETIME
|
||||
RowStructure2.Insert("data" , New Structure("blob", Image)); // BLOB
|
||||
|
||||
RowStructure1 = New Structure;
|
||||
RowStructure1.Insert("name" , "Lesha"); // TEXT
|
||||
RowStructure1.Insert("age" , 20); // INTEGER
|
||||
RowStructure1.Insert("salary" , 200.20); // REAL
|
||||
RowStructure1.Insert("is_active" , False); // BOOL
|
||||
RowStructure1.Insert("created_at", OPI_Tools.GetCurrentDate()); // DATETIME
|
||||
RowStructure1.Insert("data" , New Structure("blob", PictureFile)); // BLOB
|
||||
|
||||
DataArray.Add(RowStructure2);
|
||||
DataArray.Add(RowStructure1);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("rows", DataArray);
|
||||
Options.Insert("db", Base);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "AddRecords", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "AddRecords");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("rows", DataArray);
|
||||
Options.Insert("trn", Ложь);
|
||||
Options.Insert("db", Base);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "AddRecords", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "AddRecords", "No transaction");
|
||||
|
||||
RowStructure1.Insert("error", "Lesha");
|
||||
DataArray.Add(RowStructure1);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("rows", DataArray);
|
||||
Options.Insert("db", Base);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "AddRecords", Options);
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "AddRecords", "Field error");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("rows", DataArray);
|
||||
Options.Insert("trn", Ложь);
|
||||
Options.Insert("db", Base);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "AddRecords", Options);
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "AddRecords", "Error without transaction");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("rows", "not valid json");
|
||||
Options.Insert("db", Base);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "AddRecords", Options);
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "AddRecords", "JSON Error");
|
||||
|
||||
RowMap = New Map;
|
||||
RowMap.Insert("[An obscure column]", "yo");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", "test1");
|
||||
Options.Insert("rows", RowMap);
|
||||
Options.Insert("db", Base);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "AddRecords", Options);
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "AddRecords", "An obscure column");
|
||||
|
||||
OPI_Tools.RemoveFileWithTry(PictureFile, "Failed to delete the temporary file after the test!!");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure SQLite_GetRecords(FunctionParameters)
|
||||
|
||||
Base = FunctionParameters["SQLite_DB"];
|
||||
Table = "test";
|
||||
|
||||
Fields = New Array;
|
||||
Fields.Add("name");
|
||||
Fields.Add("salary");
|
||||
|
||||
Filters = New Array;
|
||||
|
||||
FilterStructure1 = New Structure;
|
||||
|
||||
FilterStructure1.Insert("field", "name");
|
||||
FilterStructure1.Insert("type" , "=");
|
||||
FilterStructure1.Insert("value", "Vitaly");
|
||||
FilterStructure1.Insert("union", "AND");
|
||||
FilterStructure1.Insert("raw" , False);
|
||||
|
||||
FilterStructure2 = New Structure;
|
||||
|
||||
FilterStructure2.Insert("field", "age");
|
||||
FilterStructure2.Insert("type" , "BETWEEN");
|
||||
FilterStructure2.Insert("value", "20 AND 30");
|
||||
FilterStructure2.Insert("raw" , True);
|
||||
|
||||
Filters.Add(FilterStructure1);
|
||||
Filters.Add(FilterStructure2);
|
||||
|
||||
Sort = New Structure("created_at", "DESC");
|
||||
Count = 1;
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("fields", Fields);
|
||||
Options.Insert("filter", Filters);
|
||||
Options.Insert("order", Sort);
|
||||
Options.Insert("limit", Count);
|
||||
Options.Insert("db", Base);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "GetRecords", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "GetRecords");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("fields", "['name','age','salary','is_active','created_at']");
|
||||
Options.Insert("db", Base);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "GetRecords", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "GetRecords", "No parameters");
|
||||
|
||||
FilterStructure2.Insert("type", "SOMETHING");
|
||||
Filters.Add(FilterStructure2);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("fields", "['name','age','salary','is_active','created_at']");
|
||||
Options.Insert("filter", Filters);
|
||||
Options.Insert("db", Base);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "GetRecords", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "GetRecords", "Error");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", "test1");
|
||||
Options.Insert("db", Base);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "GetRecords", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "GetRecords", "An obscure column");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure SQLite_UpdateRecords(FunctionParameters)
|
||||
|
||||
Base = FunctionParameters["SQLite_DB"];
|
||||
Table = "test";
|
||||
|
||||
FieldsStructure = New Structure;
|
||||
FieldsStructure.Insert("name" , "Vitaly A.");
|
||||
FieldsStructure.Insert("salary", "999999");
|
||||
|
||||
Filters = New Array;
|
||||
|
||||
FilterStructure = New Structure;
|
||||
|
||||
FilterStructure.Insert("field", "name");
|
||||
FilterStructure.Insert("type" , "=");
|
||||
FilterStructure.Insert("value", "Vitaly");
|
||||
FilterStructure.Insert("union", "AND");
|
||||
FilterStructure.Insert("raw" , False);
|
||||
|
||||
Filters.Add(FilterStructure);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("values", FieldsStructure);
|
||||
Options.Insert("filter", FilterStructure);
|
||||
Options.Insert("db", Base);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "UpdateRecords", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "UpdateRecords");
|
||||
|
||||
FilterStructure.Insert("value", "Vitaly A.");
|
||||
|
||||
Filters = New Array;
|
||||
Filters.Add(FilterStructure);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("fields", "['name','salary']");
|
||||
Options.Insert("filter", Filters);
|
||||
Options.Insert("db", Base);
|
||||
|
||||
Check = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "GetRecords", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Check, "SQLite", "UpdateRecords", "Check", FieldsStructure);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure SQLite_DeleteRecords(FunctionParameters)
|
||||
|
||||
Base = FunctionParameters["SQLite_DB"];
|
||||
Table = "test";
|
||||
|
||||
Filters = New Array;
|
||||
|
||||
FilterStructure = New Structure;
|
||||
|
||||
FilterStructure.Insert("field", "name");
|
||||
FilterStructure.Insert("type" , "=");
|
||||
FilterStructure.Insert("value", "Vitaly A.");
|
||||
FilterStructure.Insert("union", "AND");
|
||||
FilterStructure.Insert("raw" , False);
|
||||
|
||||
Filters.Add(FilterStructure);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("filter", FilterStructure);
|
||||
Options.Insert("db", Base);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "DeleteRecords", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "DeleteRecords");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("fields", "['name','salary']");
|
||||
Options.Insert("filter", Filters);
|
||||
Options.Insert("db", Base);
|
||||
|
||||
Check = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "GetRecords", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Check, "SQLite", "DeleteRecords", "Check");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure SQLite_GetTableInformation(FunctionParameters)
|
||||
|
||||
Base = FunctionParameters["SQLite_DB"];
|
||||
Table = "test";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("db", Base);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "GetTableInformation", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "GetTableInformation");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure SQLite_EnsureRecords(FunctionParameters)
|
||||
|
||||
Base = FunctionParameters["SQLite_DB"];
|
||||
Table = "test_merge";
|
||||
|
||||
ColoumnsStruct = New Structure; // SKIP
|
||||
ColoumnsStruct.Insert("id" , "INTEGER PRIMARY KEY"); // SKIP
|
||||
ColoumnsStruct.Insert("name" , "TEXT"); // SKIP
|
||||
ColoumnsStruct.Insert("age" , "INTEGER"); // SKIP
|
||||
ColoumnsStruct.Insert("salary" , "REAL"); // SKIP
|
||||
OPI_SQLite.CreateTable(Table, ColoumnsStruct, Base); // SKIP
|
||||
|
||||
DataArray = New Array;
|
||||
|
||||
RowStructure2 = New Structure;
|
||||
RowStructure2.Insert("id" , 1);
|
||||
RowStructure2.Insert("name" , "Vitaly");
|
||||
RowStructure2.Insert("age" , 25);
|
||||
RowStructure2.Insert("salary", 1000.12);
|
||||
|
||||
RowStructure1 = New Structure;
|
||||
RowStructure1.Insert("id" , 2);
|
||||
RowStructure1.Insert("name" , "Lesha");
|
||||
RowStructure1.Insert("age" , 20);
|
||||
RowStructure1.Insert("salary", 200.20);
|
||||
|
||||
DataArray.Add(RowStructure2);
|
||||
DataArray.Add(RowStructure1);
|
||||
|
||||
KeyFields = New Array;
|
||||
KeyFields.Add("id");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("rows", DataArray);
|
||||
Options.Insert("unique", KeyFields);
|
||||
Options.Insert("db", Base);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "EnsureRecords", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "EnsureRecords", "Insertion");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("fields", "*");
|
||||
Options.Insert("db", Base);
|
||||
|
||||
Check = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "GetRecords", Options);
|
||||
OPI_TestDataRetrieval.Process(Check, "SQLite", "EnsureRecords", "Insertion check");
|
||||
|
||||
RowStructure2.Insert("name" , "Vitaly Updated");
|
||||
RowStructure2.Insert("salary", 1500.50);
|
||||
|
||||
StringStructure3 = New Structure;
|
||||
StringStructure3.Insert("id" , 3);
|
||||
StringStructure3.Insert("name" , "Anton");
|
||||
StringStructure3.Insert("age" , 30);
|
||||
StringStructure3.Insert("salary", 3000.00);
|
||||
|
||||
DataArray = New Array;
|
||||
DataArray.Add(RowStructure2);
|
||||
DataArray.Add(StringStructure3);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("rows", DataArray);
|
||||
Options.Insert("unique", KeyFields);
|
||||
Options.Insert("db", Base);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "EnsureRecords", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "EnsureRecords", "Updating");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("fields", "*");
|
||||
Options.Insert("db", Base);
|
||||
|
||||
Check = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "GetRecords", Options);
|
||||
OPI_TestDataRetrieval.Process(Check, "SQLite", "EnsureRecords", "Updating check");
|
||||
|
||||
OPI_SQLite.DeleteTable(Table, Base);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure SQLite_GetRecordsFilterStructure(FunctionParameters)
|
||||
|
||||
Options = New Structure;
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "GetRecordsFilterStructure", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "GetRecordsFilterStructure");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("empty", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "GetRecordsFilterStructure", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "GetRecordsFilterStructure", "Clear");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure SQLite_DeleteTable(FunctionParameters)
|
||||
|
||||
Base = FunctionParameters["SQLite_DB"];
|
||||
Table = "test";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("db", Base);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "DeleteTable", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "DeleteTable");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("db", Base);
|
||||
|
||||
Check = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "GetTableInformation", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Check, "SQLite", "DeleteTable", "Check");
|
||||
|
||||
OPI_SQLite.DeleteTable("test1", Base);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure SQLite_ClearTable(FunctionParameters)
|
||||
|
||||
Base = FunctionParameters["SQLite_DB"];
|
||||
Table = "test";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("db", Base);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "ClearTable", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "ClearTable");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("db", Base);
|
||||
|
||||
Check = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "GetTableInformation", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Check, "SQLite", "ClearTable", "Table");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("db", Base);
|
||||
|
||||
Check = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "GetRecords", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Check, "SQLite", "ClearTable", "Check");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure SQLite_ConnectExtension(FunctionParameters)
|
||||
|
||||
If OPI_Tools.IsWindows() Then
|
||||
Extension = FunctionParameters["SQLite_Ext"]; // URL, Path or Binary Data
|
||||
Else
|
||||
Extension = FunctionParameters["SQLite_ExtLinux"]; // URL, Path or Binary Data
|
||||
EndIf;
|
||||
|
||||
Base = FunctionParameters["SQLite_DB"];
|
||||
EntryPoint = "sqlite3_uuid_init";
|
||||
|
||||
Connection = OPI_SQLite.CreateConnection(Base);
|
||||
Result = OPI_SQLite.ConnectExtension(Extension, EntryPoint, Connection);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "ConnectExtension");
|
||||
|
||||
TFN = GetTempFileName("dll");
|
||||
CopyFile(Extension, TFN);
|
||||
|
||||
Result = OPI_SQLite.ConnectExtension(TFN, EntryPoint, Connection);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "ConnectExtension", "Path");
|
||||
|
||||
Result = OPI_SQLite.ConnectExtension(New BinaryData(TFN), EntryPoint, Connection);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "ConnectExtension", "Binary");
|
||||
|
||||
Result = OPI_SQLite.CloseConnection(Connection);
|
||||
|
||||
OPI_Tools.RemoveFileWithTry(TFN, "Error deleting extension file");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure SQLite_AddTableColumn(FunctionParameters)
|
||||
|
||||
Base = FunctionParameters["SQLite_DB"];
|
||||
Table = "test";
|
||||
Name = "new_col";
|
||||
DataType = "TEXT";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("name", Name);
|
||||
Options.Insert("type", DataType);
|
||||
Options.Insert("db", Base);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "AddTableColumn", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "AddTableColumn");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("db", Base);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "GetTableInformation", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "AddTableColumn", "Check");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure SQLite_DeleteTableColumn(FunctionParameters)
|
||||
|
||||
Base = FunctionParameters["SQLite_DB"];
|
||||
Table = "test";
|
||||
Name = "new_col";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("name", Name);
|
||||
Options.Insert("db", Base);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "DeleteTableColumn", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "DeleteTableColumn");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("db", Base);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "GetTableInformation", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "DeleteTableColumn", "Check");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure SQLite_EnsureTable(FunctionParameters)
|
||||
|
||||
Base = FunctionParameters["SQLite_DB"];
|
||||
|
||||
Table = "test";
|
||||
|
||||
ColoumnsStruct = New Structure;
|
||||
ColoumnsStruct.Insert("id" , "INTEGER");
|
||||
ColoumnsStruct.Insert("code" , "INTEGER");
|
||||
ColoumnsStruct.Insert("name" , "TEXT");
|
||||
ColoumnsStruct.Insert("age" , "INTEGER");
|
||||
ColoumnsStruct.Insert("info" , "TEXT");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("cols", ColoumnsStruct);
|
||||
Options.Insert("db", Base);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "EnsureTable", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "EnsureTable");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("db", Base);
|
||||
|
||||
Check = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "GetTableInformation", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Check, "SQLite", "EnsureTable", "Check", ColoumnsStruct);
|
||||
|
||||
Table = "test_new";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("cols", ColoumnsStruct);
|
||||
Options.Insert("db", Base);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "EnsureTable", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SQLite", "EnsureTable", "New");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("db", Base);
|
||||
|
||||
Check = OPI_TestDataRetrieval.ExecuteTestCLI("sqlite", "GetTableInformation", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Check, "SQLite", "EnsureTable", "Check 2", ColoumnsStruct);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // SQLite
|
||||
|
||||
#EndRegion // AtomicTests
|
||||
|
||||
#EndRegion // Private
|
||||
|
||||
#Region Alternate
|
||||
|
||||
Procedure SQLL_ОсновныеМетоды() Export
|
||||
SQLL_CommonMethods();
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
+728
@@ -0,0 +1,728 @@
|
||||
// OneScript: ./OInt/tests/Modules/OPItc_SSH.os
|
||||
|
||||
// MIT License
|
||||
|
||||
// Copyright (c) 2023-2026 Anton Tsitavets
|
||||
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
|
||||
// The above copyright notice and +this permission notice shall be included in all
|
||||
// copies or substantial portions of the Software.
|
||||
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// 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
|
||||
// SOFTWARE.
|
||||
|
||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||
|
||||
// Test suite for YAxUnit
|
||||
|
||||
// BSLLS:Typo-off
|
||||
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
||||
// BSLLS:IncorrectLineBreak-off
|
||||
// BSLLS:UsingServiceTag-off
|
||||
// BSLLS:UnusedParameters-off
|
||||
// BSLLS:DuplicateStringLiteral-off
|
||||
// BSLLS:UsingHardcodePath-off
|
||||
// BSLLS:UnusedLocalVariable-off
|
||||
// BSLLS:DeprecatedMessage-off
|
||||
// BSLLS:LineLength-off
|
||||
// BSLLS:MagicNumber-off
|
||||
// BSLLS:CommentedCode-off
|
||||
// BSLLS:AssignAliasFieldsInQuery-off
|
||||
// BSLLS:UsingHardcodeNetworkAddress-off
|
||||
// BSLLS:UnreachableCode-off
|
||||
// BSLLS:UnusedLocalMethod-off
|
||||
// BSLLS:NestedFunctionInParameters-off
|
||||
// BSLLS:MissingTemporaryFileDeletion-off
|
||||
// BSLLS:UsingSynchronousCalls-off
|
||||
// BSLLS:MagicNumber-off
|
||||
// BSLLS:MagicDate-off
|
||||
// BSLLS:MissingParameterDescription-off
|
||||
// BSLLS:NumberOfOptionalParams-off
|
||||
// BSLLS:MethodSize-off
|
||||
// BSLLS:NestedConstructorsInStructureDeclaration-off
|
||||
// BSLLS:NumberOfValuesInStructureConstructor-off
|
||||
// BSLLS:UsingHardcodeSecretInformation-off
|
||||
// BSLLS:SpaceAtStartComment-off
|
||||
|
||||
//@skip-check undefined-variable
|
||||
//@skip-check wrong-string-literal-content
|
||||
//@skip-check module-structure-top-region
|
||||
//@skip-check module-structure-method-in-regions
|
||||
//@skip-check undefined-function-or-procedure
|
||||
//@skip-check wrong-string-literal-content
|
||||
//@skip-check module-unused-local-variable
|
||||
//@skip-check bsl-legacy-check-string-literal
|
||||
//@skip-check bsl-legacy-check-method-for-statements-after-return
|
||||
//@skip-check missing-temporary-file-deletion
|
||||
//@skip-check module-unused-method
|
||||
|
||||
#Use "../../tools/main"
|
||||
#Use "../../tools/http"
|
||||
#Use "../../api"
|
||||
#Use asserts
|
||||
#Use "internal"
|
||||
|
||||
|
||||
// For YAxUnit
|
||||
|
||||
Procedure ИсполняемыеСценарии() Export
|
||||
|
||||
OPI_TestDataRetrieval.FormYAXTests("SSH");
|
||||
|
||||
EndProcedure
|
||||
|
||||
// For Asserts
|
||||
|
||||
Function ПолучитьСписокТестов(UnitTesting) Export
|
||||
|
||||
Return OPI_TestDataRetrieval.FormAssertsTests("SSH");
|
||||
|
||||
EndFunction
|
||||
|
||||
#Region Internal
|
||||
|
||||
#Region RunnableTests
|
||||
|
||||
#Region SSH
|
||||
|
||||
Procedure SShell_CommonMethods() Export
|
||||
|
||||
OptionArray = OPI_TestDataRetrieval.GetSSHParameterOptions();
|
||||
|
||||
For Each TestParameters In OptionArray Do
|
||||
|
||||
SSH_CreateConnection(TestParameters);
|
||||
SSH_GetConnectionConfiguration(TestParameters);
|
||||
SSH_ExecuteCommand(TestParameters);
|
||||
SSH_CloseConnection(TestParameters);
|
||||
SSH_IsConnector(TestParameters);
|
||||
SSH_GetSettingsLoginPassword(TestParameters);
|
||||
SSH_GetSettingsPrivateKey(TestParameters);
|
||||
SSH_GetSettingsViaAgent(TestParameters);
|
||||
SSH_GetSettingsKI(TestParameters);
|
||||
SSH_GetProxySettings(TestParameters);
|
||||
|
||||
EndDo;
|
||||
|
||||
OPI_Tools.RemoveFileWithTry(OptionArray[0]["SSH_Key"], "Error deleting file after test");
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // SSH
|
||||
|
||||
#EndRegion // RunnableTests
|
||||
|
||||
#EndRegion // Internal
|
||||
|
||||
#Region Private
|
||||
|
||||
#Region AtomicTests
|
||||
|
||||
#Region SSH
|
||||
|
||||
Procedure SSH_CreateConnection(FunctionParameters)
|
||||
|
||||
Postfix = FunctionParameters["Postfix"]; // SKIP
|
||||
|
||||
Host = FunctionParameters["SSH_Host"];
|
||||
Port = FunctionParameters["SSH_Port"];
|
||||
|
||||
UseProxy = True;
|
||||
ProxySettings = Undefined;
|
||||
AuthorizationType = "By login and password";
|
||||
|
||||
UseProxy = FunctionParameters["Proxy"]; // SKIP
|
||||
AuthorizationType = FunctionParameters["AuthType"]; // SKIP
|
||||
|
||||
If AuthorizationType = "By login and password" Then
|
||||
|
||||
Login = FunctionParameters["SSH_User"];
|
||||
Password = FunctionParameters["SSH_Password"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("host", Host);
|
||||
Options.Insert("port", Port);
|
||||
Options.Insert("user", Login);
|
||||
Options.Insert("pass", Password);
|
||||
|
||||
SSHSettings = OPI_TestDataRetrieval.ExecuteTestCLI("ssh", "GetSettingsLoginPassword", Options);
|
||||
|
||||
ElsIf AuthorizationType = "By key" Then
|
||||
|
||||
Login = FunctionParameters["SSH_User"];
|
||||
PrivateKey = "./ssh_key";
|
||||
PublicKey = "./ssh_key.pub";
|
||||
|
||||
PrivateKey = FunctionParameters["SSH_Key"]; // SKIP
|
||||
PublicKey = FunctionParameters["SSH_Pub"]; // SKIP
|
||||
|
||||
SSHSettings = OPI_SSH.GetSettingsPrivateKey(Host, Port, Login, PrivateKey, PublicKey);
|
||||
|
||||
ElsIf AuthorizationType = "Keyboard interactive" Then
|
||||
|
||||
Login = FunctionParameters["SSH_User"];
|
||||
Password = FunctionParameters["SSH_Password"];
|
||||
|
||||
AnswersArray = New Array;
|
||||
AnswersArray.Add(Password);
|
||||
|
||||
Port = FunctionParameters["SSH_PortKI"]; // SKIP
|
||||
|
||||
SSHSettings = OPI_SSH.GetSettingsKI(Host, Port, Login, AnswersArray);
|
||||
|
||||
Else
|
||||
|
||||
Login = FunctionParameters["SSH_User"];
|
||||
SSHSettings = OPI_SSH.GetSettingsViaAgent(Host, Port, Login);
|
||||
|
||||
EndIf;
|
||||
|
||||
If UseProxy Then
|
||||
|
||||
ProxyType = FunctionParameters["Proxy_Type"]; // http, socks5, socks4
|
||||
|
||||
ProxyAddress = FunctionParameters["Proxy_IP"];
|
||||
ProxyPort = FunctionParameters["Proxy_Port"];
|
||||
ProxyLogin = FunctionParameters["Proxy_User"];
|
||||
ProxyPassword = FunctionParameters["Proxy_Password"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("addr", ProxyAddress);
|
||||
Options.Insert("port", ProxyPort);
|
||||
Options.Insert("type", ProxyType);
|
||||
Options.Insert("login", ProxyLogin);
|
||||
Options.Insert("pass", ProxyPassword);
|
||||
|
||||
ProxySettings = OPI_TestDataRetrieval.ExecuteTestCLI("ssh", "GetProxySettings", Options);
|
||||
|
||||
EndIf;
|
||||
|
||||
Result = OPI_SSH.CreateConnection(SSHSettings, ProxySettings);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SSH", "CreateConnection", Postfix);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure SSH_ExecuteCommand(FunctionParameters)
|
||||
|
||||
Postfix = FunctionParameters["Postfix"]; // SKIP
|
||||
|
||||
Host = FunctionParameters["SSH_Host"];
|
||||
Port = FunctionParameters["SSH_Port"];
|
||||
|
||||
UseProxy = True;
|
||||
ProxySettings = Undefined;
|
||||
AuthorizationType = "By login and password";
|
||||
|
||||
UseProxy = FunctionParameters["Proxy"]; // SKIP
|
||||
AuthorizationType = FunctionParameters["AuthType"]; // SKIP
|
||||
|
||||
If AuthorizationType = "By login and password" Then
|
||||
|
||||
Login = FunctionParameters["SSH_User"];
|
||||
Password = FunctionParameters["SSH_Password"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("host", Host);
|
||||
Options.Insert("port", Port);
|
||||
Options.Insert("user", Login);
|
||||
Options.Insert("pass", Password);
|
||||
|
||||
SSHSettings = OPI_TestDataRetrieval.ExecuteTestCLI("ssh", "GetSettingsLoginPassword", Options);
|
||||
|
||||
ElsIf AuthorizationType = "By key" Then
|
||||
|
||||
Login = FunctionParameters["SSH_User"];
|
||||
PrivateKey = "./ssh_key";
|
||||
PublicKey = "./ssh_key.pub";
|
||||
|
||||
PrivateKey = FunctionParameters["SSH_Key"]; // SKIP
|
||||
PublicKey = FunctionParameters["SSH_Pub"]; // SKIP
|
||||
|
||||
SSHSettings = OPI_SSH.GetSettingsPrivateKey(Host, Port, Login, PrivateKey, PublicKey);
|
||||
|
||||
ElsIf AuthorizationType = "Keyboard interactive" Then
|
||||
|
||||
Login = FunctionParameters["SSH_User"];
|
||||
Password = FunctionParameters["SSH_Password"];
|
||||
|
||||
AnswersArray = New Array;
|
||||
AnswersArray.Add(Password);
|
||||
|
||||
Port = FunctionParameters["SSH_PortKI"]; // SKIP
|
||||
|
||||
SSHSettings = OPI_SSH.GetSettingsKI(Host, Port, Login, AnswersArray);
|
||||
|
||||
Else
|
||||
|
||||
Login = FunctionParameters["SSH_User"];
|
||||
SSHSettings = OPI_SSH.GetSettingsViaAgent(Host, Port, Login);
|
||||
|
||||
EndIf;
|
||||
|
||||
If UseProxy Then
|
||||
|
||||
ProxyType = FunctionParameters["Proxy_Type"]; // http, socks5, socks4
|
||||
|
||||
ProxyAddress = FunctionParameters["Proxy_IP"];
|
||||
ProxyPort = FunctionParameters["Proxy_Port"];
|
||||
ProxyLogin = FunctionParameters["Proxy_User"];
|
||||
ProxyPassword = FunctionParameters["Proxy_Password"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("addr", ProxyAddress);
|
||||
Options.Insert("port", ProxyPort);
|
||||
Options.Insert("type", ProxyType);
|
||||
Options.Insert("login", ProxyLogin);
|
||||
Options.Insert("pass", ProxyPassword);
|
||||
|
||||
ProxySettings = OPI_TestDataRetrieval.ExecuteTestCLI("ssh", "GetProxySettings", Options);
|
||||
|
||||
EndIf;
|
||||
|
||||
Connection = OPI_SSH.CreateConnection(SSHSettings, ProxySettings);
|
||||
|
||||
If OPI_SSH.IsConnector(Connection) Then
|
||||
Options = New Structure;
|
||||
Options.Insert("conn", Connection);
|
||||
Options.Insert("comm", "whoami");
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ssh", "ExecuteCommand", Options);
|
||||
Else
|
||||
Result = Connection; // Error of connection
|
||||
EndIf;
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SSH", "ExecuteCommand", Postfix);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure SSH_GetConnectionConfiguration(FunctionParameters)
|
||||
|
||||
Postfix = FunctionParameters["Postfix"]; // SKIP
|
||||
|
||||
Host = FunctionParameters["SSH_Host"];
|
||||
Port = FunctionParameters["SSH_Port"];
|
||||
|
||||
UseProxy = True;
|
||||
ProxySettings = Undefined;
|
||||
AuthorizationType = "By login and password";
|
||||
|
||||
UseProxy = FunctionParameters["Proxy"]; // SKIP
|
||||
AuthorizationType = FunctionParameters["AuthType"]; // SKIP
|
||||
|
||||
If AuthorizationType = "By login and password" Then
|
||||
|
||||
Login = FunctionParameters["SSH_User"];
|
||||
Password = FunctionParameters["SSH_Password"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("host", Host);
|
||||
Options.Insert("port", Port);
|
||||
Options.Insert("user", Login);
|
||||
Options.Insert("pass", Password);
|
||||
|
||||
SSHSettings = OPI_TestDataRetrieval.ExecuteTestCLI("ssh", "GetSettingsLoginPassword", Options);
|
||||
|
||||
ElsIf AuthorizationType = "By key" Then
|
||||
|
||||
Login = FunctionParameters["SSH_User"];
|
||||
PrivateKey = "./ssh_key";
|
||||
PublicKey = "./ssh_key.pub";
|
||||
|
||||
PrivateKey = FunctionParameters["SSH_Key"]; // SKIP
|
||||
PublicKey = FunctionParameters["SSH_Pub"]; // SKIP
|
||||
|
||||
SSHSettings = OPI_SSH.GetSettingsPrivateKey(Host, Port, Login, PrivateKey, PublicKey);
|
||||
|
||||
ElsIf AuthorizationType = "Keyboard interactive" Then
|
||||
|
||||
Login = FunctionParameters["SSH_User"];
|
||||
Password = FunctionParameters["SSH_Password"];
|
||||
|
||||
AnswersArray = New Array;
|
||||
AnswersArray.Add(Password);
|
||||
|
||||
Port = FunctionParameters["SSH_PortKI"]; // SKIP
|
||||
|
||||
SSHSettings = OPI_SSH.GetSettingsKI(Host, Port, Login, AnswersArray);
|
||||
|
||||
Else
|
||||
|
||||
Login = FunctionParameters["SSH_User"];
|
||||
SSHSettings = OPI_SSH.GetSettingsViaAgent(Host, Port, Login);
|
||||
|
||||
EndIf;
|
||||
|
||||
If UseProxy Then
|
||||
|
||||
ProxyType = FunctionParameters["Proxy_Type"]; // http, socks5, socks4
|
||||
|
||||
ProxyAddress = FunctionParameters["Proxy_IP"];
|
||||
ProxyPort = FunctionParameters["Proxy_Port"];
|
||||
ProxyLogin = FunctionParameters["Proxy_User"];
|
||||
ProxyPassword = FunctionParameters["Proxy_Password"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("addr", ProxyAddress);
|
||||
Options.Insert("port", ProxyPort);
|
||||
Options.Insert("type", ProxyType);
|
||||
Options.Insert("login", ProxyLogin);
|
||||
Options.Insert("pass", ProxyPassword);
|
||||
|
||||
ProxySettings = OPI_TestDataRetrieval.ExecuteTestCLI("ssh", "GetProxySettings", Options);
|
||||
|
||||
EndIf;
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("set", SSHSettings);
|
||||
Options.Insert("proxy", ProxySettings);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ssh", "GetConnectionConfiguration", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SSH", "GetConnectionConfiguration", Postfix);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("conn", Result);
|
||||
Options.Insert("comm", "whoami");
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ssh", "ExecuteCommand", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SSH", "GetConnectionConfiguration", "Check, " + Postfix);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure SSH_CloseConnection(FunctionParameters)
|
||||
|
||||
Postfix = FunctionParameters["Postfix"]; // SKIP
|
||||
|
||||
Host = FunctionParameters["SSH_Host"];
|
||||
Port = FunctionParameters["SSH_Port"];
|
||||
|
||||
UseProxy = True;
|
||||
ProxySettings = Undefined;
|
||||
AuthorizationType = "By login and password";
|
||||
|
||||
UseProxy = FunctionParameters["Proxy"]; // SKIP
|
||||
AuthorizationType = FunctionParameters["AuthType"]; // SKIP
|
||||
|
||||
If AuthorizationType = "By login and password" Then
|
||||
|
||||
Login = FunctionParameters["SSH_User"];
|
||||
Password = FunctionParameters["SSH_Password"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("host", Host);
|
||||
Options.Insert("port", Port);
|
||||
Options.Insert("user", Login);
|
||||
Options.Insert("pass", Password);
|
||||
|
||||
SSHSettings = OPI_TestDataRetrieval.ExecuteTestCLI("ssh", "GetSettingsLoginPassword", Options);
|
||||
|
||||
ElsIf AuthorizationType = "By key" Then
|
||||
|
||||
Login = FunctionParameters["SSH_User"];
|
||||
PrivateKey = "./ssh_key";
|
||||
PublicKey = "./ssh_key.pub";
|
||||
|
||||
PrivateKey = FunctionParameters["SSH_Key"]; // SKIP
|
||||
PublicKey = FunctionParameters["SSH_Pub"]; // SKIP
|
||||
|
||||
SSHSettings = OPI_SSH.GetSettingsPrivateKey(Host, Port, Login, PrivateKey, PublicKey);
|
||||
|
||||
ElsIf AuthorizationType = "Keyboard interactive" Then
|
||||
|
||||
Login = FunctionParameters["SSH_User"];
|
||||
Password = FunctionParameters["SSH_Password"];
|
||||
|
||||
AnswersArray = New Array;
|
||||
AnswersArray.Add(Password);
|
||||
|
||||
Port = FunctionParameters["SSH_PortKI"]; // SKIP
|
||||
|
||||
SSHSettings = OPI_SSH.GetSettingsKI(Host, Port, Login, AnswersArray);
|
||||
|
||||
Else
|
||||
|
||||
Login = FunctionParameters["SSH_User"];
|
||||
SSHSettings = OPI_SSH.GetSettingsViaAgent(Host, Port, Login);
|
||||
|
||||
EndIf;
|
||||
|
||||
If UseProxy Then
|
||||
|
||||
ProxyType = FunctionParameters["Proxy_Type"]; // http, socks5, socks4
|
||||
|
||||
ProxyAddress = FunctionParameters["Proxy_IP"];
|
||||
ProxyPort = FunctionParameters["Proxy_Port"];
|
||||
ProxyLogin = FunctionParameters["Proxy_User"];
|
||||
ProxyPassword = FunctionParameters["Proxy_Password"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("addr", ProxyAddress);
|
||||
Options.Insert("port", ProxyPort);
|
||||
Options.Insert("type", ProxyType);
|
||||
Options.Insert("login", ProxyLogin);
|
||||
Options.Insert("pass", ProxyPassword);
|
||||
|
||||
ProxySettings = OPI_TestDataRetrieval.ExecuteTestCLI("ssh", "GetProxySettings", Options);
|
||||
|
||||
EndIf;
|
||||
|
||||
Connection = OPI_SSH.CreateConnection(SSHSettings, ProxySettings);
|
||||
|
||||
If OPI_SSH.IsConnector(Connection) Then
|
||||
Result = OPI_SSH.CloseConnection(Connection);
|
||||
Else
|
||||
Result = Connection; // Error of connection
|
||||
EndIf;
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SSH", "CloseConnection", Postfix);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure SSH_IsConnector(FunctionParameters)
|
||||
|
||||
Postfix = FunctionParameters["Postfix"]; // SKIP
|
||||
|
||||
Host = FunctionParameters["SSH_Host"];
|
||||
Port = FunctionParameters["SSH_Port"];
|
||||
|
||||
UseProxy = True;
|
||||
ProxySettings = Undefined;
|
||||
AuthorizationType = "By login and password";
|
||||
|
||||
UseProxy = FunctionParameters["Proxy"]; // SKIP
|
||||
AuthorizationType = FunctionParameters["AuthType"]; // SKIP
|
||||
|
||||
If AuthorizationType = "By login and password" Then
|
||||
|
||||
Login = FunctionParameters["SSH_User"];
|
||||
Password = FunctionParameters["SSH_Password"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("host", Host);
|
||||
Options.Insert("port", Port);
|
||||
Options.Insert("user", Login);
|
||||
Options.Insert("pass", Password);
|
||||
|
||||
SSHSettings = OPI_TestDataRetrieval.ExecuteTestCLI("ssh", "GetSettingsLoginPassword", Options);
|
||||
|
||||
ElsIf AuthorizationType = "By key" Then
|
||||
|
||||
Login = FunctionParameters["SSH_User"];
|
||||
PrivateKey = "./ssh_key";
|
||||
PublicKey = "./ssh_key.pub";
|
||||
|
||||
PrivateKey = FunctionParameters["SSH_Key"]; // SKIP
|
||||
PublicKey = FunctionParameters["SSH_Pub"]; // SKIP
|
||||
|
||||
SSHSettings = OPI_SSH.GetSettingsPrivateKey(Host, Port, Login, PrivateKey, PublicKey);
|
||||
|
||||
ElsIf AuthorizationType = "Keyboard interactive" Then
|
||||
|
||||
Login = FunctionParameters["SSH_User"];
|
||||
Password = FunctionParameters["SSH_Password"];
|
||||
|
||||
AnswersArray = New Array;
|
||||
AnswersArray.Add(Password);
|
||||
|
||||
Port = 2223; // SKIP
|
||||
|
||||
SSHSettings = OPI_SSH.GetSettingsKI(Host, Port, Login, AnswersArray);
|
||||
|
||||
Else
|
||||
|
||||
Login = FunctionParameters["SSH_User"];
|
||||
SSHSettings = OPI_SSH.GetSettingsViaAgent(Host, Port, Login);
|
||||
|
||||
EndIf;
|
||||
|
||||
If UseProxy Then
|
||||
|
||||
ProxyType = FunctionParameters["Proxy_Type"]; // http, socks5, socks4
|
||||
|
||||
ProxyAddress = FunctionParameters["Proxy_IP"];
|
||||
ProxyPort = FunctionParameters["Proxy_Port"];
|
||||
ProxyLogin = FunctionParameters["Proxy_User"];
|
||||
ProxyPassword = FunctionParameters["Proxy_Password"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("addr", ProxyAddress);
|
||||
Options.Insert("port", ProxyPort);
|
||||
Options.Insert("type", ProxyType);
|
||||
Options.Insert("login", ProxyLogin);
|
||||
Options.Insert("pass", ProxyPassword);
|
||||
|
||||
ProxySettings = OPI_TestDataRetrieval.ExecuteTestCLI("ssh", "GetProxySettings", Options);
|
||||
|
||||
EndIf;
|
||||
|
||||
Connection = OPI_SSH.CreateConnection(SSHSettings, ProxySettings);
|
||||
Result = OPI_SSH.IsConnector(Connection);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SSH", "IsConnector", Postfix);
|
||||
|
||||
Result = OPI_SSH.IsConnector("a");
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SSH", "IsConnector", "Error, " + Postfix);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure SSH_GetSettingsLoginPassword(FunctionParameters)
|
||||
|
||||
Postfix = FunctionParameters["Postfix"]; // SKIP
|
||||
|
||||
Host = FunctionParameters["SSH_Host"];
|
||||
Port = FunctionParameters["SSH_Port"];
|
||||
Login = FunctionParameters["SSH_User"];
|
||||
Password = FunctionParameters["SSH_Password"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("host", Host);
|
||||
Options.Insert("port", Port);
|
||||
Options.Insert("user", Login);
|
||||
Options.Insert("pass", Password);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ssh", "GetSettingsLoginPassword", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SSH", "GetSettingsLoginPassword", Postfix);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure SSH_GetSettingsPrivateKey(FunctionParameters)
|
||||
|
||||
Postfix = FunctionParameters["Postfix"]; // SKIP
|
||||
|
||||
Host = FunctionParameters["SSH_Host"];
|
||||
Port = FunctionParameters["SSH_Port"];
|
||||
Login = FunctionParameters["SSH_User"];
|
||||
PrivateKey = "./ssh_key";
|
||||
PublicKey = "./ssh_key.pub";
|
||||
|
||||
PrivateKey = FunctionParameters["SSH_Key"]; // SKIP
|
||||
PublicKey = FunctionParameters["SSH_Pub"]; // SKIP
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("host", Host);
|
||||
Options.Insert("port", Port);
|
||||
Options.Insert("user", Login);
|
||||
Options.Insert("key", PrivateKey);
|
||||
Options.Insert("pub", PublicKey);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ssh", "GetSettingsPrivateKey", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SSH", "GetSettingsPrivateKey", Postfix);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure SSH_GetSettingsViaAgent(FunctionParameters)
|
||||
|
||||
Postfix = FunctionParameters["Postfix"]; // SKIP
|
||||
|
||||
Host = FunctionParameters["SSH_Host"];
|
||||
Port = FunctionParameters["SSH_Port"];
|
||||
Login = FunctionParameters["SSH_User"];
|
||||
Options = New Structure;
|
||||
Options.Insert("host", Host);
|
||||
Options.Insert("port", Port);
|
||||
Options.Insert("user", Login);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ssh", "GetSettingsViaAgent", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SSH", "GetSettingsViaAgent", Postfix);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure SSH_GetSettingsKI(FunctionParameters)
|
||||
|
||||
Postfix = FunctionParameters["Postfix"]; // SKIP
|
||||
|
||||
Host = FunctionParameters["SSH_Host"];
|
||||
Port = FunctionParameters["SSH_Port"];
|
||||
Login = FunctionParameters["SSH_User"];
|
||||
Password = FunctionParameters["SSH_Password"];
|
||||
|
||||
AnswersArray = New Array;
|
||||
AnswersArray.Add("yes");
|
||||
AnswersArray.Add(Password);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("host", Host);
|
||||
Options.Insert("port", Port);
|
||||
Options.Insert("user", Login);
|
||||
Options.Insert("prompts", AnswersArray);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ssh", "GetSettingsKI", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SSH", "GetSettingsKI", Postfix);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure SSH_GetProxySettings(FunctionParameters)
|
||||
|
||||
Postfix = FunctionParameters["Postfix"]; // SKIP
|
||||
|
||||
ProxyType = FunctionParameters["Proxy_Type"]; // http, socks5, socks4
|
||||
|
||||
ProxyAddress = FunctionParameters["Proxy_IP"];
|
||||
ProxyPort = FunctionParameters["Proxy_Port"];
|
||||
ProxyLogin = FunctionParameters["Proxy_User"];
|
||||
ProxyPassword = FunctionParameters["Proxy_Password"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("addr", ProxyAddress);
|
||||
Options.Insert("port", ProxyPort);
|
||||
Options.Insert("type", ProxyType);
|
||||
Options.Insert("login", ProxyLogin);
|
||||
Options.Insert("pass", ProxyPassword);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("ssh", "GetProxySettings", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "SSH", "GetProxySettings", Postfix);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // SSH
|
||||
|
||||
#EndRegion // AtomicTests
|
||||
|
||||
#EndRegion // Private
|
||||
|
||||
#Region Alternate
|
||||
|
||||
Procedure SShell_ОсновныеМетоды() Export
|
||||
SShell_CommonMethods();
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
+984
@@ -0,0 +1,984 @@
|
||||
// OneScript: ./OInt/tests/Modules/OPItc_Slack.os
|
||||
|
||||
// MIT License
|
||||
|
||||
// Copyright (c) 2023-2026 Anton Tsitavets
|
||||
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
|
||||
// The above copyright notice and +this permission notice shall be included in all
|
||||
// copies or substantial portions of the Software.
|
||||
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// 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
|
||||
// SOFTWARE.
|
||||
|
||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||
|
||||
// Test suite for YAxUnit
|
||||
|
||||
// BSLLS:Typo-off
|
||||
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
||||
// BSLLS:IncorrectLineBreak-off
|
||||
// BSLLS:UsingServiceTag-off
|
||||
// BSLLS:UnusedParameters-off
|
||||
// BSLLS:DuplicateStringLiteral-off
|
||||
// BSLLS:UsingHardcodePath-off
|
||||
// BSLLS:UnusedLocalVariable-off
|
||||
// BSLLS:DeprecatedMessage-off
|
||||
// BSLLS:LineLength-off
|
||||
// BSLLS:MagicNumber-off
|
||||
// BSLLS:CommentedCode-off
|
||||
// BSLLS:AssignAliasFieldsInQuery-off
|
||||
// BSLLS:UsingHardcodeNetworkAddress-off
|
||||
// BSLLS:UnreachableCode-off
|
||||
// BSLLS:UnusedLocalMethod-off
|
||||
// BSLLS:NestedFunctionInParameters-off
|
||||
// BSLLS:MissingTemporaryFileDeletion-off
|
||||
// BSLLS:UsingSynchronousCalls-off
|
||||
// BSLLS:MagicNumber-off
|
||||
// BSLLS:MagicDate-off
|
||||
// BSLLS:MissingParameterDescription-off
|
||||
// BSLLS:NumberOfOptionalParams-off
|
||||
// BSLLS:MethodSize-off
|
||||
// BSLLS:NestedConstructorsInStructureDeclaration-off
|
||||
// BSLLS:NumberOfValuesInStructureConstructor-off
|
||||
// BSLLS:UsingHardcodeSecretInformation-off
|
||||
// BSLLS:SpaceAtStartComment-off
|
||||
|
||||
//@skip-check undefined-variable
|
||||
//@skip-check wrong-string-literal-content
|
||||
//@skip-check module-structure-top-region
|
||||
//@skip-check module-structure-method-in-regions
|
||||
//@skip-check undefined-function-or-procedure
|
||||
//@skip-check wrong-string-literal-content
|
||||
//@skip-check module-unused-local-variable
|
||||
//@skip-check bsl-legacy-check-string-literal
|
||||
//@skip-check bsl-legacy-check-method-for-statements-after-return
|
||||
//@skip-check missing-temporary-file-deletion
|
||||
//@skip-check module-unused-method
|
||||
|
||||
#Use "../../tools/main"
|
||||
#Use "../../tools/http"
|
||||
#Use "../../api"
|
||||
#Use asserts
|
||||
#Use "internal"
|
||||
|
||||
|
||||
// For YAxUnit
|
||||
|
||||
Procedure ИсполняемыеСценарии() Export
|
||||
|
||||
OPI_TestDataRetrieval.FormYAXTests("Slack");
|
||||
|
||||
EndProcedure
|
||||
|
||||
// For Asserts
|
||||
|
||||
Function ПолучитьСписокТестов(UnitTesting) Export
|
||||
|
||||
Return OPI_TestDataRetrieval.FormAssertsTests("Slack");
|
||||
|
||||
EndFunction
|
||||
|
||||
#Region Internal
|
||||
|
||||
#Region RunnableTests
|
||||
|
||||
#Region Slack
|
||||
|
||||
Procedure SlackGetData() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Slack_Token", TestParameters);
|
||||
|
||||
Slack_GetBotInformation(TestParameters);
|
||||
Slack_GetUserList(TestParameters);
|
||||
Slack_GetWorkspaceList(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_SendDeleteMessage() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Slack_Token" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Slack_Channel", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Picture" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Slack_User" , TestParameters);
|
||||
|
||||
Slack_SendMessage(TestParameters);
|
||||
Slack_EditMessage(TestParameters);
|
||||
Slack_GetMessageReplyList(TestParameters);
|
||||
Slack_GetMessageLink(TestParameters);
|
||||
Slack_DeleteMessage(TestParameters);
|
||||
Slack_SendEphemeralMessage(TestParameters);
|
||||
Slack_GetDelayedMessageList(TestParameters);
|
||||
Slack_GenerateImageBlock(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_CreateArchiveChannel() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Slack_Token", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Slack_User" , TestParameters);
|
||||
|
||||
Slack_CreateChannel(TestParameters);
|
||||
Slack_SetChannelTopic(TestParameters);
|
||||
Slack_SetChannelGoal(TestParameters);
|
||||
Slack_GetChannel(TestParameters);
|
||||
Slack_InviteUsersToChannel(TestParameters);
|
||||
Slack_KickUserFromChannel(TestParameters);
|
||||
Slack_GetChannelHistory(TestParameters);
|
||||
Slack_GetChannelUserList(TestParameters);
|
||||
Slack_LeaveChannel(TestParameters);
|
||||
Slack_JoinChannel(TestParameters);
|
||||
Slack_RenameChannel(TestParameters);
|
||||
Slack_ArchiveChannel(TestParameters);
|
||||
Slack_GetChannelList(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_OpenCloseDialog() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Slack_Token", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Slack_User" , TestParameters);
|
||||
|
||||
Slack_OpenDialog(TestParameters);
|
||||
Slack_CloseDialog(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_UploadDeleteFile() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Slack_Token" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Slack_Channel", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Document" , TestParameters);
|
||||
|
||||
Slack_GetFilesList(TestParameters);
|
||||
Slack_UploadFile(TestParameters);
|
||||
Slack_MakeFilePublic(TestParameters);
|
||||
Slack_MakeFilePrivate(TestParameters);
|
||||
Slack_GetFileData(TestParameters);
|
||||
Slack_DeleteFile(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_UploadDeleteExternalFile() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Slack_Token" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Slack_Channel", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Document" , TestParameters);
|
||||
|
||||
Slack_GetExternalFileList(TestParameters);
|
||||
Slack_AddExternalFile(TestParameters);
|
||||
Slack_GetExternalFile(TestParameters);
|
||||
Slack_SendExternalFile(TestParameters);
|
||||
Slack_DeleteExternalFile(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // Slack
|
||||
|
||||
#EndRegion // RunnableTests
|
||||
|
||||
#EndRegion // Internal
|
||||
|
||||
#Region Private
|
||||
|
||||
#Region AtomicTests
|
||||
|
||||
#Region Slack
|
||||
|
||||
Procedure Slack_GetBotInformation(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "GetBotInformation", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "GetBotInformation");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_GetUserList(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "GetUserList", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "GetUserList");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_GetWorkspaceList(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "GetWorkspaceList", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "GetWorkspaceList");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_SendMessage(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
Channel = FunctionParameters["Slack_Channel"];
|
||||
|
||||
// Text
|
||||
|
||||
Text = "TestMessage1";
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("channel", Channel);
|
||||
Options.Insert("text", Text);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "SendMessage", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "SendMessage", , FunctionParameters, Text, Channel); // SKIP
|
||||
|
||||
// With attachments (picture block in the example)
|
||||
|
||||
Text = "Message with picture";
|
||||
Image = FunctionParameters["Picture"];
|
||||
BlockArray = New Array;
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("picture", Image);
|
||||
Options.Insert("alt", "Image");
|
||||
|
||||
Block = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "GenerateImageBlock", Options);
|
||||
BlockArray.Add(Block);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("channel", Channel);
|
||||
Options.Insert("text", Text);
|
||||
Options.Insert("blocks", BlockArray);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "SendMessage", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "SendMessage", "Image", FunctionParameters, Text, Channel); // SKIP
|
||||
|
||||
// Sheduled
|
||||
|
||||
Text = "Sheduled message";
|
||||
Hour = 3600;
|
||||
Day = 24;
|
||||
|
||||
SendingDate = OPI_Tools.GetCurrentDate() + (Day * Hour);
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("channel", Channel);
|
||||
Options.Insert("text", Text);
|
||||
Options.Insert("date", SendingDate);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "SendMessage", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "SendMessage", "Sheduled", FunctionParameters, Text, Channel);
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
Timestamp = Result["scheduled_message_id"];
|
||||
|
||||
OPI_Slack.DeleteMessage(Token, Channel, Timestamp, True);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_GenerateImageBlock(FunctionParameters)
|
||||
|
||||
Image = FunctionParameters["Picture"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("picture", Image);
|
||||
Options.Insert("alt", "Image");
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "GenerateImageBlock", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "GenerateImageBlock");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_EditMessage(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
Channel = FunctionParameters["Slack_Channel"];
|
||||
Timestamp = FunctionParameters["Slack_MessageTS"];
|
||||
|
||||
Text = "TestMessage2";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("channel", Channel);
|
||||
Options.Insert("stamp", Timestamp);
|
||||
Options.Insert("text", Text);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "EditMessage", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "EditMessage", , Text, Channel);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_GetMessageReplyList(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
Channel = FunctionParameters["Slack_Channel"];
|
||||
Timestamp = FunctionParameters["Slack_MessageTS"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("channel", Channel);
|
||||
Options.Insert("stamp", Timestamp);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "GetMessageReplyList", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "GetMessageReplyList");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_GetMessageLink(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
Channel = FunctionParameters["Slack_Channel"];
|
||||
Timestamp = FunctionParameters["Slack_MessageTS"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("channel", Channel);
|
||||
Options.Insert("stamp", Timestamp);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "GetMessageLink", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "GetMessageLink", , Channel);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_DeleteMessage(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
Channel = FunctionParameters["Slack_Channel"];
|
||||
Timestamp = FunctionParameters["Slack_MessageTS"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("channel", Channel);
|
||||
Options.Insert("stamp", Timestamp);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "DeleteMessage", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "DeleteMessage");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_SendEphemeralMessage(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
Channel = FunctionParameters["Slack_Channel"];
|
||||
User = FunctionParameters["Slack_User"];
|
||||
Image = FunctionParameters["Picture"];
|
||||
Text = "Ephemeral message";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("picture", Image);
|
||||
Options.Insert("alt", "Image");
|
||||
|
||||
Block = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "GenerateImageBlock", Options);
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("channel", Channel);
|
||||
Options.Insert("text", Text);
|
||||
Options.Insert("user", User);
|
||||
Options.Insert("blocks", Block);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "SendEphemeralMessage", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "SendEphemeralMessage");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_GetDelayedMessageList(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
Channel = FunctionParameters["Slack_Channel"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("channel", Channel);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "GetDelayedMessageList", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "GetDelayedMessageList");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_CreateChannel(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
Name = "testconv" + String(New UUID);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("title", Name);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "CreateChannel", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "CreateChannel", , FunctionParameters, Name);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_SetChannelTopic(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
Channel = FunctionParameters["Slack_NewChannel"];
|
||||
Topic = "TestTopic";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("channel", Channel);
|
||||
Options.Insert("theme", Topic);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "SetChannelTopic", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "SetChannelTopic", , Topic);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_SetChannelGoal(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
Channel = FunctionParameters["Slack_NewChannel"];
|
||||
Purpose = "TestGoal";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("channel", Channel);
|
||||
Options.Insert("purpose", Purpose);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "SetChannelGoal", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "SetChannelGoal");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_GetChannel(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
Channel = FunctionParameters["Slack_NewChannel"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("channel", Channel);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "GetChannel", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "GetChannel", , FunctionParameters["Slack_NewChannelName"]);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_InviteUsersToChannel(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
Channel = FunctionParameters["Slack_NewChannel"];
|
||||
User = FunctionParameters["Slack_User"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("channel", Channel);
|
||||
Options.Insert("users", User);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "InviteUsersToChannel", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "InviteUsersToChannel", , FunctionParameters["Slack_NewChannelName"]);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_KickUserFromChannel(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
Channel = FunctionParameters["Slack_NewChannel"];
|
||||
User = FunctionParameters["Slack_User"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("channel", Channel);
|
||||
Options.Insert("user", User);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "KickUserFromChannel", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "KickUserFromChannel");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_GetChannelHistory(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
Channel = FunctionParameters["Slack_NewChannel"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("channel", Channel);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "GetChannelHistory", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "GetChannelHistory");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_GetChannelUserList(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
Channel = FunctionParameters["Slack_NewChannel"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("channel", Channel);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "GetChannelUserList", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "GetChannelUserList");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_LeaveChannel(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
Channel = FunctionParameters["Slack_NewChannel"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("channel", Channel);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "LeaveChannel", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "LeaveChannel");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_JoinChannel(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
Channel = FunctionParameters["Slack_NewChannel"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("channel", Channel);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "JoinChannel", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "JoinChannel", , FunctionParameters["Slack_NewChannelName"]);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_RenameChannel(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
Channel = FunctionParameters["Slack_NewChannel"];
|
||||
Name = "testconv" + String(New UUID);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("channel", Channel);
|
||||
Options.Insert("title", Name);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "RenameChannel", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "RenameChannel", , Name);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_ArchiveChannel(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
Channel = FunctionParameters["Slack_NewChannel"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("channel", Channel);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "ArchiveChannel", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "ArchiveChannel");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_GetChannelList(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "GetChannelList", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "GetChannelList");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_OpenDialog(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
User = FunctionParameters["Slack_User"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("users", User);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "OpenDialog", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "OpenDialog", , FunctionParameters);
|
||||
|
||||
Channel = Result["channel"]["id"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("channel", Channel);
|
||||
Options.Insert("text", "Test dialog");
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "SendMessage", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "OpenDialog", "Message", FunctionParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_CloseDialog(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
Dialog = FunctionParameters["Slack_Dialog"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("conv", Dialog);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "CloseDialog", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "CloseDialog");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_GetFilesList(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
Channel = FunctionParameters["Slack_Channel"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("channel", Channel);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "GetFilesList", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "GetFilesList");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "GetFilesList", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "GetFilesList", "All");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_UploadFile(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
Channel = FunctionParameters["Slack_Channel"];
|
||||
File = FunctionParameters["Document"]; // URL, Binary Data or File path
|
||||
|
||||
FileName = "megadoc.docx";
|
||||
Title = "NewFile";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("file", File);
|
||||
Options.Insert("filename", FileName);
|
||||
Options.Insert("title", Title);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "UploadFile", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "UploadFile", , FunctionParameters, FileName); // SKIP
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "MakeFilePublic"); // SKIP
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "MakeFilePrivate"); // SKIP
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("file", File);
|
||||
Options.Insert("filename", FileName);
|
||||
Options.Insert("title", Title);
|
||||
Options.Insert("channel", Channel);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "UploadFile", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "UploadFile", "Channel", FunctionParameters, FileName);
|
||||
OPI_Slack.DeleteFile(FunctionParameters["Slack_Token"], Result["files"][0]["id"]);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_MakeFilePublic(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
FileID = FunctionParameters["Slack_FileID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("fileid", FileID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "MakeFilePublic", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "MakeFilePublic", "No record");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_MakeFilePrivate(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
FileID = FunctionParameters["Slack_FileID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("fileid", FileID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "MakeFilePrivate", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "MakeFilePrivate", "No record");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_GetFileData(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
FileID = FunctionParameters["Slack_FileID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("fileid", FileID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "GetFileData", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "GetFileData", , "megadoc.docx");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_DeleteFile(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
FileID = FunctionParameters["Slack_FileID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("fileid", FileID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "DeleteFile", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "DeleteFile");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_GetExternalFileList(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
Channel = FunctionParameters["Slack_Channel"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("channel", Channel);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "GetExternalFileList", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "GetExternalFileList");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "GetExternalFileList", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "GetExternalFileList", "All");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_AddExternalFile(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
Title = "NewFile";
|
||||
File = FunctionParameters["Document"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("url", File);
|
||||
Options.Insert("title", Title);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "AddExternalFile", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "AddExternalFile", , FunctionParameters, Title);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_GetExternalFile(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
FileID = FunctionParameters["Slack_ExtFileID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("fileid", FileID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "GetExternalFile", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "GetExternalFile");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_SendExternalFile(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
Channel = FunctionParameters["Slack_Channel"];
|
||||
FileID = FunctionParameters["Slack_ExtFileID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("fileid", FileID);
|
||||
Options.Insert("channels", Channel);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "SendExternalFile", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "SendExternalFile");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Slack_DeleteExternalFile(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Slack_Token"];
|
||||
FileID = FunctionParameters["Slack_ExtFileID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("fileid", FileID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("slack", "DeleteExternalFile", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Slack", "DeleteExternalFile");
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // Slack
|
||||
|
||||
#EndRegion // AtomicTests
|
||||
|
||||
#EndRegion // Private
|
||||
|
||||
#Region Alternate
|
||||
|
||||
Procedure Слак_ПолучитьИнформацию() Export
|
||||
SlackGetData();
|
||||
EndProcedure
|
||||
|
||||
Procedure Слак_ОтправитьУдалитьСообщение() Export
|
||||
Slack_SendDeleteMessage();
|
||||
EndProcedure
|
||||
|
||||
Procedure Слак_СоздатьАрхивироватьКанал() Export
|
||||
Slack_CreateArchiveChannel();
|
||||
EndProcedure
|
||||
|
||||
Procedure Слак_ОткрытьЗакрытьДиалог() Export
|
||||
Slack_OpenCloseDialog();
|
||||
EndProcedure
|
||||
|
||||
Procedure Слак_ЗагрузитьУдалитьФайл() Export
|
||||
Slack_UploadDeleteFile();
|
||||
EndProcedure
|
||||
|
||||
Procedure Слак_ЗагрузитьУдалитьВФ() Export
|
||||
Slack_UploadDeleteExternalFile();
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
+839
@@ -0,0 +1,839 @@
|
||||
// OneScript: ./OInt/tests/Modules/OPItc_TCP.os
|
||||
|
||||
// MIT License
|
||||
|
||||
// Copyright (c) 2023-2026 Anton Tsitavets
|
||||
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
|
||||
// The above copyright notice and +this permission notice shall be included in all
|
||||
// copies or substantial portions of the Software.
|
||||
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// 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
|
||||
// SOFTWARE.
|
||||
|
||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||
|
||||
// Test suite for YAxUnit
|
||||
|
||||
// BSLLS:Typo-off
|
||||
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
||||
// BSLLS:IncorrectLineBreak-off
|
||||
// BSLLS:UsingServiceTag-off
|
||||
// BSLLS:UnusedParameters-off
|
||||
// BSLLS:DuplicateStringLiteral-off
|
||||
// BSLLS:UsingHardcodePath-off
|
||||
// BSLLS:UnusedLocalVariable-off
|
||||
// BSLLS:DeprecatedMessage-off
|
||||
// BSLLS:LineLength-off
|
||||
// BSLLS:MagicNumber-off
|
||||
// BSLLS:CommentedCode-off
|
||||
// BSLLS:AssignAliasFieldsInQuery-off
|
||||
// BSLLS:UsingHardcodeNetworkAddress-off
|
||||
// BSLLS:UnreachableCode-off
|
||||
// BSLLS:UnusedLocalMethod-off
|
||||
// BSLLS:NestedFunctionInParameters-off
|
||||
// BSLLS:MissingTemporaryFileDeletion-off
|
||||
// BSLLS:UsingSynchronousCalls-off
|
||||
// BSLLS:MagicNumber-off
|
||||
// BSLLS:MagicDate-off
|
||||
// BSLLS:MissingParameterDescription-off
|
||||
// BSLLS:NumberOfOptionalParams-off
|
||||
// BSLLS:MethodSize-off
|
||||
// BSLLS:NestedConstructorsInStructureDeclaration-off
|
||||
// BSLLS:NumberOfValuesInStructureConstructor-off
|
||||
// BSLLS:UsingHardcodeSecretInformation-off
|
||||
// BSLLS:SpaceAtStartComment-off
|
||||
|
||||
//@skip-check undefined-variable
|
||||
//@skip-check wrong-string-literal-content
|
||||
//@skip-check module-structure-top-region
|
||||
//@skip-check module-structure-method-in-regions
|
||||
//@skip-check undefined-function-or-procedure
|
||||
//@skip-check wrong-string-literal-content
|
||||
//@skip-check module-unused-local-variable
|
||||
//@skip-check bsl-legacy-check-string-literal
|
||||
//@skip-check bsl-legacy-check-method-for-statements-after-return
|
||||
//@skip-check missing-temporary-file-deletion
|
||||
//@skip-check module-unused-method
|
||||
|
||||
#Use "../../tools/main"
|
||||
#Use "../../tools/http"
|
||||
#Use "../../api"
|
||||
#Use asserts
|
||||
#Use "internal"
|
||||
|
||||
|
||||
// For YAxUnit
|
||||
|
||||
Procedure ИсполняемыеСценарии() Export
|
||||
|
||||
OPI_TestDataRetrieval.FormYAXTests("TCP");
|
||||
|
||||
EndProcedure
|
||||
|
||||
// For Asserts
|
||||
|
||||
Function ПолучитьСписокТестов(UnitTesting) Export
|
||||
|
||||
Return OPI_TestDataRetrieval.FormAssertsTests("TCP");
|
||||
|
||||
EndFunction
|
||||
|
||||
#Region Internal
|
||||
|
||||
#Region RunnableTests
|
||||
|
||||
#Region TCP
|
||||
|
||||
Procedure TC_Client() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("TCP_Address" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("TCP_AddressTLS", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Proxy_User" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Proxy_Password", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Socks5_IP" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Socks5_Port" , TestParameters);
|
||||
|
||||
TCP_CreateConnection(TestParameters);
|
||||
TCP_CloseConnection(TestParameters);
|
||||
TCP_ReadBinaryData(TestParameters);
|
||||
TCP_SendBinaryData(TestParameters);
|
||||
TCP_ReadLine(TestParameters);
|
||||
TCP_SendLine(TestParameters);
|
||||
TCP_ProcessRequest(TestParameters);
|
||||
TCP_GetTLSSettings(TestParameters);
|
||||
TCP_GetLastError(TestParameters);
|
||||
TCP_GetProxySettings(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure TC_Server() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
|
||||
TCP_StartServer(TestParameters);
|
||||
TCP_StopServer(TestParameters);
|
||||
TCP_GetNextConnectionData(TestParameters);
|
||||
TCP_GetConnectionData(TestParameters);
|
||||
TCP_SendData(TestParameters);
|
||||
TCP_CloseIncomingConnection(TestParameters);
|
||||
TCP_CompleteSend(TestParameters);
|
||||
TCP_FinishReceiving(TestParameters);
|
||||
TCP_GetConnectionList(TestParameters);
|
||||
TCP_IsServerObject(TestParameters);
|
||||
TCP_GetLog(TestParameters);
|
||||
TCP_GetLoggingSettings(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // TCP
|
||||
|
||||
#EndRegion // RunnableTests
|
||||
|
||||
#EndRegion // Internal
|
||||
|
||||
#Region Private
|
||||
|
||||
#Region AtomicTests
|
||||
|
||||
#Region TCP
|
||||
|
||||
Procedure TCP_CreateConnection(FunctionParameters)
|
||||
|
||||
Address = FunctionParameters["TCP_Address"];
|
||||
Connection = OPI_TCP.CreateConnection(Address);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Connection, "TCP", "CreateConnection"); // SKIP
|
||||
|
||||
OPI_TCP.CloseConnection(Connection);
|
||||
|
||||
Address = "tcpbin.com:4243";
|
||||
Options = New Structure;
|
||||
Options.Insert("trust", Истина);
|
||||
|
||||
Tls = OPI_TestDataRetrieval.ExecuteTestCLI("tcp", "GetTLSSettings", Options);
|
||||
|
||||
ProxtUser = FunctionParameters["Proxy_User"];
|
||||
ProxyPassword = FunctionParameters["Proxy_Password"];
|
||||
ProxyAddress = FunctionParameters["Socks5_IP"];
|
||||
ProxyPort = FunctionParameters["Socks5_Port"];
|
||||
|
||||
ProxyAddress = ?(ProxyAddress = "127.0.0.1", OPI_TestDataRetrieval.GetLocalhost(), ProxyAddress); // SKIP
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("addr", ProxyAddress);
|
||||
Options.Insert("port", ProxyPort);
|
||||
Options.Insert("type", "socks5");
|
||||
Options.Insert("login", ProxtUser);
|
||||
Options.Insert("pass", ProxyPassword);
|
||||
|
||||
Proxy = OPI_TestDataRetrieval.ExecuteTestCLI("tcp", "GetProxySettings", Options);
|
||||
Options = New Structure;
|
||||
Options.Insert("trust", Истина);
|
||||
|
||||
Tls = OPI_TestDataRetrieval.ExecuteTestCLI("tcp", "GetTLSSettings", Options);
|
||||
|
||||
Connection = OPI_TCP.CreateConnection(Address, TLS, Proxy);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Connection, "TCP", "CreateConnection", "TLS");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure TCP_CloseConnection(FunctionParameters)
|
||||
|
||||
Address = FunctionParameters["TCP_Address"];
|
||||
Connection = OPI_TCP.CreateConnection(Address);
|
||||
|
||||
Result = OPI_TCP.CloseConnection(Connection);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "TCP", "CloseConnection");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure TCP_ReadBinaryData(FunctionParameters)
|
||||
|
||||
Address = FunctionParameters["TCP_Address"];
|
||||
Connection = OPI_TCP.CreateConnection(Address);
|
||||
Message = "Hello server!" + Chars.LF;
|
||||
Data = GetBinaryDataFromString(Message);
|
||||
|
||||
OPI_TCP.SendBinaryData(Connection, Data);
|
||||
|
||||
// End of message marker to avoid waiting for the end of timeout
|
||||
Marker = Chars.LF;
|
||||
Result = OPI_TCP.ReadBinaryData(Connection, , Marker);
|
||||
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
OPI_TCP.CloseConnection(Connection);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "TCP", "ReadBinaryData", , Message);
|
||||
|
||||
Connection = OPI_TCP.CreateConnection(Address);
|
||||
|
||||
OPI_TCP.SendBinaryData(Connection, Data);
|
||||
Result = OPI_TCP.ReadBinaryData(Connection, , , 50000);
|
||||
|
||||
OPI_TCP.CloseConnection(Connection);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "TCP", "ReadBinaryData", "Timeout", Message);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure TCP_SendBinaryData(FunctionParameters)
|
||||
|
||||
Address = FunctionParameters["TCP_Address"];
|
||||
Connection = OPI_TCP.CreateConnection(Address);
|
||||
Message = "Hello server!" + Chars.LF;
|
||||
Data = GetBinaryDataFromString(Message);
|
||||
|
||||
Result = OPI_TCP.SendBinaryData(Connection, Data);
|
||||
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
// End of message marker to avoid waiting for the end of timeout
|
||||
Marker = Chars.LF;
|
||||
Response = OPI_TCP.ReadBinaryData(Connection, , Marker);
|
||||
|
||||
OPI_TCP.CloseConnection(Connection);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Response, "TCP", "SendBinaryData", , Message);
|
||||
|
||||
Connection = OPI_TCP.CreateConnection(Address);
|
||||
|
||||
OPI_TCP.SendBinaryData(Connection, Data);
|
||||
Result = OPI_TCP.ReadBinaryData(Connection, , , 50000);
|
||||
|
||||
OPI_TCP.CloseConnection(Connection);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "TCP", "SendBinaryData", "Timeout", Message);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure TCP_ProcessRequest(FunctionParameters)
|
||||
|
||||
Address = FunctionParameters["TCP_Address"];
|
||||
Data = "Echo this!" + Chars.LF;
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("address", Address);
|
||||
Options.Insert("data", Data);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("tcp", "ProcessRequest", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "TCP", "ProcessRequest", , "Echo this!" + Chars.LF); // SKIP
|
||||
|
||||
Address = FunctionParameters["TCP_AddressTLS"];
|
||||
|
||||
ProxtUser = FunctionParameters["Proxy_User"];
|
||||
ProxyPassword = FunctionParameters["Proxy_Password"];
|
||||
ProxyAddress = FunctionParameters["Socks5_IP"];
|
||||
ProxyPort = FunctionParameters["Socks5_Port"];
|
||||
|
||||
ProxyAddress = ?(ProxyAddress = "127.0.0.1", OPI_TestDataRetrieval.GetLocalhost(), ProxyAddress); // SKIP
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("addr", ProxyAddress);
|
||||
Options.Insert("port", ProxyPort);
|
||||
Options.Insert("type", "socks5");
|
||||
Options.Insert("login", ProxtUser);
|
||||
Options.Insert("pass", ProxyPassword);
|
||||
|
||||
Proxy = OPI_TestDataRetrieval.ExecuteTestCLI("tcp", "GetProxySettings", Options);
|
||||
Options = New Structure;
|
||||
Options.Insert("trust", Истина);
|
||||
|
||||
Tls = OPI_TestDataRetrieval.ExecuteTestCLI("tcp", "GetTLSSettings", Options);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("address", Address);
|
||||
Options.Insert("data", Data);
|
||||
Options.Insert("tls", Tls);
|
||||
Options.Insert("proxy", Proxy);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("tcp", "ProcessRequest", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "TCP", "ProcessRequest", "TLS", "Echo this!" + Chars.LF);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure TCP_ReadLine(FunctionParameters)
|
||||
|
||||
Address = FunctionParameters["TCP_Address"];
|
||||
Connection = OPI_TCP.CreateConnection(Address);
|
||||
Data = "Hello server!" + Chars.LF;
|
||||
|
||||
OPI_TCP.SendLine(Connection, Data);
|
||||
|
||||
// End of message marker to avoid waiting for the end of timeout
|
||||
Marker = Chars.LF;
|
||||
Result = OPI_TCP.ReadLine(Connection, , Marker);
|
||||
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
OPI_TCP.CloseConnection(Connection);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "TCP", "ReadLine", , Data);
|
||||
|
||||
Connection = OPI_TCP.CreateConnection(Address);
|
||||
|
||||
OPI_TCP.SendLine(Connection, Data);
|
||||
Result = OPI_TCP.ReadLine(Connection, , , 50000);
|
||||
|
||||
OPI_TCP.CloseConnection(Connection);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "TCP", "ReadLine", "Timeout", Data);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure TCP_SendLine(FunctionParameters)
|
||||
|
||||
Address = FunctionParameters["TCP_Address"];
|
||||
Connection = OPI_TCP.CreateConnection(Address);
|
||||
Data = "Hello server!" + Chars.LF;
|
||||
|
||||
Result = OPI_TCP.SendLine(Connection, Data);
|
||||
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
// End of message marker to avoid waiting for the end of timeout
|
||||
Marker = Chars.LF;
|
||||
Response = OPI_TCP.ReadLine(Connection, , Marker);
|
||||
|
||||
OPI_TCP.CloseConnection(Connection);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Response, "TCP", "SendLine", , Data);
|
||||
|
||||
Connection = OPI_TCP.CreateConnection(Address);
|
||||
|
||||
OPI_TCP.SendLine(Connection, Data);
|
||||
Result = OPI_TCP.ReadLine(Connection, , , 50000);
|
||||
|
||||
OPI_TCP.CloseConnection(Connection);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "TCP", "SendLine", "Timeout", Data);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure TCP_GetTLSSettings(FunctionParameters)
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("trust", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("tcp", "GetTLSSettings", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "TCP", "GetTLSSettings");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure TCP_GetLastError(FunctionParameters)
|
||||
|
||||
Address = FunctionParameters["TCP_Address"];
|
||||
Connection = OPI_TCP.CreateConnection(Address);
|
||||
Data = "Hello server!" + Chars.LF;
|
||||
|
||||
Sending = OPI_TCP.SendLine(Connection, Data);
|
||||
Result = OPI_TCP.GetLastError(Connection); // SKIP
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "TCP", "GetLastError");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure TCP_GetProxySettings(FunctionParameters)
|
||||
|
||||
ProxyType = "socks5"; // http, socks5, socks4
|
||||
|
||||
ProxyAddress = FunctionParameters["Socks5_IP"];
|
||||
ProxyPort = FunctionParameters["Socks5_Port"];
|
||||
ProxyLogin = FunctionParameters["Proxy_User"];
|
||||
ProxyPassword = FunctionParameters["Proxy_Password"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("addr", ProxyAddress);
|
||||
Options.Insert("port", ProxyPort);
|
||||
Options.Insert("type", ProxyType);
|
||||
Options.Insert("login", ProxyLogin);
|
||||
Options.Insert("pass", ProxyPassword);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("tcp", "GetProxySettings", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "TCP", "GetProxySettings");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure TCP_StartServer(FunctionParameters)
|
||||
|
||||
Port = 9876;
|
||||
PoolSize = 10;
|
||||
|
||||
Host = OPI_TCP.StartServer(Port, PoolSize);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Host, "TCP", "StartServer");
|
||||
|
||||
OPI_TCP.StopServer(Host);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure TCP_StopServer(FunctionParameters)
|
||||
|
||||
Port = 9877;
|
||||
Host = OPI_TCP.StartServer(Port);
|
||||
|
||||
Result = OPI_TCP.StopServer(Host);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "TCP", "StopServer");
|
||||
|
||||
ListResult = OPI_TCP.GetConnectionList(Host);
|
||||
|
||||
OPI_TestDataRetrieval.Process(ListResult, "TCP", "StopServer", "List");
|
||||
|
||||
OPI_TypeConversion.GetLine(Port);
|
||||
|
||||
Address = StrTemplate("127.0.0.1:%1", Port);
|
||||
Client = OPI_TCP.CreateConnection(Address);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Client, "TCP", "StopServer", "Connection");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure TCP_GetNextConnectionData(FunctionParameters)
|
||||
|
||||
LaunchPort = 9877;
|
||||
ServerObject = OPI_TCP.StartServer(LaunchPort);
|
||||
|
||||
// Send message from client
|
||||
ConnectionAddress = "127.0.0.1:9877";
|
||||
ClientObject = OPI_TCP.CreateConnection(ConnectionAddress);
|
||||
|
||||
If Not OPI_TCP.IsClientObject(ClientObject) Then
|
||||
Raise OPI_Tools.JSONString(ClientObject);
|
||||
Else
|
||||
Message = "Hello from client!" + Chars.LF;
|
||||
OPI_TCP.SendLine(ClientObject, Message);
|
||||
EndIf;
|
||||
|
||||
// Receive message on server
|
||||
Result = OPI_TCP.GetNextConnectionData(ServerObject, 5000, 8192);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TCP.CloseConnection(ClientObject);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "TCP", "GetNextConnectionData", , Message);
|
||||
|
||||
OPI_TCP.SendLine(ClientObject, Message);
|
||||
OPI_TCP.CloseConnection(ClientObject);
|
||||
|
||||
Result = OPI_TCP.GetNextConnectionData(ServerObject, 5000, 8192);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "TCP", "GetNextConnectionData", "Closed", Message);
|
||||
|
||||
OPI_TCP.StopServer(ServerObject);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure TCP_GetConnectionData(FunctionParameters)
|
||||
|
||||
LaunchPort = 9877;
|
||||
ServerObject = OPI_TCP.StartServer(LaunchPort);
|
||||
|
||||
// Connect to running server
|
||||
ConnectionAddress = "127.0.0.1:9877";
|
||||
ClientObject = OPI_TCP.CreateConnection(ConnectionAddress);
|
||||
|
||||
If Not OPI_TCP.IsClientObject(ClientObject) Then
|
||||
Raise OPI_Tools.JSONString(ClientObject);
|
||||
EndIf;
|
||||
|
||||
OPI_Tools.Pause(1); // SKIP
|
||||
|
||||
// Receive the list of server connections
|
||||
ConnectionList = OPI_TCP.GetConnectionList(ServerObject);
|
||||
|
||||
If Not ConnectionList["result"] Then
|
||||
Raise OPI_Tools.JSONString(ConnectionList);
|
||||
EndIf;
|
||||
|
||||
If ConnectionList["connections"].Count() = 0 Then
|
||||
Raise "Connection list is empty";
|
||||
Else
|
||||
ConnectionID = ConnectionList["connections"][0]["connectionId"];
|
||||
EndIf;
|
||||
|
||||
EmptyResult = OPI_TCP.GetConnectionData(ServerObject, ConnectionID, 5000, 8192); // SKIP
|
||||
OPI_TestDataRetrieval.Process(EmptyResult, "TCP", "GetConnectionData", "Empty"); // SKIP
|
||||
|
||||
For N = 0 To 5 Do
|
||||
|
||||
// Send from client
|
||||
CurrentMessage = StrTemplate("Message no. %1%2", N, Chars.LF);
|
||||
OPI_TCP.SendLine(ClientObject, CurrentMessage);
|
||||
|
||||
// Recieve on server
|
||||
Result = OPI_TCP.GetConnectionData(ServerObject, ConnectionID, 5000, 8192);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "TCP", "GetConnectionData", , CurrentMessage); // SKIP
|
||||
|
||||
EndDo;
|
||||
|
||||
// END
|
||||
|
||||
OPI_TCP.CloseConnection(ClientObject);
|
||||
|
||||
Result = OPI_TCP.GetConnectionData(ServerObject, ConnectionID, 5000, 8192);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "TCP", "GetConnectionData", "Closed");
|
||||
|
||||
Result = OPI_TCP.GetConnectionList(ServerObject);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "TCP", "GetConnectionData", "EmptyList");
|
||||
|
||||
OPI_TCP.StopServer(ServerObject);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure TCP_SendData(FunctionParameters)
|
||||
|
||||
LaunchPort = 9877;
|
||||
ServerObject = OPI_TCP.StartServer(LaunchPort);
|
||||
|
||||
// Connect to running server
|
||||
ConnectionAddress = "127.0.0.1:9877";
|
||||
ClientObject = OPI_TCP.CreateConnection(ConnectionAddress);
|
||||
|
||||
If Not OPI_TCP.IsClientObject(ClientObject) Then
|
||||
Raise OPI_Tools.JSONString(ClientObject);
|
||||
EndIf;
|
||||
|
||||
Message = "Hello!" + Chars.LF;
|
||||
|
||||
OPI_TCP.SendLine(ClientObject, Message);
|
||||
|
||||
// Receive message and connection ID
|
||||
NextMessage = OPI_TCP.GetNextConnectionData(ServerObject, 5000);
|
||||
ConnectionID = NextMessage["connectionId"];
|
||||
|
||||
// Send response from server
|
||||
ServerResponse = "Response from server!" + Chars.LF;
|
||||
Result = OPI_TCP.SendData(ServerObject, ConnectionID, ServerResponse);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "TCP", "SendData");
|
||||
|
||||
// Check receiving on client
|
||||
ClientResponse = OPI_TCP.ReadLine(ClientObject, , Chars.LF);
|
||||
|
||||
OPI_TestDataRetrieval.Process(ClientResponse, "TCP", "SendData", "Check", ServerResponse);
|
||||
|
||||
OPI_TCP.CloseConnection(ClientObject);
|
||||
OPI_TCP.StopServer(ServerObject);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure TCP_CloseIncomingConnection(FunctionParameters)
|
||||
|
||||
LaunchPort = 9877;
|
||||
ServerObject = OPI_TCP.StartServer(LaunchPort);
|
||||
|
||||
// Connect to running server
|
||||
ConnectionAddress = "127.0.0.1:9877";
|
||||
ClientObject = OPI_TCP.CreateConnection(ConnectionAddress);
|
||||
|
||||
If Not OPI_TCP.IsClientObject(ClientObject) Then
|
||||
Raise OPI_Tools.JSONString(ClientObject);
|
||||
EndIf;
|
||||
|
||||
Message = "Hello!" + Chars.LF;
|
||||
|
||||
OPI_TCP.SendLine(ClientObject, Message);
|
||||
|
||||
// Get connection ID
|
||||
FirstMessage = OPI_TCP.GetNextConnectionData(ServerObject, 5000);
|
||||
ConnectionID = FirstMessage["connectionId"];
|
||||
|
||||
// Close connection from server side
|
||||
Result = OPI_TCP.CloseIncomingConnection(ServerObject, ConnectionID);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "TCP", "CloseIncomingConnection");
|
||||
|
||||
Result = OPI_TCP.GetConnectionList(ServerObject);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "TCP", "CloseIncomingConnection", "EmptyList");
|
||||
|
||||
OPI_TCP.SendLine(ClientObject, Message);
|
||||
Result = OPI_TCP.SendLine(ClientObject, Message);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "TCP", "CloseIncomingConnection", "SendingToClosed");
|
||||
|
||||
OPI_TCP.StopServer(ServerObject);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure TCP_CompleteSend(FunctionParameters)
|
||||
|
||||
LaunchPort = 9877;
|
||||
ServerObject = OPI_TCP.StartServer(LaunchPort);
|
||||
|
||||
// Connect to running server
|
||||
ConnectionAddress = "127.0.0.1:9877";
|
||||
ClientObject = OPI_TCP.CreateConnection(ConnectionAddress);
|
||||
OPI_Tools.Pause(1); // SKIP
|
||||
|
||||
If Not OPI_TCP.IsClientObject(ClientObject) Then
|
||||
Raise OPI_Tools.JSONString(ClientObject);
|
||||
EndIf;
|
||||
|
||||
ActiveConnections = OPI_TCP.GetConnectionList(ServerObject);
|
||||
ConnectionID = ActiveConnections["connections"][0]["connectionId"];
|
||||
|
||||
// Finish sending from server
|
||||
Result = OPI_TCP.CompleteSend(ServerObject, ConnectionID);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "TCP", "CompleteSend");
|
||||
|
||||
Message = "Hello" + Chars.LF;
|
||||
|
||||
OPI_TCP.SendLine(ClientObject, Message);
|
||||
Result = OPI_TCP.SendLine(ClientObject, Message);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "TCP", "CompleteSend", "SendingClient");
|
||||
|
||||
ServerResponse = "Response from server!" + Chars.LF;
|
||||
Result = OPI_TCP.SendData(ServerObject, ConnectionID, ServerResponse);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "TCP", "CompleteSend", "SendingServer");
|
||||
|
||||
OPI_TCP.CloseConnection(ClientObject);
|
||||
OPI_TCP.StopServer(ServerObject);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure TCP_GetConnectionList(FunctionParameters)
|
||||
|
||||
LaunchPort = 9877;
|
||||
ServerObject = OPI_TCP.StartServer(LaunchPort);
|
||||
|
||||
// Connect to running server
|
||||
ConnectionAddress = "127.0.0.1:9877";
|
||||
|
||||
Client1 = OPI_TCP.CreateConnection(ConnectionAddress);
|
||||
Client2 = OPI_TCP.CreateConnection(ConnectionAddress);
|
||||
|
||||
If Not OPI_TCP.IsClientObject(Client1) Then
|
||||
Raise OPI_Tools.JSONString(Client1);
|
||||
EndIf;
|
||||
|
||||
If Not OPI_TCP.IsClientObject(Client2) Then
|
||||
Raise OPI_Tools.JSONString(Client2);
|
||||
EndIf;
|
||||
|
||||
Result = OPI_TCP.GetConnectionList(ServerObject);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "TCP", "GetConnectionList");
|
||||
|
||||
OPI_TCP.CloseConnection(Client1);
|
||||
OPI_TCP.CloseConnection(Client2);
|
||||
|
||||
Client3 = OPI_TCP.CreateConnection(ConnectionAddress);
|
||||
Client4 = OPI_TCP.CreateConnection(ConnectionAddress);
|
||||
|
||||
OPI_TCP.SendLine(Client3, "Yo" + Chars.LF);
|
||||
|
||||
OPI_TCP.CloseConnection(Client3);
|
||||
OPI_TCP.CloseConnection(Client4);
|
||||
|
||||
Result = OPI_TCP.GetConnectionList(ServerObject);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "TCP", "GetConnectionList", "Closing");
|
||||
|
||||
OPI_TCP.StopServer(ServerObject);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure TCP_FinishReceiving(FunctionParameters)
|
||||
|
||||
LaunchPort = 9877;
|
||||
ServerObject = OPI_TCP.StartServer(LaunchPort);
|
||||
|
||||
// Connect to running server
|
||||
ConnectionAddress = "127.0.0.1:9877";
|
||||
ClientObject = OPI_TCP.CreateConnection(ConnectionAddress);
|
||||
OPI_Tools.Pause(1); // SKIP
|
||||
|
||||
If Not OPI_TCP.IsClientObject(ClientObject) Then
|
||||
Raise OPI_Tools.JSONString(ClientObject);
|
||||
EndIf;
|
||||
|
||||
ActiveConnections = OPI_TCP.GetConnectionList(ServerObject);
|
||||
ConnectionID = ActiveConnections["connections"][0]["connectionId"];
|
||||
|
||||
// Completing server-side reception
|
||||
Result = OPI_TCP.FinishReceiving(ServerObject, ConnectionID);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "TCP", "FinishReceiving");
|
||||
|
||||
OPI_TCP.CloseConnection(ClientObject);
|
||||
OPI_TCP.StopServer(ServerObject);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure TCP_IsServerObject(FunctionParameters)
|
||||
|
||||
Port = 9884;
|
||||
Host = OPI_TCP.StartServer(Port);
|
||||
|
||||
Result = OPI_TCP.IsServerObject(Host);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "TCP", "IsServerObject");
|
||||
|
||||
OPI_TCP.StopServer(Host);
|
||||
|
||||
// Check with wrong object
|
||||
Result = OPI_TCP.IsServerObject("Not a server");
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "TCP", "IsServerObject", "False");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure TCP_GetLog(FunctionParameters)
|
||||
|
||||
LaunchPort = 9877;
|
||||
LogFile = GetTempFileName("txt");
|
||||
LoggingSettings = OPI_TCP.GetLoggingSettings(True, 100, LogFile);
|
||||
ServerObject = OPI_TCP.StartServer(LaunchPort, , LoggingSettings);
|
||||
|
||||
// Connect to running server
|
||||
ConnectionAddress = "127.0.0.1:9877";
|
||||
ClientObject = OPI_TCP.CreateConnection(ConnectionAddress);
|
||||
OPI_Tools.Pause(1); // SKIP
|
||||
|
||||
If Not OPI_TCP.IsClientObject(ClientObject) Then
|
||||
Raise OPI_Tools.JSONString(ClientObject);
|
||||
EndIf;
|
||||
|
||||
Result = OPI_TCP.GetLog(ServerObject);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "TCP", "GetLog", , LogFile);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure TCP_GetLoggingSettings(FunctionParameters)
|
||||
|
||||
Result = OPI_TCP.GetLoggingSettings(True, 100, GetTempFileName());
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "TCP", "GetLoggingSettings");
|
||||
|
||||
Result = OPI_TCP.GetLoggingSettings(False, , GetTempFileName());
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "TCP", "GetLoggingSettings", "File");
|
||||
|
||||
Result = OPI_TCP.GetLoggingSettings(True);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "TCP", "GetLoggingSettings", "Memory");
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // TCP
|
||||
|
||||
#EndRegion // AtomicTests
|
||||
|
||||
#EndRegion // Private
|
||||
|
||||
#Region Alternate
|
||||
|
||||
Procedure TC_Клиент() Export
|
||||
TC_Client();
|
||||
EndProcedure
|
||||
|
||||
Procedure TC_Сервер() Export
|
||||
TC_Server();
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
+1662
File diff suppressed because it is too large
Load Diff
+469
@@ -0,0 +1,469 @@
|
||||
// OneScript: ./OInt/tests/Modules/OPItc_Twitter.os
|
||||
|
||||
// MIT License
|
||||
|
||||
// Copyright (c) 2023-2026 Anton Tsitavets
|
||||
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
|
||||
// The above copyright notice and +this permission notice shall be included in all
|
||||
// copies or substantial portions of the Software.
|
||||
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// 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
|
||||
// SOFTWARE.
|
||||
|
||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||
|
||||
// Test suite for YAxUnit
|
||||
|
||||
// BSLLS:Typo-off
|
||||
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
||||
// BSLLS:IncorrectLineBreak-off
|
||||
// BSLLS:UsingServiceTag-off
|
||||
// BSLLS:UnusedParameters-off
|
||||
// BSLLS:DuplicateStringLiteral-off
|
||||
// BSLLS:UsingHardcodePath-off
|
||||
// BSLLS:UnusedLocalVariable-off
|
||||
// BSLLS:DeprecatedMessage-off
|
||||
// BSLLS:LineLength-off
|
||||
// BSLLS:MagicNumber-off
|
||||
// BSLLS:CommentedCode-off
|
||||
// BSLLS:AssignAliasFieldsInQuery-off
|
||||
// BSLLS:UsingHardcodeNetworkAddress-off
|
||||
// BSLLS:UnreachableCode-off
|
||||
// BSLLS:UnusedLocalMethod-off
|
||||
// BSLLS:NestedFunctionInParameters-off
|
||||
// BSLLS:MissingTemporaryFileDeletion-off
|
||||
// BSLLS:UsingSynchronousCalls-off
|
||||
// BSLLS:MagicNumber-off
|
||||
// BSLLS:MagicDate-off
|
||||
// BSLLS:MissingParameterDescription-off
|
||||
// BSLLS:NumberOfOptionalParams-off
|
||||
// BSLLS:MethodSize-off
|
||||
// BSLLS:NestedConstructorsInStructureDeclaration-off
|
||||
// BSLLS:NumberOfValuesInStructureConstructor-off
|
||||
// BSLLS:UsingHardcodeSecretInformation-off
|
||||
// BSLLS:SpaceAtStartComment-off
|
||||
|
||||
//@skip-check undefined-variable
|
||||
//@skip-check wrong-string-literal-content
|
||||
//@skip-check module-structure-top-region
|
||||
//@skip-check module-structure-method-in-regions
|
||||
//@skip-check undefined-function-or-procedure
|
||||
//@skip-check wrong-string-literal-content
|
||||
//@skip-check module-unused-local-variable
|
||||
//@skip-check bsl-legacy-check-string-literal
|
||||
//@skip-check bsl-legacy-check-method-for-statements-after-return
|
||||
//@skip-check missing-temporary-file-deletion
|
||||
//@skip-check module-unused-method
|
||||
|
||||
#Use "../../tools/main"
|
||||
#Use "../../tools/http"
|
||||
#Use "../../api"
|
||||
#Use asserts
|
||||
#Use "internal"
|
||||
|
||||
|
||||
// For YAxUnit
|
||||
|
||||
Procedure ИсполняемыеСценарии() Export
|
||||
|
||||
OPI_TestDataRetrieval.FormYAXTests("Twitter");
|
||||
|
||||
EndProcedure
|
||||
|
||||
// For Asserts
|
||||
|
||||
Function ПолучитьСписокТестов(UnitTesting) Export
|
||||
|
||||
Return OPI_TestDataRetrieval.FormAssertsTests("Twitter");
|
||||
|
||||
EndFunction
|
||||
|
||||
#Region Internal
|
||||
|
||||
#Region RunnableTests
|
||||
|
||||
#Region Twitter
|
||||
|
||||
Procedure TwitterAPI_AccountData() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
|
||||
Twitter_GetToken(TestParameters);
|
||||
Twitter_GetAuthorizationLink(TestParameters);
|
||||
// !DISABLED! Twitter_UpdateToken(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure TwitterAPI_Tweets() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Picture" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Picture2", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("GIF" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Video" , TestParameters);
|
||||
|
||||
Twitter_CreateTextTweet(TestParameters);
|
||||
Twitter_UploadAttachmentsArray(TestParameters);
|
||||
Twitter_CreateVideoTweet(TestParameters);
|
||||
Twitter_CreateImageTweet(TestParameters);
|
||||
Twitter_CreateGifTweet(TestParameters);
|
||||
Twitter_CreatePollTweet(TestParameters);
|
||||
Twitter_CreateCustomTweet(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // Twitter
|
||||
|
||||
#EndRegion // RunnableTests
|
||||
|
||||
#EndRegion // Internal
|
||||
|
||||
#Region Private
|
||||
|
||||
Function GetTwitterAuthData()
|
||||
|
||||
Parameters = New Map;
|
||||
|
||||
ServerToken = OPI_TestDataRetrieval.GetParameter("Access_Token");
|
||||
|
||||
URL = OPI_TestDataRetrieval.GetParameter("Twitter_TokenURL");
|
||||
|
||||
Result = OPI_HTTPRequests.NewRequest()
|
||||
.Initialize()
|
||||
.SetURL(URL)
|
||||
.AddBearerAuthorization(ServerToken) // <---
|
||||
.ProcessRequest("GET")
|
||||
.ReturnResponseAsJSONObject();
|
||||
|
||||
Token = Result["data"];
|
||||
|
||||
Parameters.Insert("redirect_uri" , OPI_TestDataRetrieval.GetParameter("Twitter_Redirect"));
|
||||
Parameters.Insert("client_id" , OPI_TestDataRetrieval.GetParameter("Twitter_ClientID"));
|
||||
Parameters.Insert("client_secret" , OPI_TestDataRetrieval.GetParameter("Twitter_ClientSecret"));
|
||||
Parameters.Insert("access_token" , Token);
|
||||
Parameters.Insert("refresh_token" , OPI_TestDataRetrieval.GetParameter("Twitter_Refresh"));
|
||||
Parameters.Insert("oauth_token" , OPI_TestDataRetrieval.GetParameter("Twitter_OAuthToken"));
|
||||
Parameters.Insert("oauth_token_secret", OPI_TestDataRetrieval.GetParameter("Twitter_OAuthSecret"));
|
||||
|
||||
Parameters.Insert("oauth_consumer_key" , OPI_TestDataRetrieval.GetParameter("Twitter_OAuthConsumerKey"));
|
||||
Parameters.Insert("oauth_consumer_secret", OPI_TestDataRetrieval.GetParameter(
|
||||
"Twitter_OAuthConsumerSecret"));
|
||||
|
||||
Return Parameters;
|
||||
|
||||
EndFunction
|
||||
|
||||
#Region AtomicTests
|
||||
|
||||
#Region Twitter
|
||||
|
||||
Procedure Twitter_GetToken(FunctionParameters)
|
||||
|
||||
Parameters = GetTwitterAuthData();
|
||||
Code = "123456";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("code", Code);
|
||||
Options.Insert("auth", Parameters);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("twitter", "GetToken", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Twitter", "GetToken");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Twitter_GetAuthorizationLink(FunctionParameters)
|
||||
|
||||
Parameters = GetTwitterAuthData();
|
||||
Options = New Structure;
|
||||
Options.Insert("auth", Parameters);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("twitter", "GetAuthorizationLink", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Twitter", "GetAuthorizationLink");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Twitter_RefreshToken(FunctionParameters)
|
||||
|
||||
Parameters = GetTwitterAuthData();
|
||||
Options = New Structure;
|
||||
Options.Insert("auth", Parameters);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("twitter", "RefreshToken", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Twitter", "RefreshToken");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Twitter_CreateTextTweet(FunctionParameters)
|
||||
|
||||
Parameters = GetTwitterAuthData();
|
||||
Text = "TestTweet" + String(New UUID);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("text", Text);
|
||||
Options.Insert("auth", Parameters);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("twitter", "CreateTextTweet", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Twitter", "CreateTextTweet", , Text);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Twitter_CreateImageTweet(FunctionParameters)
|
||||
|
||||
Parameters = GetTwitterAuthData();
|
||||
Text = "TestTweet" + String(New UUID);
|
||||
|
||||
Image = FunctionParameters["Picture"]; // URL, Binary or File path
|
||||
Image2 = FunctionParameters["Picture2"]; // URL, Binary or File path
|
||||
|
||||
ImageArray = New Array;
|
||||
ImageArray.Add(Image);
|
||||
ImageArray.Add(Image2);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("text", Text);
|
||||
Options.Insert("pictures", ImageArray);
|
||||
Options.Insert("auth", Parameters);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("twitter", "CreateImageTweet", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Twitter", "CreateImageTweet", , Text); // SKIP
|
||||
|
||||
Text = "TestTweet" + String(New UUID);
|
||||
Options = New Structure;
|
||||
Options.Insert("text", Text);
|
||||
Options.Insert("pictures", Image);
|
||||
Options.Insert("auth", Parameters);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("twitter", "CreateImageTweet", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Twitter", "CreateImageTweet", "Single", Text);
|
||||
|
||||
Image = OPI_HTTPRequests.Get(Image);
|
||||
|
||||
Text = "TestTweet" + String(New UUID);
|
||||
Options = New Structure;
|
||||
Options.Insert("text", Text);
|
||||
Options.Insert("pictures", Image);
|
||||
Options.Insert("auth", Parameters);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("twitter", "CreateImageTweet", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Twitter", "CreateImageTweet", "Binary", Text);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Twitter_CreateVideoTweet(FunctionParameters)
|
||||
|
||||
Parameters = GetTwitterAuthData();
|
||||
Text = "TestTweet" + String(New UUID);
|
||||
|
||||
Video = FunctionParameters["Video"]; // URL, Binary or File path
|
||||
Video2 = FunctionParameters["Video"]; // URL, Binary or File path
|
||||
|
||||
VideosArray = New Array;
|
||||
VideosArray.Add(Video);
|
||||
VideosArray.Add(Video2);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("text", Text);
|
||||
Options.Insert("videos", VideosArray);
|
||||
Options.Insert("auth", Parameters);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("twitter", "CreateVideoTweet", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Twitter", "CreateVideoTweet", , Text); // SKIP
|
||||
|
||||
Text = "TestTweet" + String(New UUID);
|
||||
Options = New Structure;
|
||||
Options.Insert("text", Text);
|
||||
Options.Insert("videos", Video);
|
||||
Options.Insert("auth", Parameters);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("twitter", "CreateVideoTweet", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Twitter", "CreateVideoTweet", "Single", Text);
|
||||
|
||||
Video = OPI_HTTPRequests.Get(Video);
|
||||
|
||||
Text = "TestTweet" + String(New UUID);
|
||||
Options = New Structure;
|
||||
Options.Insert("text", Text);
|
||||
Options.Insert("videos", Video);
|
||||
Options.Insert("auth", Parameters);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("twitter", "CreateVideoTweet", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Twitter", "CreateVideoTweet", "Binary", Text);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Twitter_CreateGifTweet(FunctionParameters)
|
||||
|
||||
Parameters = GetTwitterAuthData();
|
||||
Text = "TestTweet" + String(New UUID);
|
||||
|
||||
GIF = FunctionParameters["GIF"]; // URL, Binary or File path
|
||||
Gif2 = FunctionParameters["GIF"]; // URL, Binary or File path
|
||||
|
||||
GifsArray = New Array;
|
||||
GifsArray.Add(GIF);
|
||||
GifsArray.Add(Gif2);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("text", Text);
|
||||
Options.Insert("gifs", GifsArray);
|
||||
Options.Insert("auth", Parameters);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("twitter", "CreateGifTweet", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Twitter", "CreateGifTweet", , Text); // SKIP
|
||||
|
||||
Text = "TestTweet" + String(New UUID);
|
||||
Options = New Structure;
|
||||
Options.Insert("text", Text);
|
||||
Options.Insert("gifs", GIF);
|
||||
Options.Insert("auth", Parameters);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("twitter", "CreateGifTweet", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Twitter", "CreateGifTweet", "Single", Text);
|
||||
|
||||
GIF = OPI_HTTPRequests.Get(GIF);
|
||||
|
||||
Text = "TestTweet" + String(New UUID);
|
||||
Options = New Structure;
|
||||
Options.Insert("text", Text);
|
||||
Options.Insert("gifs", GIF);
|
||||
Options.Insert("auth", Parameters);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("twitter", "CreateGifTweet", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Twitter", "CreateGifTweet", "Binary", Text);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Twitter_CreatePollTweet(FunctionParameters)
|
||||
|
||||
Parameters = GetTwitterAuthData();
|
||||
Text = "TestTweet" + String(New UUID);
|
||||
|
||||
AnswersArray = New Array;
|
||||
AnswersArray.Add("Option 1");
|
||||
AnswersArray.Add("Option 2");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("text", Text);
|
||||
Options.Insert("options", AnswersArray);
|
||||
Options.Insert("duration", 60);
|
||||
Options.Insert("auth", Parameters);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("twitter", "CreatePollTweet", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Twitter", "CreatePollTweet", , Text);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Twitter_CreateCustomTweet(FunctionParameters)
|
||||
|
||||
Parameters = GetTwitterAuthData();
|
||||
Text = "TestTweet" + String(New UUID);
|
||||
|
||||
Image1 = FunctionParameters["Picture"]; // URL, Binary Data or File path
|
||||
Image2 = FunctionParameters["Picture2"]; // URL, Binary Data or File path
|
||||
|
||||
ImageArray = New Array;
|
||||
ImageArray.Add(Image1);
|
||||
ImageArray.Add(Image2);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("files", ImageArray);
|
||||
Options.Insert("type", "tweet_image");
|
||||
Options.Insert("auth", Parameters);
|
||||
|
||||
MediaArray = OPI_TestDataRetrieval.ExecuteTestCLI("twitter", "UploadAttachmentsArray", Options);
|
||||
Options = New Structure;
|
||||
Options.Insert("text", Text);
|
||||
Options.Insert("media", MediaArray);
|
||||
Options.Insert("auth", Parameters);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("twitter", "CreateCustomTweet", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Twitter", "CreateCustomTweet", , Text);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Twitter_UploadAttachmentsArray(FunctionParameters)
|
||||
|
||||
Parameters = GetTwitterAuthData();
|
||||
|
||||
Image1 = FunctionParameters["Picture"]; // URL, Binary Data or File path
|
||||
Image2 = FunctionParameters["Picture2"]; // URL, Binary Data or File path
|
||||
|
||||
ImageArray = New Array;
|
||||
ImageArray.Add(Image1);
|
||||
ImageArray.Add(Image2);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("files", ImageArray);
|
||||
Options.Insert("type", "tweet_image");
|
||||
Options.Insert("auth", Parameters);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("twitter", "UploadAttachmentsArray", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Twitter", "UploadAttachmentsArray");
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // Twitter
|
||||
|
||||
#EndRegion // AtomicTests
|
||||
|
||||
#EndRegion // Private
|
||||
|
||||
#Region Alternate
|
||||
|
||||
Procedure Твиттер_ДанныеАккаунта() Export
|
||||
TwitterAPI_AccountData();
|
||||
EndProcedure
|
||||
|
||||
Procedure Твиттер_Твиты() Export
|
||||
TwitterAPI_Tweets();
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
+1531
File diff suppressed because it is too large
Load Diff
+921
@@ -0,0 +1,921 @@
|
||||
// OneScript: ./OInt/tests/Modules/OPItc_VKTeams.os
|
||||
|
||||
// MIT License
|
||||
|
||||
// Copyright (c) 2023-2026 Anton Tsitavets
|
||||
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
|
||||
// The above copyright notice and +this permission notice shall be included in all
|
||||
// copies or substantial portions of the Software.
|
||||
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// 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
|
||||
// SOFTWARE.
|
||||
|
||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||
|
||||
// Test suite for YAxUnit
|
||||
|
||||
// BSLLS:Typo-off
|
||||
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
||||
// BSLLS:IncorrectLineBreak-off
|
||||
// BSLLS:UsingServiceTag-off
|
||||
// BSLLS:UnusedParameters-off
|
||||
// BSLLS:DuplicateStringLiteral-off
|
||||
// BSLLS:UsingHardcodePath-off
|
||||
// BSLLS:UnusedLocalVariable-off
|
||||
// BSLLS:DeprecatedMessage-off
|
||||
// BSLLS:LineLength-off
|
||||
// BSLLS:MagicNumber-off
|
||||
// BSLLS:CommentedCode-off
|
||||
// BSLLS:AssignAliasFieldsInQuery-off
|
||||
// BSLLS:UsingHardcodeNetworkAddress-off
|
||||
// BSLLS:UnreachableCode-off
|
||||
// BSLLS:UnusedLocalMethod-off
|
||||
// BSLLS:NestedFunctionInParameters-off
|
||||
// BSLLS:MissingTemporaryFileDeletion-off
|
||||
// BSLLS:UsingSynchronousCalls-off
|
||||
// BSLLS:MagicNumber-off
|
||||
// BSLLS:MagicDate-off
|
||||
// BSLLS:MissingParameterDescription-off
|
||||
// BSLLS:NumberOfOptionalParams-off
|
||||
// BSLLS:MethodSize-off
|
||||
// BSLLS:NestedConstructorsInStructureDeclaration-off
|
||||
// BSLLS:NumberOfValuesInStructureConstructor-off
|
||||
// BSLLS:UsingHardcodeSecretInformation-off
|
||||
// BSLLS:SpaceAtStartComment-off
|
||||
|
||||
//@skip-check undefined-variable
|
||||
//@skip-check wrong-string-literal-content
|
||||
//@skip-check module-structure-top-region
|
||||
//@skip-check module-structure-method-in-regions
|
||||
//@skip-check undefined-function-or-procedure
|
||||
//@skip-check wrong-string-literal-content
|
||||
//@skip-check module-unused-local-variable
|
||||
//@skip-check bsl-legacy-check-string-literal
|
||||
//@skip-check bsl-legacy-check-method-for-statements-after-return
|
||||
//@skip-check missing-temporary-file-deletion
|
||||
//@skip-check module-unused-method
|
||||
|
||||
#Use "../../tools/main"
|
||||
#Use "../../tools/http"
|
||||
#Use "../../api"
|
||||
#Use asserts
|
||||
#Use "internal"
|
||||
|
||||
|
||||
// For YAxUnit
|
||||
|
||||
Procedure ИсполняемыеСценарии() Export
|
||||
|
||||
OPI_TestDataRetrieval.FormYAXTests("VKTeams");
|
||||
|
||||
EndProcedure
|
||||
|
||||
// For Asserts
|
||||
|
||||
Function ПолучитьСписокТестов(UnitTesting) Export
|
||||
|
||||
Return OPI_TestDataRetrieval.FormAssertsTests("VKTeams");
|
||||
|
||||
EndFunction
|
||||
|
||||
#Region Internal
|
||||
|
||||
#Region RunnableTests
|
||||
|
||||
#Region VkTeams
|
||||
|
||||
Procedure VKT_CommonMethods() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("VkTeams_Token" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("VkTeams_FileID", TestParameters);
|
||||
|
||||
VkTeams_CheckToken(TestParameters);
|
||||
VkTeams_GetEvents(TestParameters);
|
||||
VKTeams_GetFileInformation(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure VKT_MessagesSending() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("VkTeams_Token" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("VkTeams_ChatID" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("VkTeams_ChatID2" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("VkTeams_MessageID", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Document" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Audio2" , TestParameters);
|
||||
|
||||
VkTeams_SendTextMessage(TestParameters);
|
||||
OPI_Tools.Pause(60);
|
||||
|
||||
VKTeams_AnswerButtonEvent(TestParameters);
|
||||
VKTeams_ForwardMessage(TestParameters);
|
||||
VKTeams_SendFile(TestParameters);
|
||||
VKTeams_ResendFile(TestParameters);
|
||||
VKTeams_EditMessageText(TestParameters);
|
||||
VKTeams_PinMessage(TestParameters);
|
||||
VKTeams_UnpinMessage(TestParameters);
|
||||
VKTeams_DeleteMessage(TestParameters);
|
||||
VKTeams_SendVoice(TestParameters);
|
||||
VKTeams_ResendVoice(TestParameters);
|
||||
VKTeams_MakeActionButton(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure VKT_ChatManagement() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("VkTeams_Token" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("VkTeams_ChatID" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("VkTeams_ChatID2", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Picture3" , TestParameters);
|
||||
|
||||
VKTeams_RemoveChatMembers(TestParameters);
|
||||
VKTeams_ChangeChatPicture(TestParameters);
|
||||
VKTeams_GetChatInfo(TestParameters);
|
||||
VKTeams_GetChatAdmins(TestParameters);
|
||||
VKTeams_GetChatMembers(TestParameters);
|
||||
VKTeams_GetChatBlockedUsers(TestParameters);
|
||||
VKTeams_GetChatJoinRequests(TestParameters);
|
||||
VKTeams_BlockChatUser(TestParameters);
|
||||
VKTeams_UnblockChatUser(TestParameters);
|
||||
VKTeams_ApprovePending(TestParameters);
|
||||
VKTeams_DisapprovePending(TestParameters);
|
||||
VKTeams_SetChatTitle(TestParameters);
|
||||
VKTeams_SetChatDescription(TestParameters);
|
||||
VKTeams_SetChatRules(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // VkTeams
|
||||
|
||||
#EndRegion // RunnableTests
|
||||
|
||||
#EndRegion // Internal
|
||||
|
||||
#Region Private
|
||||
|
||||
#Region AtomicTests
|
||||
|
||||
#Region VKTeams
|
||||
|
||||
Procedure VKTeams_CheckToken(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["VkTeams_Token"];
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "CheckToken", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "CheckToken");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure VKTeams_GetEvents(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["VkTeams_Token"];
|
||||
LastID = 0;
|
||||
|
||||
For N = 1 To 5 Do // In real work - endless loop
|
||||
|
||||
Result = OPI_VKTeams.GetEvents(Token, LastID, 3);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "GetEvents"); // SKIP
|
||||
|
||||
Events = Result["events"];
|
||||
|
||||
// Event handling...
|
||||
|
||||
If Not Events.Count() = 0 Then
|
||||
|
||||
LastID = Events[Events.UBound()]["eventId"];
|
||||
|
||||
EndIf;
|
||||
|
||||
EndDo;
|
||||
|
||||
// END
|
||||
|
||||
OPI_Tools.Pause(3);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure VKTeams_SendTextMessage(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["VkTeams_Token"];
|
||||
ChatID = FunctionParameters["VkTeams_ChatID"];
|
||||
Text = "Message text";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("chatid", ChatID);
|
||||
Options.Insert("text", Text);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "SendTextMessage", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "SendTextMessage", "Simple", FunctionParameters); // SKIP
|
||||
|
||||
ChatID = FunctionParameters["VkTeams_ChatID2"];
|
||||
ReplyID = FunctionParameters["VkTeams_MessageID"];
|
||||
Text = "<b>Bold text</b>";
|
||||
Markup = "HTML";
|
||||
|
||||
Keyboard = New Array;
|
||||
ButtonsLineArray = New Array;
|
||||
|
||||
ButtonsLineArray.Add(OPI_VKTeams.MakeActionButton("Button1", "ButtonEvent1", , "attention"));
|
||||
|
||||
ButtonsLineArray.Add(OPI_VKTeams.MakeActionButton("Button2", , "https://openintegrations.dev"));
|
||||
|
||||
// BSLLS:DuplicatedInsertionIntoCollection-off // SKIP
|
||||
Keyboard.Add(ButtonsLineArray);
|
||||
Keyboard.Add(ButtonsLineArray);
|
||||
// BSLLS:DuplicatedInsertionIntoCollection-on // SKIP
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("chatid", ChatID);
|
||||
Options.Insert("text", Text);
|
||||
Options.Insert("reply", ReplyID);
|
||||
Options.Insert("keyboard", Keyboard);
|
||||
Options.Insert("parsemod", Markup);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "SendTextMessage", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "SendTextMessage", , FunctionParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure VKTeams_ForwardMessage(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["VkTeams_Token"];
|
||||
ChatID = FunctionParameters["VkTeams_ChatID"];
|
||||
FromChatID = FunctionParameters["VkTeams_ChatID2"];
|
||||
MessageID = FunctionParameters["VkTeams_MessageID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("messageid", MessageID);
|
||||
Options.Insert("fromid", FromChatID);
|
||||
Options.Insert("chatid", ChatID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "ForwardMessage", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "ForwardMessage", "Simple"); // SKIP
|
||||
|
||||
Text = "Additional text";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("messageid", MessageID);
|
||||
Options.Insert("fromid", FromChatID);
|
||||
Options.Insert("chatid", ChatID);
|
||||
Options.Insert("text", Text);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "ForwardMessage", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "ForwardMessage");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure VKTeams_SendFile(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["VkTeams_Token"];
|
||||
ChatID = FunctionParameters["VkTeams_ChatID"];
|
||||
Text = "File caption";
|
||||
|
||||
File = FunctionParameters["Document"]; // URL
|
||||
FilePath = GetTempFileName("docx"); // Path
|
||||
|
||||
CopyFile(File, FilePath);
|
||||
|
||||
FileBD = New BinaryData(FilePath); // Binary
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("chatid", ChatID);
|
||||
Options.Insert("file", File);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "SendFile", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "SendFile", "URL", FunctionParameters); // SKIP
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("chatid", ChatID);
|
||||
Options.Insert("file", FilePath);
|
||||
Options.Insert("text", Text);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "SendFile", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "SendFile", "Path", FunctionParameters); // SKIP
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("chatid", ChatID);
|
||||
Options.Insert("file", FileBD);
|
||||
Options.Insert("text", Text);
|
||||
Options.Insert("filename", "ImportantDocument.docx");
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "SendFile", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "SendFile", , FunctionParameters);
|
||||
|
||||
OPI_Tools.RemoveFileWithTry(FilePath, "Failed to delete the temporary file after the test!!");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure VKTeams_ResendFile(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["VkTeams_Token"];
|
||||
ChatID = FunctionParameters["VkTeams_ChatID"];
|
||||
FileID = FunctionParameters["VkTeams_FileID"];
|
||||
Text = "File caption";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("chatid", ChatID);
|
||||
Options.Insert("fileid", FileID);
|
||||
Options.Insert("text", Text);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "ResendFile", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "ResendFile");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure VKTeams_GetFileInformation(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["VkTeams_Token"];
|
||||
FileID = FunctionParameters["VkTeams_FileID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("fileid", FileID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "GetFileInformation", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "GetFileInformation");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure VKTeams_EditMessageText(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["VkTeams_Token"];
|
||||
ChatID = FunctionParameters["VkTeams_ChatID2"];
|
||||
MessageID = FunctionParameters["VkTeams_MessageID"];
|
||||
Text = "New message text";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("chatid", ChatID);
|
||||
Options.Insert("messageid", MessageID);
|
||||
Options.Insert("text", Text);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "EditMessageText", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "EditMessageText", "Path"); // SKIP
|
||||
|
||||
Text = "<b>New bold message text</b>";
|
||||
Markup = "HTML";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("chatid", ChatID);
|
||||
Options.Insert("messageid", MessageID);
|
||||
Options.Insert("text", Text);
|
||||
Options.Insert("parsemod", Markup);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "EditMessageText", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "EditMessageText");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure VKTeams_DeleteMessage(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["VkTeams_Token"];
|
||||
ChatID = FunctionParameters["VkTeams_ChatID2"];
|
||||
MessageID = FunctionParameters["VkTeams_MessageID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("chatid", ChatID);
|
||||
Options.Insert("messageid", MessageID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "DeleteMessage", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "DeleteMessage");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure VKTeams_SendVoice(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["VkTeams_Token"];
|
||||
ChatID = FunctionParameters["VkTeams_ChatID2"];
|
||||
ReplyID = FunctionParameters["VkTeams_MessageID"];
|
||||
|
||||
File = FunctionParameters["Audio2"]; // URL
|
||||
FilePath = GetTempFileName("m4a"); // Path
|
||||
|
||||
CopyFile(File, FilePath);
|
||||
|
||||
FileBD = New BinaryData(FilePath); // Binary
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("chatid", ChatID);
|
||||
Options.Insert("file", File);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "SendVoice", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "SendVoice", "URL", FunctionParameters); // SKIP
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("chatid", ChatID);
|
||||
Options.Insert("file", FilePath);
|
||||
Options.Insert("reply", ReplyID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "SendVoice", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "SendVoice", "Path", FunctionParameters); // SKIP
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("chatid", ChatID);
|
||||
Options.Insert("file", FileBD);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "SendVoice", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "SendVoice", , FunctionParameters);
|
||||
|
||||
OPI_Tools.RemoveFileWithTry(FilePath, "Failed to delete the temporary file after the test!!");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure VKTeams_ResendVoice(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["VkTeams_Token"];
|
||||
ChatID = FunctionParameters["VkTeams_ChatID"];
|
||||
FileID = FunctionParameters["VkTeams_VoiceID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("chatid", ChatID);
|
||||
Options.Insert("fileid", FileID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "ResendVoice", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "ResendVoice");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure VKTeams_RemoveChatMembers(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["VkTeams_Token"];
|
||||
ChatID = FunctionParameters["VkTeams_ChatID2"];
|
||||
User = 1011987091;
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("chatid", ChatID);
|
||||
Options.Insert("members", User);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "RemoveChatMembers", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "RemoveChatMembers");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure VKTeams_ChangeChatPicture(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["VkTeams_Token"];
|
||||
ChatID = FunctionParameters["VkTeams_ChatID"];
|
||||
|
||||
File = FunctionParameters["Picture3"]; // URL
|
||||
FilePath = GetTempFileName("png"); // Path
|
||||
|
||||
CopyFile(File, FilePath);
|
||||
|
||||
FileBD = New BinaryData(FilePath); // Binary
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("chatid", ChatID);
|
||||
Options.Insert("file", File);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "ChangeChatPicture", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "ChangeChatPicture", "URL");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("chatid", ChatID);
|
||||
Options.Insert("file", FilePath);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "ChangeChatPicture", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "ChangeChatPicture", "Path");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("chatid", ChatID);
|
||||
Options.Insert("file", FileBD);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "ChangeChatPicture", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "ChangeChatPicture");
|
||||
|
||||
OPI_Tools.RemoveFileWithTry(FilePath, "Failed to delete the temporary file after the test!!");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure VKTeams_GetChatInfo(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["VkTeams_Token"];
|
||||
ChatID = FunctionParameters["VkTeams_ChatID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("chatid", ChatID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "GetChatInfo", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "GetChatInfo");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure VKTeams_GetChatAdmins(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["VkTeams_Token"];
|
||||
ChatID = FunctionParameters["VkTeams_ChatID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("chatid", ChatID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "GetChatAdmins", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "GetChatAdmins");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure VKTeams_GetChatMembers(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["VkTeams_Token"];
|
||||
ChatID = FunctionParameters["VkTeams_ChatID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("chatid", ChatID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "GetChatMembers", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "GetChatMembers");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure VKTeams_GetChatBlockedUsers(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["VkTeams_Token"];
|
||||
ChatID = FunctionParameters["VkTeams_ChatID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("chatid", ChatID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "GetChatBlockedUsers", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "GetChatBlockedUsers");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure VKTeams_GetChatJoinRequests(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["VkTeams_Token"];
|
||||
ChatID = FunctionParameters["VkTeams_ChatID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("chatid", ChatID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "GetChatJoinRequests", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "GetChatJoinRequests");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure VKTeams_BlockChatUser(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["VkTeams_Token"];
|
||||
ChatID = FunctionParameters["VkTeams_ChatID2"];
|
||||
User = 1011987091;
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("chatid", ChatID);
|
||||
Options.Insert("userid", User);
|
||||
Options.Insert("dellast", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "BlockChatUser", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "BlockChatUser");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure VKTeams_UnblockChatUser(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["VkTeams_Token"];
|
||||
ChatID = FunctionParameters["VkTeams_ChatID2"];
|
||||
User = 1011987091;
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("chatid", ChatID);
|
||||
Options.Insert("userid", User);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "UnblockChatUser", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "UnblockChatUser");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure VKTeams_PinMessage(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["VkTeams_Token"];
|
||||
ChatID = FunctionParameters["VkTeams_ChatID2"];
|
||||
MessageID = FunctionParameters["VkTeams_MessageID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("chatid", ChatID);
|
||||
Options.Insert("messageid", MessageID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "PinMessage", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "PinMessage");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure VKTeams_UnpinMessage(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["VkTeams_Token"];
|
||||
ChatID = FunctionParameters["VkTeams_ChatID2"];
|
||||
MessageID = FunctionParameters["VkTeams_MessageID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("chatid", ChatID);
|
||||
Options.Insert("messageid", MessageID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "UnpinMessage", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "UnpinMessage");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure VKTeams_ApprovePending(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["VkTeams_Token"];
|
||||
ChatID = FunctionParameters["VkTeams_ChatID2"];
|
||||
User = 1011987091;
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("chatid", ChatID);
|
||||
Options.Insert("userid", User);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "ApprovePending", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "ApprovePending", "One"); // SKIP
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("chatid", ChatID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "ApprovePending", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "ApprovePending");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure VKTeams_DisapprovePending(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["VkTeams_Token"];
|
||||
ChatID = FunctionParameters["VkTeams_ChatID2"];
|
||||
User = 1011987091;
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("chatid", ChatID);
|
||||
Options.Insert("userid", User);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "DisapprovePending", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "DisapprovePending", "One"); // SKIP
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("chatid", ChatID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "DisapprovePending", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "DisapprovePending");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure VKTeams_SetChatTitle(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["VkTeams_Token"];
|
||||
ChatID = FunctionParameters["VkTeams_ChatID2"];
|
||||
Text = "New title";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("chatid", ChatID);
|
||||
Options.Insert("text", Text);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "SetChatTitle", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "SetChatTitle");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure VKTeams_SetChatDescription(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["VkTeams_Token"];
|
||||
ChatID = FunctionParameters["VkTeams_ChatID2"];
|
||||
Text = "New description";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("chatid", ChatID);
|
||||
Options.Insert("text", Text);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "SetChatDescription", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "SetChatDescription");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure VKTeams_SetChatRules(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["VkTeams_Token"];
|
||||
ChatID = FunctionParameters["VkTeams_ChatID2"];
|
||||
Text = "Text of the new rules";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("chatid", ChatID);
|
||||
Options.Insert("text", Text);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("vkteams", "SetChatRules", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "SetChatRules");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure VKTeams_AnswerButtonEvent(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["VkTeams_Token"];
|
||||
LastID = 0;
|
||||
|
||||
For N = 1 To 5 Do
|
||||
|
||||
Result = OPI_VKTeams.GetEvents(Token, LastID, 3);
|
||||
Events = Result["events"];
|
||||
|
||||
If Not Events.Count() = 0 Then
|
||||
|
||||
For Each Event In Events Do
|
||||
|
||||
callbackData = Event["payload"];
|
||||
|
||||
If callbackData["callbackData"] = "ButtonEvent1" Then
|
||||
|
||||
EventID = callbackData["queryId"];
|
||||
Result = OPI_VKTeams.AnswerButtonEvent(Token, EventID, "Get it!!");
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "VKTeams", "AnswerButtonEvent"); // SKIP
|
||||
|
||||
EndIf;
|
||||
|
||||
EndDo;
|
||||
|
||||
LastID = Events[Events.UBound()]["eventId"];
|
||||
|
||||
EndIf;
|
||||
|
||||
EndDo;
|
||||
|
||||
// END
|
||||
|
||||
OPI_Tools.Pause(3);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure VKTeams_MakeActionButton(FunctionParameters)
|
||||
|
||||
Keyboard = New Array;
|
||||
ButtonsLineArray = New Array;
|
||||
|
||||
ButtonsLineArray.Add(OPI_VKTeams.MakeActionButton("Button1", "ButtonEvent1", , "attention"));
|
||||
|
||||
ButtonsLineArray.Add(OPI_VKTeams.MakeActionButton("Button2", , "https://openintegrations.dev"));
|
||||
|
||||
// BSLLS:DuplicatedInsertionIntoCollection-off // SKIP
|
||||
Keyboard.Add(ButtonsLineArray);
|
||||
Keyboard.Add(ButtonsLineArray);
|
||||
// BSLLS:DuplicatedInsertionIntoCollection-on // SKIP
|
||||
|
||||
// END
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // VKTeams
|
||||
|
||||
#EndRegion // AtomicTests
|
||||
|
||||
#EndRegion // Private
|
||||
|
||||
#Region Alternate
|
||||
|
||||
Procedure ВКТ_ОбщиеМетоды() Export
|
||||
VKT_CommonMethods();
|
||||
EndProcedure
|
||||
|
||||
Procedure ВКТ_ОтправкаСообщений() Export
|
||||
VKT_MessagesSending();
|
||||
EndProcedure
|
||||
|
||||
Procedure ВКТ_УправлениеЧатами() Export
|
||||
VKT_ChatManagement();
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
+498
@@ -0,0 +1,498 @@
|
||||
// OneScript: ./OInt/tests/Modules/OPItc_Viber.os
|
||||
|
||||
// MIT License
|
||||
|
||||
// Copyright (c) 2023-2026 Anton Tsitavets
|
||||
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
|
||||
// The above copyright notice and +this permission notice shall be included in all
|
||||
// copies or substantial portions of the Software.
|
||||
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// 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
|
||||
// SOFTWARE.
|
||||
|
||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||
|
||||
// Test suite for YAxUnit
|
||||
|
||||
// BSLLS:Typo-off
|
||||
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
||||
// BSLLS:IncorrectLineBreak-off
|
||||
// BSLLS:UsingServiceTag-off
|
||||
// BSLLS:UnusedParameters-off
|
||||
// BSLLS:DuplicateStringLiteral-off
|
||||
// BSLLS:UsingHardcodePath-off
|
||||
// BSLLS:UnusedLocalVariable-off
|
||||
// BSLLS:DeprecatedMessage-off
|
||||
// BSLLS:LineLength-off
|
||||
// BSLLS:MagicNumber-off
|
||||
// BSLLS:CommentedCode-off
|
||||
// BSLLS:AssignAliasFieldsInQuery-off
|
||||
// BSLLS:UsingHardcodeNetworkAddress-off
|
||||
// BSLLS:UnreachableCode-off
|
||||
// BSLLS:UnusedLocalMethod-off
|
||||
// BSLLS:NestedFunctionInParameters-off
|
||||
// BSLLS:MissingTemporaryFileDeletion-off
|
||||
// BSLLS:UsingSynchronousCalls-off
|
||||
// BSLLS:MagicNumber-off
|
||||
// BSLLS:MagicDate-off
|
||||
// BSLLS:MissingParameterDescription-off
|
||||
// BSLLS:NumberOfOptionalParams-off
|
||||
// BSLLS:MethodSize-off
|
||||
// BSLLS:NestedConstructorsInStructureDeclaration-off
|
||||
// BSLLS:NumberOfValuesInStructureConstructor-off
|
||||
// BSLLS:UsingHardcodeSecretInformation-off
|
||||
// BSLLS:SpaceAtStartComment-off
|
||||
|
||||
//@skip-check undefined-variable
|
||||
//@skip-check wrong-string-literal-content
|
||||
//@skip-check module-structure-top-region
|
||||
//@skip-check module-structure-method-in-regions
|
||||
//@skip-check undefined-function-or-procedure
|
||||
//@skip-check wrong-string-literal-content
|
||||
//@skip-check module-unused-local-variable
|
||||
//@skip-check bsl-legacy-check-string-literal
|
||||
//@skip-check bsl-legacy-check-method-for-statements-after-return
|
||||
//@skip-check missing-temporary-file-deletion
|
||||
//@skip-check module-unused-method
|
||||
|
||||
#Use "../../tools/main"
|
||||
#Use "../../tools/http"
|
||||
#Use "../../api"
|
||||
#Use asserts
|
||||
#Use "internal"
|
||||
|
||||
|
||||
// For YAxUnit
|
||||
|
||||
Procedure ИсполняемыеСценарии() Export
|
||||
|
||||
OPI_TestDataRetrieval.FormYAXTests("Viber");
|
||||
|
||||
EndProcedure
|
||||
|
||||
// For Asserts
|
||||
|
||||
Function ПолучитьСписокТестов(UnitTesting) Export
|
||||
|
||||
Return OPI_TestDataRetrieval.FormAssertsTests("Viber");
|
||||
|
||||
EndFunction
|
||||
|
||||
#Region Internal
|
||||
|
||||
#Region RunnableTests
|
||||
|
||||
#Region Viber
|
||||
|
||||
Procedure Viber_DataRetrieval() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Viber_ChannelToken" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Viber_ChannelAdminID", TestParameters);
|
||||
|
||||
Return;
|
||||
|
||||
//@skip-check unreachable-statements
|
||||
// BSLLS:UnreachableCode-off
|
||||
|
||||
Viber_GetChannelInformation(TestParameters);
|
||||
Viber_GetUserData(TestParameters);
|
||||
Viber_GetOnlineUsers(TestParameters);
|
||||
Viber_SetWebhook(TestParameters);
|
||||
|
||||
// BSLLS:UnreachableCode-on
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Viber_MessagesSending() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Viber_ChannelToken" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Viber_ChannelAdminID", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Viber_Token" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Viber_UserID" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Picture" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Document" , TestParameters);
|
||||
|
||||
Viber_CreateKeyboardFromArrayButton(TestParameters);
|
||||
|
||||
Return;
|
||||
|
||||
//@skip-check unreachable-statement
|
||||
// BSLLS:UnreachableCode-off
|
||||
|
||||
Viber_SendTextMessage(TestParameters);
|
||||
Viber_SendImage(TestParameters);
|
||||
Viber_SendFile(TestParameters);
|
||||
Viber_SendContact(TestParameters);
|
||||
Viber_SendLocation(TestParameters);
|
||||
Viber_SendLink(TestParameters);
|
||||
|
||||
// BSLLS:UnreachableCode-on
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // Viber
|
||||
|
||||
#EndRegion // RunnableTests
|
||||
|
||||
#EndRegion // Internal
|
||||
|
||||
#Region Private
|
||||
|
||||
#Region AtomicTests
|
||||
|
||||
#Region Viber
|
||||
|
||||
Procedure Viber_SetWebhook(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Viber_ChannelToken"];
|
||||
URL = "http://api.athenaeum.digital/hs/viber";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("url", URL);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("viber", "SetWebhook", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Viber", "SetWebhook");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Viber_GetChannelInformation(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Viber_ChannelToken"];
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("viber", "GetChannelInformation", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Viber", "GetChannelInformation");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Viber_GetUserData(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Viber_ChannelToken"];
|
||||
UserID = FunctionParameters["Viber_ChannelAdminID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("user", UserID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("viber", "GetUserData", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Viber", "GetUserData");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Viber_GetOnlineUsers(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Viber_ChannelToken"];
|
||||
UserID = FunctionParameters["Viber_ChannelAdminID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("users", UserID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("viber", "GetOnlineUsers", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Viber", "GetOnlineUsers");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Viber_CreateKeyboardFromArrayButton(FunctionParameters)
|
||||
|
||||
ButtonArray = New Array;
|
||||
ButtonArray.Add("Button 1");
|
||||
ButtonArray.Add("Button 2");
|
||||
ButtonArray.Add("Button 3");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("buttons", ButtonArray);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("viber", "CreateKeyboardFromArrayButton", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Viber", "CreateKeyboardFromArrayButton");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Viber_SendTextMessage(FunctionParameters)
|
||||
|
||||
Text = "TestMessage";
|
||||
|
||||
UserID = FunctionParameters["Viber_UserID"];
|
||||
Token = FunctionParameters["Viber_Token"];
|
||||
SendingToChannel = False;
|
||||
|
||||
ButtonArray = New Array;
|
||||
ButtonArray.Add("Button 1");
|
||||
ButtonArray.Add("Button 2");
|
||||
ButtonArray.Add("Button 3");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("buttons", ButtonArray);
|
||||
|
||||
Keyboard = OPI_TestDataRetrieval.ExecuteTestCLI("viber", "CreateKeyboardFromArrayButton", Options);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("text", Text);
|
||||
Options.Insert("user", UserID);
|
||||
Options.Insert("ischannel", SendingToChannel);
|
||||
Options.Insert("keyboard", Keyboard);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("viber", "SendTextMessage", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Viber", "SendTextMessage"); // SKIP
|
||||
|
||||
UserID = FunctionParameters["Viber_ChannelAdminID"];
|
||||
Token = FunctionParameters["Viber_ChannelToken"];
|
||||
SendingToChannel = True;
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("text", Text);
|
||||
Options.Insert("user", UserID);
|
||||
Options.Insert("ischannel", SendingToChannel);
|
||||
Options.Insert("keyboard", Keyboard);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("viber", "SendTextMessage", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Viber", "SendTextMessage", "Channel");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Viber_SendImage(FunctionParameters)
|
||||
|
||||
Description = "TestMessage";
|
||||
URL = FunctionParameters["Picture"];
|
||||
|
||||
UserID = FunctionParameters["Viber_UserID"];
|
||||
Token = FunctionParameters["Viber_Token"];
|
||||
SendingToChannel = False;
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("picture", URL);
|
||||
Options.Insert("user", UserID);
|
||||
Options.Insert("ischannel", SendingToChannel);
|
||||
Options.Insert("description", Description);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("viber", "SendImage", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Viber", "SendImage"); // SKIP
|
||||
|
||||
UserID = FunctionParameters["Viber_ChannelAdminID"];
|
||||
Token = FunctionParameters["Viber_ChannelToken"];
|
||||
SendingToChannel = True;
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("picture", URL);
|
||||
Options.Insert("user", UserID);
|
||||
Options.Insert("ischannel", SendingToChannel);
|
||||
Options.Insert("description", Description);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("viber", "SendImage", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Viber", "SendImage", "Channel");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Viber_SendFile(FunctionParameters)
|
||||
|
||||
Extension = "docx";
|
||||
URL = FunctionParameters["Document"];
|
||||
|
||||
UserID = FunctionParameters["Viber_UserID"];
|
||||
Token = FunctionParameters["Viber_Token"];
|
||||
SendingToChannel = False;
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("file", URL);
|
||||
Options.Insert("user", UserID);
|
||||
Options.Insert("ischannel", SendingToChannel);
|
||||
Options.Insert("ext", Extension);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("viber", "SendFile", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Viber", "SendFile"); // SKIP
|
||||
|
||||
UserID = FunctionParameters["Viber_ChannelAdminID"];
|
||||
Token = FunctionParameters["Viber_ChannelToken"];
|
||||
SendingToChannel = True;
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("file", URL);
|
||||
Options.Insert("user", UserID);
|
||||
Options.Insert("ischannel", SendingToChannel);
|
||||
Options.Insert("ext", Extension);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("viber", "SendFile", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Viber", "SendFile", "Channel");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Viber_SendContact(FunctionParameters)
|
||||
|
||||
Name = "Petr Petrov";
|
||||
Phone = "+123456789";
|
||||
|
||||
UserID = FunctionParameters["Viber_UserID"];
|
||||
Token = FunctionParameters["Viber_Token"];
|
||||
SendingToChannel = False;
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("name", Name);
|
||||
Options.Insert("phone", Phone);
|
||||
Options.Insert("user", UserID);
|
||||
Options.Insert("ischannel", SendingToChannel);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("viber", "SendContact", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Viber", "SendContact"); // SKIP
|
||||
|
||||
UserID = FunctionParameters["Viber_ChannelAdminID"];
|
||||
Token = FunctionParameters["Viber_ChannelToken"];
|
||||
SendingToChannel = True;
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("name", Name);
|
||||
Options.Insert("phone", Phone);
|
||||
Options.Insert("user", UserID);
|
||||
Options.Insert("ischannel", SendingToChannel);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("viber", "SendContact", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Viber", "SendContact", "Channel");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Viber_SendLocation(FunctionParameters)
|
||||
|
||||
Latitude = "48.87373649724122";
|
||||
Longitude = "2.2954639195323967";
|
||||
|
||||
UserID = FunctionParameters["Viber_UserID"];
|
||||
Token = FunctionParameters["Viber_Token"];
|
||||
SendingToChannel = False;
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("lat", Latitude);
|
||||
Options.Insert("long", Longitude);
|
||||
Options.Insert("user", UserID);
|
||||
Options.Insert("ischannel", SendingToChannel);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("viber", "SendLocation", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Viber", "SendLocation"); // SKIP
|
||||
|
||||
UserID = FunctionParameters["Viber_ChannelAdminID"];
|
||||
Token = FunctionParameters["Viber_ChannelToken"];
|
||||
SendingToChannel = True;
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("lat", Latitude);
|
||||
Options.Insert("long", Longitude);
|
||||
Options.Insert("user", UserID);
|
||||
Options.Insert("ischannel", SendingToChannel);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("viber", "SendLocation", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Viber", "SendLocation", "Channel");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Viber_SendLink(FunctionParameters)
|
||||
|
||||
URL = "https://github.com/Bayselonarrend/OpenIntegrations";
|
||||
|
||||
UserID = FunctionParameters["Viber_UserID"];
|
||||
Token = FunctionParameters["Viber_Token"];
|
||||
SendingToChannel = False;
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("user", UserID);
|
||||
Options.Insert("ischannel", SendingToChannel);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("viber", "SendLink", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Viber", "SendLink"); // SKIP
|
||||
|
||||
UserID = FunctionParameters["Viber_ChannelAdminID"];
|
||||
Token = FunctionParameters["Viber_ChannelToken"];
|
||||
SendingToChannel = True;
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("url", URL);
|
||||
Options.Insert("user", UserID);
|
||||
Options.Insert("ischannel", SendingToChannel);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("viber", "SendLink", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Viber", "SendLink", "Channel");
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // Viber
|
||||
|
||||
#EndRegion // AtomicTests
|
||||
|
||||
#EndRegion // Private
|
||||
|
||||
#Region Alternate
|
||||
|
||||
Procedure Вайбер_ПолучениеИнформации() Export
|
||||
Viber_DataRetrieval();
|
||||
EndProcedure
|
||||
|
||||
Procedure Вайбер_ОтправкаСообщений() Export
|
||||
Viber_MessagesSending();
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
+95
@@ -0,0 +1,95 @@
|
||||
// OneScript: ./OInt/tests/Modules/OPItc_WebSocket.os
|
||||
|
||||
// MIT License
|
||||
|
||||
// Copyright (c) 2023-2026 Anton Tsitavets
|
||||
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
|
||||
// The above copyright notice and this permission notice shall be included in all
|
||||
// copies or substantial portions of the Software.
|
||||
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// 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
|
||||
// SOFTWARE.
|
||||
|
||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||
|
||||
// BSLLS:Typo-off
|
||||
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
||||
// BSLLS:IncorrectLineBreak-off
|
||||
// BSLLS:UsingServiceTag-off
|
||||
// BSLLS:UnusedParameters-off
|
||||
// BSLLS:DuplicateStringLiteral-off
|
||||
// BSLLS:UsingHardcodePath-off
|
||||
// BSLLS:UnusedLocalVariable-off
|
||||
// BSLLS:DeprecatedMessage-off
|
||||
// BSLLS:LineLength-off
|
||||
// BSLLS:MagicNumber-off
|
||||
// BSLLS:CommentedCode-off
|
||||
// BSLLS:AssignAliasFieldsInQuery-off
|
||||
// BSLLS:UsingHardcodeNetworkAddress-off
|
||||
// BSLLS:UnreachableCode-off
|
||||
// BSLLS:UnusedLocalMethod-off
|
||||
// BSLLS:NestedFunctionInParameters-off
|
||||
// BSLLS:MissingTemporaryFileDeletion-off
|
||||
// BSLLS:UsingSynchronousCalls-off
|
||||
// BSLLS:MagicNumber-off
|
||||
// BSLLS:MagicDate-off
|
||||
// BSLLS:MissingParameterDescription-off
|
||||
// BSLLS:NumberOfOptionalParams-off
|
||||
// BSLLS:MethodSize-off
|
||||
// BSLLS:NestedConstructorsInStructureDeclaration-off
|
||||
// BSLLS:NumberOfValuesInStructureConstructor-off
|
||||
// BSLLS:UsingHardcodeSecretInformation-off
|
||||
// BSLLS:SpaceAtStartComment-off
|
||||
|
||||
//@skip-check undefined-variable
|
||||
//@skip-check wrong-string-literal-content
|
||||
//@skip-check module-structure-top-region
|
||||
//@skip-check module-structure-method-in-regions
|
||||
//@skip-check undefined-function-or-procedure
|
||||
//@skip-check wrong-string-literal-content
|
||||
//@skip-check module-unused-local-variable
|
||||
//@skip-check bsl-legacy-check-string-literal
|
||||
//@skip-check bsl-legacy-check-method-for-statements-after-return
|
||||
//@skip-check missing-temporary-file-deletion
|
||||
//@skip-check module-unused-method
|
||||
|
||||
#Use "../../tools/main"
|
||||
#Use "../../tools/http"
|
||||
#Use "../../api"
|
||||
#Use asserts
|
||||
#Use "internal"
|
||||
|
||||
// For YAxUnit
|
||||
|
||||
Procedure ИсполняемыеСценарии() Export
|
||||
|
||||
OPI_TestDataRetrieval.FormYAXTests("WebSocket");
|
||||
|
||||
EndProcedure
|
||||
|
||||
// For Asserts
|
||||
|
||||
Function ПолучитьСписокТестов(UnitTesting) Export
|
||||
|
||||
Return OPI_TestDataRetrieval.FormAssertsTests("WebSocket");
|
||||
|
||||
EndFunction
|
||||
|
||||
|
||||
#Region Alternate
|
||||
|
||||
|
||||
|
||||
#EndRegion
|
||||
+767
@@ -0,0 +1,767 @@
|
||||
// OneScript: ./OInt/tests/Modules/OPItc_YandexDisk.os
|
||||
|
||||
// MIT License
|
||||
|
||||
// Copyright (c) 2023-2026 Anton Tsitavets
|
||||
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
|
||||
// The above copyright notice and +this permission notice shall be included in all
|
||||
// copies or substantial portions of the Software.
|
||||
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// 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
|
||||
// SOFTWARE.
|
||||
|
||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||
|
||||
// Test suite for YAxUnit
|
||||
|
||||
// BSLLS:Typo-off
|
||||
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
||||
// BSLLS:IncorrectLineBreak-off
|
||||
// BSLLS:UsingServiceTag-off
|
||||
// BSLLS:UnusedParameters-off
|
||||
// BSLLS:DuplicateStringLiteral-off
|
||||
// BSLLS:UsingHardcodePath-off
|
||||
// BSLLS:UnusedLocalVariable-off
|
||||
// BSLLS:DeprecatedMessage-off
|
||||
// BSLLS:LineLength-off
|
||||
// BSLLS:MagicNumber-off
|
||||
// BSLLS:CommentedCode-off
|
||||
// BSLLS:AssignAliasFieldsInQuery-off
|
||||
// BSLLS:UsingHardcodeNetworkAddress-off
|
||||
// BSLLS:UnreachableCode-off
|
||||
// BSLLS:UnusedLocalMethod-off
|
||||
// BSLLS:NestedFunctionInParameters-off
|
||||
// BSLLS:MissingTemporaryFileDeletion-off
|
||||
// BSLLS:UsingSynchronousCalls-off
|
||||
// BSLLS:MagicNumber-off
|
||||
// BSLLS:MagicDate-off
|
||||
// BSLLS:MissingParameterDescription-off
|
||||
// BSLLS:NumberOfOptionalParams-off
|
||||
// BSLLS:MethodSize-off
|
||||
// BSLLS:NestedConstructorsInStructureDeclaration-off
|
||||
// BSLLS:NumberOfValuesInStructureConstructor-off
|
||||
// BSLLS:UsingHardcodeSecretInformation-off
|
||||
// BSLLS:SpaceAtStartComment-off
|
||||
|
||||
//@skip-check undefined-variable
|
||||
//@skip-check wrong-string-literal-content
|
||||
//@skip-check module-structure-top-region
|
||||
//@skip-check module-structure-method-in-regions
|
||||
//@skip-check undefined-function-or-procedure
|
||||
//@skip-check wrong-string-literal-content
|
||||
//@skip-check module-unused-local-variable
|
||||
//@skip-check bsl-legacy-check-string-literal
|
||||
//@skip-check bsl-legacy-check-method-for-statements-after-return
|
||||
//@skip-check missing-temporary-file-deletion
|
||||
//@skip-check module-unused-method
|
||||
|
||||
#Use "../../tools/main"
|
||||
#Use "../../tools/http"
|
||||
#Use "../../api"
|
||||
#Use asserts
|
||||
#Use "internal"
|
||||
|
||||
|
||||
// For YAxUnit
|
||||
|
||||
Procedure ИсполняемыеСценарии() Export
|
||||
|
||||
OPI_TestDataRetrieval.FormYAXTests("YandexDisk");
|
||||
|
||||
EndProcedure
|
||||
|
||||
// For Asserts
|
||||
|
||||
Function ПолучитьСписокТестов(UnitTesting) Export
|
||||
|
||||
Return OPI_TestDataRetrieval.FormAssertsTests("YandexDisk");
|
||||
|
||||
EndFunction
|
||||
|
||||
#Region Internal
|
||||
|
||||
#Region RunnableTests
|
||||
|
||||
#Region YandexDisk
|
||||
|
||||
Procedure YDisk_Authorization() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("YandexDisk_Token" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("YandexDisk_ClientID" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("YandexDisk_ClientSecret", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("YandexDisk_RefreshToken", TestParameters);
|
||||
|
||||
YandexDisk_GetConfirmationCode(TestParameters);
|
||||
YandexDisk_ConvertCodeToToken(TestParameters);
|
||||
YandexDisk_RefreshToken(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YDisk_GetDiskInfo() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("YandexDisk_Token", TestParameters);
|
||||
|
||||
YandexDisk_GetDiskInformation(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YDisk_CreateFolder() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("YandexDisk_Token", TestParameters);
|
||||
|
||||
YandexDisk_CreateFolder(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YDisk_UploadByUrlAndGetObject() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("YandexDisk_Token", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Picture" , TestParameters);
|
||||
|
||||
YandexDisk_UploadFileByURL(TestParameters);
|
||||
YandexDisk_GetObject(TestParameters);
|
||||
YandexDisk_DeleteObject(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YDisk_UploadDeleteFile() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("YandexDisk_Token", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Picture" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Audio" , TestParameters);
|
||||
|
||||
YandexDisk_UploadFileInParts(TestParameters);
|
||||
YandexDisk_UploadFile(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YDisk_CreateObjectCopy() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("YandexDisk_Token", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Picture" , TestParameters);
|
||||
|
||||
Token = TestParameters["YandexDisk_Token"];
|
||||
URL = TestParameters["Picture"];
|
||||
|
||||
OriginalPath = "/" + String(New UUID) + ".png";
|
||||
|
||||
OPI_YandexDisk.UploadFileByURL(Token, OriginalPath, URL);
|
||||
OPI_Tools.Pause(35);
|
||||
|
||||
OPI_TestDataRetrieval.WriteParameter("YandexDisk_OriginalFilePath", OriginalPath);
|
||||
TestParameters.Insert("YandexDisk_OriginalFilePath", OriginalPath);
|
||||
|
||||
YandexDisk_CreateObjectCopy(TestParameters);
|
||||
|
||||
CopyPath = TestParameters["YandexDisk_CopyFilePath"];
|
||||
|
||||
OPI_YandexDisk.DeleteObject(Token, OriginalPath, False);
|
||||
OPI_YandexDisk.DeleteObject(Token, CopyPath , False);
|
||||
|
||||
OPI_Tools.Pause(5);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YDisk_GetDownloadLink() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("YandexDisk_Token", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Picture" , TestParameters);
|
||||
|
||||
Token = TestParameters["YandexDisk_Token"];
|
||||
URL = TestParameters["Picture"];
|
||||
|
||||
Path = "/" + String(New UUID) + ".png";
|
||||
|
||||
OPI_YandexDisk.UploadFileByURL(Token, Path, URL);
|
||||
OPI_Tools.Pause(35);
|
||||
|
||||
OPI_TestDataRetrieval.WriteParameter("YandexDisk_PathForLink", Path);
|
||||
TestParameters.Insert("YandexDisk_PathForLink", Path);
|
||||
|
||||
YandexDisk_GetDownloadLink(TestParameters);
|
||||
YandexDisk_DownloadFile(TestParameters);
|
||||
|
||||
OPI_YandexDisk.DeleteObject(Token, Path, False);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YDisk_GetFileList() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("YandexDisk_Token", TestParameters);
|
||||
|
||||
YandexDisk_GetFilesList(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YDisk_MoveObject() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("YandexDisk_Token", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Picture" , TestParameters);
|
||||
|
||||
Token = TestParameters["YandexDisk_Token"];
|
||||
URL = TestParameters["Picture"];
|
||||
|
||||
OriginalPath = "/" + String(New UUID) + ".png";
|
||||
|
||||
OPI_YandexDisk.UploadFileByURL(Token, OriginalPath, URL);
|
||||
OPI_Tools.Pause(35);
|
||||
|
||||
OPI_TestDataRetrieval.WriteParameter("YandexDisk_OriginalFilePath", OriginalPath);
|
||||
TestParameters.Insert("YandexDisk_OriginalFilePath", OriginalPath);
|
||||
|
||||
YandexDisk_MoveObject(TestParameters);
|
||||
|
||||
NewPath = TestParameters["YandexDisk_NewFilePath"];
|
||||
|
||||
OPI_YandexDisk.DeleteObject(Token, OriginalPath, False);
|
||||
OPI_YandexDisk.DeleteObject(Token, NewPath , False);
|
||||
|
||||
OPI_Tools.Pause(5);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YDisk_PublicObjectActions() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("YandexDisk_Token", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Picture" , TestParameters);
|
||||
|
||||
Token = TestParameters["YandexDisk_Token"];
|
||||
URL = TestParameters["Picture"];
|
||||
|
||||
OriginalPath = "/" + String(New UUID) + ".png";
|
||||
|
||||
OPI_YandexDisk.UploadFileByURL(Token, OriginalPath, URL);
|
||||
OPI_Tools.Pause(35);
|
||||
|
||||
OPI_TestDataRetrieval.WriteParameter("YandexDisk_OriginalFilePath", OriginalPath);
|
||||
TestParameters.Insert("YandexDisk_OriginalFilePath", OriginalPath);
|
||||
|
||||
YandexDisk_PublishObject(TestParameters);
|
||||
YandexDisk_GetDownloadLinkForPublicObject(TestParameters);
|
||||
YandexDisk_GetPublicObject(TestParameters);
|
||||
YandexDisk_SavePublicObjectToDisk(TestParameters);
|
||||
YandexDisk_CancelObjectPublication(TestParameters);
|
||||
|
||||
OPI_YandexDisk.DeleteObject(Token, OriginalPath, False);
|
||||
|
||||
OPI_Tools.Pause(5);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YDisk_GetPublishedList() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("YandexDisk_Token", TestParameters);
|
||||
|
||||
YandexDisk_GetPublishedObjectsList(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // YandexDisk
|
||||
|
||||
#EndRegion // RunnableTests
|
||||
|
||||
#EndRegion // Internal
|
||||
|
||||
#Region Private
|
||||
|
||||
#Region AtomicTests
|
||||
|
||||
#Region YandexDisk
|
||||
|
||||
Procedure YandexDisk_GetConfirmationCode(FunctionParameters)
|
||||
|
||||
ClientID = FunctionParameters["YandexDisk_ClientID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("id", ClientID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("yadisk", "GetConfirmationCode", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexDisk", "GetConfirmationCode");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexDisk_ConvertCodeToToken(FunctionParameters)
|
||||
|
||||
ClientID = FunctionParameters["YandexDisk_ClientID"];
|
||||
ClientSecret = FunctionParameters["YandexDisk_ClientSecret"];
|
||||
DeviceCode = "12345678";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("id", ClientID);
|
||||
Options.Insert("secret", ClientSecret);
|
||||
Options.Insert("device", DeviceCode);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("yadisk", "ConvertCodeToToken", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexDisk", "ConvertCodeToToken", , FunctionParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexDisk_RefreshToken(FunctionParameters)
|
||||
|
||||
ClientID = FunctionParameters["YandexDisk_ClientID"];
|
||||
ClientSecret = FunctionParameters["YandexDisk_ClientSecret"];
|
||||
RefreshToken = FunctionParameters["YandexDisk_RefreshToken"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("id", ClientID);
|
||||
Options.Insert("secret", ClientSecret);
|
||||
Options.Insert("refresh", RefreshToken);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("yadisk", "RefreshToken", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexDisk", "RefreshToken", , FunctionParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexDisk_GetDiskInformation(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["YandexDisk_Token"];
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("yadisk", "GetDiskInformation", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexDisk", "GetDiskInformation");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexDisk_CreateFolder(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["YandexDisk_Token"];
|
||||
Path = "/" + String(New UUID);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("path", Path);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("yadisk", "CreateFolder", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexDisk", "CreateFolder", , Token, Path);
|
||||
|
||||
OPI_YandexDisk.DeleteObject(Token, Path, False);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexDisk_UploadFileByURL(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["YandexDisk_Token"];
|
||||
Address = FunctionParameters["Picture"];
|
||||
Path = "/" + String(New UUID) + ".png";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("path", Path);
|
||||
Options.Insert("url", Address);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("yadisk", "UploadFileByURL", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexDisk", "UploadFileByURL", , FunctionParameters, Path);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexDisk_GetObject(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["YandexDisk_Token"];
|
||||
Path = FunctionParameters["YandexDisk_FileByURLPath"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("path", Path);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("yadisk", "GetObject", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexDisk", "GetObject", , Path);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexDisk_DeleteObject(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["YandexDisk_Token"];
|
||||
Path = FunctionParameters["YandexDisk_FileByURLPath"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("path", Path);
|
||||
Options.Insert("can", Ложь);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("yadisk", "DeleteObject", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexDisk", "DeleteObject");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexDisk_UploadFile(FunctionParameters)
|
||||
|
||||
Path1 = "/" + String(New UUID) + ".png";
|
||||
Path2 = "/" + String(New UUID) + ".png";
|
||||
|
||||
Token = FunctionParameters["YandexDisk_Token"];
|
||||
Image = FunctionParameters["Picture"]; // URL
|
||||
|
||||
TFN = GetTempFileName("png"); // Path
|
||||
CopyFile(Image, TFN);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("path", Path1);
|
||||
Options.Insert("file", Image);
|
||||
Options.Insert("rewrite", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("yadisk", "UploadFile", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexDisk", "UploadFile", "URL"); // SKIP
|
||||
|
||||
OPI_YandexDisk.DeleteObject(Token, Path1, False); // SKIP
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("path", Path2);
|
||||
Options.Insert("file", TFN);
|
||||
Options.Insert("rewrite", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("yadisk", "UploadFile", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_Tools.RemoveFileWithTry(TFN, "Failed to delete the temporary file after the test!!");
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexDisk", "UploadFile");
|
||||
|
||||
OPI_YandexDisk.DeleteObject(Token, Path2, False); // SKIP
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexDisk_CreateObjectCopy(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["YandexDisk_Token"];
|
||||
Original = FunctionParameters["YandexDisk_OriginalFilePath"];
|
||||
Path = "/" + String(New UUID) + ".png";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("from", Original);
|
||||
Options.Insert("to", Path);
|
||||
Options.Insert("rewrite", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("yadisk", "CreateObjectCopy", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexDisk", "CreateObjectCopy", , FunctionParameters, Path);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexDisk_GetDownloadLink(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["YandexDisk_Token"];
|
||||
Path = FunctionParameters["YandexDisk_PathForLink"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("path", Path);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("yadisk", "GetDownloadLink", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexDisk", "GetDownloadLink");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexDisk_DownloadFile(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["YandexDisk_Token"];
|
||||
Path = FunctionParameters["YandexDisk_PathForLink"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("path", Path);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("yadisk", "DownloadFile", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexDisk", "DownloadFile");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexDisk_GetFilesList(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["YandexDisk_Token"];
|
||||
Count = 2;
|
||||
OffsetFromStart = 1;
|
||||
FilterByType = "image";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("amount", Count);
|
||||
Options.Insert("offset", OffsetFromStart);
|
||||
Options.Insert("type", FilterByType);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("yadisk", "GetFilesList", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexDisk", "GetFilesList", , Count, OffsetFromStart);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexDisk_MoveObject(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["YandexDisk_Token"];
|
||||
Original = FunctionParameters["YandexDisk_OriginalFilePath"];
|
||||
Path = "/" + String(New UUID) + ".png";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("from", Original);
|
||||
Options.Insert("to", Path);
|
||||
Options.Insert("rewrite", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("yadisk", "MoveObject", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexDisk", "MoveObject", , FunctionParameters, Path);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexDisk_GetPublishedObjectsList(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["YandexDisk_Token"];
|
||||
Count = 2;
|
||||
OffsetFromStart = 1;
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("amount", Count);
|
||||
Options.Insert("offset", OffsetFromStart);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("yadisk", "GetPublishedObjectsList", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexDisk", "GetPublishedObjectsList", , Count, OffsetFromStart);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexDisk_PublishObject(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["YandexDisk_Token"];
|
||||
Path = FunctionParameters["YandexDisk_OriginalFilePath"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("path", Path);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("yadisk", "PublishObject", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexDisk", "PublishObject", , FunctionParameters, Path);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexDisk_GetDownloadLinkForPublicObject(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["YandexDisk_Token"];
|
||||
URL = FunctionParameters["YandexDisk_PublicURL"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("url", URL);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("yadisk", "GetDownloadLinkForPublicObject", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexDisk", "GetDownloadLinkForPublicObject");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexDisk_GetPublicObject(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["YandexDisk_Token"];
|
||||
URL = FunctionParameters["YandexDisk_PublicURL"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("url", URL);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("yadisk", "GetPublicObject", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexDisk", "GetPublicObject");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexDisk_SavePublicObjectToDisk(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["YandexDisk_Token"];
|
||||
URL = FunctionParameters["YandexDisk_PublicURL"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("url", URL);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("yadisk", "SavePublicObjectToDisk", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexDisk", "SavePublicObjectToDisk");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexDisk_CancelObjectPublication(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["YandexDisk_Token"];
|
||||
Path = FunctionParameters["YandexDisk_OriginalFilePath"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("path", Path);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("yadisk", "CancelObjectPublication", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexDisk", "CancelObjectPublication", , Path);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexDisk_UploadFileInParts(FunctionParameters)
|
||||
|
||||
Path = "/song.mp3";
|
||||
|
||||
Token = FunctionParameters["YandexDisk_Token"];
|
||||
File = FunctionParameters["Audio"]; // URL, Binary or File path
|
||||
|
||||
ChunkSize = 1048576; // 1 MB
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("path", Path);
|
||||
Options.Insert("file", File);
|
||||
Options.Insert("psize", ChunkSize);
|
||||
Options.Insert("rewrite", Истина);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("yadisk", "UploadFileInParts", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexDisk", "UploadFileInParts", , File);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("path", Path);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("yadisk", "DownloadFile", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexDisk", "UploadFileInParts", "Downloading", File);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("path", Path);
|
||||
Options.Insert("can", Ложь);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("yadisk", "DeleteObject", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexDisk", "UploadFileInParts", "Deletion");
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // YandexDisk
|
||||
|
||||
#EndRegion // AtomicTests
|
||||
|
||||
#EndRegion // Private
|
||||
|
||||
#Region Alternate
|
||||
|
||||
Procedure ЯДиск_Авторизация() Export
|
||||
YDisk_Authorization();
|
||||
EndProcedure
|
||||
|
||||
Procedure ЯДиск_ПолучитьИнформациюОДиске() Export
|
||||
YDisk_GetDiskInfo();
|
||||
EndProcedure
|
||||
|
||||
Procedure ЯДиск_СоздатьПапку() Export
|
||||
YDisk_CreateFolder();
|
||||
EndProcedure
|
||||
|
||||
Procedure ЯДиск_ЗагрузитьПоАдресуПолучитьОбъект() Export
|
||||
YDisk_UploadByUrlAndGetObject();
|
||||
EndProcedure
|
||||
|
||||
Procedure ЯДиск_ЗагрузитьУдалитьФайл() Export
|
||||
YDisk_UploadDeleteFile();
|
||||
EndProcedure
|
||||
|
||||
Procedure ЯДиск_СоздатьКопиюОбъекта() Export
|
||||
YDisk_CreateObjectCopy();
|
||||
EndProcedure
|
||||
|
||||
Procedure ЯДиск_ПолучитьСсылкуНаСкачивание() Export
|
||||
YDisk_GetDownloadLink();
|
||||
EndProcedure
|
||||
|
||||
Procedure ЯДиск_ПолучитьСписокФайлов() Export
|
||||
YDisk_GetFileList();
|
||||
EndProcedure
|
||||
|
||||
Procedure ЯДиск_ПереместитьОбъект() Export
|
||||
YDisk_MoveObject();
|
||||
EndProcedure
|
||||
|
||||
Procedure ЯДиск_ДействияПубличныхОбъектов() Export
|
||||
YDisk_PublicObjectActions();
|
||||
EndProcedure
|
||||
|
||||
Procedure ЯДиск_ПолучитьСписокОпубликованных() Export
|
||||
YDisk_GetPublishedList();
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
+461
@@ -0,0 +1,461 @@
|
||||
// OneScript: ./OInt/tests/Modules/OPItc_YandexMetrika.os
|
||||
|
||||
// MIT License
|
||||
|
||||
// Copyright (c) 2023-2026 Anton Tsitavets
|
||||
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
|
||||
// The above copyright notice and +this permission notice shall be included in all
|
||||
// copies or substantial portions of the Software.
|
||||
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// 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
|
||||
// SOFTWARE.
|
||||
|
||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||
|
||||
// Test suite for YAxUnit
|
||||
|
||||
// BSLLS:Typo-off
|
||||
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
||||
// BSLLS:IncorrectLineBreak-off
|
||||
// BSLLS:UsingServiceTag-off
|
||||
// BSLLS:UnusedParameters-off
|
||||
// BSLLS:DuplicateStringLiteral-off
|
||||
// BSLLS:UsingHardcodePath-off
|
||||
// BSLLS:UnusedLocalVariable-off
|
||||
// BSLLS:DeprecatedMessage-off
|
||||
// BSLLS:LineLength-off
|
||||
// BSLLS:MagicNumber-off
|
||||
// BSLLS:CommentedCode-off
|
||||
// BSLLS:AssignAliasFieldsInQuery-off
|
||||
// BSLLS:UsingHardcodeNetworkAddress-off
|
||||
// BSLLS:UnreachableCode-off
|
||||
// BSLLS:UnusedLocalMethod-off
|
||||
// BSLLS:NestedFunctionInParameters-off
|
||||
// BSLLS:MissingTemporaryFileDeletion-off
|
||||
// BSLLS:UsingSynchronousCalls-off
|
||||
// BSLLS:MagicNumber-off
|
||||
// BSLLS:MagicDate-off
|
||||
// BSLLS:MissingParameterDescription-off
|
||||
// BSLLS:NumberOfOptionalParams-off
|
||||
// BSLLS:MethodSize-off
|
||||
// BSLLS:NestedConstructorsInStructureDeclaration-off
|
||||
// BSLLS:NumberOfValuesInStructureConstructor-off
|
||||
// BSLLS:UsingHardcodeSecretInformation-off
|
||||
// BSLLS:SpaceAtStartComment-off
|
||||
|
||||
//@skip-check undefined-variable
|
||||
//@skip-check wrong-string-literal-content
|
||||
//@skip-check module-structure-top-region
|
||||
//@skip-check module-structure-method-in-regions
|
||||
//@skip-check undefined-function-or-procedure
|
||||
//@skip-check wrong-string-literal-content
|
||||
//@skip-check module-unused-local-variable
|
||||
//@skip-check bsl-legacy-check-string-literal
|
||||
//@skip-check bsl-legacy-check-method-for-statements-after-return
|
||||
//@skip-check missing-temporary-file-deletion
|
||||
//@skip-check module-unused-method
|
||||
|
||||
#Use "../../tools/main"
|
||||
#Use "../../tools/http"
|
||||
#Use "../../api"
|
||||
#Use asserts
|
||||
#Use "internal"
|
||||
|
||||
|
||||
// For YAxUnit
|
||||
|
||||
Procedure ИсполняемыеСценарии() Export
|
||||
|
||||
OPI_TestDataRetrieval.FormYAXTests("YandexMetrika");
|
||||
|
||||
EndProcedure
|
||||
|
||||
// For Asserts
|
||||
|
||||
Function ПолучитьСписокТестов(UnitTesting) Export
|
||||
|
||||
Return OPI_TestDataRetrieval.FormAssertsTests("YandexMetrika");
|
||||
|
||||
EndFunction
|
||||
|
||||
#Region Internal
|
||||
|
||||
#Region RunnableTests
|
||||
|
||||
#Region YandexMetrika
|
||||
|
||||
Procedure YaMetrika_TagsManagement() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Metrika_Token", TestParameters);
|
||||
|
||||
YandexMetrika_CreateTag(TestParameters);
|
||||
YandexMetrika_GetTagsList(TestParameters);
|
||||
YandexMetrika_UpdateTag(TestParameters);
|
||||
YandexMetrika_GetTag(TestParameters);
|
||||
YandexMetrika_DeleteTag(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YaMetrika_CountersManagement() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Metrika_Token", TestParameters);
|
||||
|
||||
YandexMetrika_GetCounterStructure(TestParameters);
|
||||
YandexMetrika_CreateCounter(TestParameters);
|
||||
YandexMetrika_GetCounter(TestParameters);
|
||||
YandexMetrika_UpdateCounter(TestParameters);
|
||||
YandexMetrika_DeleteCounter(TestParameters);
|
||||
YandexMetrika_RestoreCounter(TestParameters);
|
||||
YandexMetrika_GetCountersList(TestParameters);
|
||||
YandexMetrika_DeleteCounter(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YaMetrika_ActionsManagement() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Metrika_Token", TestParameters);
|
||||
|
||||
YandexMetrika_CreateCounter(TestParameters);
|
||||
YandexMetrika_GetActionsList(TestParameters);
|
||||
YandexMetrika_DeleteCounter(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // YandexMetrika
|
||||
|
||||
#EndRegion // RunnableTests
|
||||
|
||||
#EndRegion // Internal
|
||||
|
||||
#Region Private
|
||||
|
||||
#Region AtomicTests
|
||||
|
||||
#Region YandexMetrika
|
||||
|
||||
Procedure YandexMetrika_GetTagsList(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Metrika_Token"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("metrika", "GetTagsList", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexMetrika", "GetTagsList");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexMetrika_CreateTag(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Metrika_Token"];
|
||||
Name = "New tag";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("title", Name);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("metrika", "CreateTag", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexMetrika", "CreateTag", , FunctionParameters, Name);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexMetrika_DeleteTag(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Metrika_Token"];
|
||||
TagID = FunctionParameters["Metrika_LabelID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("label", TagID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("metrika", "DeleteTag", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexMetrika", "DeleteTag");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexMetrika_UpdateTag(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Metrika_Token"];
|
||||
TagID = FunctionParameters["Metrika_LabelID"];
|
||||
Name = "New tag title";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("label", TagID);
|
||||
Options.Insert("title", Name);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("metrika", "UpdateTag", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexMetrika", "UpdateTag", , Name);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexMetrika_GetTag(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Metrika_Token"];
|
||||
TagID = FunctionParameters["Metrika_LabelID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("label", TagID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("metrika", "GetTag", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexMetrika", "GetTag");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexMetrika_GetCounterStructure(FunctionParameters)
|
||||
|
||||
Clear = False;
|
||||
Options = New Structure;
|
||||
Options.Insert("empty", Clear);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("metrika", "GetCounterStructure", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexMetrika", "GetCounterStructure");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexMetrika_CreateCounter(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Metrika_Token"];
|
||||
|
||||
CounterStructure = New Structure;
|
||||
CounterStructure.Insert("autogoals_enabled", True);
|
||||
|
||||
CodeSettingsStructure = New Structure;
|
||||
CodeSettingsStructure.Insert("async" , 0);
|
||||
CodeSettingsStructure.Insert("clickmap" , 1);
|
||||
CodeSettingsStructure.Insert("ecommerce" , 1);
|
||||
CodeSettingsStructure.Insert("in_one_line" , 0);
|
||||
CodeSettingsStructure.Insert("track_hash" , 1);
|
||||
CodeSettingsStructure.Insert("visor" , 1);
|
||||
CodeSettingsStructure.Insert("xml_site" , 0);
|
||||
CodeSettingsStructure.Insert("ytm" , 0);
|
||||
CodeSettingsStructure.Insert("alternative_cdn", 1);
|
||||
|
||||
InformerStructure = New Structure;
|
||||
InformerStructure.Insert("color_arrow", 1);
|
||||
InformerStructure.Insert("color_end" , "EFEFEFFE");
|
||||
InformerStructure.Insert("color_start", "EEEEEEEE");
|
||||
InformerStructure.Insert("color_text" , 0);
|
||||
InformerStructure.Insert("enabled" , 1);
|
||||
InformerStructure.Insert("indicator" , "uniques");
|
||||
InformerStructure.Insert("size" , 2);
|
||||
InformerStructure.Insert("type" , "ext");
|
||||
|
||||
CodeSettingsStructure.Insert("informer", InformerStructure);
|
||||
|
||||
CounterStructure.Insert("code_options", CodeSettingsStructure);
|
||||
|
||||
FlagsStructure = New Structure;
|
||||
FlagsStructure.Insert("collect_first_party_data" , True);
|
||||
FlagsStructure.Insert("measurement_enabled" , True);
|
||||
FlagsStructure.Insert("use_in_benchmarks" , True);
|
||||
FlagsStructure.Insert("direct_allow_use_goals_without_access", True);
|
||||
|
||||
CounterStructure.Insert("counter_flags" , FlagsStructure);
|
||||
CounterStructure.Insert("favorite" , 1);
|
||||
CounterStructure.Insert("filter_robots" , 2);
|
||||
CounterStructure.Insert("gdpr_agreement_accepted", 1);
|
||||
|
||||
DomainStructure = New Structure("site", "openintegrations.dev");
|
||||
|
||||
CounterStructure.Insert("site2", DomainStructure);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("fields", CounterStructure);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("metrika", "CreateCounter", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexMetrika", "CreateCounter", , FunctionParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexMetrika_DeleteCounter(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Metrika_Token"];
|
||||
CounterID = FunctionParameters["Metrika_CounterID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("counter", CounterID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("metrika", "DeleteCounter", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexMetrika", "DeleteCounter");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexMetrika_UpdateCounter(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Metrika_Token"];
|
||||
CounterID = FunctionParameters["Metrika_CounterID"];
|
||||
|
||||
CounterStructure = New Structure;
|
||||
CounterStructure.Insert("autogoals_enabled", True);
|
||||
|
||||
FlagsStructure = New Structure;
|
||||
FlagsStructure.Insert("collect_first_party_data" , False);
|
||||
FlagsStructure.Insert("measurement_enabled" , False);
|
||||
FlagsStructure.Insert("use_in_benchmarks" , False);
|
||||
FlagsStructure.Insert("direct_allow_use_goals_without_access", False);
|
||||
|
||||
CounterStructure.Insert("counter_flags", FlagsStructure);
|
||||
CounterStructure.Insert("favorite" , 0);
|
||||
CounterStructure.Insert("filter_robots", 1);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("counter", CounterID);
|
||||
Options.Insert("fields", CounterStructure);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("metrika", "UpdateCounter", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexMetrika", "UpdateCounter");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexMetrika_GetCounter(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Metrika_Token"];
|
||||
CounterID = FunctionParameters["Metrika_CounterID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("counter", CounterID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("metrika", "GetCounter", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexMetrika", "GetCounter");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexMetrika_RestoreCounter(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Metrika_Token"];
|
||||
CounterID = FunctionParameters["Metrika_CounterID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("counter", CounterID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("metrika", "RestoreCounter", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexMetrika", "RestoreCounter");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexMetrika_GetCountersList(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Metrika_Token"];
|
||||
CounterID = FunctionParameters["Metrika_CounterID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("metrika", "GetCountersList", Options);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexMetrika", "GetCountersList"); // SKIP
|
||||
|
||||
// filter by IDs list
|
||||
|
||||
Filter = New Structure;
|
||||
|
||||
CountersArray = New Array;
|
||||
CountersArray.Add(CounterID);
|
||||
|
||||
Filter.Insert("counter_ids", CountersArray);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("filter", Filter);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("metrika", "GetCountersList", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexMetrika", "GetCountersList", "Filter");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure YandexMetrika_GetActionsList(FunctionParameters)
|
||||
|
||||
Token = FunctionParameters["Metrika_Token"];
|
||||
CounterID = FunctionParameters["Metrika_CounterID"];
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("token", Token);
|
||||
Options.Insert("counter", CounterID);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("metrika", "GetActionsList", Options);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "YandexMetrika", "GetActionsList");
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion // YandexMetrika
|
||||
|
||||
#EndRegion // AtomicTests
|
||||
|
||||
#EndRegion // Private
|
||||
|
||||
#Region Alternate
|
||||
|
||||
Procedure ЯМетрика_УправлениеМетками() Export
|
||||
YaMetrika_TagsManagement();
|
||||
EndProcedure
|
||||
|
||||
Procedure ЯМетрика_УправлениеСчетчиками() Export
|
||||
YaMetrika_CountersManagement();
|
||||
EndProcedure
|
||||
|
||||
Procedure ЯМетрика_УправлениеОперациями() Export
|
||||
YaMetrika_ActionsManagement();
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
@@ -1,9 +1,9 @@
|
||||
Процедура ЗапуститьЭхоСервер() Экспорт
|
||||
|
||||
Порт = 9876;
|
||||
Порт = 9876;
|
||||
РазмерПула = 10;
|
||||
|
||||
НастройкиЛога = OPI_TCP.ПолучитьНастройкиЛогирования(Истина, 500, "D:\SERVER_LOG.txt");
|
||||
НастройкиЛога = OPI_TCP.ПолучитьНастройкиЛогирования(Истина, 500, "D:\SERVER_LOG.txt");
|
||||
ОбъектСервера = OPI_TCP.ЗапуститьСервер(Порт, РазмерПула, НастройкиЛога);
|
||||
|
||||
Если Не OPI_TCP.ЭтоОбъектСервера(ОбъектСервера) Тогда
|
||||
|
||||
@@ -220,7 +220,7 @@
|
||||
ТипРезультата = ТипЗнч(Результат);
|
||||
|
||||
Если ТипРезультата = Тип("ДвоичныеДанные") Тогда
|
||||
Результат = Новый Структура("result,data", Истина, Результат);
|
||||
Результат = Новый Структура("result,data", Истина, Результат);
|
||||
ИначеЕсли Не Тип("Структура") Тогда
|
||||
Результат = JsonВСтруктуру(Результат, Ложь);
|
||||
КонецЕсли;
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
// OneScript: ./OInt/tests/Modules/OPItc_Airtable.os
|
||||
|
||||
// MIT License
|
||||
|
||||
// Copyright (c) 2023-2026 Anton Tsitavets
|
||||
@@ -9,7 +11,7 @@
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// 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.
|
||||
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
@@ -22,6 +24,8 @@
|
||||
|
||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||
|
||||
// Набор тестов для YAxUnit
|
||||
|
||||
// BSLLS:Typo-off
|
||||
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
||||
// BSLLS:IncorrectLineBreak-off
|
||||
@@ -63,6 +67,607 @@
|
||||
//@skip-check missing-temporary-file-deletion
|
||||
//@skip-check module-unused-method
|
||||
|
||||
// #Использовать oint
|
||||
// #Использовать asserts
|
||||
// #Использовать "internal"
|
||||
//#Использовать "../../tools/main"
|
||||
//#Использовать "../../tools/http"
|
||||
//#Использовать "../../api"
|
||||
//#Использовать asserts
|
||||
//#Использовать "internal"
|
||||
|
||||
#Область СлужебныйПрограммныйИнтерфейс
|
||||
|
||||
// Для YaxUnit
|
||||
|
||||
Процедура ИсполняемыеСценарии() Экспорт
|
||||
|
||||
OPI_ПолучениеДанныхТестов.СформироватьТестыЯкс("Airtable");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Для Asserts
|
||||
|
||||
Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт
|
||||
|
||||
Возврат OPI_ПолучениеДанныхТестов.СформироватьТестыАссертс("Airtable");
|
||||
|
||||
КонецФункции
|
||||
|
||||
#Область ЗапускаемыеТесты
|
||||
|
||||
#Область Airtable
|
||||
|
||||
Процедура АТ_СоздатьБазу() Экспорт
|
||||
|
||||
ПараметрыТеста = Новый Структура;
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Airtable_Token" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Airtable_Workspace", ПараметрыТеста);
|
||||
|
||||
Airtable_СоздатьБазу(ПараметрыТеста);
|
||||
Airtable_ПолучитьТаблицыБазы(ПараметрыТеста);
|
||||
Airtable_ПолучитьСписокБаз(ПараметрыТеста);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура АТ_СоздатьТаблицу() Экспорт
|
||||
|
||||
ПараметрыТеста = Новый Структура;
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Airtable_Token", ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Airtable_Base" , ПараметрыТеста);
|
||||
|
||||
Airtable_ПолучитьПолеНомера(ПараметрыТеста);
|
||||
Airtable_ПолучитьПолеСтроковое(ПараметрыТеста);
|
||||
Airtable_ПолучитьПолеВложения(ПараметрыТеста);
|
||||
Airtable_ПолучитьПолеФлажка(ПараметрыТеста);
|
||||
Airtable_ПолучитьПолеДаты(ПараметрыТеста);
|
||||
Airtable_ПолучитьПолеТелефона(ПараметрыТеста);
|
||||
Airtable_ПолучитьПолеПочты(ПараметрыТеста);
|
||||
Airtable_ПолучитьПолеСсылки(ПараметрыТеста);
|
||||
Airtable_СоздатьТаблицу(ПараметрыТеста);
|
||||
Airtable_ИзменитьТаблицу(ПараметрыТеста);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура АТ_СоздатьПоле() Экспорт
|
||||
|
||||
ПараметрыТеста = Новый Структура;
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Airtable_Token", ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Airtable_Base" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Airtable_Table", ПараметрыТеста);
|
||||
|
||||
Airtable_СоздатьПоле(ПараметрыТеста);
|
||||
Airtable_ИзменитьПоле(ПараметрыТеста);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура АТ_СоздатьУдалитьЗаписи() Экспорт
|
||||
|
||||
ПараметрыТеста = Новый Структура;
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Airtable_Token", ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Airtable_Base" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Airtable_Table", ПараметрыТеста);
|
||||
|
||||
Airtable_СоздатьЗаписи(ПараметрыТеста);
|
||||
Airtable_ПолучитьЗапись(ПараметрыТеста);
|
||||
Airtable_СоздатьКомментарий(ПараметрыТеста);
|
||||
Airtable_ИзменитьКомментарий(ПараметрыТеста);
|
||||
Airtable_ПолучитьКомментарии(ПараметрыТеста);
|
||||
Airtable_УдалитьКомментарий(ПараметрыТеста);
|
||||
Airtable_ПолучитьСписокЗаписей(ПараметрыТеста);
|
||||
Airtable_УдалитьЗаписи(ПараметрыТеста);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти // Airtable
|
||||
|
||||
#КонецОбласти // ЗапускаемыеТесты
|
||||
|
||||
#КонецОбласти // СлужебныйПрограммныйИнтерфейс
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
#Область АтомарныеТесты
|
||||
|
||||
#Область Airtable
|
||||
|
||||
Процедура Airtable_СоздатьБазу(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Airtable_Token"];
|
||||
Область = ПараметрыФункции["Airtable_Workspace"];
|
||||
Наименование = "Тестовая база";
|
||||
|
||||
МассивПолей = Новый Массив;
|
||||
МассивПолей.Добавить(OPI_Airtable.ПолучитьПолеНомера("Номер"));
|
||||
МассивПолей.Добавить(OPI_Airtable.ПолучитьПолеСтроковое("Строковое"));
|
||||
|
||||
ИмяТаблицы = "Тестовая таблица";
|
||||
|
||||
СоответствиеТаблиц = Новый Соответствие;
|
||||
СоответствиеТаблиц.Вставить(ИмяТаблицы, МассивПолей);
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("ws", Область);
|
||||
Опции.Вставить("title", Наименование);
|
||||
Опции.Вставить("tablesdata", СоответствиеТаблиц);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("airtable", "СоздатьБазу", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "Airtable", "СоздатьБазу", , ПараметрыФункции, ИмяТаблицы);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Airtable_ПолучитьТаблицыБазы(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Airtable_Token"];
|
||||
База = ПараметрыФункции["Airtable_Base"];
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("base", База);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("airtable", "ПолучитьТаблицыБазы", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "Airtable", "ПолучитьТаблицыБазы");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Airtable_ПолучитьСписокБаз(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Airtable_Token"];
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("airtable", "ПолучитьСписокБаз", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "Airtable", "ПолучитьСписокБаз");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Airtable_ПолучитьПолеНомера(ПараметрыФункции)
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("title", "Номер");
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("airtable", "ПолучитьПолеНомера", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "Airtable", "ПолучитьПолеНомера");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Airtable_ПолучитьПолеСтроковое(ПараметрыФункции)
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("title", "Строковое");
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("airtable", "ПолучитьПолеСтроковое", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "Airtable", "ПолучитьПолеСтроковое");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Airtable_ПолучитьПолеВложения(ПараметрыФункции)
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("title", "Вложение");
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("airtable", "ПолучитьПолеВложения", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "Airtable", "ПолучитьПолеВложения");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Airtable_ПолучитьПолеФлажка(ПараметрыФункции)
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("title", "Флажок");
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("airtable", "ПолучитьПолеФлажка", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "Airtable", "ПолучитьПолеФлажка");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Airtable_ПолучитьПолеДаты(ПараметрыФункции)
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("title", "Дата");
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("airtable", "ПолучитьПолеДаты", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "Airtable", "ПолучитьПолеДаты");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Airtable_ПолучитьПолеТелефона(ПараметрыФункции)
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("title", "Телефон");
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("airtable", "ПолучитьПолеТелефона", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "Airtable", "ПолучитьПолеТелефона");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Airtable_ПолучитьПолеПочты(ПараметрыФункции)
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("title", "Почта");
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("airtable", "ПолучитьПолеПочты", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "Airtable", "ПолучитьПолеПочты");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Airtable_ПолучитьПолеСсылки(ПараметрыФункции)
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("title", "Ссылка");
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("airtable", "ПолучитьПолеСсылки", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "Airtable", "ПолучитьПолеСсылки");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Airtable_СоздатьТаблицу(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Airtable_Token"];
|
||||
База = ПараметрыФункции["Airtable_Base"];
|
||||
|
||||
МассивПолей = Новый Массив;
|
||||
МассивПолей.Добавить(OPI_Airtable.ПолучитьПолеНомера("Номер"));
|
||||
МассивПолей.Добавить(OPI_Airtable.ПолучитьПолеСтроковое("Строковое"));
|
||||
МассивПолей.Добавить(OPI_Airtable.ПолучитьПолеВложения("Вложение"));
|
||||
МассивПолей.Добавить(OPI_Airtable.ПолучитьПолеФлажка("Флажок"));
|
||||
МассивПолей.Добавить(OPI_Airtable.ПолучитьПолеДаты("Дата"));
|
||||
МассивПолей.Добавить(OPI_Airtable.ПолучитьПолеТелефона("Телефон"));
|
||||
МассивПолей.Добавить(OPI_Airtable.ПолучитьПолеПочты("Почта"));
|
||||
МассивПолей.Добавить(OPI_Airtable.ПолучитьПолеСсылки("Ссылка"));
|
||||
|
||||
Наименование = "Тестовая таблица 2";
|
||||
Описание = "Новая таблица";
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("base", База);
|
||||
Опции.Вставить("title", Наименование);
|
||||
Опции.Вставить("fieldsdata", МассивПолей);
|
||||
Опции.Вставить("description", Описание);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("airtable", "СоздатьТаблицу", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "Airtable", "СоздатьТаблицу", , ПараметрыФункции, Наименование, Описание);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Airtable_ИзменитьТаблицу(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Airtable_Token"];
|
||||
База = ПараметрыФункции["Airtable_Base"];
|
||||
Таблица = ПараметрыФункции["Airtable_Table"];
|
||||
Наименование = "Тестовая таблица 2 (изм.)";
|
||||
Описание = "Новая таблица (изм.)";
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("base", База);
|
||||
Опции.Вставить("table", Таблица);
|
||||
Опции.Вставить("title", Наименование);
|
||||
Опции.Вставить("description", Описание);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("airtable", "ИзменитьТаблицу", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "Airtable", "ИзменитьТаблицу", , Наименование, Описание);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Airtable_СоздатьПоле(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Airtable_Token"];
|
||||
База = ПараметрыФункции["Airtable_Base"];
|
||||
Таблица = ПараметрыФункции["Airtable_Table"];
|
||||
Имя = Строка(Новый УникальныйИдентификатор);
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("title", Имя);
|
||||
|
||||
Поле = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("airtable", "ПолучитьПолеНомера", Опции);
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("base", База);
|
||||
Опции.Вставить("table", Таблица);
|
||||
Опции.Вставить("fielddata", Поле);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("airtable", "СоздатьПоле", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "Airtable", "СоздатьПоле", , ПараметрыФункции, Имя);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Airtable_ИзменитьПоле(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Airtable_Token"];
|
||||
База = ПараметрыФункции["Airtable_Base"];
|
||||
Таблица = ПараметрыФункции["Airtable_Table"];
|
||||
Поле = ПараметрыФункции["Airtable_Field"];
|
||||
|
||||
Имя = Строка(Новый УникальныйИдентификатор) + "(изм.)";
|
||||
Описание = "Новое описание";
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("base", База);
|
||||
Опции.Вставить("table", Таблица);
|
||||
Опции.Вставить("field", Поле);
|
||||
Опции.Вставить("title", Имя);
|
||||
Опции.Вставить("description", Описание);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("airtable", "ИзменитьПоле", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "Airtable", "ИзменитьПоле", , Имя, Описание);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Airtable_СоздатьЗаписи(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Airtable_Token"];
|
||||
База = ПараметрыФункции["Airtable_Base"];
|
||||
Таблица = ПараметрыФункции["Airtable_Table"];
|
||||
|
||||
Номер = 10;
|
||||
Строковое = "Привет";
|
||||
|
||||
ОписаниеСтроки1 = Новый Структура("Номер,Строковое", Номер, Строковое);
|
||||
ОписаниеСтроки2 = Новый Структура("Номер,Строковое", Номер, Строковое);
|
||||
|
||||
МассивОписаний = Новый Массив;
|
||||
МассивОписаний.Добавить(ОписаниеСтроки1);
|
||||
МассивОписаний.Добавить(ОписаниеСтроки2);
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("base", База);
|
||||
Опции.Вставить("table", Таблица);
|
||||
Опции.Вставить("data", МассивОписаний);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("airtable", "СоздатьЗаписи", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "Airtable", "СоздатьЗаписи", , ПараметрыФункции);
|
||||
|
||||
МассивУдаляемых = Новый Массив;
|
||||
|
||||
Для Каждого Запись Из Результат["records"] Цикл
|
||||
|
||||
ТекущаяЗапись = Запись["id"];
|
||||
МассивУдаляемых.Добавить(ТекущаяЗапись);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
OPI_Airtable.УдалитьЗаписи(Токен, База, Таблица, МассивУдаляемых);
|
||||
|
||||
// Одиночное
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("base", База);
|
||||
Опции.Вставить("table", Таблица);
|
||||
Опции.Вставить("data", ОписаниеСтроки1);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("airtable", "СоздатьЗаписи", Опции);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "Airtable", "СоздатьЗаписи", "Одиночная", ПараметрыФункции, Номер, Строковое);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Airtable_ПолучитьЗапись(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Airtable_Token"];
|
||||
База = ПараметрыФункции["Airtable_Base"];
|
||||
Таблица = ПараметрыФункции["Airtable_Table"];
|
||||
Запись = ПараметрыФункции["Airtable_Record"];
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("base", База);
|
||||
Опции.Вставить("table", Таблица);
|
||||
Опции.Вставить("record", Запись);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("airtable", "ПолучитьЗапись", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "Airtable", "ПолучитьЗапись", , Запись);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Airtable_СоздатьКомментарий(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Airtable_Token"];
|
||||
База = ПараметрыФункции["Airtable_Base"];
|
||||
Таблица = ПараметрыФункции["Airtable_Table"];
|
||||
Запись = ПараметрыФункции["Airtable_Record"];
|
||||
Текст = "Тестовый комментарий";
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("base", База);
|
||||
Опции.Вставить("table", Таблица);
|
||||
Опции.Вставить("record", Запись);
|
||||
Опции.Вставить("text", Текст);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("airtable", "СоздатьКомментарий", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "Airtable", "СоздатьКомментарий", , ПараметрыФункции, Текст);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Airtable_ИзменитьКомментарий(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Airtable_Token"];
|
||||
База = ПараметрыФункции["Airtable_Base"];
|
||||
Таблица = ПараметрыФункции["Airtable_Table"];
|
||||
Запись = ПараметрыФункции["Airtable_Record"];
|
||||
Комментарий = ПараметрыФункции["Airtable_Comment"];
|
||||
|
||||
Текст = "Тестовый комментарий (изм.)";
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("base", База);
|
||||
Опции.Вставить("table", Таблица);
|
||||
Опции.Вставить("record", Запись);
|
||||
Опции.Вставить("comment", Комментарий);
|
||||
Опции.Вставить("text", Текст);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("airtable", "ИзменитьКомментарий", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "Airtable", "ИзменитьКомментарий", , Текст);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Airtable_ПолучитьКомментарии(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Airtable_Token"];
|
||||
База = ПараметрыФункции["Airtable_Base"];
|
||||
Таблица = ПараметрыФункции["Airtable_Table"];
|
||||
Запись = ПараметрыФункции["Airtable_Record"];
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("base", База);
|
||||
Опции.Вставить("table", Таблица);
|
||||
Опции.Вставить("record", Запись);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("airtable", "ПолучитьКомментарии", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "Airtable", "ПолучитьКомментарии");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Airtable_УдалитьКомментарий(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Airtable_Token"];
|
||||
База = ПараметрыФункции["Airtable_Base"];
|
||||
Таблица = ПараметрыФункции["Airtable_Table"];
|
||||
Запись = ПараметрыФункции["Airtable_Record"];
|
||||
Комментарий = ПараметрыФункции["Airtable_Comment"];
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("base", База);
|
||||
Опции.Вставить("table", Таблица);
|
||||
Опции.Вставить("record", Запись);
|
||||
Опции.Вставить("comment", Комментарий);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("airtable", "УдалитьКомментарий", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "Airtable", "УдалитьКомментарий", , Комментарий);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Airtable_ПолучитьСписокЗаписей(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Airtable_Token"];
|
||||
База = ПараметрыФункции["Airtable_Base"];
|
||||
Таблица = ПараметрыФункции["Airtable_Table"];
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("base", База);
|
||||
Опции.Вставить("table", Таблица);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("airtable", "ПолучитьСписокЗаписей", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "Airtable", "ПолучитьСписокЗаписей");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Airtable_УдалитьЗаписи(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Airtable_Token"];
|
||||
База = ПараметрыФункции["Airtable_Base"];
|
||||
Таблица = ПараметрыФункции["Airtable_Table"];
|
||||
Запись = ПараметрыФункции["Airtable_Record"];
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("base", База);
|
||||
Опции.Вставить("table", Таблица);
|
||||
Опции.Вставить("records", Запись);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("airtable", "УдалитьЗаписи", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "Airtable", "УдалитьЗаписи");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти // Airtable
|
||||
|
||||
#КонецОбласти // АтомарныеТесты
|
||||
|
||||
#КонецОбласти // СлужебныеПроцедурыИФункции
|
||||
|
||||
#Region Alternate
|
||||
|
||||
Procedure AT_CreateDatabase() Export
|
||||
АТ_СоздатьБазу();
|
||||
EndProcedure
|
||||
|
||||
Procedure AT_CreateTable() Export
|
||||
АТ_СоздатьТаблицу();
|
||||
EndProcedure
|
||||
|
||||
Procedure AT_CreateField() Export
|
||||
АТ_СоздатьПоле();
|
||||
EndProcedure
|
||||
|
||||
Procedure AT_CreateDeleteRecords() Export
|
||||
АТ_СоздатьУдалитьЗаписи();
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,3 +1,5 @@
|
||||
// OneScript: ./OInt/tests/Modules/OPItc_CDEK.os
|
||||
|
||||
// MIT License
|
||||
|
||||
// Copyright (c) 2023-2026 Anton Tsitavets
|
||||
@@ -9,7 +11,7 @@
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// 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.
|
||||
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
@@ -22,6 +24,8 @@
|
||||
|
||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||
|
||||
// Набор тестов для YAxUnit
|
||||
|
||||
// BSLLS:Typo-off
|
||||
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
||||
// BSLLS:IncorrectLineBreak-off
|
||||
@@ -63,6 +67,853 @@
|
||||
//@skip-check missing-temporary-file-deletion
|
||||
//@skip-check module-unused-method
|
||||
|
||||
// #Использовать oint
|
||||
// #Использовать asserts
|
||||
// #Использовать "internal"
|
||||
//#Использовать "../../tools/main"
|
||||
//#Использовать "../../tools/http"
|
||||
//#Использовать "../../api"
|
||||
//#Использовать asserts
|
||||
//#Использовать "internal"
|
||||
|
||||
|
||||
// Для YaxUnit
|
||||
|
||||
Процедура ИсполняемыеСценарии() Экспорт
|
||||
|
||||
OPI_ПолучениеДанныхТестов.СформироватьТестыЯкс("CDEK");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Для Asserts
|
||||
|
||||
Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт
|
||||
|
||||
Возврат OPI_ПолучениеДанныхТестов.СформироватьТестыАссертс("CDEK");
|
||||
|
||||
КонецФункции
|
||||
|
||||
#Область СлужебныйПрограммныйИнтерфейс
|
||||
|
||||
#Область ЗапускаемыеТесты
|
||||
|
||||
#Область CDEK
|
||||
|
||||
Процедура СдэкАПИ_ОбщиеМетоды() Экспорт
|
||||
|
||||
ПараметрыТеста = Новый Структура;
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("CDEK_Account" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("CDEK_Password", ПараметрыТеста);
|
||||
|
||||
CDEK_ПолучитьТокен(ПараметрыТеста);
|
||||
CDEK_ПолучитьЧекиНаДату(ПараметрыТеста);
|
||||
CDEK_ПолучитьРеестрыПлатежейНаДату(ПараметрыТеста);
|
||||
CDEK_ПолучитьПереводыПлатежейНаДату(ПараметрыТеста);
|
||||
CDEK_ПолучитьОписаниеФильтраОфисов(ПараметрыТеста);
|
||||
CDEK_ПолучитьСписокОфисов(ПараметрыТеста);
|
||||
CDEK_ПолучитьСписокРегионов(ПараметрыТеста);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура СдэкАПИ_РаботаСЗаказами() Экспорт
|
||||
|
||||
ПараметрыТеста = Новый Структура;
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("CDEK_Token", ПараметрыТеста);
|
||||
|
||||
CDEK_ПолучитьОписаниеЗаказа(ПараметрыТеста);
|
||||
CDEK_СоздатьЗаказ(ПараметрыТеста);
|
||||
|
||||
OPI_Инструменты.Пауза(25);
|
||||
|
||||
CDEK_ПолучитьЗаказ(ПараметрыТеста);
|
||||
CDEK_ПолучитьЗаказПоНомеру(ПараметрыТеста);
|
||||
CDEK_СформироватьКвитанцию(ПараметрыТеста);
|
||||
CDEK_СформироватьШтрихкод(ПараметрыТеста);
|
||||
CDEK_СоздатьПреалерт(ПараметрыТеста);
|
||||
|
||||
OPI_Инструменты.Пауза(25);
|
||||
|
||||
CDEK_ПолучитьКвитанцию(ПараметрыТеста);
|
||||
CDEK_ПолучитьШтрихкод(ПараметрыТеста);
|
||||
CDEK_ПолучитьПреалерт(ПараметрыТеста);
|
||||
CDEK_ПолучитьСтатусПаспортныхДанных(ПараметрыТеста);
|
||||
CDEK_ПолучитьЧекЗаказа(ПараметрыТеста);
|
||||
CDEK_ИзменитьЗаказ(ПараметрыТеста);
|
||||
CDEK_ОформитьКлиентскийВозврат(ПараметрыТеста);
|
||||
CDEK_СоздатьОтказ(ПараметрыТеста);
|
||||
CDEK_УдалитьЗаказ(ПараметрыТеста);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура СдэкАПИ_РаботаСЗаявкамиНаВызовКурьера() Экспорт
|
||||
|
||||
ПараметрыТеста = Новый Структура;
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("CDEK_Token", ПараметрыТеста);
|
||||
|
||||
CDEK_СоздатьЗаказ(ПараметрыТеста);
|
||||
|
||||
OPI_Инструменты.Пауза(25);
|
||||
|
||||
CDEK_ПолучитьОписаниеЗаявкиКурьера(ПараметрыТеста);
|
||||
CDEK_СоздатьЗаявкуНаВызовКурьера(ПараметрыТеста);
|
||||
CDEK_ПолучитьЗаявкуНаВызовКурьера(ПараметрыТеста);
|
||||
CDEK_УдалитьЗаявкуНаВызовКурьера(ПараметрыТеста);
|
||||
CDEK_ПолучитьОписаниеДоговоренности(ПараметрыТеста);
|
||||
|
||||
CDEK_ПолучитьДоступныеИнтервалыДоставки(ПараметрыТеста);
|
||||
CDEK_ЗафиксироватьДоговоренностьОДоставке(ПараметрыТеста);
|
||||
|
||||
OPI_Инструменты.Пауза(25);
|
||||
|
||||
CDEK_ПолучитьДоговоренностьОДоставке(ПараметрыТеста);
|
||||
CDEK_УдалитьЗаказ(ПараметрыТеста);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти // CDEK
|
||||
|
||||
#КонецОбласти // ЗапускаемыеТесты
|
||||
|
||||
#КонецОбласти // СлужебныйПрограммныйИнтерфейс
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
#Область АтомарныеТесты
|
||||
|
||||
#Область CDEK
|
||||
|
||||
Процедура CDEK_ПолучитьТокен(ПараметрыФункции)
|
||||
|
||||
Аккаунт = ПараметрыФункции["CDEK_Account"];
|
||||
Пароль = ПараметрыФункции["CDEK_Password"];
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("account", Аккаунт);
|
||||
Опции.Вставить("pass", Пароль);
|
||||
Опции.Вставить("testapi", Истина);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("cdek", "ПолучитьТокен", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "CDEK", "ПолучитьТокен", , ПараметрыФункции);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура CDEK_ПолучитьОписаниеЗаказа(ПараметрыФункции)
|
||||
|
||||
Опции = Новый Структура;
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("cdek", "ПолучитьОписаниеЗаказа", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "CDEK", "ПолучитьОписаниеЗаказа");
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("empty", Истина);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("cdek", "ПолучитьОписаниеЗаказа", Опции);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "CDEK", "ПолучитьОписаниеЗаказа", "Пустая");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура CDEK_СоздатьЗаказ(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["CDEK_Token"];
|
||||
|
||||
ОписаниеЗаказа = Новый Структура;
|
||||
|
||||
ЛокацияОтправления = Новый Структура;
|
||||
ЛокацияОтправления.Вставить("code" , "44");
|
||||
ЛокацияОтправления.Вставить("city" , "Москва");
|
||||
ЛокацияОтправления.Вставить("address", "пр. Ленинградский, д.4");
|
||||
|
||||
ЛокацияНазначения = Новый Структура;
|
||||
ЛокацияНазначения.Вставить("code" , "270");
|
||||
ЛокацияНазначения.Вставить("city" , "Новосибирск");
|
||||
ЛокацияНазначения.Вставить("address", "ул. Блюхера, 32");
|
||||
|
||||
Получатель = Новый Структура;
|
||||
|
||||
Телефоны = Новый Массив;
|
||||
Телефоны.Добавить(Новый Структура("number", "+79134637228"));
|
||||
|
||||
Получатель.Вставить("phones", Телефоны);
|
||||
Получатель.Вставить("name" , "Иванов Иван");
|
||||
|
||||
Отправитель = Новый Структура("name", "Петров Петр");
|
||||
|
||||
Услуги = Новый Массив;
|
||||
|
||||
Услуга = Новый Структура;
|
||||
Услуга.Вставить("code" , "SECURE_PACKAGE_A2");
|
||||
Услуга.Вставить("parameter", 10);
|
||||
|
||||
Услуги.Добавить(Услуга);
|
||||
|
||||
Пакеты = Новый Массив;
|
||||
|
||||
Пакет = Новый Структура;
|
||||
|
||||
Позиции = Новый Массив;
|
||||
|
||||
Позиция = Новый Структура;
|
||||
|
||||
Оплата = Новый Структура;
|
||||
Оплата.Вставить("value", 3000);
|
||||
|
||||
Позиция.Вставить("payment" , Оплата);
|
||||
Позиция.Вставить("ware_key", "00055");
|
||||
Позиция.Вставить("name" , "Товар");
|
||||
Позиция.Вставить("cost" , 300);
|
||||
Позиция.Вставить("amount" , 2);
|
||||
Позиция.Вставить("weight" , 700);
|
||||
Позиция.Вставить("url" , "www.item.ru");
|
||||
|
||||
Позиции.Добавить(Позиция);
|
||||
|
||||
Пакет.Вставить("items" , Позиции);
|
||||
Пакет.Вставить("number" , "bar-001");
|
||||
Пакет.Вставить("comment", "Упаковка");
|
||||
Пакет.Вставить("height" , 10);
|
||||
Пакет.Вставить("length" , 10);
|
||||
Пакет.Вставить("weight" , "4000");
|
||||
Пакет.Вставить("width" , 10);
|
||||
|
||||
Пакеты.Добавить(Пакет);
|
||||
|
||||
ОписаниеЗаказа.Вставить("from_location", ЛокацияОтправления);
|
||||
ОписаниеЗаказа.Вставить("to_location" , ЛокацияНазначения);
|
||||
ОписаниеЗаказа.Вставить("packages" , Пакеты);
|
||||
ОписаниеЗаказа.Вставить("recipient" , Получатель);
|
||||
ОписаниеЗаказа.Вставить("sender" , Отправитель);
|
||||
ОписаниеЗаказа.Вставить("services" , Услуги);
|
||||
|
||||
ОписаниеЗаказа.Вставить("number" , Строка(Новый УникальныйИдентификатор));
|
||||
ОписаниеЗаказа.Вставить("comment" , "Новый заказ");
|
||||
ОписаниеЗаказа.Вставить("tariff_code", 139);
|
||||
|
||||
ОписаниеЗаказа.Вставить("delivery_recipient_cost" , Новый Структура("value" , 50));
|
||||
ОписаниеЗаказа.Вставить("delivery_recipient_cost_adv", Новый Структура("sum,threshold", 3000, 200));
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("order", ОписаниеЗаказа);
|
||||
Опции.Вставить("ostore", Истина);
|
||||
Опции.Вставить("testapi", Истина);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("cdek", "СоздатьЗаказ", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "CDEK", "СоздатьЗаказ", , ПараметрыФункции);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура CDEK_ПолучитьЗаказ(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["CDEK_Token"];
|
||||
UUID = ПараметрыФункции["CDEK_OrderUUID"];
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("uuid", UUID);
|
||||
Опции.Вставить("testapi", Истина);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("cdek", "ПолучитьЗаказ", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "CDEK", "ПолучитьЗаказ", , ПараметрыФункции);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура CDEK_ПолучитьЗаказПоНомеру(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["CDEK_Token"];
|
||||
|
||||
НомерЗаказа = ПараметрыФункции["CDEK_OrderIMN"];
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("number", НомерЗаказа);
|
||||
Опции.Вставить("internal", Истина);
|
||||
Опции.Вставить("testapi", Истина);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("cdek", "ПолучитьЗаказПоНомеру", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "CDEK", "ПолучитьЗаказПоНомеру");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура CDEK_ИзменитьЗаказ(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["CDEK_Token"];
|
||||
UUID = ПараметрыФункции["CDEK_OrderUUID"];
|
||||
|
||||
ОписаниеЗаказа = Новый Структура("comment", "Новый комментарий");
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("uuid", UUID);
|
||||
Опции.Вставить("order", ОписаниеЗаказа);
|
||||
Опции.Вставить("testapi", Истина);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("cdek", "ИзменитьЗаказ", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "CDEK", "ИзменитьЗаказ");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура CDEK_УдалитьЗаказ(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["CDEK_Token"];
|
||||
UUID = ПараметрыФункции["CDEK_OrderUUID"];
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("uuid", UUID);
|
||||
Опции.Вставить("testapi", Истина);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("cdek", "УдалитьЗаказ", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "CDEK", "УдалитьЗаказ");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура CDEK_ОформитьКлиентскийВозврат(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["CDEK_Token"];
|
||||
UUID = ПараметрыФункции["CDEK_OrderUUID"];
|
||||
Тариф = 139;
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("uuid", UUID);
|
||||
Опции.Вставить("tariff", Тариф);
|
||||
Опции.Вставить("testapi", Истина);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("cdek", "ОформитьКлиентскийВозврат", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "CDEK", "ОформитьКлиентскийВозврат");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура CDEK_СоздатьОтказ(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["CDEK_Token"];
|
||||
UUID = ПараметрыФункции["CDEK_OrderUUID"];
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("uuid", UUID);
|
||||
Опции.Вставить("testapi", Истина);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("cdek", "СоздатьОтказ", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "CDEK", "СоздатьОтказ");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура CDEK_ПолучитьОписаниеЗаявкиКурьера(ПараметрыФункции)
|
||||
|
||||
Опции = Новый Структура;
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("cdek", "ПолучитьОписаниеЗаявкиКурьера", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "CDEK", "ПолучитьОписаниеЗаявкиКурьера");
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("empty", Истина);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("cdek", "ПолучитьОписаниеЗаявкиКурьера", Опции);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "CDEK", "ПолучитьОписаниеЗаявкиКурьера", "Пустая");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура CDEK_СоздатьЗаявкуНаВызовКурьера(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["CDEK_Token"];
|
||||
ТекущаяДата = OPI_Инструменты.ПолучитьТекущуюДату();
|
||||
|
||||
ОписаниеЗаявки = Новый Структура;
|
||||
ОписаниеЗаявки.Вставить("intake_date" , Формат(ТекущаяДата + 60 * 60 * 24, "ДФ=yyyy-MM-dd"));
|
||||
ОписаниеЗаявки.Вставить("intake_time_from", "10:00");
|
||||
ОписаниеЗаявки.Вставить("intake_time_to" , "17:00");
|
||||
ОписаниеЗаявки.Вставить("name" , "Консолидированный груз");
|
||||
ОписаниеЗаявки.Вставить("weight" , 1000);
|
||||
ОписаниеЗаявки.Вставить("length" , 10);
|
||||
ОписаниеЗаявки.Вставить("width" , 10);
|
||||
ОписаниеЗаявки.Вставить("height" , 10);
|
||||
ОписаниеЗаявки.Вставить("comment" , "Комментарий курьеру");
|
||||
ОписаниеЗаявки.Вставить("need_call" , Ложь);
|
||||
|
||||
Отправитель = Новый Структура;
|
||||
Отправитель.Вставить("company", "Компания");
|
||||
Отправитель.Вставить("name" , "Иванов Иван");
|
||||
|
||||
Телефоны = Новый Массив;
|
||||
Телефон = Новый Структура("number", "+79589441654");
|
||||
Телефоны.Добавить(Телефон);
|
||||
|
||||
Отправитель.Вставить("phones", Телефоны);
|
||||
|
||||
ОписаниеЗаявки.Вставить("sender", Отправитель);
|
||||
|
||||
ТочкаОтправления = Новый Структура;
|
||||
ТочкаОтправления.Вставить("code" , "44");
|
||||
ТочкаОтправления.Вставить("fias_guid" , "0c5b2444-70a0-4932-980c-b4dc0d3f02b5");
|
||||
ТочкаОтправления.Вставить("postal_code" , "109004");
|
||||
ТочкаОтправления.Вставить("longitude" , 37.6204);
|
||||
ТочкаОтправления.Вставить("latitude" , 55.754);
|
||||
ТочкаОтправления.Вставить("country_code", "RU");
|
||||
ТочкаОтправления.Вставить("region" , "Москва");
|
||||
ТочкаОтправления.Вставить("sub_region" , "Москва");
|
||||
ТочкаОтправления.Вставить("city" , "Москва");
|
||||
ТочкаОтправления.Вставить("kladr_code" , "7700000000000");
|
||||
ТочкаОтправления.Вставить("address" , "ул. Блюхера, 32");
|
||||
|
||||
ОписаниеЗаявки.Вставить("from_location", ТочкаОтправления);
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("intake", ОписаниеЗаявки);
|
||||
Опции.Вставить("testapi", Истина);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("cdek", "СоздатьЗаявкуНаВызовКурьера", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "CDEK", "СоздатьЗаявкуНаВызовКурьера", , ПараметрыФункции);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура CDEK_ПолучитьЗаявкуНаВызовКурьера(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["CDEK_Token"];
|
||||
UUID = ПараметрыФункции["CDEK_IntakeUUID"];
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("uuid", UUID);
|
||||
Опции.Вставить("testapi", Истина);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("cdek", "ПолучитьЗаявкуНаВызовКурьера", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "CDEK", "ПолучитьЗаявкуНаВызовКурьера");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура CDEK_УдалитьЗаявкуНаВызовКурьера(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["CDEK_Token"];
|
||||
UUID = ПараметрыФункции["CDEK_IntakeUUID"];
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("uuid", UUID);
|
||||
Опции.Вставить("testapi", Истина);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("cdek", "УдалитьЗаявкуНаВызовКурьера", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "CDEK", "УдалитьЗаявкуНаВызовКурьера");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура CDEK_СформироватьКвитанцию(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["CDEK_Token"];
|
||||
UUID = ПараметрыФункции["CDEK_OrderUUID"];
|
||||
Тип = "tpl_russia";
|
||||
Копий = 1;
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("uuids", UUID);
|
||||
Опции.Вставить("type", Тип);
|
||||
Опции.Вставить("count", Копий);
|
||||
Опции.Вставить("testapi", Истина);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("cdek", "СформироватьКвитанцию", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "CDEK", "СформироватьКвитанцию", , ПараметрыФункции);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура CDEK_ПолучитьКвитанцию(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["CDEK_Token"];
|
||||
UUID = ПараметрыФункции["CDEK_PrintUUID"];
|
||||
|
||||
Результат = OPI_CDEK.ПолучитьКвитанцию(Токен, UUID, , Истина); // Ответ сервера с ссылкой
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "CDEK", "ПолучитьКвитанцию");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура CDEK_СформироватьШтрихкод(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["CDEK_Token"];
|
||||
UUID = ПараметрыФункции["CDEK_OrderUUID"];
|
||||
Формат = "A5";
|
||||
Копий = 1;
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("uuids", UUID);
|
||||
Опции.Вставить("count", Копий);
|
||||
Опции.Вставить("format", Формат);
|
||||
Опции.Вставить("testapi", Истина);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("cdek", "СформироватьШтрихкод", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "CDEK", "СформироватьШтрихкод", , ПараметрыФункции);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура CDEK_ПолучитьШтрихкод(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["CDEK_Token"];
|
||||
UUID = ПараметрыФункции["CDEK_BarcodeUUID"];
|
||||
|
||||
Результат = OPI_CDEK.ПолучитьШтрихкод(Токен, UUID, , Истина); // Ответ сервера с ссылкой
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "CDEK", "ПолучитьШтрихкод");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура CDEK_ПолучитьДоступныеИнтервалыДоставки(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["CDEK_Token"];
|
||||
UUID = ПараметрыФункции["CDEK_OrderUUID"];
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("uuid", UUID);
|
||||
Опции.Вставить("testapi", Истина);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("cdek", "ПолучитьДоступныеИнтервалыДоставки", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "CDEK", "ПолучитьДоступныеИнтервалыДоставки");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура CDEK_ПолучитьОписаниеДоговоренности(ПараметрыФункции)
|
||||
|
||||
Опции = Новый Структура;
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("cdek", "ПолучитьОписаниеДоговоренности", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "CDEK", "ПолучитьОписаниеДоговоренности");
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("empty", Истина);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("cdek", "ПолучитьОписаниеДоговоренности", Опции);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "CDEK", "ПолучитьОписаниеДоговоренности", "Пустая");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура CDEK_ЗафиксироватьДоговоренностьОДоставке(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["CDEK_Token"];
|
||||
UUIDЗаказа = ПараметрыФункции["CDEK_OrderUUID"];
|
||||
|
||||
Сутки = 60 * 60 * 24;
|
||||
ТекущаяДата = НачалоДня(OPI_Инструменты.ПолучитьТекущуюДату());
|
||||
ДатаДоставки = ТекущаяДата + Сутки * 14;
|
||||
|
||||
Пока ДеньНедели(ДатаДоставки) > 5 Цикл
|
||||
ДатаДоставки = ДатаДоставки + Сутки;
|
||||
КонецЦикла;
|
||||
|
||||
Договоренность = Новый Структура;
|
||||
|
||||
Договоренность.Вставить("cdek_number", "1106207236");
|
||||
Договоренность.Вставить("order_uuid" , UUIDЗаказа);
|
||||
Договоренность.Вставить("date" , Формат(ДатаДоставки, "ДФ=yyyy-MM-dd"));
|
||||
Договоренность.Вставить("time_from" , "10:00");
|
||||
Договоренность.Вставить("time_to" , "17:00");
|
||||
Договоренность.Вставить("comment" , "Офис группы компаний");
|
||||
|
||||
МестоДоставки = Новый Структура;
|
||||
МестоДоставки.Вставить("code" , "270");
|
||||
МестоДоставки.Вставить("fias_guid" , "0c5b2444-70a0-4932-980c-b4dc0d3f02b5");
|
||||
МестоДоставки.Вставить("postal_code" , "109004");
|
||||
МестоДоставки.Вставить("longitude" , 37.6204);
|
||||
МестоДоставки.Вставить("latitude" , 55.754);
|
||||
МестоДоставки.Вставить("country_code", "RU");
|
||||
МестоДоставки.Вставить("region" , "Новосибирск");
|
||||
МестоДоставки.Вставить("sub_region" , "Новосибирск");
|
||||
МестоДоставки.Вставить("city" , "Новосибирск");
|
||||
МестоДоставки.Вставить("kladr_code" , "7700000000000");
|
||||
МестоДоставки.Вставить("address" , "ул. Блюхера, 33");
|
||||
|
||||
Договоренность.Вставить("to_location", МестоДоставки);
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("appt", Договоренность);
|
||||
Опции.Вставить("testapi", Истина);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("cdek", "ЗафиксироватьДоговоренностьОДоставке", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "CDEK", "ЗафиксироватьДоговоренностьОДоставке", , ПараметрыФункции);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура CDEK_ПолучитьДоговоренностьОДоставке(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["CDEK_Token"];
|
||||
UUID = ПараметрыФункции["CDEK_ApptUUID"];
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("uuid", UUID);
|
||||
Опции.Вставить("testapi", Истина);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("cdek", "ПолучитьДоговоренностьОДоставке", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "CDEK", "ПолучитьДоговоренностьОДоставке");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура CDEK_СоздатьПреалерт(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["CDEK_Token"];
|
||||
UUID = ПараметрыФункции["CDEK_OrderUUID"];
|
||||
ПВЗ = "NSK27";
|
||||
ДатаПередачи = OPI_Инструменты.ПолучитьТекущуюДату() + 60 * 60 * 24;
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("uuids", UUID);
|
||||
Опции.Вставить("date", ДатаПередачи);
|
||||
Опции.Вставить("point", ПВЗ);
|
||||
Опции.Вставить("testapi", Истина);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("cdek", "СоздатьПреалерт", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "CDEK", "СоздатьПреалерт", , ПараметрыФункции);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура CDEK_ПолучитьПреалерт(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["CDEK_Token"];
|
||||
UUID = ПараметрыФункции["CDEK_PrealertUUID"];
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("uuid", UUID);
|
||||
Опции.Вставить("testapi", Истина);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("cdek", "ПолучитьПреалерт", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "CDEK", "ПолучитьПреалерт");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура CDEK_ПолучитьСтатусПаспортныхДанных(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["CDEK_Token"];
|
||||
UUID = ПараметрыФункции["CDEK_OrderUUID"];
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("uuid", UUID);
|
||||
Опции.Вставить("testapi", Истина);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("cdek", "ПолучитьСтатусПаспортныхДанных", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "CDEK", "ПолучитьСтатусПаспортныхДанных");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура CDEK_ПолучитьЧекЗаказа(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["CDEK_Token"];
|
||||
UUID = ПараметрыФункции["CDEK_OrderUUID"];
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("uuid", UUID);
|
||||
Опции.Вставить("testapi", Истина);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("cdek", "ПолучитьЧекЗаказа", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "CDEK", "ПолучитьЧекЗаказа");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура CDEK_ПолучитьЧекиНаДату(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["CDEK_Token"];
|
||||
ДатаПолучения = OPI_Инструменты.ПолучитьТекущуюДату();
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("date", ДатаПолучения);
|
||||
Опции.Вставить("testapi", Истина);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("cdek", "ПолучитьЧекиНаДату", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "CDEK", "ПолучитьЧекиНаДату");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура CDEK_ПолучитьРеестрыПлатежейНаДату(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["CDEK_Token"];
|
||||
ДатаПолучения = OPI_Инструменты.ПолучитьТекущуюДату();
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("date", ДатаПолучения);
|
||||
Опции.Вставить("testapi", Истина);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("cdek", "ПолучитьРеестрыПлатежейНаДату", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "CDEK", "ПолучитьРеестрыПлатежейНаДату");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура CDEK_ПолучитьПереводыПлатежейНаДату(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["CDEK_Token"];
|
||||
ДатаПолучения = OPI_Инструменты.ПолучитьТекущуюДату();
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("date", ДатаПолучения);
|
||||
Опции.Вставить("testapi", Истина);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("cdek", "ПолучитьПереводыПлатежейНаДату", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "CDEK", "ПолучитьПереводыПлатежейНаДату");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура CDEK_ПолучитьОписаниеФильтраОфисов(ПараметрыФункции)
|
||||
|
||||
Опции = Новый Структура;
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("cdek", "ПолучитьОписаниеФильтраОфисов", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "CDEK", "ПолучитьОписаниеФильтраОфисов");
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("empty", Истина);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("cdek", "ПолучитьОписаниеФильтраОфисов", Опции);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "CDEK", "ПолучитьОписаниеФильтраОфисов", "Пустая");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура CDEK_ПолучитьСписокОфисов(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["CDEK_Token"];
|
||||
Фильтр = Новый Структура;
|
||||
Фильтр.Вставить("weight_max" , 50);
|
||||
Фильтр.Вставить("city_code" , 270);
|
||||
Фильтр.Вставить("allowed_cod", Истина);
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("filter", Фильтр);
|
||||
Опции.Вставить("testapi", Истина);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("cdek", "ПолучитьСписокОфисов", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "CDEK", "ПолучитьСписокОфисов");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура CDEK_ПолучитьСписокРегионов(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["CDEK_Token"];
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("testapi", Истина);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("cdek", "ПолучитьСписокРегионов", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "CDEK", "ПолучитьСписокРегионов");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти // CDEK
|
||||
|
||||
#КонецОбласти // АтомарныеТесты
|
||||
|
||||
#КонецОбласти // СлужебныеПроцедурыИФункции
|
||||
|
||||
#Region Alternate
|
||||
|
||||
Procedure CdekAPI_CommonMethods() Export
|
||||
СдэкАПИ_ОбщиеМетоды();
|
||||
EndProcedure
|
||||
|
||||
Procedure CDEKAPI_OrdersManagement() Export
|
||||
СдэкАПИ_РаботаСЗаказами();
|
||||
EndProcedure
|
||||
|
||||
Procedure CdekAPI_CourierInvitationsManagement() Export
|
||||
СдэкАПИ_РаботаСЗаявкамиНаВызовКурьера();
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,3 +1,5 @@
|
||||
// OneScript: ./OInt/tests/Modules/OPItc_Dropbox.os
|
||||
|
||||
// MIT License
|
||||
|
||||
// Copyright (c) 2023-2026 Anton Tsitavets
|
||||
@@ -9,7 +11,7 @@
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// 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.
|
||||
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
@@ -22,6 +24,8 @@
|
||||
|
||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||
|
||||
// Набор тестов для YAxUnit
|
||||
|
||||
// BSLLS:Typo-off
|
||||
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
||||
// BSLLS:IncorrectLineBreak-off
|
||||
@@ -63,6 +67,792 @@
|
||||
//@skip-check missing-temporary-file-deletion
|
||||
//@skip-check module-unused-method
|
||||
|
||||
// #Использовать oint
|
||||
// #Использовать asserts
|
||||
// #Использовать "internal"
|
||||
//#Использовать "../../tools/main"
|
||||
//#Использовать "../../tools/http"
|
||||
//#Использовать "../../api"
|
||||
//#Использовать asserts
|
||||
//#Использовать "internal"
|
||||
|
||||
|
||||
// Для YaxUnit
|
||||
|
||||
Процедура ИсполняемыеСценарии() Экспорт
|
||||
|
||||
OPI_ПолучениеДанныхТестов.СформироватьТестыЯкс("Dropbox");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Для Asserts
|
||||
|
||||
Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт
|
||||
|
||||
Возврат OPI_ПолучениеДанныхТестов.СформироватьТестыАссертс("Dropbox");
|
||||
|
||||
КонецФункции
|
||||
|
||||
#Область СлужебныйПрограммныйИнтерфейс
|
||||
|
||||
#Область ЗапускаемыеТесты
|
||||
|
||||
#Область Dropbox
|
||||
|
||||
Процедура ДропБокс_ПолучитьОбновитьТокен() Экспорт
|
||||
|
||||
ПараметрыТеста = Новый Структура;
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Dropbox_Appkey" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Dropbox_Appsecret", ПараметрыТеста);
|
||||
|
||||
Dropbox_ПолучитьСсылкуАвторизации(ПараметрыТеста);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Dropbox_Code", ПараметрыТеста);
|
||||
|
||||
Dropbox_ПолучитьТокен(ПараметрыТеста);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Dropbox_Refresh", ПараметрыТеста);
|
||||
|
||||
Dropbox_ОбновитьТокен(ПараметрыТеста);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ДропБокс_ЗагрузитьФайл() Экспорт
|
||||
|
||||
ПараметрыТеста = Новый Структура;
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Dropbox_Token", ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Big" , ПараметрыТеста);
|
||||
|
||||
Dropbox_ЗагрузитьФайл(ПараметрыТеста);
|
||||
Dropbox_ПолучитьИнформациюОбОбъекте(ПараметрыТеста);
|
||||
Dropbox_ПолучитьСписокВерсийОбъекта(ПараметрыТеста);
|
||||
Dropbox_ВосстановитьОбъектКВерсии(ПараметрыТеста);
|
||||
Dropbox_ПолучитьПревью(ПараметрыТеста);
|
||||
Dropbox_СкачатьФайл(ПараметрыТеста);
|
||||
Dropbox_ПереместитьОбъект(ПараметрыТеста);
|
||||
Dropbox_КопироватьОбъект(ПараметрыТеста);
|
||||
Dropbox_УдалитьОбъект(ПараметрыТеста);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ДропБокс_СоздатьКаталог() Экспорт
|
||||
|
||||
ПараметрыТеста = Новый Структура;
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Dropbox_Token", ПараметрыТеста);
|
||||
|
||||
Dropbox_СоздатьПапку(ПараметрыТеста);
|
||||
Dropbox_СкачатьПапку(ПараметрыТеста);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ДропБокс_ПолучитьСписокФайловПапки() Экспорт
|
||||
|
||||
ПараметрыТеста = Новый Структура;
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Dropbox_Token", ПараметрыТеста);
|
||||
|
||||
Dropbox_ПолучитьСписокФайловПапки(ПараметрыТеста);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ДропБокс_ЗагрузитьФайлПоURL() Экспорт
|
||||
|
||||
ПараметрыТеста = Новый Структура;
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Dropbox_Token", ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Document" , ПараметрыТеста);
|
||||
|
||||
Dropbox_ЗагрузитьФайлПоURL(ПараметрыТеста);
|
||||
Dropbox_ПолучитьСтатусЗагрузкиПоURL(ПараметрыТеста);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ДропБокс_СоздатьУдалитьТег() Экспорт
|
||||
|
||||
ПараметрыТеста = Новый Структура;
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Dropbox_Token", ПараметрыТеста);
|
||||
|
||||
Dropbox_ДобавитьТег(ПараметрыТеста);
|
||||
Dropbox_ПолучитьСписокТегов(ПараметрыТеста);
|
||||
Dropbox_УдалитьТег(ПараметрыТеста);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ДропБокс_ПолучитьАккаунт() Экспорт
|
||||
|
||||
ПараметрыТеста = Новый Структура;
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Dropbox_Token", ПараметрыТеста);
|
||||
|
||||
Dropbox_ПолучитьИнформациюОбАккаунте(ПараметрыТеста);
|
||||
Dropbox_ПолучитьДанныеИспользованияПространства(ПараметрыТеста);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ДропБокс_РаботаСДоступами() Экспорт
|
||||
|
||||
ПараметрыТеста = Новый Структура;
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Dropbox_Token" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Dropbox_OtherUser", ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Dropbox_FileID" , ПараметрыТеста);
|
||||
|
||||
Dropbox_ДобавитьПользователейКФайлу(ПараметрыТеста);
|
||||
Dropbox_ОпубликоватьПапку(ПараметрыТеста);
|
||||
Dropbox_ДобавитьПользователейКПапке(ПараметрыТеста);
|
||||
Dropbox_ОтменитьПубликациюПапки(ПараметрыТеста);
|
||||
Dropbox_ПолучитьСтатусАсинхронногоИзменения(ПараметрыТеста);
|
||||
Dropbox_ОтменитьПубликациюФайла(ПараметрыТеста);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти // Dropbox
|
||||
|
||||
#КонецОбласти // ЗапускаемыеТесты
|
||||
|
||||
#КонецОбласти // СлужебныйПрограммныйИнтерфейс
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
#Область АтомарныеТесты
|
||||
|
||||
#Область Dropbox
|
||||
|
||||
Процедура Dropbox_ПолучитьСсылкуАвторизации(ПараметрыФункции)
|
||||
|
||||
КлючПриложения = ПараметрыФункции["Dropbox_Appkey"];
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("appkey", КлючПриложения);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("dropbox", "ПолучитьСсылкуАвторизации", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "Dropbox", "ПолучитьСсылкуАвторизации");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Dropbox_ПолучитьТокен(ПараметрыФункции)
|
||||
|
||||
КлючПриложения = ПараметрыФункции["Dropbox_Appkey"];
|
||||
СекретПриложения = ПараметрыФункции["Dropbox_Appsecret"];
|
||||
Код = ПараметрыФункции["Dropbox_Code"];
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("appkey", КлючПриложения);
|
||||
Опции.Вставить("appsecret", СекретПриложения);
|
||||
Опции.Вставить("code", Код);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("dropbox", "ПолучитьТокен", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "Dropbox", "ПолучитьТокен");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Dropbox_ОбновитьТокен(ПараметрыФункции)
|
||||
|
||||
КлючПриложения = ПараметрыФункции["Dropbox_Appkey"];
|
||||
СекретПриложения = ПараметрыФункции["Dropbox_Appsecret"];
|
||||
РефрешТокен = ПараметрыФункции["Dropbox_Refresh"];
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("appkey", КлючПриложения);
|
||||
Опции.Вставить("appsecret", СекретПриложения);
|
||||
Опции.Вставить("refresh", РефрешТокен);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("dropbox", "ОбновитьТокен", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "Dropbox", "ОбновитьТокен");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Dropbox_ПолучитьИнформациюОбОбъекте(ПараметрыФункции)
|
||||
|
||||
Путь = "/New/pic.png";
|
||||
Токен = ПараметрыФункции["Dropbox_Token"];
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("path", Путь);
|
||||
Опции.Вставить("detail", Истина);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("dropbox", "ПолучитьИнформациюОбОбъекте", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "Dropbox", "ПолучитьИнформациюОбОбъекте", , Путь);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Dropbox_ПолучитьПревью(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Dropbox_Token"];
|
||||
Путь = "/New/mydoc.docx";
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("path", Путь);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("dropbox", "ПолучитьПревью", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "Dropbox", "ПолучитьПревью");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Dropbox_ЗагрузитьФайл(ПараметрыФункции)
|
||||
|
||||
Путь = "/New/pic.png";
|
||||
Токен = ПараметрыФункции["Dropbox_Token"];
|
||||
Картинка = ПараметрыФункции["Picture"];
|
||||
|
||||
КартинкаПуть = ПолучитьИмяВременногоФайла("png");
|
||||
КопироватьФайл(Картинка, КартинкаПуть);
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("file", КартинкаПуть);
|
||||
Опции.Вставить("path", Путь);
|
||||
Опции.Вставить("overwrite", Истина);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("dropbox", "ЗагрузитьФайл", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "Dropbox", "ЗагрузитьФайл", , Путь);
|
||||
|
||||
OPI_Инструменты.УдалитьФайлВПопытке(КартинкаПуть, "Не удалось удалить временный файл после теста!");
|
||||
|
||||
Если Не OPI_Инструменты.ЭтоOneScript() И ПараметрыФункции.Свойство("Big") Тогда
|
||||
|
||||
БольшойФайл = ПараметрыФункции["Big"];
|
||||
|
||||
Путь = "/giant.tmp";
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("file", БольшойФайл);
|
||||
Опции.Вставить("path", Путь);
|
||||
Опции.Вставить("overwrite", Истина);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("dropbox", "ЗагрузитьФайл", Опции);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "Dropbox", "ЗагрузитьФайл", "Большой", Путь);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Dropbox_ЗагрузитьФайлПоURL(ПараметрыФункции)
|
||||
|
||||
Путь = "/New/url_doc.docx";
|
||||
Токен = ПараметрыФункции["Dropbox_Token"];
|
||||
URL = ПараметрыФункции["Document"];
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("url", URL);
|
||||
Опции.Вставить("path", Путь);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("dropbox", "ЗагрузитьФайлПоURL", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "Dropbox", "ЗагрузитьФайлПоURL", , ПараметрыФункции);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Dropbox_ПолучитьСтатусЗагрузкиПоURL(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Dropbox_Token"];
|
||||
ИДРаботы = ПараметрыФункции["Dropbox_Job"];
|
||||
Статус = "in_progress";
|
||||
|
||||
Пока Статус = "in_progress" Цикл
|
||||
|
||||
Результат = OPI_Dropbox.ПолучитьСтатусЗагрузкиПоURL(Токен, ИДРаботы);
|
||||
Статус = Результат[".tag"];
|
||||
|
||||
OPI_Инструменты.Пауза(5);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "Dropbox", "ПолучитьСтатусЗагрузкиПоURL", "Прогресс"); // SKIP
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "Dropbox", "ПолучитьСтатусЗагрузкиПоURL");
|
||||
|
||||
Токен = ПараметрыФункции["Dropbox_Token"];
|
||||
Путь = "/New/url_doc.docx";
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("path", Путь);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("dropbox", "УдалитьОбъект", Опции);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "Dropbox", "ПолучитьСтатусЗагрузкиПоURL", "Удаление", Путь);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Dropbox_УдалитьОбъект(ПараметрыФункции)
|
||||
|
||||
Путь = "/New/pic.png";
|
||||
Токен = ПараметрыФункции["Dropbox_Token"];
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("path", Путь);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("dropbox", "УдалитьОбъект", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "Dropbox", "УдалитьОбъект", , Путь);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Dropbox_КопироватьОбъект(ПараметрыФункции)
|
||||
|
||||
Оригинал = "/New/pic.png";
|
||||
Копия = "/New/pic_copy.png";
|
||||
Токен = ПараметрыФункции["Dropbox_Token"];
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("from", Оригинал);
|
||||
Опции.Вставить("to", Копия);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("dropbox", "КопироватьОбъект", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "Dropbox", "КопироватьОбъект", , Копия);
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("path", Копия);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("dropbox", "УдалитьОбъект", Опции);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "Dropbox", "КопироватьОбъект", "Удаление", Копия);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Dropbox_ПереместитьОбъект(ПараметрыФункции)
|
||||
|
||||
ОригинальныйПуть = "/New/pic.png";
|
||||
ЦелевойПуть = "/pic.png";
|
||||
Токен = ПараметрыФункции["Dropbox_Token"];
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("from", ОригинальныйПуть);
|
||||
Опции.Вставить("to", ЦелевойПуть);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("dropbox", "ПереместитьОбъект", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "Dropbox", "ПереместитьОбъект", , ЦелевойПуть);
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("from", ЦелевойПуть);
|
||||
Опции.Вставить("to", ОригинальныйПуть);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("dropbox", "ПереместитьОбъект", Опции);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "Dropbox", "ПереместитьОбъект", "Удаление", ОригинальныйПуть);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Dropbox_СоздатьПапку(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Dropbox_Token"];
|
||||
Путь = "/Новый каталог";
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("path", Путь);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("dropbox", "СоздатьПапку", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "Dropbox", "СоздатьПапку", , Путь);
|
||||
|
||||
OPI_Dropbox.УдалитьОбъект(Токен, Путь);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Dropbox_СкачатьФайл(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Dropbox_Token"];
|
||||
Путь = "/New/pic.png";
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("path", Путь);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("dropbox", "СкачатьФайл", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "Dropbox", "СкачатьФайл");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Dropbox_СкачатьПапку(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Dropbox_Token"];
|
||||
Путь = "/New";
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("path", Путь);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("dropbox", "СкачатьПапку", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "Dropbox", "СкачатьПапку");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Dropbox_ПолучитьСписокФайловПапки(ПараметрыФункции)
|
||||
|
||||
Путь = "/New";
|
||||
Токен = ПараметрыФункции["Dropbox_Token"];
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("path", Путь);
|
||||
Опции.Вставить("detail", Истина);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("dropbox", "ПолучитьСписокФайловПапки", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "Dropbox", "ПолучитьСписокФайловПапки");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Dropbox_ПолучитьСписокВерсийОбъекта(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Dropbox_Token"];
|
||||
Путь = "/New/pic.png";
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("path", Путь);
|
||||
Опции.Вставить("amount", 1);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("dropbox", "ПолучитьСписокВерсийОбъекта", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "Dropbox", "ПолучитьСписокВерсийОбъекта", , ПараметрыФункции);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Dropbox_ВосстановитьОбъектКВерсии(ПараметрыФункции)
|
||||
|
||||
Версия = ПараметрыФункции["Dropbox_FileRevision"];
|
||||
Токен = ПараметрыФункции["Dropbox_Token"];
|
||||
Путь = "/New/pic.png";
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("path", Путь);
|
||||
Опции.Вставить("rev", Версия);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("dropbox", "ВосстановитьОбъектКВерсии", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "Dropbox", "ВосстановитьОбъектКВерсии", , Путь);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Dropbox_ПолучитьСписокТегов(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Dropbox_Token"];
|
||||
|
||||
МассивПутей = Новый Массив;
|
||||
МассивПутей.Добавить("/New/Dogs.mp3");
|
||||
МассивПутей.Добавить("/New/mydoc.docx");
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("paths", МассивПутей);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("dropbox", "ПолучитьСписокТегов", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "Dropbox", "ПолучитьСписокТегов", , ПараметрыФункции, МассивПутей);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Dropbox_ДобавитьТег(ПараметрыФункции)
|
||||
|
||||
Тег = "Important";
|
||||
Токен = ПараметрыФункции["Dropbox_Token"];
|
||||
Путь = "/New/mydoc.docx";
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("path", Путь);
|
||||
Опции.Вставить("tag", Тег);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("dropbox", "ДобавитьТег", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "Dropbox", "ДобавитьТег");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Dropbox_УдалитьТег(ПараметрыФункции)
|
||||
|
||||
Тег = "Important";
|
||||
Токен = ПараметрыФункции["Dropbox_Token"];
|
||||
Путь = "/New/mydoc.docx";
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("path", Путь);
|
||||
Опции.Вставить("tag", Тег);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("dropbox", "УдалитьТег", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "Dropbox", "УдалитьТег");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Dropbox_ПолучитьИнформациюОбАккаунте(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Dropbox_Token"];
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("dropbox", "ПолучитьИнформациюОбАккаунте", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "Dropbox", "ПолучитьИнформациюОбАккаунте");
|
||||
|
||||
IDАккаунта = Результат["account_id"];
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("account", IDАккаунта);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("dropbox", "ПолучитьИнформациюОбАккаунте", Опции);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "Dropbox", "ПолучитьИнформациюОбАккаунте", "По ID");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Dropbox_ПолучитьДанныеИспользованияПространства(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Dropbox_Token"];
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("dropbox", "ПолучитьДанныеИспользованияПространства", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "Dropbox", "ПолучитьДанныеИспользованияПространства");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Dropbox_ДобавитьПользователейКФайлу(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Dropbox_Token"];
|
||||
Почта = ПараметрыФункции["Dropbox_OtherUser"];
|
||||
Файл = ПараметрыФункции["Dropbox_FileID"];
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("fileid", Файл);
|
||||
Опции.Вставить("emails", Почта);
|
||||
Опции.Вставить("readonly", Ложь);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("dropbox", "ДобавитьПользователейКФайлу", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "Dropbox", "ДобавитьПользователейКФайлу", , Почта, Ложь);
|
||||
|
||||
Почты = Новый Массив;
|
||||
Почты.Добавить(Почта);
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("fileid", Файл);
|
||||
Опции.Вставить("emails", Почты);
|
||||
Опции.Вставить("readonly", Истина);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("dropbox", "ДобавитьПользователейКФайлу", Опции);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "Dropbox", "ДобавитьПользователейКФайлу", , Почта, Истина);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Dropbox_ОпубликоватьПапку(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Dropbox_Token"];
|
||||
Путь = "/New";
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("path", Путь);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("dropbox", "ОпубликоватьПапку", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "Dropbox", "ОпубликоватьПапку", , ПараметрыФункции);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Dropbox_ОтменитьПубликациюПапки(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Dropbox_Token"];
|
||||
Папка = ПараметрыФункции["Dropbox_SharedFolder"];
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("folder", Папка);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("dropbox", "ОтменитьПубликациюПапки", Опции);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "Dropbox", "ОтменитьПубликациюПапки"); // SKIP
|
||||
|
||||
ТекущийСтатус = "in_progress";
|
||||
IDРаботы = Результат["async_job_id"];
|
||||
|
||||
Пока ТекущийСтатус = "in_progress" Цикл
|
||||
Результат = OPI_Dropbox.ПолучитьСтатусАсинхронногоИзменения(Токен, IDРаботы);
|
||||
ТекущийСтатус = Результат[".tag"];
|
||||
OPI_Инструменты.Пауза(3);
|
||||
КонецЦикла;
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "Dropbox", "ОтменитьПубликациюПапки", "Окончание", ПараметрыФункции, IDРаботы);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Dropbox_ПолучитьСтатусАсинхронногоИзменения(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Dropbox_Token"];
|
||||
IDРаботы = ПараметрыФункции["Dropbox_NewJobID"];
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("job", IDРаботы);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("dropbox", "ПолучитьСтатусАсинхронногоИзменения", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "Dropbox", "ПолучитьСтатусАсинхронногоИзменения");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Dropbox_ДобавитьПользователейКПапке(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Dropbox_Token"];
|
||||
Почта = ПараметрыФункции["Dropbox_OtherUser"];
|
||||
Папка = ПараметрыФункции["Dropbox_SharedFolder"]; // shared_folder_id
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("folder", Папка);
|
||||
Опции.Вставить("emails", Почта);
|
||||
Опции.Вставить("readonly", Ложь);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("dropbox", "ДобавитьПользователейКПапке", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "Dropbox", "ДобавитьПользователейКПапке");
|
||||
|
||||
Почты = Новый Массив;
|
||||
Почты.Добавить(Почта);
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("folder", Папка);
|
||||
Опции.Вставить("emails", Почты);
|
||||
Опции.Вставить("readonly", Истина);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("dropbox", "ДобавитьПользователейКПапке", Опции);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "Dropbox", "ДобавитьПользователейКПапке", "Дополнительный");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Dropbox_ОтменитьПубликациюФайла(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Dropbox_Token"];
|
||||
Файл = ПараметрыФункции["Dropbox_FileID"];
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("fileid", Файл);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("dropbox", "ОтменитьПубликациюФайла", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "Dropbox", "ОтменитьПубликациюФайла");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти // Dropbox
|
||||
|
||||
#КонецОбласти // АтомарныеТесты
|
||||
|
||||
#КонецОбласти // СлужебныеПроцедурыИФункции
|
||||
|
||||
#Region Alternate
|
||||
|
||||
Procedure DropboxAPI_GetUpdateToken() Export
|
||||
ДропБокс_ПолучитьОбновитьТокен();
|
||||
EndProcedure
|
||||
|
||||
Procedure DropboxAPI_UploadFile() Export
|
||||
ДропБокс_ЗагрузитьФайл();
|
||||
EndProcedure
|
||||
|
||||
Procedure DropboxAPI_CreateFolder() Export
|
||||
ДропБокс_СоздатьКаталог();
|
||||
EndProcedure
|
||||
|
||||
Procedure DropboxAPI_GetFolderFileList() Export
|
||||
ДропБокс_ПолучитьСписокФайловПапки();
|
||||
EndProcedure
|
||||
|
||||
Procedure DropboxAPI_UploadFileByURL() Export
|
||||
ДропБокс_ЗагрузитьФайлПоURL();
|
||||
EndProcedure
|
||||
|
||||
Procedure DropboxAPI_CreateDeleteTag() Export
|
||||
ДропБокс_СоздатьУдалитьТег();
|
||||
EndProcedure
|
||||
|
||||
Procedure DropboxAPI_GetAccount() Export
|
||||
ДропБокс_ПолучитьАккаунт();
|
||||
EndProcedure
|
||||
|
||||
Procedure DropboxAPI_AccessManagement() Export
|
||||
ДропБокс_РаботаСДоступами();
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,3 +1,5 @@
|
||||
// OneScript: ./OInt/tests/Modules/OPItc_GoogleCalendar.os
|
||||
|
||||
// MIT License
|
||||
|
||||
// Copyright (c) 2023-2026 Anton Tsitavets
|
||||
@@ -9,7 +11,7 @@
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// 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.
|
||||
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
@@ -22,6 +24,8 @@
|
||||
|
||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||
|
||||
// Набор тестов для YAxUnit
|
||||
|
||||
// BSLLS:Typo-off
|
||||
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
||||
// BSLLS:IncorrectLineBreak-off
|
||||
@@ -63,6 +67,565 @@
|
||||
//@skip-check missing-temporary-file-deletion
|
||||
//@skip-check module-unused-method
|
||||
|
||||
// #Использовать oint
|
||||
// #Использовать asserts
|
||||
// #Использовать "internal"
|
||||
//#Использовать "../../tools/main"
|
||||
//#Использовать "../../tools/http"
|
||||
//#Использовать "../../api"
|
||||
//#Использовать asserts
|
||||
//#Использовать "internal"
|
||||
|
||||
|
||||
// Для YaxUnit
|
||||
|
||||
Процедура ИсполняемыеСценарии() Экспорт
|
||||
|
||||
OPI_ПолучениеДанныхТестов.СформироватьТестыЯкс("GoogleCalendar");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Для Asserts
|
||||
|
||||
Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт
|
||||
|
||||
Возврат OPI_ПолучениеДанныхТестов.СформироватьТестыАссертс("GoogleCalendar");
|
||||
|
||||
КонецФункции
|
||||
|
||||
#Область СлужебныйПрограммныйИнтерфейс
|
||||
|
||||
#Область ЗапускаемыеТесты
|
||||
|
||||
#Область GoogleCalendar
|
||||
|
||||
Процедура ГК_Авторизация() Экспорт
|
||||
|
||||
ПараметрыТеста = Новый Структура;
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Google_ClientID" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Google_ClientSecret", ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Google_Code" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Google_Refresh" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Google_ServiceData" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Access_Token" , ПараметрыТеста);
|
||||
|
||||
GoogleCalendar_СформироватьСсылкуПолученияКода(ПараметрыТеста);
|
||||
GoogleCalendar_ПолучитьТокенПоКоду(ПараметрыТеста);
|
||||
GoogleCalendar_ОбновитьТокен(ПараметрыТеста);
|
||||
GoogleCalendar_ПолучитьТокенServiceАккаунта(ПараметрыТеста);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ГК_ПолучитьСписокКалендарей() Экспорт
|
||||
|
||||
ПараметрыТеста = Новый Структура;
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Google_Token", ПараметрыТеста);
|
||||
|
||||
GoogleCalendar_ПолучитьСписокКалендарей(ПараметрыТеста);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ГК_СоздатьУдалитьКалендарь() Экспорт
|
||||
|
||||
ПараметрыТеста = Новый Структура;
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Google_Token", ПараметрыТеста);
|
||||
|
||||
GoogleCalendar_СоздатьКалендарь(ПараметрыТеста);
|
||||
GoogleCalendar_ИзменитьМетаданныеКалендаря(ПараметрыТеста);
|
||||
GoogleCalendar_ПолучитьМетаданныеКалендаря(ПараметрыТеста);
|
||||
GoogleCalendar_ДобавитьКалендарьВСписок(ПараметрыТеста);
|
||||
GoogleCalendar_ИзменитьКалендарьСписка(ПараметрыТеста);
|
||||
GoogleCalendar_ПолучитьКалендарьСписка(ПараметрыТеста);
|
||||
GoogleCalendar_ОчиститьОсновнойКалендарь(ПараметрыТеста);
|
||||
// !DISABLED! GoogleCalendar_УдалитьКалендарьИзСписка(ПараметрыТеста);
|
||||
GoogleCalendar_УдалитьКалендарь(ПараметрыТеста);
|
||||
|
||||
OPI_Инструменты.Пауза(5);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ГК_СоздатьУдалитьСобытие() Экспорт
|
||||
|
||||
ПараметрыТеста = Новый Структура;
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Google_Token" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Google_NewCalendarID", ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Google_CalendarID" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture2" , ПараметрыТеста);
|
||||
|
||||
GoogleCalendar_СоздатьКалендарь(ПараметрыТеста);
|
||||
GoogleCalendar_СоздатьСобытие(ПараметрыТеста);
|
||||
GoogleCalendar_ИзменитьСобытие(ПараметрыТеста);
|
||||
GoogleCalendar_ПолучитьСобытие(ПараметрыТеста);
|
||||
GoogleCalendar_ПереместитьСобытие(ПараметрыТеста);
|
||||
GoogleCalendar_ПолучитьСписокСобытий(ПараметрыТеста);
|
||||
GoogleCalendar_ПолучитьОписаниеСобытия(ПараметрыТеста);
|
||||
GoogleCalendar_УдалитьСобытие(ПараметрыТеста);
|
||||
GoogleCalendar_УдалитьКалендарь(ПараметрыТеста);
|
||||
|
||||
OPI_Инструменты.Пауза(5);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти // GoogleCalendar
|
||||
|
||||
#КонецОбласти // ЗапускаемыеТесты
|
||||
|
||||
#КонецОбласти // СлужебныйПрограммныйИнтерфейс
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
#Область АтомарныеТесты
|
||||
|
||||
#Область GoogleCalendar
|
||||
|
||||
Процедура GoogleCalendar_СформироватьСсылкуПолученияКода(ПараметрыФункции)
|
||||
|
||||
ClientID = ПараметрыФункции["Google_ClientID"];
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("id", ClientID);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("gcalendar", "СформироватьСсылкуПолученияКода", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "GoogleCalendar", "СформироватьСсылкуПолученияКода");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура GoogleCalendar_ПолучитьТокенПоКоду(ПараметрыФункции)
|
||||
|
||||
ClientID = ПараметрыФункции["Google_ClientID"];
|
||||
ClientSecret = ПараметрыФункции["Google_ClientSecret"];
|
||||
Code = ПараметрыФункции["Google_Code"];
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("id", ClientID);
|
||||
Опции.Вставить("secret", ClientSecret);
|
||||
Опции.Вставить("code", Code);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("gcalendar", "ПолучитьТокенПоКоду", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "GoogleCalendar", "ПолучитьТокенПоКоду");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура GoogleCalendar_ОбновитьТокен(ПараметрыФункции)
|
||||
|
||||
ClientID = ПараметрыФункции["Google_ClientID"];
|
||||
ClientSecret = ПараметрыФункции["Google_ClientSecret"];
|
||||
RefreshToken = ПараметрыФункции["Google_Refresh"];
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("id", ClientID);
|
||||
Опции.Вставить("secret", ClientSecret);
|
||||
Опции.Вставить("refresh", RefreshToken);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("gcalendar", "ОбновитьТокен", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "GoogleCalendar", "ОбновитьТокен");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура GoogleCalendar_ПолучитьТокенServiceАккаунта(ПараметрыФункции)
|
||||
|
||||
Данные = ПараметрыФункции["Google_ServiceData"]; // URL, двоичные данные, файл или коллекция
|
||||
|
||||
Токен = ПараметрыФункции["Access_Token"]; // SKIP
|
||||
Данные = OPI_ЗапросыHTTP // SKIP
|
||||
.НовыйЗапрос() // SKIP
|
||||
.Инициализировать(Данные) // SKIP
|
||||
.ДобавитьBearerАвторизацию(Токен) // SKIP
|
||||
.ОбработатьЗапрос("GET") // SKIP
|
||||
.ВернутьОтветКакДвоичныеДанные(); // SKIP
|
||||
|
||||
ОбластиДействия = Новый Массив;
|
||||
ОбластиДействия.Добавить("https://www.googleapis.com/auth/calendar");
|
||||
ОбластиДействия.Добавить("https://www.googleapis.com/auth/drive");
|
||||
ОбластиДействия.Добавить("https://www.googleapis.com/auth/spreadsheets");
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("auth", Данные);
|
||||
Опции.Вставить("scope", ОбластиДействия);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("gcalendar", "ПолучитьТокенServiceАккаунта", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "GoogleCalendar", "ПолучитьТокенServiceАккаунта");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура GoogleCalendar_ПолучитьСписокКалендарей(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Google_Token"];
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("gcalendar", "ПолучитьСписокКалендарей", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "GoogleCalendar", "ПолучитьСписокКалендарей");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура GoogleCalendar_СоздатьКалендарь(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Google_Token"];
|
||||
Наименование = "Тестовый календарь";
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("title", Наименование);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("gcalendar", "СоздатьКалендарь", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "GoogleCalendar", "СоздатьКалендарь", , ПараметрыФункции, Наименование);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура GoogleCalendar_ИзменитьМетаданныеКалендаря(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Google_Token"];
|
||||
Календарь = ПараметрыФункции["Google_NewCalendarID"];
|
||||
Наименование = "Новое наименование";
|
||||
Описание = "Новое описание";
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("calendar", Календарь);
|
||||
Опции.Вставить("title", Наименование);
|
||||
Опции.Вставить("description", Описание);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("gcalendar", "ИзменитьМетаданныеКалендаря", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "GoogleCalendar", "ИзменитьМетаданныеКалендаря", , Наименование, Описание);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура GoogleCalendar_ПолучитьМетаданныеКалендаря(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Google_Token"];
|
||||
Календарь = ПараметрыФункции["Google_NewCalendarID"];
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("calendar", Календарь);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("gcalendar", "ПолучитьМетаданныеКалендаря", Опции);
|
||||
|
||||
// END
|
||||
|
||||
Наименование = "Новое наименование";
|
||||
Описание = "Новое описание";
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "GoogleCalendar", "ПолучитьМетаданныеКалендаря", , Наименование, Описание);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура GoogleCalendar_ДобавитьКалендарьВСписок(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Google_Token"];
|
||||
Календарь = ПараметрыФункции["Google_NewCalendarID"];
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("calendar", Календарь);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("gcalendar", "ДобавитьКалендарьВСписок", Опции);
|
||||
|
||||
// END
|
||||
|
||||
Наименование = "Новое наименование";
|
||||
Описание = "Новое описание";
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "GoogleCalendar", "ДобавитьКалендарьВСписок", , Наименование, Описание);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура GoogleCalendar_ИзменитьКалендарьСписка(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Google_Token"];
|
||||
Календарь = ПараметрыФункции["Google_NewCalendarID"];
|
||||
ОсновнойЦвет = "#000000";
|
||||
ДополнительныйЦвет = "#ffd800";
|
||||
Скрытый = Ложь;
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("calendar", Календарь);
|
||||
Опции.Вставить("primary", ОсновнойЦвет);
|
||||
Опции.Вставить("secondary", ДополнительныйЦвет);
|
||||
Опции.Вставить("hidden", Скрытый);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("gcalendar", "ИзменитьКалендарьСписка", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "GoogleCalendar", "ИзменитьКалендарьСписка", , ОсновнойЦвет, ДополнительныйЦвет);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура GoogleCalendar_ПолучитьКалендарьСписка(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Google_Token"];
|
||||
Календарь = ПараметрыФункции["Google_NewCalendarID"];
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("calendar", Календарь);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("gcalendar", "ПолучитьКалендарьСписка", Опции);
|
||||
|
||||
// END
|
||||
|
||||
ОсновнойЦвет = "#000000";
|
||||
ДополнительныйЦвет = "#ffd800";
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "GoogleCalendar", "ПолучитьКалендарьСписка", , ОсновнойЦвет, ДополнительныйЦвет);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура GoogleCalendar_ОчиститьОсновнойКалендарь(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Google_Token"];
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("gcalendar", "ОчиститьОсновнойКалендарь", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "GoogleCalendar", "ОчиститьОсновнойКалендарь");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура GoogleCalendar_УдалитьКалендарьИзСписка(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Google_Token"];
|
||||
Календарь = ПараметрыФункции["Google_NewCalendarID"];
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("calendar", Календарь);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("gcalendar", "УдалитьКалендарьИзСписка", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "GoogleCalendar", "УдалитьКалендарьИзСписка");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура GoogleCalendar_УдалитьКалендарь(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Google_Token"];
|
||||
Календарь = ПараметрыФункции["Google_NewCalendarID"];
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("calendar", Календарь);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("gcalendar", "УдалитьКалендарь", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "GoogleCalendar", "УдалитьКалендарь");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура GoogleCalendar_СоздатьСобытие(ПараметрыФункции)
|
||||
|
||||
ТекущаяДата = OPI_Инструменты.ПолучитьТекущуюДату();
|
||||
Токен = ПараметрыФункции["Google_Token"];
|
||||
Календарь = ПараметрыФункции["Google_NewCalendarID"];
|
||||
Наименование = "Новое событие";
|
||||
Описание = "Описание тестового события";
|
||||
Час = 3600;
|
||||
|
||||
Картинка1 = ПараметрыФункции["Picture"]; // URL, Двоичные или Путь к файлу
|
||||
Картинка2 = ПараметрыФункции["Picture2"]; // URL, Двоичные или Путь к файлу
|
||||
Вложения = Новый Соответствие;
|
||||
|
||||
Вложения.Вставить("Картинка1", Картинка1);
|
||||
Вложения.Вставить("Картинка2", Картинка2);
|
||||
|
||||
ОписаниеСобытия = Новый Соответствие;
|
||||
ОписаниеСобытия.Вставить("Описание" , Описание);
|
||||
ОписаниеСобытия.Вставить("Заголовок" , Наименование);
|
||||
ОписаниеСобытия.Вставить("МестоПроведения" , "В офисе");
|
||||
ОписаниеСобытия.Вставить("ДатаНачала" , ТекущаяДата);
|
||||
ОписаниеСобытия.Вставить("ДатаОкончания" , ОписаниеСобытия["ДатаНачала"] + Час);
|
||||
ОписаниеСобытия.Вставить("МассивURLФайловВложений", Вложения);
|
||||
ОписаниеСобытия.Вставить("ОтправлятьУведомления" , Истина);
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("calendar", Календарь);
|
||||
Опции.Вставить("props", ОписаниеСобытия);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("gcalendar", "СоздатьСобытие", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "GoogleCalendar", "СоздатьСобытие", , ПараметрыФункции, Наименование, Описание);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура GoogleCalendar_ИзменитьСобытие(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Google_Token"];
|
||||
Календарь = ПараметрыФункции["Google_NewCalendarID"];
|
||||
Событие = ПараметрыФункции["Google_EventID"];
|
||||
Описание = "Новое описание события";
|
||||
|
||||
ОписаниеСобытия = Новый Соответствие;
|
||||
ОписаниеСобытия.Вставить("Описание", Описание);
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("calendar", Календарь);
|
||||
Опции.Вставить("props", ОписаниеСобытия);
|
||||
Опции.Вставить("event", Событие);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("gcalendar", "ИзменитьСобытие", Опции);
|
||||
|
||||
// END
|
||||
|
||||
Наименование = "Новое событие";
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "GoogleCalendar", "ИзменитьСобытие", , Наименование, Описание);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура GoogleCalendar_ПолучитьСобытие(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Google_Token"];
|
||||
Календарь = ПараметрыФункции["Google_NewCalendarID"];
|
||||
Событие = ПараметрыФункции["Google_EventID"];
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("calendar", Календарь);
|
||||
Опции.Вставить("event", Событие);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("gcalendar", "ПолучитьСобытие", Опции);
|
||||
|
||||
// END
|
||||
|
||||
Наименование = "Новое событие";
|
||||
Описание = "Новое описание события";
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "GoogleCalendar", "ПолучитьСобытие", , Наименование, Описание);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура GoogleCalendar_ПереместитьСобытие(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Google_Token"];
|
||||
Событие = ПараметрыФункции["Google_EventID"];
|
||||
|
||||
КалендарьИсточник = ПараметрыФункции["Google_NewCalendarID"];
|
||||
КалендарьПриемник = ПараметрыФункции["Google_CalendarID"];
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("from", КалендарьИсточник);
|
||||
Опции.Вставить("to", КалендарьПриемник);
|
||||
Опции.Вставить("event", Событие);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("gcalendar", "ПереместитьСобытие", Опции);
|
||||
|
||||
// END
|
||||
|
||||
Наименование = "Новое событие";
|
||||
Описание = "Новое описание события";
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "GoogleCalendar", "ПереместитьСобытие", , Наименование, Описание);
|
||||
|
||||
OPI_GoogleCalendar.ПереместитьСобытие(Токен, КалендарьПриемник, КалендарьИсточник, Событие);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура GoogleCalendar_УдалитьСобытие(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Google_Token"];
|
||||
Календарь = ПараметрыФункции["Google_NewCalendarID"];
|
||||
Событие = ПараметрыФункции["Google_EventID"];
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("calendar", Календарь);
|
||||
Опции.Вставить("event", Событие);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("gcalendar", "УдалитьСобытие", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "GoogleCalendar", "УдалитьСобытие");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура GoogleCalendar_ПолучитьСписокСобытий(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Google_Token"];
|
||||
Календарь = ПараметрыФункции["Google_NewCalendarID"];
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("calendar", Календарь);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("gcalendar", "ПолучитьСписокСобытий", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "GoogleCalendar", "ПолучитьСписокСобытий");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура GoogleCalendar_ПолучитьОписаниеСобытия(ПараметрыФункции)
|
||||
|
||||
Пустая = Ложь;
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("empty", Пустая);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("gcalendar", "ПолучитьОписаниеСобытия", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "GoogleCalendar", "ПолучитьОписаниеСобытия");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти // GoogleCalendar
|
||||
|
||||
#КонецОбласти // АтомарныеТесты
|
||||
|
||||
#КонецОбласти // СлужебныеПроцедурыИФункции
|
||||
|
||||
#Region Alternate
|
||||
|
||||
Procedure GC_Authorization() Export
|
||||
ГК_Авторизация();
|
||||
EndProcedure
|
||||
|
||||
Procedure GC_GetCalendarList() Export
|
||||
ГК_ПолучитьСписокКалендарей();
|
||||
EndProcedure
|
||||
|
||||
Procedure GC_CreateDeleteCalendar() Export
|
||||
ГК_СоздатьУдалитьКалендарь();
|
||||
EndProcedure
|
||||
|
||||
Procedure GC_CreateDeleteEvent() Export
|
||||
ГК_СоздатьУдалитьСобытие();
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
// OneScript: ./OInt/tests/Modules/OPItc_GoogleDrive.os
|
||||
|
||||
// MIT License
|
||||
|
||||
// Copyright (c) 2023-2026 Anton Tsitavets
|
||||
@@ -9,7 +11,7 @@
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// 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.
|
||||
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
@@ -22,6 +24,8 @@
|
||||
|
||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||
|
||||
// Набор тестов для YAxUnit
|
||||
|
||||
// BSLLS:Typo-off
|
||||
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
||||
// BSLLS:IncorrectLineBreak-off
|
||||
@@ -63,6 +67,543 @@
|
||||
//@skip-check missing-temporary-file-deletion
|
||||
//@skip-check module-unused-method
|
||||
|
||||
// #Использовать oint
|
||||
// #Использовать asserts
|
||||
// #Использовать "internal"
|
||||
//#Использовать "../../tools/main"
|
||||
//#Использовать "../../tools/http"
|
||||
//#Использовать "../../api"
|
||||
//#Использовать asserts
|
||||
//#Использовать "internal"
|
||||
|
||||
// Для YaxUnit
|
||||
|
||||
Процедура ИсполняемыеСценарии() Экспорт
|
||||
|
||||
OPI_ПолучениеДанныхТестов.СформироватьТестыЯкс("GoogleDrive");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Для Asserts
|
||||
|
||||
Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт
|
||||
|
||||
Возврат OPI_ПолучениеДанныхТестов.СформироватьТестыАссертс("GoogleDrive");
|
||||
|
||||
КонецФункции
|
||||
|
||||
#Область СлужебныйПрограммныйИнтерфейс
|
||||
|
||||
#Область ЗапускаемыеТесты
|
||||
|
||||
#Область GoogleDrive
|
||||
|
||||
Процедура ГД_Авторизация() Экспорт
|
||||
|
||||
ПараметрыТеста = Новый Структура;
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Google_ClientID" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Google_ClientSecret", ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Google_Code" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Google_Refresh" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Google_ServiceData" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Access_Token" , ПараметрыТеста);
|
||||
|
||||
GoogleDrive_СформироватьСсылкуПолученияКода(ПараметрыТеста);
|
||||
GoogleDrive_ПолучитьТокенПоКоду(ПараметрыТеста);
|
||||
GoogleDrive_ОбновитьТокен(ПараметрыТеста);
|
||||
GoogleDrive_ПолучитьТокенServiceАккаунта(ПараметрыТеста);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ГД_ПолучитьСписокКаталогов() Экспорт
|
||||
|
||||
ПараметрыТеста = Новый Структура;
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Google_Token", ПараметрыТеста);
|
||||
|
||||
GoogleDrive_ПолучитьСписокКаталогов(ПараметрыТеста);
|
||||
GoogleDrive_ПолучитьИнформациюОбОбъекте(ПараметрыТеста);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ГД_ЗагрузитьУдалитьФайл() Экспорт
|
||||
|
||||
ПараметрыТеста = Новый Структура;
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Google_Token", ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("GD_Catalog" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture2" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Big" , ПараметрыТеста);
|
||||
|
||||
ПараметрыТеста.Вставить("МассивУдаляемых", Новый Массив);
|
||||
|
||||
GoogleDrive_ЗагрузитьФайл(ПараметрыТеста);
|
||||
GoogleDrive_СкопироватьОбъект(ПараметрыТеста);
|
||||
GoogleDrive_СкачатьФайл(ПараметрыТеста);
|
||||
GoogleDrive_ОбновитьФайл(ПараметрыТеста);
|
||||
GoogleDrive_ПолучитьСписокФайлов(ПараметрыТеста);
|
||||
GoogleDrive_УдалитьОбъект(ПараметрыТеста);
|
||||
GoogleDrive_ПолучитьОписаниеФайла(ПараметрыТеста);
|
||||
|
||||
OPI_Инструменты.Пауза(5);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ГД_СоздатьУдалитьКомментарий() Экспорт
|
||||
|
||||
ПараметрыТеста = Новый Структура;
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Google_Token", ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("GD_Catalog" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture" , ПараметрыТеста);
|
||||
|
||||
ПараметрыТеста.Вставить("МассивУдаляемых", Новый Массив);
|
||||
|
||||
GoogleDrive_ЗагрузитьФайл(ПараметрыТеста);
|
||||
|
||||
GoogleDrive_СоздатьКомментарий(ПараметрыТеста);
|
||||
GoogleDrive_ПолучитьКомментарий(ПараметрыТеста);
|
||||
GoogleDrive_ПолучитьСписокКомментариев(ПараметрыТеста);
|
||||
GoogleDrive_УдалитьКомментарий(ПараметрыТеста);
|
||||
|
||||
GoogleDrive_УдалитьОбъект(ПараметрыТеста);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ГД_СоздатьКаталог() Экспорт
|
||||
|
||||
ПараметрыТеста = Новый Структура;
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Google_Token", ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("GD_Catalog" , ПараметрыТеста);
|
||||
|
||||
GoogleDrive_СоздатьПапку(ПараметрыТеста);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти // GoogleDrive
|
||||
|
||||
#КонецОбласти // ЗапускаемыеТесты
|
||||
|
||||
#КонецОбласти // СлужебныйПрограммныйИнтерфейс
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
#Область АтомарныеТесты
|
||||
|
||||
#Область GoogleDrive
|
||||
|
||||
Процедура GoogleDrive_СформироватьСсылкуПолученияКода(ПараметрыФункции)
|
||||
|
||||
ClientID = ПараметрыФункции["Google_ClientID"];
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("id", ClientID);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("gdrive", "СформироватьСсылкуПолученияКода", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "GoogleDrive", "СформироватьСсылкуПолученияКода");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура GoogleDrive_ПолучитьТокенПоКоду(ПараметрыФункции)
|
||||
|
||||
ClientID = ПараметрыФункции["Google_ClientID"];
|
||||
ClientSecret = ПараметрыФункции["Google_ClientSecret"];
|
||||
Code = ПараметрыФункции["Google_Code"];
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("id", ClientID);
|
||||
Опции.Вставить("secret", ClientSecret);
|
||||
Опции.Вставить("code", Code);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("gdrive", "ПолучитьТокенПоКоду", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "GoogleDrive", "ПолучитьТокенПоКоду");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура GoogleDrive_ОбновитьТокен(ПараметрыФункции)
|
||||
|
||||
ClientID = ПараметрыФункции["Google_ClientID"];
|
||||
ClientSecret = ПараметрыФункции["Google_ClientSecret"];
|
||||
RefreshToken = ПараметрыФункции["Google_Refresh"];
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("id", ClientID);
|
||||
Опции.Вставить("secret", ClientSecret);
|
||||
Опции.Вставить("refresh", RefreshToken);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("gdrive", "ОбновитьТокен", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "GoogleDrive", "ОбновитьТокен");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура GoogleDrive_ПолучитьТокенServiceАккаунта(ПараметрыФункции)
|
||||
|
||||
Данные = ПараметрыФункции["Google_ServiceData"]; // URL, двоичные данные, файл или коллекция
|
||||
|
||||
Токен = ПараметрыФункции["Access_Token"]; // SKIP
|
||||
Данные = OPI_ЗапросыHTTP // SKIP
|
||||
.НовыйЗапрос() // SKIP
|
||||
.Инициализировать(Данные) // SKIP
|
||||
.ДобавитьBearerАвторизацию(Токен) // SKIP
|
||||
.ОбработатьЗапрос("GET") // SKIP
|
||||
.ВернутьОтветКакДвоичныеДанные(); // SKIP
|
||||
|
||||
ОбластиДействия = Новый Массив;
|
||||
ОбластиДействия.Добавить("https://www.googleapis.com/auth/calendar");
|
||||
ОбластиДействия.Добавить("https://www.googleapis.com/auth/drive");
|
||||
ОбластиДействия.Добавить("https://www.googleapis.com/auth/spreadsheets");
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("auth", Данные);
|
||||
Опции.Вставить("scope", ОбластиДействия);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("gdrive", "ПолучитьТокенServiceАккаунта", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "GoogleDrive", "ПолучитьТокенServiceАккаунта");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура GoogleDrive_ПолучитьСписокКаталогов(ПараметрыФункции)
|
||||
|
||||
Имя = "Тестовая папка";
|
||||
Токен = ПараметрыФункции["Google_Token"];
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("query", Имя);
|
||||
Опции.Вставить("depth", Истина);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("gdrive", "ПолучитьСписокКаталогов", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "GoogleDrive", "ПолучитьСписокКаталогов", , ПараметрыФункции);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура GoogleDrive_ПолучитьИнформациюОбОбъекте(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Google_Token"];
|
||||
Идентификатор = ПараметрыФункции["GD_Catalog"];
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("object", Идентификатор);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("gdrive", "ПолучитьИнформациюОбОбъекте", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "GoogleDrive", "ПолучитьИнформациюОбОбъекте");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура GoogleDrive_ЗагрузитьФайл(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Google_Token"];
|
||||
Каталог = ПараметрыФункции["GD_Catalog"];
|
||||
Картинка = ПараметрыФункции["Picture"]; // URL, Двоичные данные или Путь к файлу
|
||||
|
||||
Пустая = Ложь;
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("empty", Пустая);
|
||||
|
||||
Описание = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("gdrive", "ПолучитьОписаниеФайла", Опции);
|
||||
|
||||
Описание.Вставить("Родитель", Каталог);
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("file", Картинка);
|
||||
Опции.Вставить("props", Описание);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("gdrive", "ЗагрузитьФайл", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "GoogleDrive", "ЗагрузитьФайл", , ПараметрыФункции, Описание);
|
||||
|
||||
Если Не OPI_Инструменты.ЭтоOneScript() И ПараметрыФункции.Свойство("Big") Тогда
|
||||
|
||||
БольшойФайл = ПараметрыФункции["Big"];
|
||||
Описание.Вставить("Имя", "big.rar");
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("file", БольшойФайл);
|
||||
Опции.Вставить("props", Описание);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("gdrive", "ЗагрузитьФайл", Опции);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "GoogleDrive", "ЗагрузитьФайл", "Большой", ПараметрыФункции, Описание);
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("object", Результат);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("gdrive", "СкачатьФайл", Опции);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "GoogleDrive", "ЗагрузитьФайл", "Проверка", ПараметрыФункции, Описание);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура GoogleDrive_СкопироватьОбъект(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Google_Token"];
|
||||
Идентификатор = ПараметрыФункции["GD_File"];
|
||||
НовоеИмя = "Скопированный файл.jpeg";
|
||||
НовыйРодитель = "root";
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("object", Идентификатор);
|
||||
Опции.Вставить("title", НовоеИмя);
|
||||
Опции.Вставить("catalog", НовыйРодитель);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("gdrive", "СкопироватьОбъект", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "GoogleDrive", "СкопироватьОбъект", , ПараметрыФункции, НовоеИмя);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура GoogleDrive_СкачатьФайл(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Google_Token"];
|
||||
Идентификатор = ПараметрыФункции["GD_File"];
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("object", Идентификатор);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("gdrive", "СкачатьФайл", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "GoogleDrive", "СкачатьФайл", , ПараметрыФункции);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура GoogleDrive_ОбновитьФайл(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Google_Token"];
|
||||
НовоеИмя = "Обновленный файл.jpg";
|
||||
Идентификатор = ПараметрыФункции["GD_File"];
|
||||
Файл = ПараметрыФункции["Picture2"]; // URL, Двоичные данные или Путь к файлу
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("object", Идентификатор);
|
||||
Опции.Вставить("file", Файл);
|
||||
Опции.Вставить("title", НовоеИмя);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("gdrive", "ОбновитьФайл", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "GoogleDrive", "ОбновитьФайл", , НовоеИмя);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура GoogleDrive_ПолучитьСписокФайлов(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Google_Token"];
|
||||
Каталог = "root";
|
||||
ИмяСодержит = "data";
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("query", ИмяСодержит);
|
||||
Опции.Вставить("catalog", Каталог);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("gdrive", "ПолучитьСписокФайлов", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "GoogleDrive", "ПолучитьСписокФайлов");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура GoogleDrive_УдалитьОбъект(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Google_Token"];
|
||||
Идентификатор = ПараметрыФункции["GD_File"];
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("object", Идентификатор);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("gdrive", "УдалитьОбъект", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "GoogleDrive", "УдалитьОбъект");
|
||||
|
||||
Для Каждого Удаляемый Из ПараметрыФункции["МассивУдаляемых"] Цикл
|
||||
|
||||
Результат = OPI_GoogleDrive.УдалитьОбъект(Токен, Удаляемый);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "GoogleDrive", "УдалитьОбъект", "Дополнительный");
|
||||
|
||||
OPI_Инструменты.Пауза(2);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура GoogleDrive_ПолучитьОписаниеФайла(ПараметрыФункции)
|
||||
|
||||
Опции = Новый Структура;
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("gdrive", "ПолучитьОписаниеФайла", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "GoogleDrive", "ПолучитьОписаниеФайла");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура GoogleDrive_СоздатьКомментарий(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Google_Token"];
|
||||
Идентификатор = ПараметрыФункции["GD_File"];
|
||||
Комментарий = "Текст комментария";
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("object", Идентификатор);
|
||||
Опции.Вставить("text", Комментарий);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("gdrive", "СоздатьКомментарий", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "GoogleDrive", "СоздатьКомментарий", , ПараметрыФункции, Комментарий);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура GoogleDrive_ПолучитьКомментарий(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Google_Token"];
|
||||
Идентификатор = ПараметрыФункции["GD_File"];
|
||||
ИДКомментария = ПараметрыФункции["GD_Comment"];
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("object", Идентификатор);
|
||||
Опции.Вставить("comment", ИДКомментария);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("gdrive", "ПолучитьКомментарий", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "GoogleDrive", "ПолучитьКомментарий");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура GoogleDrive_ПолучитьСписокКомментариев(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Google_Token"];
|
||||
Идентификатор = ПараметрыФункции["GD_File"];
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("object", Идентификатор);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("gdrive", "ПолучитьСписокКомментариев", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "GoogleDrive", "ПолучитьСписокКомментариев");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура GoogleDrive_УдалитьКомментарий(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Google_Token"];
|
||||
Идентификатор = ПараметрыФункции["GD_File"];
|
||||
ИДКомментария = ПараметрыФункции["GD_Comment"];
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("object", Идентификатор);
|
||||
Опции.Вставить("comment", ИДКомментария);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("gdrive", "УдалитьКомментарий", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "GoogleDrive", "УдалитьКомментарий");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура GoogleDrive_СоздатьПапку(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Google_Token"];
|
||||
Каталог = ПараметрыФункции["GD_Catalog"];
|
||||
Имя = "Тестовая папка";
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("title", Имя);
|
||||
Опции.Вставить("catalog", Каталог);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("gdrive", "СоздатьПапку", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "GoogleDrive", "СоздатьПапку");
|
||||
|
||||
ИДКаталога = Результат["id"];
|
||||
OPI_GoogleDrive.УдалитьОбъект(Токен, ИДКаталога);
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("title", Имя);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("gdrive", "СоздатьПапку", Опции);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "GoogleDrive", "СоздатьПапку", "Корень");
|
||||
|
||||
ИДКаталога = Результат["id"];
|
||||
OPI_GoogleDrive.УдалитьОбъект(Токен, ИДКаталога);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти // GoogleDrive
|
||||
|
||||
#КонецОбласти // АтомарныеТесты
|
||||
|
||||
#КонецОбласти // СлужебныеПроцедурыИФункции
|
||||
|
||||
#Region Alternate
|
||||
|
||||
Procedure GD_Authorization() Export
|
||||
ГД_Авторизация();
|
||||
EndProcedure
|
||||
|
||||
Procedure GD_GetCatalogList() Export
|
||||
ГД_ПолучитьСписокКаталогов();
|
||||
EndProcedure
|
||||
|
||||
Procedure GD_UploadDeleteFile() Export
|
||||
ГД_ЗагрузитьУдалитьФайл();
|
||||
EndProcedure
|
||||
|
||||
Procedure GD_CreateDeleteComment() Export
|
||||
ГД_СоздатьУдалитьКомментарий();
|
||||
EndProcedure
|
||||
|
||||
Procedure GD_CreateCatalog() Export
|
||||
ГД_СоздатьКаталог();
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
// OneScript: ./OInt/tests/Modules/OPItc_GoogleSheets.os
|
||||
|
||||
// MIT License
|
||||
|
||||
// Copyright (c) 2023-2026 Anton Tsitavets
|
||||
@@ -9,7 +11,7 @@
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// 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.
|
||||
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
@@ -22,6 +24,8 @@
|
||||
|
||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||
|
||||
// Набор тестов для YAxUnit
|
||||
|
||||
// BSLLS:Typo-off
|
||||
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
||||
// BSLLS:IncorrectLineBreak-off
|
||||
@@ -63,6 +67,428 @@
|
||||
//@skip-check missing-temporary-file-deletion
|
||||
//@skip-check module-unused-method
|
||||
|
||||
// #Использовать oint
|
||||
// #Использовать asserts
|
||||
// #Использовать "internal"
|
||||
//#Использовать "../../tools/main"
|
||||
//#Использовать "../../tools/http"
|
||||
//#Использовать "../../api"
|
||||
//#Использовать asserts
|
||||
//#Использовать "internal"
|
||||
|
||||
// Для YaxUnit
|
||||
|
||||
Процедура ИсполняемыеСценарии() Экспорт
|
||||
|
||||
OPI_ПолучениеДанныхТестов.СформироватьТестыЯкс("GoogleSheets");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Для Asserts
|
||||
|
||||
Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт
|
||||
|
||||
Возврат OPI_ПолучениеДанныхТестов.СформироватьТестыАссертс("GoogleSheets");
|
||||
|
||||
КонецФункции
|
||||
|
||||
#Область СлужебныйПрограммныйИнтерфейс
|
||||
|
||||
#Область ЗапускаемыеТесты
|
||||
|
||||
#Область GoogleSheets
|
||||
|
||||
Процедура ГТ_Авторизация() Экспорт
|
||||
|
||||
ПараметрыТеста = Новый Структура;
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Google_ClientID" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Google_ClientSecret", ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Google_Code" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Google_Refresh" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Google_ServiceData" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Access_Token" , ПараметрыТеста);
|
||||
|
||||
GoogleSheets_СформироватьСсылкуПолученияКода(ПараметрыТеста);
|
||||
GoogleSheets_ПолучитьТокенПоКоду(ПараметрыТеста);
|
||||
GoogleSheets_ОбновитьТокен(ПараметрыТеста);
|
||||
GoogleSheets_ПолучитьТокенServiceАккаунта(ПараметрыТеста);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ГТ_СоздатьТаблицу() Экспорт
|
||||
|
||||
ПараметрыТеста = Новый Структура;
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Google_Token", ПараметрыТеста);
|
||||
|
||||
GoogleSheets_СоздатьКнигу(ПараметрыТеста);
|
||||
GoogleSheets_ПолучитьКнигу(ПараметрыТеста);
|
||||
GoogleSheets_КопироватьЛист(ПараметрыТеста);
|
||||
GoogleSheets_ДобавитьЛист(ПараметрыТеста);
|
||||
GoogleSheets_УдалитьЛист(ПараметрыТеста);
|
||||
GoogleSheets_ИзменитьНаименованиеКниги(ПараметрыТеста);
|
||||
GoogleSheets_ПолучитьТаблицу(ПараметрыТеста);
|
||||
|
||||
OPI_GoogleDrive.УдалитьОбъект(ПараметрыТеста["Google_Token"], ПараметрыТеста["GS_Spreadsheet"]);
|
||||
OPI_GoogleDrive.УдалитьОбъект(ПараметрыТеста["Google_Token"], ПараметрыТеста["GS_Spreadsheet2"]);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ГТ_ЗаполнитьОчиститьЯчейки() Экспорт
|
||||
|
||||
ПараметрыТеста = Новый Структура;
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Google_Token", ПараметрыТеста);
|
||||
|
||||
GoogleSheets_СоздатьКнигу(ПараметрыТеста);
|
||||
GoogleSheets_УстановитьЗначенияЯчеек(ПараметрыТеста);
|
||||
GoogleSheets_ПолучитьЗначенияЯчеек(ПараметрыТеста);
|
||||
GoogleSheets_ОчиститьЯчейки(ПараметрыТеста);
|
||||
|
||||
OPI_GoogleDrive.УдалитьОбъект(ПараметрыТеста["Google_Token"], ПараметрыТеста["GS_Spreadsheet"]);
|
||||
OPI_GoogleDrive.УдалитьОбъект(ПараметрыТеста["Google_Token"], ПараметрыТеста["GS_Spreadsheet2"]);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти // GoogleSheets
|
||||
|
||||
#КонецОбласти // ЗапускаемыеТесты
|
||||
|
||||
#КонецОбласти // СлужебныйПрограммныйИнтерфейс
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
#Область АтомарныеТесты
|
||||
|
||||
#Область GoogleSheets
|
||||
|
||||
Процедура GoogleSheets_СформироватьСсылкуПолученияКода(ПараметрыФункции)
|
||||
|
||||
ClientID = ПараметрыФункции["Google_ClientID"];
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("id", ClientID);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("gsheets", "СформироватьСсылкуПолученияКода", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "GoogleSheets", "СформироватьСсылкуПолученияКода");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура GoogleSheets_ПолучитьТокенПоКоду(ПараметрыФункции)
|
||||
|
||||
ClientID = ПараметрыФункции["Google_ClientID"];
|
||||
ClientSecret = ПараметрыФункции["Google_ClientSecret"];
|
||||
Code = ПараметрыФункции["Google_Code"];
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("id", ClientID);
|
||||
Опции.Вставить("secret", ClientSecret);
|
||||
Опции.Вставить("code", Code);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("gsheets", "ПолучитьТокенПоКоду", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "GoogleSheets", "ПолучитьТокенПоКоду");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура GoogleSheets_ОбновитьТокен(ПараметрыФункции)
|
||||
|
||||
ClientID = ПараметрыФункции["Google_ClientID"];
|
||||
ClientSecret = ПараметрыФункции["Google_ClientSecret"];
|
||||
RefreshToken = ПараметрыФункции["Google_Refresh"];
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("id", ClientID);
|
||||
Опции.Вставить("secret", ClientSecret);
|
||||
Опции.Вставить("refresh", RefreshToken);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("gsheets", "ОбновитьТокен", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "GoogleSheets", "ОбновитьТокен");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура GoogleSheets_ПолучитьТокенServiceАккаунта(ПараметрыФункции)
|
||||
|
||||
Данные = ПараметрыФункции["Google_ServiceData"]; // URL, двоичные данные, файл или коллекция
|
||||
|
||||
Токен = ПараметрыФункции["Access_Token"]; // SKIP
|
||||
Данные = OPI_ЗапросыHTTP // SKIP
|
||||
.НовыйЗапрос() // SKIP
|
||||
.Инициализировать(Данные) // SKIP
|
||||
.ДобавитьBearerАвторизацию(Токен) // SKIP
|
||||
.ОбработатьЗапрос("GET") // SKIP
|
||||
.ВернутьОтветКакДвоичныеДанные(); // SKIP
|
||||
|
||||
ОбластиДействия = Новый Массив;
|
||||
ОбластиДействия.Добавить("https://www.googleapis.com/auth/calendar");
|
||||
ОбластиДействия.Добавить("https://www.googleapis.com/auth/drive");
|
||||
ОбластиДействия.Добавить("https://www.googleapis.com/auth/spreadsheets");
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("auth", Данные);
|
||||
Опции.Вставить("scope", ОбластиДействия);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("gsheets", "ПолучитьТокенServiceАккаунта", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "GoogleSheets", "ПолучитьТокенServiceАккаунта");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура GoogleSheets_СоздатьКнигу(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Google_Token"];
|
||||
Наименование = "Тестовая таблица";
|
||||
|
||||
МассивЛистов = Новый Массив;
|
||||
МассивЛистов.Добавить("Лист1");
|
||||
МассивЛистов.Добавить("Лист2");
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("title", Наименование);
|
||||
Опции.Вставить("sheets", МассивЛистов);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("gsheets", "СоздатьКнигу", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "GoogleSheets", "СоздатьКнигу", , ПараметрыФункции, Наименование, МассивЛистов);
|
||||
|
||||
Наименование = "Тестовая таблица (доп.)";
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("title", Наименование);
|
||||
Опции.Вставить("sheets", МассивЛистов);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("gsheets", "СоздатьКнигу", Опции);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "GoogleSheets", "СоздатьКнигу", "Дополнительно", ПараметрыФункции, Наименование);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура GoogleSheets_ПолучитьКнигу(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Google_Token"];
|
||||
Идентификатор = ПараметрыФункции["GS_Spreadsheet"];
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("spreadsheet", Идентификатор);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("gsheets", "ПолучитьКнигу", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "GoogleSheets", "ПолучитьКнигу");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура GoogleSheets_КопироватьЛист(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Google_Token"];
|
||||
Откуда = ПараметрыФункции["GS_Spreadsheet"];
|
||||
Куда = ПараметрыФункции["GS_Spreadsheet2"];
|
||||
Лист = ПараметрыФункции["GS_Sheet"];
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("from", Откуда);
|
||||
Опции.Вставить("to", Куда);
|
||||
Опции.Вставить("sheet", Лист);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("gsheets", "КопироватьЛист", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "GoogleSheets", "КопироватьЛист");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура GoogleSheets_ДобавитьЛист(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Google_Token"];
|
||||
Книга = ПараметрыФункции["GS_Spreadsheet"];
|
||||
Наименование = "Тестовый лист";
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("spreadsheet", Книга);
|
||||
Опции.Вставить("title", Наименование);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("gsheets", "ДобавитьЛист", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "GoogleSheets", "ДобавитьЛист");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура GoogleSheets_УдалитьЛист(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Google_Token"];
|
||||
Книга = ПараметрыФункции["GS_Spreadsheet"];
|
||||
Лист = ПараметрыФункции["GS_Sheet"];
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("spreadsheet", Книга);
|
||||
Опции.Вставить("sheet", Лист);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("gsheets", "УдалитьЛист", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "GoogleSheets", "УдалитьЛист", , Книга);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура GoogleSheets_ИзменитьНаименованиеКниги(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Google_Token"];
|
||||
Книга = ПараметрыФункции["GS_Spreadsheet"];
|
||||
Наименование = "Тестовая таблица (изм.)";
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("spreadsheet", Книга);
|
||||
Опции.Вставить("title", Наименование);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("gsheets", "ИзменитьНаименованиеКниги", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "GoogleSheets", "ИзменитьНаименованиеКниги", , Книга);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура GoogleSheets_ПолучитьТаблицу(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Google_Token"];
|
||||
Книга = ПараметрыФункции["GS_Spreadsheet"];
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("spreadsheet", Книга);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("gsheets", "ПолучитьКнигу", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "GoogleSheets", "ПолучитьТаблицу");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура GoogleSheets_УстановитьЗначенияЯчеек(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Google_Token"];
|
||||
Книга = ПараметрыФункции["GS_Spreadsheet"];
|
||||
Лист = "Лист2";
|
||||
|
||||
СоответствиеЗначений = Новый Соответствие;
|
||||
СоответствиеЗначений.Вставить("A1", "Это A1");
|
||||
СоответствиеЗначений.Вставить("A2", "Это A2");
|
||||
СоответствиеЗначений.Вставить("B2", "Это B2");
|
||||
СоответствиеЗначений.Вставить("B3", "Это B3");
|
||||
СоответствиеЗначений.Вставить("A3", "Это A3");
|
||||
СоответствиеЗначений.Вставить("A4", "Это A4");
|
||||
СоответствиеЗначений.Вставить("B1", "Это B1");
|
||||
СоответствиеЗначений.Вставить("B4", "Это B4");
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("spreadsheet", Книга);
|
||||
Опции.Вставить("data", СоответствиеЗначений);
|
||||
Опции.Вставить("sheetname", Лист);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("gsheets", "УстановитьЗначенияЯчеек", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "GoogleSheets", "УстановитьЗначенияЯчеек", , СоответствиеЗначений.Количество());
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура GoogleSheets_ПолучитьЗначенияЯчеек(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Google_Token"];
|
||||
Книга = ПараметрыФункции["GS_Spreadsheet"];
|
||||
Лист = "Лист2";
|
||||
|
||||
МассивЯчеек = Новый Массив;
|
||||
МассивЯчеек.Добавить("B2");
|
||||
МассивЯчеек.Добавить("A3");
|
||||
МассивЯчеек.Добавить("B4");
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("spreadsheet", Книга);
|
||||
Опции.Вставить("cells", МассивЯчеек);
|
||||
Опции.Вставить("sheetname", Лист);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("gsheets", "ПолучитьЗначенияЯчеек", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "GoogleSheets", "ПолучитьЗначенияЯчеек", , МассивЯчеек.Количество());
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("spreadsheet", Книга);
|
||||
Опции.Вставить("sheetname", Лист);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("gsheets", "ПолучитьЗначенияЯчеек", Опции);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "GoogleSheets", "ПолучитьЗначенияЯчеек", "Все", Книга);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура GoogleSheets_ОчиститьЯчейки(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["Google_Token"];
|
||||
Книга = ПараметрыФункции["GS_Spreadsheet"];
|
||||
Лист = "Лист2";
|
||||
|
||||
МассивЯчеек = Новый Массив;
|
||||
МассивЯчеек.Добавить("B2");
|
||||
МассивЯчеек.Добавить("A3");
|
||||
МассивЯчеек.Добавить("B4");
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("token", Токен);
|
||||
Опции.Вставить("spreadsheet", Книга);
|
||||
Опции.Вставить("cells", МассивЯчеек);
|
||||
Опции.Вставить("sheetname", Лист);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("gsheets", "ОчиститьЯчейки", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "GoogleSheets", "ОчиститьЯчейки", , МассивЯчеек.Количество());
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти // GoogleSheets
|
||||
|
||||
#КонецОбласти // АтомарныеТесты
|
||||
|
||||
#КонецОбласти // СлужебныеПроцедурыИФункции
|
||||
|
||||
#Region Alternate
|
||||
|
||||
Procedure GT_Authorization() Export
|
||||
ГТ_Авторизация();
|
||||
EndProcedure
|
||||
|
||||
Procedure GT_CreateTable() Export
|
||||
ГТ_СоздатьТаблицу();
|
||||
EndProcedure
|
||||
|
||||
Procedure GT_FillClearCells() Export
|
||||
ГТ_ЗаполнитьОчиститьЯчейки();
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
// OneScript: ./OInt/tests/Modules/OPItc_GoogleWorkspace.os
|
||||
|
||||
// MIT License
|
||||
|
||||
// Copyright (c) 2023-2026 Anton Tsitavets
|
||||
@@ -9,7 +11,7 @@
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// 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.
|
||||
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
@@ -22,6 +24,8 @@
|
||||
|
||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||
|
||||
// Набор тестов для YAxUnit
|
||||
|
||||
// BSLLS:Typo-off
|
||||
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
||||
// BSLLS:IncorrectLineBreak-off
|
||||
@@ -63,6 +67,155 @@
|
||||
//@skip-check missing-temporary-file-deletion
|
||||
//@skip-check module-unused-method
|
||||
|
||||
// #Использовать oint
|
||||
// #Использовать asserts
|
||||
// #Использовать "internal"
|
||||
//#Использовать "../../tools/main"
|
||||
//#Использовать "../../tools/http"
|
||||
//#Использовать "../../api"
|
||||
//#Использовать asserts
|
||||
//#Использовать "internal"
|
||||
|
||||
|
||||
// Для YaxUnit
|
||||
|
||||
Процедура ИсполняемыеСценарии() Экспорт
|
||||
|
||||
OPI_ПолучениеДанныхТестов.СформироватьТестыЯкс("GoogleWorkspace");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Для Asserts
|
||||
|
||||
Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт
|
||||
|
||||
Возврат OPI_ПолучениеДанныхТестов.СформироватьТестыАссертс("GoogleWorkspace");
|
||||
|
||||
КонецФункции
|
||||
|
||||
#Область СлужебныйПрограммныйИнтерфейс
|
||||
|
||||
#Область ЗапускаемыеТесты
|
||||
|
||||
#Область GoogleWorkspace
|
||||
|
||||
Процедура ГВ_Авторизация() Экспорт
|
||||
|
||||
ПараметрыТеста = Новый Структура;
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Google_ClientID" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Google_ClientSecret", ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Google_Code" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Google_Refresh" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Google_ServiceData" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Access_Token" , ПараметрыТеста);
|
||||
|
||||
GoogleWorkspace_СформироватьСсылкуПолученияКода(ПараметрыТеста);
|
||||
GoogleWorkspace_ПолучитьТокенПоКоду(ПараметрыТеста);
|
||||
GoogleWorkspace_ОбновитьТокен(ПараметрыТеста);
|
||||
GoogleWorkspace_ПолучитьТокенServiceАккаунта(ПараметрыТеста);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти // GoogleWorkspace
|
||||
|
||||
#КонецОбласти // ЗапускаемыеТесты
|
||||
|
||||
#КонецОбласти // СлужебныйПрограммныйИнтерфейс
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
#Область АтомарныеТесты
|
||||
|
||||
#Область GoogleWorkspace
|
||||
|
||||
Процедура GoogleWorkspace_СформироватьСсылкуПолученияКода(ПараметрыФункции)
|
||||
|
||||
ClientID = ПараметрыФункции["Google_ClientID"];
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("id", ClientID);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("google", "СформироватьСсылкуПолученияКода", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "GoogleWorkspace", "СформироватьСсылкуПолученияКода");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура GoogleWorkspace_ПолучитьТокенПоКоду(ПараметрыФункции)
|
||||
|
||||
ClientID = ПараметрыФункции["Google_ClientID"];
|
||||
ClientSecret = ПараметрыФункции["Google_ClientSecret"];
|
||||
Code = ПараметрыФункции["Google_Code"];
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("id", ClientID);
|
||||
Опции.Вставить("secret", ClientSecret);
|
||||
Опции.Вставить("code", Code);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("google", "ПолучитьТокенПоКоду", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "GoogleWorkspace", "ПолучитьТокенПоКоду");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура GoogleWorkspace_ОбновитьТокен(ПараметрыФункции)
|
||||
|
||||
ClientID = ПараметрыФункции["Google_ClientID"];
|
||||
ClientSecret = ПараметрыФункции["Google_ClientSecret"];
|
||||
RefreshToken = ПараметрыФункции["Google_Refresh"];
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("id", ClientID);
|
||||
Опции.Вставить("secret", ClientSecret);
|
||||
Опции.Вставить("refresh", RefreshToken);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("google", "ОбновитьТокен", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "GoogleWorkspace", "ОбновитьТокен");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура GoogleWorkspace_ПолучитьТокенServiceАккаунта(ПараметрыФункции)
|
||||
|
||||
Данные = ПараметрыФункции["Google_ServiceData"]; // URL, двоичные данные, файл или коллекция
|
||||
|
||||
Токен = ПараметрыФункции["Access_Token"]; // SKIP
|
||||
Данные = OPI_ЗапросыHTTP // SKIP
|
||||
.НовыйЗапрос() // SKIP
|
||||
.Инициализировать(Данные) // SKIP
|
||||
.ДобавитьBearerАвторизацию(Токен) // SKIP
|
||||
.ОбработатьЗапрос("GET") // SKIP
|
||||
.ВернутьОтветКакДвоичныеДанные(); // SKIP
|
||||
|
||||
ОбластиДействия = Новый Массив;
|
||||
ОбластиДействия.Добавить("https://www.googleapis.com/auth/calendar");
|
||||
ОбластиДействия.Добавить("https://www.googleapis.com/auth/drive");
|
||||
ОбластиДействия.Добавить("https://www.googleapis.com/auth/spreadsheets");
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("auth", Данные);
|
||||
Опции.Вставить("scope", ОбластиДействия);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("google", "ПолучитьТокенServiceАккаунта", Опции);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "GoogleWorkspace", "ПолучитьТокенServiceАккаунта");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти // GoogleWorkspace
|
||||
|
||||
#КонецОбласти // АтомарныеТесты
|
||||
|
||||
#КонецОбласти // СлужебныеПроцедурыИФункции
|
||||
|
||||
#Region Alternate
|
||||
|
||||
Procedure GW_Auth() Export
|
||||
ГВ_Авторизация();
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user