1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2026-06-20 09:19:27 +02:00

Доработка тестов CLI для MySQL

This commit is contained in:
Anton Titovets
2025-04-05 23:01:51 +03:00
parent b1105c23b9
commit 90e2dd21e3
2 changed files with 832 additions and 15 deletions
+7 -15
View File
@@ -1922,10 +1922,6 @@
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture2" , ПараметрыТеста);
Ozon_ПолучитьСтруктуруТовара(ПараметрыТеста);
// TODO: Вернуть позже
Возврат;
Ozon_СоздатьОбновитьТовары(ПараметрыТеста);
Ozon_ПолучитьСтатусДобавленияТовара(ПараметрыТеста);
Ozon_ДобавитьВидеоТовара(ПараметрыТеста);
@@ -1961,9 +1957,6 @@
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Ozon_ApiKey" , ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Ozon_ProductID", ПараметрыТеста);
// TODO: Вернуть позже
Возврат;
Ozon_ПривязатьШтрихкоды(ПараметрыТеста);
Ozon_СоздатьШтрихкоды(ПараметрыТеста);
@@ -2017,10 +2010,6 @@
Ozon_ПолучитьСписокКластеров(ПараметрыТеста);
Ozon_ПолучитьСписокСкладовОтгрузки(ПараметрыТеста);
// TODO: Вернуть позже
Возврат;
Ozon_СоздатьЧерновикЗаявкиFBO(ПараметрыТеста);
Ozon_ПолучитьЧерновикЗаявкиFBO(ПараметрыТеста);
Ozon_ПолучитьСтруктуруДопПолейОтправления(ПараметрыТеста);
@@ -14241,7 +14230,8 @@
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОбновитьИзображенияТовара", "Ozon");
OPI_ПолучениеДанныхТестов.Проверка_ОзонКартинки(Результат);
// TODO: Вернуть проверку позже
//OPI_ПолучениеДанныхТестов.Проверка_ОзонКартинки(Результат);
КонецПроцедуры
@@ -14275,7 +14265,8 @@
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьАртикулыТоваров", "Ozon");
OPI_ПолучениеДанныхТестов.Проверка_ОзонБезОшибок(Результат);
// TODO: Вернуть проверку позже
// OPI_ПолучениеДанныхТестов.Проверка_ОзонБезОшибок(Результат);
СоответствиеАртикулов = Новый Соответствие;
СоответствиеАртикулов.Вставить("143210612", "143210609");
@@ -14284,7 +14275,8 @@
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьАртикулыТоваров (обратный)", "Ozon");
OPI_ПолучениеДанныхТестов.Проверка_ОзонБезОшибок(Результат);
// TODO: Вернуть проверку позже
// OPI_ПолучениеДанныхТестов.Проверка_ОзонБезОшибок(Результат);
КонецПроцедуры
@@ -14702,7 +14694,7 @@
IDКлиента = ПараметрыФункции["Ozon_ClientID"];
КлючAPI = ПараметрыФункции["Ozon_ApiKey"];
Кластер = 1;
Кластер = 2;
Позиции = Новый Соответствие;
Позиции.Вставить("1783161863", 5);
@@ -2362,6 +2362,26 @@
КонецПроцедуры
Процедура CLI_MYS_ORM() Экспорт
ПараметрыТеста = Новый Структура;
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("PG_IP" , ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("PG_Password", ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture" , ПараметрыТеста);
CLI_MySQL_СоздатьБазуДанных(ПараметрыТеста);
CLI_MySQL_СоздатьТаблицу(ПараметрыТеста);
CLI_MySQL_ДобавитьЗаписи(ПараметрыТеста);
CLI_MySQL_ПолучитьЗаписи(ПараметрыТеста);
CLI_MySQL_ОбновитьЗаписи(ПараметрыТеста);
CLI_MySQL_УдалитьЗаписи(ПараметрыТеста);
CLI_MySQL_ОчиститьТаблицу(ПараметрыТеста);
CLI_MySQL_УдалитьТаблицу(ПараметрыТеста);
CLI_MySQL_УдалитьБазуДанных(ПараметрыТеста);
CLI_MySQL_ПолучитьСтруктуруФильтраЗаписей(ПараметрыТеста);
КонецПроцедуры
#КонецОбласти
#Область GreenAPI
@@ -20629,6 +20649,811 @@
КонецПроцедуры
Процедура CLI_MySQL_СоздатьБазуДанных(ПараметрыФункции)
Адрес = ПараметрыФункции["PG_IP"];
Логин = "bayselonarrend";
Пароль = ПараметрыФункции["PG_Password"];
База = "";
Опции = Новый Структура;
Опции.Вставить("addr" , Адрес);
Опции.Вставить("db" , База);
Опции.Вставить("login", Логин);
Опции.Вставить("pass" , Пароль);
СтрокаПодключения = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "СформироватьСтрокуПодключения", Опции, Ложь);
СтрокаПодключения = ПолучитьСтрокуИзДвоичныхДанных(СтрокаПодключения);
База = "testbase1";
Опции = Новый Структура();
Опции.Вставить("dbc" , СтрокаПодключения);
Опции.Вставить("base", База);
Удаление = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "УдалитьБазуДанных", Опции, Ложь);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Удаление, "СоздатьБазуДанных (удаление)", "MySQL"); // SKIP
Опции = Новый Структура;
Опции.Вставить("base" , База);
Опции.Вставить("dbc" , СтрокаПодключения);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "СоздатьБазуДанных", Опции);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьБазуДанных", "MySQL");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "СоздатьБазуДанных", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "СоздатьБазуДанных (существующая)", "MySQL");
OPI_ПолучениеДанныхТестов.Проверка_РезультатЛожь(Результат);
Адрес = "api.athenaeum.digital";
Порт = "3307";
Опции = Новый Структура;
Опции.Вставить("addr" , Адрес);
Опции.Вставить("port" , Порт);
Опции.Вставить("login", Логин);
Опции.Вставить("pass" , Пароль);
СтрокаПодключенияTLS = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "СформироватьСтрокуПодключения", Опции, Ложь);
СтрокаПодключенияTLS = ПолучитьСтрокуИзДвоичныхДанных(СтрокаПодключенияTLS);
Опции = Новый Структура;
Опции.Вставить("trust", Истина);
НастройкиTLS = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "ПолучитьНастройкиTls", Опции, Ложь);
Опции = Новый Структура;
Опции.Вставить("base" , База);
Опции.Вставить("dbc" , СтрокаПодключенияTLS);
Опции.Вставить("tls" , НастройкиTLS);
Удаление = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "УдалитьБазуДанных", Опции, Ложь);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Удаление, "СоздатьБазуДанных (удаление, TLS)", "MySQL"); // SKIP
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "СоздатьБазуДанных", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьБазуДанных (TLS)", "MySQL");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
КонецПроцедуры
Процедура CLI_MySQL_СоздатьТаблицу(ПараметрыФункции)
Адрес = ПараметрыФункции["PG_IP"];
Логин = "bayselonarrend";
Пароль = ПараметрыФункции["PG_Password"];
База = "testbase1";
Опции = Новый Структура;
Опции.Вставить("addr" , Адрес);
Опции.Вставить("db" , База);
Опции.Вставить("login", Логин);
Опции.Вставить("pass" , Пароль);
СтрокаПодключения = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "СформироватьСтрокуПодключения", Опции, Ложь);
СтрокаПодключения = ПолучитьСтрокуИзДвоичныхДанных(СтрокаПодключения);
Таблица = "testtable";
СтруктураКолонок = Новый Структура;
СтруктураКолонок.Вставить("char_field" , "CHAR(5)");
СтруктураКолонок.Вставить("varchar_field" , "VARCHAR(255)");
СтруктураКолонок.Вставить("tinytext_field" , "TINYTEXT");
СтруктураКолонок.Вставить("text_field" , "TEXT");
СтруктураКолонок.Вставить("mediumtext_field", "MEDIUMTEXT");
СтруктураКолонок.Вставить("longtext_field" , "LONGTEXT");
СтруктураКолонок.Вставить("tinyint_field" , "TINYINT");
СтруктураКолонок.Вставить("smallint_field" , "SMALLINT");
СтруктураКолонок.Вставить("mediumint_field" , "MEDIUMINT");
СтруктураКолонок.Вставить("int_field" , "INT");
СтруктураКолонок.Вставить("uint_field" , "INT UNSIGNED");
СтруктураКолонок.Вставить("bigint_field" , "BIGINT");
СтруктураКолонок.Вставить("float_field" , "FLOAT");
СтруктураКолонок.Вставить("double_field" , "DOUBLE");
СтруктураКолонок.Вставить("date_field" , "DATE");
СтруктураКолонок.Вставить("time_field" , "TIME");
СтруктураКолонок.Вставить("datetime_field" , "DATETIME");
СтруктураКолонок.Вставить("timestamp_field" , "TIMESTAMP");
СтруктураКолонок.Вставить("mediumblob_field", "MEDIUMBLOB");
СтруктураКолонок.Вставить("set_field" , "SET('one','two','three')");
Опции = Новый Структура;
Опции.Вставить("table", Таблица);
Опции.Вставить("cols" , СтруктураКолонок);
Опции.Вставить("dbc" , СтрокаПодключения);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "СоздатьТаблицу", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьТаблицу", "MySQL");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "СоздатьТаблицу", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "СоздатьТаблицу (существующая)", "MySQL");
OPI_ПолучениеДанныхТестов.Проверка_РезультатЛожь(Результат);
Адрес = "api.athenaeum.digital";
Порт = "3307";
Опции = Новый Структура;
Опции.Вставить("addr" , Адрес);
Опции.Вставить("db" , База);
Опции.Вставить("port" , Порт);
Опции.Вставить("login", Логин);
Опции.Вставить("pass" , Пароль);
СтрокаПодключенияTLS = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "СформироватьСтрокуПодключения", Опции, Ложь);
СтрокаПодключенияTLS = ПолучитьСтрокуИзДвоичныхДанных(СтрокаПодключенияTLS);
Опции = Новый Структура;
Опции.Вставить("trust", Истина);
НастройкиTLS = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "ПолучитьНастройкиTls", Опции, Ложь);
Опции = Новый Структура;
Опции.Вставить("table", Таблица);
Опции.Вставить("cols" , СтруктураКолонок);
Опции.Вставить("dbc" , СтрокаПодключенияTLS);
Опции.Вставить("tls" , НастройкиTLS);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "СоздатьТаблицу", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьТаблицу (TLS)", "MySQL");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
КонецПроцедуры
Процедура CLI_MySQL_ДобавитьЗаписи(ПараметрыФункции)
Адрес = ПараметрыФункции["PG_IP"];
Логин = "bayselonarrend";
Пароль = ПараметрыФункции["PG_Password"];
База = "testbase1";
Опции = Новый Структура;
Опции.Вставить("addr" , Адрес);
Опции.Вставить("db" , База);
Опции.Вставить("login", Логин);
Опции.Вставить("pass" , Пароль);
СтрокаПодключения = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "СформироватьСтрокуПодключения", Опции, Ложь);
СтрокаПодключения = ПолучитьСтрокуИзДвоичныхДанных(СтрокаПодключения);
Таблица = "testtable";
МассивЗаписей = Новый Массив;
Картинка = ПараметрыФункции["Picture"];
ТекущаяДата = OPI_Инструменты.ПолучитьТекущуюДату();
СтруктураЗаписи = Новый Структура;
СтруктураЗаписи.Вставить("char_field" , Новый Структура("TEXT" , "AAAAA"));
СтруктураЗаписи.Вставить("varchar_field" , Новый Структура("TEXT" , "Some varchar"));
СтруктураЗаписи.Вставить("tinytext_field" , Новый Структура("TEXT" , "Some tiny text"));
СтруктураЗаписи.Вставить("text_field" , Новый Структура("TEXT" , "Some text"));
СтруктураЗаписи.Вставить("mediumtext_field", Новый Структура("TEXT" , "Some medium text"));
СтруктураЗаписи.Вставить("longtext_field" , Новый Структура("TEXT" , "Some looooooong text"));
СтруктураЗаписи.Вставить("tinyint_field" , Новый Структура("INT" , 127));
СтруктураЗаписи.Вставить("smallint_field" , Новый Структура("INT" , -32767));
СтруктураЗаписи.Вставить("mediumint_field" , Новый Структура("INT" , 8388607));
СтруктураЗаписи.Вставить("int_field" , Новый Структура("INT" , -2147483647));
СтруктураЗаписи.Вставить("uint_field" , Новый Структура("UINT" , 4294967295));
СтруктураЗаписи.Вставить("bigint_field" , Новый Структура("INT" , 9223372036854775807));
СтруктураЗаписи.Вставить("float_field" , Новый Структура("FLOAT" , 100.50));
СтруктураЗаписи.Вставить("double_field" , Новый Структура("FLOAT" , 100.512123));
СтруктураЗаписи.Вставить("date_field" , Новый Структура("DATE" , ТекущаяДата));
СтруктураЗаписи.Вставить("time_field" , Новый Структура("TIME" , ТекущаяДата));
СтруктураЗаписи.Вставить("datetime_field" , Новый Структура("DATE" , ТекущаяДата));
СтруктураЗаписи.Вставить("timestamp_field" , Новый Структура("DATE" , ТекущаяДата));
СтруктураЗаписи.Вставить("mediumblob_field", Новый Структура("BYTES" , Картинка));
СтруктураЗаписи.Вставить("set_field" , Новый Структура("TEXT" , "one"));
МассивЗаписей.Добавить(СтруктураЗаписи);
Опции = Новый Структура;
Опции.Вставить("table", Таблица);
Опции.Вставить("rows" , МассивЗаписей);
Опции.Вставить("trn" , Истина);
Опции.Вставить("dbc" , СтрокаПодключения);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "ДобавитьЗаписи", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьЗаписи", "MySQL");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
Адрес = "api.athenaeum.digital";
Порт = "3307";
Опции = Новый Структура;
Опции.Вставить("addr" , Адрес);
Опции.Вставить("db" , База);
Опции.Вставить("port" , Порт);
Опции.Вставить("login", Логин);
Опции.Вставить("pass" , Пароль);
СтрокаПодключенияTLS = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "СформироватьСтрокуПодключения", Опции, Ложь);
СтрокаПодключенияTLS = ПолучитьСтрокуИзДвоичныхДанных(СтрокаПодключенияTLS);
Опции = Новый Структура;
Опции.Вставить("trust", Истина);
НастройкиTLS = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "ПолучитьНастройкиTls", Опции, Ложь);
Опции = Новый Структура;
Опции.Вставить("table", Таблица);
Опции.Вставить("rows" , МассивЗаписей);
Опции.Вставить("trn" , Истина);
Опции.Вставить("dbc" , СтрокаПодключенияTLS);
Опции.Вставить("tls" , НастройкиTLS);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "ДобавитьЗаписи", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьЗаписи (TLS)", "MySQL");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
КонецПроцедуры
Процедура CLI_MySQL_ПолучитьЗаписи(ПараметрыФункции)
Адрес = ПараметрыФункции["PG_IP"];
Логин = "bayselonarrend";
Пароль = ПараметрыФункции["PG_Password"];
База = "testbase1";
Опции = Новый Структура;
Опции.Вставить("addr" , Адрес);
Опции.Вставить("db" , База);
Опции.Вставить("login", Логин);
Опции.Вставить("pass" , Пароль);
СтрокаПодключения = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "СформироватьСтрокуПодключения", Опции, Ложь);
СтрокаПодключения = ПолучитьСтрокуИзДвоичныхДанных(СтрокаПодключения);
Таблица = "testtable";
Опции = Новый Структура;
Опции.Вставить("table", Таблица);
Опции.Вставить("dbc" , СтрокаПодключения);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "ПолучитьЗаписи", Опции);
Если ЗначениеЗаполнено(Результат["data"]) Тогда // SKIP
Результат["data"][0]["mediumblob_field"]["BYTES"] = Лев(Результат["data"][0]["mediumblob_field"]["BYTES"], 10) + "..."; // SKIP
КонецЕсли; // SKIP
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьЗаписи", "MySQL"); // SKIP
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат); // SKIP
Опции = Новый Структура;
Опции.Вставить("addr" , Адрес);
Опции.Вставить("db" , "test_data");
Опции.Вставить("login", Логин);
Опции.Вставить("pass" , Пароль);
СтрокаПодключения = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "СформироватьСтрокуПодключения", Опции, Ложь);
СтрокаПодключения = ПолучитьСтрокуИзДвоичныхДанных(СтрокаПодключения);
Таблица = "test_data";
Поля = Новый Массив;
Поля.Добавить("first_name");
Поля.Добавить("last_name");
Поля.Добавить("email");
Фильтры = Новый Массив;
СтруктураФильтра1 = Новый Структура;
СтруктураФильтра1.Вставить("field", "gender");
СтруктураФильтра1.Вставить("type" , "=");
СтруктураФильтра1.Вставить("value", "Male");
СтруктураФильтра1.Вставить("union", "AND");
СтруктураФильтра1.Вставить("raw" , Ложь);
СтруктураФильтра2 = Новый Структура;
СтруктураФильтра2.Вставить("field", "id");
СтруктураФильтра2.Вставить("type" , "BETWEEN");
СтруктураФильтра2.Вставить("value", "20 AND 50");
СтруктураФильтра2.Вставить("raw" , Истина);
Фильтры.Добавить(СтруктураФильтра1);
Фильтры.Добавить(СтруктураФильтра2);
Сортировка = Новый Структура("ip_address", "DESC");
Количество = 5;
Опции = Новый Структура;
Опции.Вставить("table" , Таблица);
Опции.Вставить("fields", Поля);
Опции.Вставить("filter", Фильтры);
Опции.Вставить("order" , Сортировка);
Опции.Вставить("limit" , Количество);
Опции.Вставить("dbc" , СтрокаПодключения);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "ПолучитьЗаписи", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьЗаписи (отборы)", "MySQL");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
OPI_ПолучениеДанныхТестов.Проверка_Массив(Результат["data"], 5);
Адрес = "api.athenaeum.digital";
Порт = "3307";
Опции = Новый Структура;
Опции.Вставить("addr" , Адрес);
Опции.Вставить("db" , База);
Опции.Вставить("port" , Порт);
Опции.Вставить("login", Логин);
Опции.Вставить("pass" , Пароль);
СтрокаПодключенияTLS = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "СформироватьСтрокуПодключения", Опции, Ложь);
СтрокаПодключенияTLS = ПолучитьСтрокуИзДвоичныхДанных(СтрокаПодключенияTLS);
Опции = Новый Структура;
Опции.Вставить("trust", Истина);
НастройкиTLS = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "ПолучитьНастройкиTls", Опции, Ложь);
Таблица = "testtable";
Опции = Новый Структура;
Опции.Вставить("table" , Таблица);
Опции.Вставить("dbc" , СтрокаПодключенияTLS);
Опции.Вставить("tls" , НастройкиTLS);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "ПолучитьЗаписи", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьЗаписи (TLS)", "MySQL");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
OPI_ПолучениеДанныхТестов.Проверка_Массив(Результат["data"]);
КонецПроцедуры
Процедура CLI_MySQL_ОбновитьЗаписи(ПараметрыФункции)
Адрес = ПараметрыФункции["PG_IP"];
Логин = "bayselonarrend";
Пароль = ПараметрыФункции["PG_Password"];
База = "test_data";
Опции = Новый Структура;
Опции.Вставить("addr" , Адрес);
Опции.Вставить("db" , База);
Опции.Вставить("login", Логин);
Опции.Вставить("pass" , Пароль);
СтрокаПодключения = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "СформироватьСтрокуПодключения", Опции, Ложь);
СтрокаПодключения = ПолучитьСтрокуИзДвоичныхДанных(СтрокаПодключения);
Таблица = "test_data";
СтруктураПолей = Новый Структура;
СтруктураПолей.Вставить("ip_address", Новый Структура("VARCHAR", "127.0.0.1"));
Фильтры = Новый Массив;
СтруктураФильтра = Новый Структура;
СтруктураФильтра.Вставить("field", "gender");
СтруктураФильтра.Вставить("type" , "=");
СтруктураФильтра.Вставить("value", Новый Структура("VARCHAR", "Male"));
СтруктураФильтра.Вставить("raw" , Ложь);
Фильтры.Добавить(СтруктураФильтра);
Опции = Новый Структура;
Опции.Вставить("table" , Таблица);
Опции.Вставить("filter", Фильтры);
Опции.Вставить("dbc" , СтрокаПодключения);
Количество = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "ПолучитьЗаписи", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Количество, "ОбновитьЗаписи (количество)", "MySQL"); // SKIP
Количество = Количество["data"].Количество(); // SKIP
Опции = Новый Структура;
Опции.Вставить("table" , Таблица);
Опции.Вставить("values", СтруктураПолей);
Опции.Вставить("filter", Фильтры);
Опции.Вставить("dbc" , СтрокаПодключения);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "ОбновитьЗаписи", Опции);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОбновитьЗаписи", "MySQL");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
Опции = Новый Структура;
Опции.Вставить("table" , Таблица);
Опции.Вставить("fields", "['ip_address']");
Опции.Вставить("filter", Фильтры);
Опции.Вставить("dbc" , СтрокаПодключения);
Проверка = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "ПолучитьЗаписи", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Проверка, "ОбновитьЗаписи (проверка)", "MySQL");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Проверка);
OPI_ПолучениеДанныхТестов.Проверка_Массив(Проверка["data"], Количество);
Для Н = 0 По Проверка["data"].ВГраница() Цикл
OPI_ПолучениеДанныхТестов.Проверка_SQLiteЗначенияПолей(Проверка["data"][Н], СтруктураПолей);
КонецЦикла;
Адрес = "api.athenaeum.digital";
Порт = "3307";
База = "testbase1";
СтруктураПолей = Новый Структура;
СтруктураПолей.Вставить("varchar_field", Новый Структура("VARCHAR", "Another varchar"));
Опции = Новый Структура;
Опции.Вставить("addr" , Адрес);
Опции.Вставить("db" , База);
Опции.Вставить("port" , Порт);
Опции.Вставить("login", Логин);
Опции.Вставить("pass" , Пароль);
СтрокаПодключенияTLS = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "СформироватьСтрокуПодключения", Опции, Ложь);
СтрокаПодключенияTLS = ПолучитьСтрокуИзДвоичныхДанных(СтрокаПодключенияTLS);
Опции = Новый Структура;
Опции.Вставить("trust", Истина);
НастройкиTLS = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "ПолучитьНастройкиTls", Опции, Ложь);
Опции = Новый Структура;
Опции.Вставить("table" , "testtable");
Опции.Вставить("values", СтруктураПолей);
Опции.Вставить("dbc" , СтрокаПодключенияTLS);
Опции.Вставить("tls" , НастройкиTLS);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "ОбновитьЗаписи", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОбновитьЗаписи (TLS)", "MySQL");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
КонецПроцедуры
Процедура CLI_MySQL_УдалитьЗаписи(ПараметрыФункции)
Адрес = ПараметрыФункции["PG_IP"];
Логин = "bayselonarrend";
Пароль = ПараметрыФункции["PG_Password"];
База = "test_data";
Опции = Новый Структура;
Опции.Вставить("addr" , Адрес);
Опции.Вставить("db" , База);
Опции.Вставить("login", Логин);
Опции.Вставить("pass" , Пароль);
СтрокаПодключения = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "СформироватьСтрокуПодключения", Опции, Ложь);
СтрокаПодключения = ПолучитьСтрокуИзДвоичныхДанных(СтрокаПодключения);
Таблица = "test_data";
Фильтры = Новый Массив;
СтруктураФильтра = Новый Структура;
СтруктураФильтра.Вставить("field", "gender");
СтруктураФильтра.Вставить("type" , "=");
СтруктураФильтра.Вставить("value", Новый Структура("VARCHAR", "Male"));
СтруктураФильтра.Вставить("raw" , Ложь);
СтруктураФильтра.Вставить("union", "AND");
Фильтры.Добавить(СтруктураФильтра);
СтруктураФильтра = Новый Структура;
СтруктураФильтра.Вставить("field", "ip_address");
СтруктураФильтра.Вставить("type" , "=");
СтруктураФильтра.Вставить("value", Новый Структура("VARCHAR", "127.0.0.1"));
СтруктураФильтра.Вставить("raw" , Ложь);
Опции = Новый Структура;
Опции.Вставить("table" , Таблица);
Опции.Вставить("filter", Фильтры);
Опции.Вставить("dbc" , СтрокаПодключения);
Получение = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "ПолучитьЗаписи", Опции);
Опции = Новый Структура;
Опции.Вставить("table" , Таблица);
Опции.Вставить("filter", Фильтры);
Опции.Вставить("dbc" , СтрокаПодключения);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "УдалитьЗаписи", Опции);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Получение, "УдалитьЗаписи (получение)", "MySQL");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
Количество = Получение["data"].Количество();
Остаток = 100 - Количество;
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьЗаписи", "MySQL");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
Опции = Новый Структура;
Опции.Вставить("table" , Таблица);
Опции.Вставить("dbc" , СтрокаПодключения);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "ПолучитьЗаписи", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьЗаписи (проверка)", "MySQL");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
OPI_ПолучениеДанныхТестов.Проверка_Массив(Результат["data"], Остаток);
Адрес = "api.athenaeum.digital";
Порт = "3307";
База = "testbase1";
Опции = Новый Структура;
Опции.Вставить("addr" , Адрес);
Опции.Вставить("db" , База);
Опции.Вставить("port" , Порт);
Опции.Вставить("login", Логин);
Опции.Вставить("pass" , Пароль);
СтрокаПодключенияTLS = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "СформироватьСтрокуПодключения", Опции, Ложь);
СтрокаПодключенияTLS = ПолучитьСтрокуИзДвоичныхДанных(СтрокаПодключенияTLS);
Опции = Новый Структура;
Опции.Вставить("trust", Истина);
НастройкиTLS = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "ПолучитьНастройкиTls", Опции, Ложь);
Опции = Новый Структура;
Опции.Вставить("table" , "testtable");
Опции.Вставить("dbc" , СтрокаПодключенияTLS);
Опции.Вставить("tls" , НастройкиTLS);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "ПолучитьЗаписи", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьЗаписи (TLS)", "MySQL");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
КонецПроцедуры
Процедура CLI_MySQL_УдалитьТаблицу(ПараметрыФункции)
Адрес = ПараметрыФункции["PG_IP"];
Логин = "bayselonarrend";
Пароль = ПараметрыФункции["PG_Password"];
База = "testbase1";
Опции = Новый Структура;
Опции.Вставить("addr" , Адрес);
Опции.Вставить("db" , База);
Опции.Вставить("login", Логин);
Опции.Вставить("pass" , Пароль);
СтрокаПодключения = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "СформироватьСтрокуПодключения", Опции, Ложь);
СтрокаПодключения = ПолучитьСтрокуИзДвоичныхДанных(СтрокаПодключения);
Таблица = "testtable";
Опции = Новый Структура;
Опции.Вставить("table" , Таблица);
Опции.Вставить("dbc" , СтрокаПодключения);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "УдалитьТаблицу", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьТаблицу", "MySQL");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
Адрес = "api.athenaeum.digital";
Порт = "3307";
База = "testbase1";
Опции = Новый Структура;
Опции.Вставить("addr" , Адрес);
Опции.Вставить("db" , База);
Опции.Вставить("port" , Порт);
Опции.Вставить("login", Логин);
Опции.Вставить("pass" , Пароль);
СтрокаПодключенияTLS = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "СформироватьСтрокуПодключения", Опции, Ложь);
СтрокаПодключенияTLS = ПолучитьСтрокуИзДвоичныхДанных(СтрокаПодключенияTLS);
Опции = Новый Структура;
Опции.Вставить("trust", Истина);
НастройкиTLS = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "ПолучитьНастройкиTls", Опции, Ложь);
Опции = Новый Структура;
Опции.Вставить("table" , Таблица);
Опции.Вставить("dbc" , СтрокаПодключенияTLS);
Опции.Вставить("tls" , НастройкиTLS);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "УдалитьТаблицу", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьТаблицу (TLS)", "MySQL");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
База = "test_data";
Таблица = "test_data";
Опции = Новый Структура;
Опции.Вставить("addr" , Адрес);
Опции.Вставить("db" , База);
Опции.Вставить("login", Логин);
Опции.Вставить("pass" , Пароль);
СтрокаПодключения = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "СформироватьСтрокуПодключения", Опции, Ложь);
СтрокаПодключения = ПолучитьСтрокуИзДвоичныхДанных(СтрокаПодключения);
Опции = Новый Структура;
Опции.Вставить("table" , Таблица);
Опции.Вставить("dbc" , СтрокаПодключения);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "УдалитьТаблицу", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьТаблицу (тест)", "MySQL");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
КонецПроцедуры
Процедура CLI_MySQL_УдалитьБазуДанных(ПараметрыФункции)
Адрес = ПараметрыФункции["PG_IP"];
Логин = "bayselonarrend";
Пароль = ПараметрыФункции["PG_Password"];
База = "";
Опции = Новый Структура;
Опции.Вставить("addr" , Адрес);
Опции.Вставить("db" , База);
Опции.Вставить("login", Логин);
Опции.Вставить("pass" , Пароль);
СтрокаПодключения = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "СформироватьСтрокуПодключения", Опции, Ложь);
СтрокаПодключения = ПолучитьСтрокуИзДвоичныхДанных(СтрокаПодключения);
База = "testbase1";
Опции = Новый Структура;
Опции.Вставить("base", База);
Опции.Вставить("dbc" , СтрокаПодключения);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "УдалитьБазуДанных", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьБазуДанных", "MySQL");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
Адрес = "api.athenaeum.digital";
Порт = "3307";
Опции = Новый Структура;
Опции.Вставить("addr" , Адрес);
Опции.Вставить("db" , База);
Опции.Вставить("port" , Порт);
Опции.Вставить("login", Логин);
Опции.Вставить("pass" , Пароль);
СтрокаПодключенияTLS = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "СформироватьСтрокуПодключения", Опции, Ложь);
СтрокаПодключенияTLS = ПолучитьСтрокуИзДвоичныхДанных(СтрокаПодключенияTLS);
Опции = Новый Структура;
Опции.Вставить("trust", Истина);
НастройкиTLS = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "ПолучитьНастройкиTls", Опции, Ложь);
База = "testbase1";
Опции = Новый Структура;
Опции.Вставить("base" , База);
Опции.Вставить("dbc" , СтрокаПодключенияTLS);
Опции.Вставить("tls" , НастройкиTLS);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "УдалитьБазуДанных", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьБазуДанных (TLS)", "MySQL");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
КонецПроцедуры
Процедура CLI_MySQL_ОчиститьТаблицу(ПараметрыФункции)
Адрес = ПараметрыФункции["PG_IP"];
Логин = "bayselonarrend";
Пароль = ПараметрыФункции["PG_Password"];
База = "testbase1";
Опции = Новый Структура;
Опции.Вставить("addr" , Адрес);
Опции.Вставить("db" , База);
Опции.Вставить("login", Логин);
Опции.Вставить("pass" , Пароль);
СтрокаПодключения = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "СформироватьСтрокуПодключения", Опции, Ложь);
СтрокаПодключения = ПолучитьСтрокуИзДвоичныхДанных(СтрокаПодключения);
Таблица = "testtable";
Опции = Новый Структура;
Опции.Вставить("table" , Таблица);
Опции.Вставить("dbc" , СтрокаПодключения);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "ОчиститьТаблицу", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОчиститьТаблицу", "MySQL");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
Адрес = "api.athenaeum.digital";
Порт = "3307";
Опции = Новый Структура;
Опции.Вставить("addr" , Адрес);
Опции.Вставить("db" , База);
Опции.Вставить("port" , Порт);
Опции.Вставить("login", Логин);
Опции.Вставить("pass" , Пароль);
СтрокаПодключенияTLS = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "СформироватьСтрокуПодключения", Опции, Ложь);
СтрокаПодключенияTLS = ПолучитьСтрокуИзДвоичныхДанных(СтрокаПодключенияTLS);
Опции = Новый Структура;
Опции.Вставить("trust", Истина);
НастройкиTLS = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "ПолучитьНастройкиTls", Опции, Ложь);
Опции = Новый Структура;
Опции.Вставить("table" , Таблица);
Опции.Вставить("dbc" , СтрокаПодключенияTLS);
Опции.Вставить("tls" , НастройкиTLS);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "ОчиститьТаблицу", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОчиститьТаблицу (TLS)", "MySQL");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
Опции = Новый Структура;
Опции.Вставить("table" , Таблица);
Опции.Вставить("dbc" , СтрокаПодключения);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "ПолучитьЗаписи", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОчиститьТаблицу (проверка)", "MySQL");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
OPI_ПолучениеДанныхТестов.Проверка_Массив(Результат["data"], 0);
КонецПроцедуры
Процедура CLI_MySQL_ПолучитьСтруктуруФильтраЗаписей(ПараметрыФункции)
Опции = Новый Структура;
Опции.Вставить("empty" , Ложь);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "ПолучитьСтруктуруФильтраЗаписей", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтруктуруФильтраЗаписей", "MySQL");
OPI_ПолучениеДанныхТестов.Проверка_Соответствие(Результат);
Опции = Новый Структура;
Опции.Вставить("empty" , Истина);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "ПолучитьСтруктуруФильтраЗаписей", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтруктуруФильтраЗаписей (пустая)", "MySQL");
Для Каждого Элемент Из Результат Цикл
OPI_ПолучениеДанныхТестов.Проверка_Пусто(Элемент.Значение);
КонецЦикла;
КонецПроцедуры
#КонецОбласти
#Область GreenAPI