You've already forked OpenIntegrations
mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-08-10 22:41:43 +02:00
MSSQL: Тесты CLI
This commit is contained in:
2
docs/docusaurus/src/css/custom.css
vendored
2
docs/docusaurus/src/css/custom.css
vendored
@@ -463,7 +463,7 @@ li > a.menu__link {
|
||||
transform: translateY(-30px) ;
|
||||
opacity: 0.3;
|
||||
}
|
||||
31% {
|
||||
28% {
|
||||
opacity: 0;
|
||||
}
|
||||
100% {
|
||||
|
@@ -23922,7 +23922,7 @@
|
||||
OPI_MSSQL.УдалитьТаблицу("users" , Соединение); // SKIP
|
||||
OPI_MSSQL.УдалитьТаблицу("test_data", Соединение); // SKIP
|
||||
Удаление = OPI_MSSQL.УдалитьТаблицу("test_table", Соединение); // SKIP
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Соединение, "ВыполнитьЗапросSQL (удаление 1)", "MSSQL"); // SKIP
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Удаление, "ВыполнитьЗапросSQL (удаление 1)", "MSSQL"); // SKIP
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Соединение, "ВыполнитьЗапросSQL (соединение)", "MSSQL"); // SKIP
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Компонента(Соединение, "AddIn.OPI_MSSQL.Main"); // SKIP
|
||||
|
862
src/ru/OPI/src/CommonModules/OPI_ТестыCLI/Module.bsl
vendored
862
src/ru/OPI/src/CommonModules/OPI_ТестыCLI/Module.bsl
vendored
@@ -2728,6 +2728,10 @@
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("PG_Password", ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("SQL2" , ПараметрыТеста);
|
||||
|
||||
CLI_MSSQL_СформироватьСтрокуПодключения(ПараметрыТеста);
|
||||
CLI_MSSQL_ВыполнитьЗапросSQL(ПараметрыТеста);
|
||||
CLI_MSSQL_ПолучитьНастройкиTls(ПараметрыТеста);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -2737,6 +2741,8 @@
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("PG_IP" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("PG_Password", ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture" , ПараметрыТеста);
|
||||
|
||||
CLI_MSSQL_СоздатьБазуДанных(ПараметрыТеста);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -25065,6 +25071,862 @@
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область MSSQL
|
||||
|
||||
Процедура CLI_MSSQL_СформироватьСтрокуПодключения(ПараметрыФункции)
|
||||
|
||||
Адрес = ПараметрыФункции["PG_IP"];
|
||||
Логин = "SA";
|
||||
Пароль = ПараметрыФункции["PG_Password"];
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("addr" , Адрес);
|
||||
Опции.Вставить("login", Логин);
|
||||
Опции.Вставить("pass" , Пароль);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mssql", "СформироватьСтрокуПодключения", Опции);
|
||||
Результат = ПолучитьСтрокуИзДвоичныхДанных(Результат);
|
||||
|
||||
Результат = СтрЗаменить(Результат, Пароль, "***");
|
||||
Результат = СтрЗаменить(Результат, Адрес , "127.0.0.1");
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "СформироватьСтрокуПодключения", "MSSQL");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Строка(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура CLI_MSSQL_ВыполнитьЗапросSQL(ПараметрыФункции)
|
||||
|
||||
ТекущаяДата = OPI_Инструменты.ПолучитьТекущуюДату();
|
||||
Картинка = ПараметрыФункции["Picture"];
|
||||
OPI_ПреобразованиеТипов.ПолучитьДвоичныеДанные(Картинка); // Картинка - Тип: ДвоичныеДанные
|
||||
ИВФ = ПолучитьИмяВременногоФайла();
|
||||
Картинка.Записать(ИВФ);
|
||||
|
||||
Адрес = ПараметрыФункции["PG_IP"];
|
||||
Логин = "SA";
|
||||
Пароль = ПараметрыФункции["PG_Password"];
|
||||
База = "test_data";
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("addr" , Адрес);
|
||||
Опции.Вставить("db" , База);
|
||||
Опции.Вставить("login", Логин);
|
||||
Опции.Вставить("pass" , Пароль);
|
||||
|
||||
СтрокаПодключения = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mssql", "СформироватьСтрокуПодключения", Опции, Ложь);
|
||||
СтрокаПодключения = ПолучитьСтрокуИзДвоичныхДанных(СтрокаПодключения);
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("trust", Истина);
|
||||
|
||||
НастройкиTLS = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mssql", "ПолучитьНастройкиTls", Опции, Ложь);
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("table", "users");
|
||||
Опции.Вставить("dbc" , СтрокаПодключения);
|
||||
Опции.Вставить("tls" , НастройкиTLS);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mssql", "УдалитьТаблицу", Опции, Ложь);
|
||||
|
||||
Опции.Вставить("table", "test_data");
|
||||
|
||||
Удаление = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mssql", "УдалитьТаблицу", Опции, Ложь);
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Удаление, "ВыполнитьЗапросSQL (удаление 1)", "MSSQL");
|
||||
|
||||
Опции.Вставить("table", "test_table");
|
||||
|
||||
Удаление = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mssql", "УдалитьТаблицу", Опции, Ложь);
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Удаление, "ВыполнитьЗапросSQL (удаление 2)", "MSSQL");
|
||||
|
||||
// CREATE
|
||||
|
||||
ТекстЗапроса = "
|
||||
|CREATE TABLE test_table (
|
||||
| ID INT PRIMARY KEY,
|
||||
| FirstName NVARCHAR(50),
|
||||
| LastName NVARCHAR(50),
|
||||
| BirthDate DATE,
|
||||
| IsEmployed BIT,
|
||||
| Salary DECIMAL(10, 2),
|
||||
| CreatedAt DATETIME,
|
||||
| Age SMALLINT,
|
||||
| RowGuid UNIQUEIDENTIFIER,
|
||||
| Data VARBINARY(MAX)
|
||||
|);";
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("sql" , СтрЗаменить(ТекстЗапроса, Символы.ПС, "\n"));
|
||||
Опции.Вставить("dbc" , СтрокаПодключения);
|
||||
Опции.Вставить("tls" , НастройкиTLS);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mssql", "ВыполнитьЗапросSQL", Опции, Ложь);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ВыполнитьЗапросSQL (Create)", "MSSQL"); // SKIP
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат); // SKIP
|
||||
|
||||
// INSERT с параметрами
|
||||
|
||||
ТекстЗапроса = "
|
||||
|INSERT INTO test_table (ID, FirstName, LastName, BirthDate, IsEmployed, Salary, CreatedAt, Age, RowGuid, Data)
|
||||
|VALUES (@P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8, @P9, @P10);";
|
||||
|
||||
МассивПараметров = Новый Массив;
|
||||
МассивПараметров.Добавить(Новый Структура("INT" , 1));
|
||||
МассивПараметров.Добавить(Новый Структура("NVARCHAR", "Vitaly"));
|
||||
МассивПараметров.Добавить(Новый Структура("NVARCHAR", "Alpaca"));
|
||||
МассивПараметров.Добавить(Новый Структура("DATE" , ТекущаяДата));
|
||||
МассивПараметров.Добавить(Новый Структура("BIT" , Истина));
|
||||
МассивПараметров.Добавить(Новый Структура("DECIMAL" , 10.30));
|
||||
МассивПараметров.Добавить(Новый Структура("DATETIME", ТекущаяДата));
|
||||
МассивПараметров.Добавить(Новый Структура("SMALLINT", 20));
|
||||
МассивПараметров.Добавить(Новый Структура("UUID" , Строка(Новый УникальныйИдентификатор)));
|
||||
МассивПараметров.Добавить(Новый Структура("BYTES" , ИВФ));
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("sql" , СтрЗаменить(ТекстЗапроса, Символы.ПС, "\n"));
|
||||
Опции.Вставить("params", МассивПараметров);
|
||||
Опции.Вставить("dbc" , СтрокаПодключения);
|
||||
Опции.Вставить("tls" , НастройкиTLS);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mssql", "ВыполнитьЗапросSQL", Опции, Ложь);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ВыполнитьЗапросSQL (Insert)", "MSSQL"); // SKIP
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат); // SKIP
|
||||
|
||||
// SELECT (Результат этого запроса приведен в следующем блоке)
|
||||
|
||||
ТекстЗапроса = "SELECT FirstName, LastName, BirthDate, IsEmployed, Salary, CreatedAt, Age, RowGuid, Data FROM test_table;";
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("sql" , ТекстЗапроса);
|
||||
Опции.Вставить("dbc" , СтрокаПодключения);
|
||||
Опции.Вставить("tls" , НастройкиTLS);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mssql", "ВыполнитьЗапросSQL", Опции);
|
||||
|
||||
Blob = Результат["data"][0]["Data"]["BYTES"]; // SKIP
|
||||
|
||||
Результат["data"][0]["Data"]["BYTES"] = "Base64"; // SKIP
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ВыполнитьЗапросSQL", "MSSQL"); // SKIP
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат); // SKIP
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Равенство(Base64Значение(Blob).Размер(), Картинка.Размер()); // SKIP
|
||||
|
||||
ТекстЗапроса = "create table test_data (id INT,first_name NVARCHAR(50),last_name NVARCHAR(50),email NVARCHAR(50),gender NVARCHAR(50),ip_address NVARCHAR(20));";
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("sql" , ТекстЗапроса);
|
||||
Опции.Вставить("dbc" , СтрокаПодключения);
|
||||
Опции.Вставить("tls" , НастройкиTLS);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mssql", "ВыполнитьЗапросSQL", Опции, Ложь);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ВыполнитьЗапросSQL (test_data)", "MSSQL");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
|
||||
|
||||
// SQL запрос из файла
|
||||
|
||||
ФайлSQL = ПараметрыФункции["SQL2"]; // Двоичные данные, URL или путь к файлу
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("sql" , ФайлSQL);
|
||||
Опции.Вставить("dbc" , СтрокаПодключения);
|
||||
Опции.Вставить("tls" , НастройкиTLS);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mssql", "ВыполнитьЗапросSQL", Опции, Ложь);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ВыполнитьЗапросSQL (файл)", "MSSQL");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
|
||||
|
||||
Попытка
|
||||
УдалитьФайлы(ИВФ);
|
||||
Исключение
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(ОписаниеОшибки(), "Ошибка удаления файла картинки", "MySQL");
|
||||
КонецПопытки;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура CLI_MSSQL_ПолучитьНастройкиTls(ПараметрыФункции)
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("trust", Истина);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mssql", "ПолучитьНастройкиTls", Опции);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ПолучитьНастройкиTls", "MSSQL");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Соответствие(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура CLI_MSSQL_СоздатьБазуДанных(ПараметрыФункции)
|
||||
|
||||
Адрес = ПараметрыФункции["PG_IP"];
|
||||
Логин = "SA";
|
||||
Пароль = ПараметрыФункции["PG_Password"];
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("addr" , Адрес);
|
||||
Опции.Вставить("login", Логин);
|
||||
Опции.Вставить("pass" , Пароль);
|
||||
|
||||
СтрокаПодключения = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mssql", "СформироватьСтрокуПодключения", Опции, Ложь);
|
||||
СтрокаПодключения = ПолучитьСтрокуИзДвоичныхДанных(СтрокаПодключения);
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("trust", Истина);
|
||||
|
||||
НастройкиTLS = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mssql", "ПолучитьНастройкиTls", Опции, Ложь);
|
||||
|
||||
База = "testbase1";
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("base", База);
|
||||
Опции.Вставить("dbc" , СтрокаПодключения);
|
||||
Опции.Вставить("tls" , НастройкиTLS);
|
||||
|
||||
Удаление = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mssql", "УдалитьТаблицу", Опции, Ложь);
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Удаление, "СоздатьБазуДанных (удаление)", "MSSQL");
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("base", База);
|
||||
Опции.Вставить("dbc" , СтрокаПодключения);
|
||||
Опции.Вставить("tls" , НастройкиTLS);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mssql", "СоздатьБазуДанных", Опции);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "СоздатьБазуДанных", "MSSQL");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mssql", "СоздатьБазуДанных", Опции);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьБазуДанных (существующая)", "MSSQL");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатЛожь(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура MSSQL_СоздатьТаблицу(ПараметрыФункции)
|
||||
|
||||
Адрес = ПараметрыФункции["PG_IP"];
|
||||
Логин = "SA";
|
||||
Пароль = ПараметрыФункции["PG_Password"];
|
||||
База = "testbase1";
|
||||
|
||||
НастройкиTLS = OPI_MSSQL.ПолучитьНастройкиTls(Истина);
|
||||
СтрокаПодключения = OPI_MSSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
|
||||
|
||||
Таблица = "testtable";
|
||||
|
||||
СтруктураКолонок = Новый Структура;
|
||||
СтруктураКолонок.Вставить("tinyint_field" , "tinyint");
|
||||
СтруктураКолонок.Вставить("smallint_field" , "smallint");
|
||||
СтруктураКолонок.Вставить("int_field" , "int");
|
||||
СтруктураКолонок.Вставить("bigint_field" , "bigint");
|
||||
СтруктураКолонок.Вставить("float24_field" , "float(24)");
|
||||
СтруктураКолонок.Вставить("float53_field" , "float(53)");
|
||||
СтруктураКолонок.Вставить("bit_field" , "bit");
|
||||
СтруктураКолонок.Вставить("nvarchar_field" , "nvarchar(4000)");
|
||||
СтруктураКолонок.Вставить("varbinary_field", "varbinary(max)");
|
||||
СтруктураКолонок.Вставить("uid_field" , "uniqueidentifier");
|
||||
СтруктураКолонок.Вставить("numeric_field" , "numeric(5,3)"); // Или decimal
|
||||
СтруктураКолонок.Вставить("xml_field" , "xml");
|
||||
СтруктураКолонок.Вставить("date_field" , "date");
|
||||
СтруктураКолонок.Вставить("time_field" , "time");
|
||||
СтруктураКолонок.Вставить("dto_field" , "datetimeoffset");
|
||||
СтруктураКолонок.Вставить("datetime_field" , "datetime");
|
||||
|
||||
// При использовании строки подключения инициализируется новое соединение,
|
||||
// которое будет закрыто после выполнения функции.
|
||||
// В случае выполнения нескольких операций желательно использовать одно соединение,
|
||||
// заранее созданное функцией ОткрытьСоединение()
|
||||
Результат = OPI_MSSQL.СоздатьТаблицу(Таблица, СтруктураКолонок, СтрокаПодключения, НастройкиTLS);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьТаблицу", "MSSQL");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
|
||||
|
||||
Таблица = "АБВ ГДЕ";
|
||||
|
||||
Результат = OPI_MSSQL.СоздатьТаблицу(Таблица, СтруктураКолонок, СтрокаПодключения, НастройкиTLS);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьТаблицу (ошибка имени)", "MSSQL");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатЛожь(Результат);
|
||||
|
||||
Таблица = "somename";
|
||||
СтруктураКолонок.Вставить("wtf_field", "WTF");
|
||||
|
||||
Результат = OPI_MSSQL.СоздатьТаблицу(Таблица, СтруктураКолонок, СтрокаПодключения, НастройкиTLS);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьТаблицу (ошибка типа)", "MSSQL");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатЛожь(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура MSSQL_ДобавитьЗаписи(ПараметрыФункции)
|
||||
|
||||
Адрес = ПараметрыФункции["PG_IP"];
|
||||
Логин = "SA";
|
||||
Пароль = ПараметрыФункции["PG_Password"];
|
||||
База = "testbase1";
|
||||
|
||||
НастройкиTLS = OPI_MSSQL.ПолучитьНастройкиTls(Истина);
|
||||
СтрокаПодключения = OPI_MSSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
|
||||
|
||||
Таблица = "testtable";
|
||||
МассивЗаписей = Новый Массив;
|
||||
|
||||
Картинка = ПараметрыФункции["Picture"];
|
||||
OPI_ПреобразованиеТипов.ПолучитьДвоичныеДанные(Картинка); // Картинка - Тип: ДвоичныеДанные
|
||||
|
||||
XML = "<?xml version=""1.0""?>
|
||||
|<root>
|
||||
| <element>
|
||||
| <name>Пример</name>
|
||||
| <value>123</value>
|
||||
| </element>
|
||||
| <element>
|
||||
| <name>Тест</name>
|
||||
| <value>456</value>
|
||||
| </element>
|
||||
|</root>";
|
||||
|
||||
ТекущаяДата = OPI_Инструменты.ПолучитьТекущуюДату();
|
||||
ТекущаяДатаЧП = OPI_Инструменты.ДатаRFC3339(ТекущаяДата, "+05:00");
|
||||
|
||||
СтруктураЗаписи = Новый Структура;
|
||||
СтруктураЗаписи.Вставить("tinyint_field" , Новый Структура("TINYINT" , 5));
|
||||
СтруктураЗаписи.Вставить("smallint_field" , Новый Структура("SMALLINT" , 2000));
|
||||
СтруктураЗаписи.Вставить("int_field" , Новый Структура("INT" , 200000));
|
||||
СтруктураЗаписи.Вставить("bigint_field" , Новый Структура("BIGINT" , 20000000000));
|
||||
СтруктураЗаписи.Вставить("float24_field" , Новый Структура("FLOAT24" , 10.1234567));
|
||||
СтруктураЗаписи.Вставить("float53_field" , Новый Структура("FLOAT53" , 10.123456789123456));
|
||||
СтруктураЗаписи.Вставить("bit_field" , Новый Структура("BIT" , Истина));
|
||||
СтруктураЗаписи.Вставить("nvarchar_field" , Новый Структура("NVARCHAR" , "Some text"));
|
||||
СтруктураЗаписи.Вставить("varbinary_field", Новый Структура("BYTES" , Картинка));
|
||||
СтруктураЗаписи.Вставить("uid_field" , Новый Структура("UUID" , Новый УникальныйИдентификатор));
|
||||
СтруктураЗаписи.Вставить("numeric_field" , Новый Структура("NUMERIC" , 5.333));
|
||||
СтруктураЗаписи.Вставить("xml_field" , Новый Структура("XML" , XML));
|
||||
СтруктураЗаписи.Вставить("date_field" , Новый Структура("DATE" , ТекущаяДата));
|
||||
СтруктураЗаписи.Вставить("time_field" , Новый Структура("TIME" , ТекущаяДата));
|
||||
СтруктураЗаписи.Вставить("dto_field" , Новый Структура("DATETIMEOFFSET", ТекущаяДатаЧП));
|
||||
СтруктураЗаписи.Вставить("datetime_field" , Новый Структура("DATETIME" , ТекущаяДата));
|
||||
|
||||
МассивЗаписей.Добавить(СтруктураЗаписи);
|
||||
|
||||
// При использовании строки подключения инициализируется новое соединение,
|
||||
// которое будет закрыто после выполнения функции.
|
||||
// В случае выполнения нескольких операций желательно использовать одно соединение,
|
||||
// заранее созданное функцией ОткрытьСоединение()
|
||||
Результат = OPI_MSSQL.ДобавитьЗаписи(Таблица, МассивЗаписей, Истина, СтрокаПодключения, НастройкиTLS);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьЗаписи", "MSSQL");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура MSSQL_ПолучитьЗаписи(ПараметрыФункции)
|
||||
|
||||
Адрес = ПараметрыФункции["PG_IP"];
|
||||
Логин = "SA";
|
||||
Пароль = ПараметрыФункции["PG_Password"];
|
||||
База = "testbase1";
|
||||
|
||||
НастройкиTLS = OPI_MSSQL.ПолучитьНастройкиTls(Истина);
|
||||
СтрокаПодключения = OPI_MSSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
|
||||
|
||||
// Все записи без отборов
|
||||
|
||||
Таблица = "testtable";
|
||||
|
||||
// При использовании строки подключения инициализируется новое соединение,
|
||||
// которое будет закрыто после выполнения функции.
|
||||
// В случае выполнения нескольких операций желательно использовать одно соединение,
|
||||
// заранее созданное функцией ОткрытьСоединение()
|
||||
Результат = OPI_MSSQL.ПолучитьЗаписи(Таблица, , , , , СтрокаПодключения, НастройкиTLS);
|
||||
|
||||
Если ЗначениеЗаполнено(Результат["data"]) Тогда // SKIP
|
||||
Результат["data"][0]["varbinary_field"]["BYTES"] = Лев(Результат["data"][0]["varbinary_field"]["BYTES"], 10) + "..."; // SKIP
|
||||
КонецЕсли; // SKIP
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьЗаписи", "MSSQL"); // SKIP
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат); // SKIP
|
||||
|
||||
// Отборы, выбранные поля, количество и сортировка
|
||||
|
||||
СтрокаПодключения = OPI_MSSQL.СформироватьСтрокуПодключения(Адрес, "test_data", Логин, Пароль);
|
||||
|
||||
Таблица = "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;
|
||||
|
||||
Результат = OPI_MSSQL.ПолучитьЗаписи(Таблица, Поля, Фильтры, Сортировка, Количество, СтрокаПодключения, НастройкиTLS);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьЗаписи (отборы)", "MSSQL");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Массив(Результат["data"], 5);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура MSSQL_ОбновитьЗаписи(ПараметрыФункции)
|
||||
|
||||
Адрес = ПараметрыФункции["PG_IP"];
|
||||
Логин = "SA";
|
||||
Пароль = ПараметрыФункции["PG_Password"];
|
||||
База = "test_data";
|
||||
|
||||
НастройкиTLS = OPI_MSSQL.ПолучитьНастройкиTls(Истина);
|
||||
СтрокаПодключения = OPI_MSSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
|
||||
|
||||
Таблица = "test_data";
|
||||
|
||||
СтруктураПолей = Новый Структура;
|
||||
СтруктураПолей.Вставить("ip_address", Новый Структура("VARCHAR", "127.0.0.1"));
|
||||
|
||||
Фильтры = Новый Массив;
|
||||
|
||||
СтруктураФильтра = Новый Структура;
|
||||
|
||||
СтруктураФильтра.Вставить("field", "gender");
|
||||
СтруктураФильтра.Вставить("type" , "=");
|
||||
СтруктураФильтра.Вставить("value", Новый Структура("NVARCHAR", "Male"));
|
||||
СтруктураФильтра.Вставить("raw" , Ложь);
|
||||
|
||||
Фильтры.Добавить(СтруктураФильтра);
|
||||
|
||||
Количество = OPI_MSSQL.ПолучитьЗаписи(Таблица, , Фильтры, , , СтрокаПодключения, НастройкиTLS); // SKIP
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Количество, "ОбновитьЗаписи (количество)", "MSSQL"); // SKIP
|
||||
Количество = Количество["data"].Количество(); // SKIP
|
||||
|
||||
// При использовании строки подключения инициализируется новое соединение,
|
||||
// которое будет закрыто после выполнения функции.
|
||||
// В случае выполнения нескольких операций желательно использовать одно соединение,
|
||||
// заранее созданное функцией ОткрытьСоединение()
|
||||
Результат = OPI_MSSQL.ОбновитьЗаписи(Таблица, СтруктураПолей, СтруктураФильтра, СтрокаПодключения, НастройкиTLS);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОбновитьЗаписи", "MSSQL");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
|
||||
|
||||
Проверка = OPI_MSSQL.ПолучитьЗаписи(Таблица, "['ip_address']", Фильтры, , , СтрокаПодключения, НастройкиTLS);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Проверка, "ОбновитьЗаписи (проверка)", "MSSQL");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Проверка);
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Массив(Проверка["data"], Количество);
|
||||
|
||||
Для Н = 0 По Проверка["data"].ВГраница() Цикл
|
||||
OPI_ПолучениеДанныхТестов.Проверка_SQLiteЗначенияПолей(Проверка["data"][Н], СтруктураПолей);
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура MSSQL_УдалитьЗаписи(ПараметрыФункции)
|
||||
|
||||
Адрес = ПараметрыФункции["PG_IP"];
|
||||
Логин = "SA";
|
||||
Пароль = ПараметрыФункции["PG_Password"];
|
||||
База = "test_data";
|
||||
|
||||
НастройкиTLS = OPI_MSSQL.ПолучитьНастройкиTls(Истина);
|
||||
СтрокаПодключения = OPI_MSSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
|
||||
|
||||
Таблица = "test_data";
|
||||
|
||||
Фильтры = Новый Массив;
|
||||
|
||||
СтруктураФильтра = Новый Структура;
|
||||
|
||||
СтруктураФильтра.Вставить("field", "gender");
|
||||
СтруктураФильтра.Вставить("type" , "=");
|
||||
СтруктураФильтра.Вставить("value", Новый Структура("NVARCHAR", "Male"));
|
||||
СтруктураФильтра.Вставить("raw" , Ложь);
|
||||
СтруктураФильтра.Вставить("union", "AND");
|
||||
|
||||
Фильтры.Добавить(СтруктураФильтра);
|
||||
|
||||
СтруктураФильтра = Новый Структура;
|
||||
|
||||
СтруктураФильтра.Вставить("field", "ip_address");
|
||||
СтруктураФильтра.Вставить("type" , "=");
|
||||
СтруктураФильтра.Вставить("value", Новый Структура("NVARCHAR", "127.0.0.1"));
|
||||
СтруктураФильтра.Вставить("raw" , Ложь);
|
||||
|
||||
Получение = OPI_MSSQL.ПолучитьЗаписи(Таблица, , Фильтры, , , СтрокаПодключения, НастройкиTls); // SKIP
|
||||
|
||||
// При использовании строки подключения инициализируется новое соединение,
|
||||
// которое будет закрыто после выполнения функции.
|
||||
// В случае выполнения нескольких операций желательно использовать одно соединение,
|
||||
// заранее созданное функцией ОткрытьСоединение()
|
||||
Результат = OPI_MSSQL.УдалитьЗаписи(Таблица, Фильтры, СтрокаПодключения, НастройкиTls);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Получение, "УдалитьЗаписи (получение)", "MSSQL");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
|
||||
|
||||
Количество = Получение["data"].Количество();
|
||||
Остаток = 100 - Количество;
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьЗаписи", "MSSQL");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
|
||||
|
||||
Результат = OPI_MSSQL.ПолучитьЗаписи(Таблица, , , , , СтрокаПодключения, НастройкиTLS);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьЗаписи (проверка)", "MSSQL");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Массив(Результат["data"], Остаток);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура MSSQL_УдалитьТаблицу(ПараметрыФункции)
|
||||
|
||||
Адрес = ПараметрыФункции["PG_IP"];
|
||||
Логин = "SA";
|
||||
Пароль = ПараметрыФункции["PG_Password"];
|
||||
База = "testbase1";
|
||||
|
||||
НастройкиTLS = OPI_MSSQL.ПолучитьНастройкиTls(Истина);
|
||||
СтрокаПодключения = OPI_MSSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
|
||||
|
||||
Таблица = "testtable";
|
||||
|
||||
// При использовании строки подключения инициализируется новое соединение,
|
||||
// которое будет закрыто после выполнения функции.
|
||||
// В случае выполнения нескольких операций желательно использовать одно соединение,
|
||||
// заранее созданное функцией ОткрытьСоединение()
|
||||
Результат = OPI_MSSQL.УдалитьТаблицу(Таблица, СтрокаПодключения, НастройкиTLS);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьТаблицу", "MSSQL");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
|
||||
|
||||
База = "test_data";
|
||||
Таблица = "test_data";
|
||||
|
||||
СтрокаПодключения = OPI_MSSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
|
||||
Результат = OPI_MSSQL.УдалитьТаблицу(Таблица, СтрокаПодключения, НастройкиTLS);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьТаблицу (тест)", "MSSQL");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура MSSQL_УдалитьБазуДанных(ПараметрыФункции)
|
||||
|
||||
Адрес = ПараметрыФункции["PG_IP"];
|
||||
Логин = "SA";
|
||||
Пароль = ПараметрыФункции["PG_Password"];
|
||||
|
||||
НастройкиTLS = OPI_MSSQL.ПолучитьНастройкиTls(Истина);
|
||||
СтрокаПодключения = OPI_MSSQL.СформироватьСтрокуПодключения(Адрес, , Логин, Пароль);
|
||||
|
||||
База = "testbase1";
|
||||
|
||||
// При использовании строки подключения инициализируется новое соединение,
|
||||
// которое будет закрыто после выполнения функции.
|
||||
// В случае выполнения нескольких операций желательно использовать одно соединение,
|
||||
// заранее созданное функцией ОткрытьСоединение()
|
||||
Результат = OPI_MSSQL.УдалитьБазуДанных(База, СтрокаПодключения, НастройкиTLS);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьБазуДанных", "MSSQL");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
|
||||
|
||||
База = "testbase2";
|
||||
|
||||
Подключение = OPI_MSSQL.ОткрытьСоединение(СтрокаПодключения, НастройкиTLS);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Подключение, "УдалитьБазуДанных (открытие)", "MSSQL");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Компонента(Подключение, "AddIn.OPI_MSSQL.Main");
|
||||
|
||||
Результат = OPI_MSSQL.УдалитьБазуДанных(База, Подключение);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьБазуДанных (подключение)", "MSSQL");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
|
||||
|
||||
Результат = OPI_MSSQL.УдалитьБазуДанных(База, Подключение);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьБазуДанных (ошибка)", "MSSQL");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатЛожь(Результат);
|
||||
|
||||
Закрытие = OPI_MSSQL.ЗакрытьСоединение(Подключение);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Закрытие, "УдалитьБазуДанных (закрытие)", "MSSQL");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Закрытие);
|
||||
|
||||
Результат = OPI_MSSQL.УдалитьБазуДанных(База, Подключение);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьБазуДанных (ошибка подключения)", "MSSQL");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатЛожь(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура MSSQL_ОчиститьТаблицу(ПараметрыФункции)
|
||||
|
||||
Адрес = ПараметрыФункции["PG_IP"];
|
||||
Логин = "SA";
|
||||
Пароль = ПараметрыФункции["PG_Password"];
|
||||
База = "testbase1";
|
||||
|
||||
НастройкиTLS = OPI_MSSQL.ПолучитьНастройкиTls(Истина);
|
||||
СтрокаПодключения = OPI_MSSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
|
||||
|
||||
Таблица = "testtable";
|
||||
|
||||
// При использовании строки подключения инициализируется новое соединение,
|
||||
// которое будет закрыто после выполнения функции.
|
||||
// В случае выполнения нескольких операций желательно использовать одно соединение,
|
||||
// заранее созданное функцией ОткрытьСоединение()
|
||||
Результат = OPI_MSSQL.ОчиститьТаблицу(Таблица, СтрокаПодключения, НастройкиTLS);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОчиститьТаблицу", "MSSQL");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
|
||||
|
||||
Результат = OPI_MSSQL.ПолучитьЗаписи(Таблица, , , , , СтрокаПодключения, НастройкиTLS);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОчиститьТаблицу (проверка)", "MSSQL");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Массив(Результат["data"], 0);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура MSSQL_ПолучитьИнформациюОТаблице(ПараметрыФункции)
|
||||
|
||||
Адрес = ПараметрыФункции["PG_IP"];
|
||||
Логин = "SA";
|
||||
Пароль = ПараметрыФункции["PG_Password"];
|
||||
База = "testbase1";
|
||||
|
||||
НастройкиTLS = OPI_MSSQL.ПолучитьНастройкиTls(Истина);
|
||||
СтрокаПодключения = OPI_MSSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
|
||||
|
||||
Таблица = "testtable";
|
||||
|
||||
// При использовании строки подключения инициализируется новое соединение,
|
||||
// которое будет закрыто после выполнения функции.
|
||||
// В случае выполнения нескольких операций желательно использовать одно соединение,
|
||||
// заранее созданное функцией ОткрытьСоединение()
|
||||
Результат = OPI_MSSQL.ПолучитьИнформациюОТаблице(Таблица, СтрокаПодключения, НастройкиTLS);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьИнформациюОТаблице", "MSSQL");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Массив(Результат["data"], 16);
|
||||
|
||||
Таблица = "heyho";
|
||||
|
||||
Результат = OPI_MSSQL.ПолучитьИнформациюОТаблице(Таблица, СтрокаПодключения, НастройкиTLS);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьИнформациюОТаблице (ошибка)", "MSSQL");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Массив(Результат["data"], 0);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура MSSQL_ДобавитьКолонкуТаблицы(ПараметрыФункции)
|
||||
|
||||
Адрес = ПараметрыФункции["PG_IP"];
|
||||
Логин = "SA";
|
||||
Пароль = ПараметрыФункции["PG_Password"];
|
||||
|
||||
База = "testbase1";
|
||||
Таблица = "testtable";
|
||||
Имя = "new_field";
|
||||
ТипДанных = "bigint";
|
||||
|
||||
НастройкиTLS = OPI_MSSQL.ПолучитьНастройкиTls(Истина);
|
||||
СтрокаПодключения = OPI_MSSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
|
||||
|
||||
// При использовании строки подключения инициализируется новое соединение,
|
||||
// которое будет закрыто после выполнения функции.
|
||||
// В случае выполнения нескольких операций желательно использовать одно соединение,
|
||||
// заранее созданное функцией ОткрытьСоединение()
|
||||
Результат = OPI_MSSQL.ДобавитьКолонкуТаблицы(Таблица, Имя, ТипДанных, СтрокаПодключения, НастройкиTLS);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьКолонкуТаблицы", "MSSQL");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
|
||||
|
||||
Результат = OPI_MSSQL.ПолучитьИнформациюОТаблице(Таблица, СтрокаПодключения, НастройкиTLS);
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьКолонкуТаблицы (проверка)", "MSSQL");
|
||||
|
||||
Найдена = Ложь;
|
||||
|
||||
Для Каждого Колонка Из Результат["data"] Цикл
|
||||
|
||||
Если Колонка["column_name"] = Имя Тогда
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Равенство(нРег(ТипДанных), нРег(Колонка["data_type"]));
|
||||
|
||||
Найдена = Истина;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Равенство(Найдена, Истина);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура MSSQL_УдалитьКолонкуТаблицы(ПараметрыФункции)
|
||||
|
||||
Адрес = ПараметрыФункции["PG_IP"];
|
||||
Логин = "SA";
|
||||
Пароль = ПараметрыФункции["PG_Password"];
|
||||
|
||||
База = "testbase1";
|
||||
Таблица = "testtable";
|
||||
Имя = "new_field";
|
||||
|
||||
НастройкиTLS = OPI_MSSQL.ПолучитьНастройкиTls(Истина);
|
||||
СтрокаПодключения = OPI_MSSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
|
||||
|
||||
// При использовании строки подключения инициализируется новое соединение,
|
||||
// которое будет закрыто после выполнения функции.
|
||||
// В случае выполнения нескольких операций желательно использовать одно соединение,
|
||||
// заранее созданное функцией ОткрытьСоединение()
|
||||
Результат = OPI_MSSQL.УдалитьКолонкуТаблицы(Таблица, Имя, СтрокаПодключения, НастройкиTLS);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьКолонкуТаблицы", "MSSQL");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
|
||||
|
||||
Результат = OPI_MSSQL.ПолучитьИнформациюОТаблице(Таблица, СтрокаПодключения, НастройкиTLS);
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьКолонкуТаблицы (проверка)", "MSSQL");
|
||||
|
||||
Найдена = Ложь;
|
||||
|
||||
Для Каждого Колонка Из Результат["data"] Цикл
|
||||
|
||||
Если Колонка["column_name"] = Имя Тогда
|
||||
Найдена = Истина;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Равенство(Найдена, Ложь);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура MSSQL_ГарантироватьТаблицу(ПараметрыФункции)
|
||||
|
||||
Адрес = ПараметрыФункции["PG_IP"];
|
||||
Логин = "SA";
|
||||
Пароль = ПараметрыФункции["PG_Password"];
|
||||
|
||||
База = "testbase1";
|
||||
Таблица = "testtable";
|
||||
|
||||
НастройкиTLS = OPI_MSSQL.ПолучитьНастройкиTls(Истина);
|
||||
СтрокаПодключения = OPI_MSSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
|
||||
|
||||
СтруктураКолонок = Новый Структура;
|
||||
СтруктураКолонок.Вставить("smallint_field" , "smallint");
|
||||
СтруктураКолонок.Вставить("double_field" , "real");
|
||||
СтруктураКолонок.Вставить("bigint_field" , "bigint");
|
||||
СтруктураКолонок.Вставить("custom_field" , "nvarchar");
|
||||
|
||||
// При использовании строки подключения инициализируется новое соединение,
|
||||
// которое будет закрыто после выполнения функции.
|
||||
// В случае выполнения нескольких операций желательно использовать одно соединение,
|
||||
// заранее созданное функцией ОткрытьСоединение()
|
||||
Результат = OPI_MSSQL.ГарантироватьТаблицу(Таблица, СтруктураКолонок, СтрокаПодключения, НастройкиTLS);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ГарантироватьТаблицу", "MSSQL");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Истина(Результат["commit"]["result"]);
|
||||
|
||||
Проверка = OPI_MSSQL.ПолучитьИнформациюОТаблице(Таблица, СтрокаПодключения, НастройкиTLS);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Проверка, "ГарантироватьТаблицу (проверка)", "MSSQL");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Проверка);
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Массив(Проверка["data"], СтруктураКолонок.Количество());
|
||||
|
||||
Для Каждого Колонка Из Проверка["data"] Цикл
|
||||
ТекущийТип = Колонка["data_type"];
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Равенство(нРег(ТекущийТип), нРег(СтруктураКолонок[Колонка["column_name"]]));
|
||||
КонецЦикла;
|
||||
|
||||
Таблица = "test_new";
|
||||
|
||||
Результат = OPI_MSSQL.ГарантироватьТаблицу(Таблица, СтруктураКолонок, СтрокаПодключения, НастройкиTLS);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ГарантироватьТаблицу (новая)", "MSSQL");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Истина(Результат["commit"]["result"]);
|
||||
|
||||
Проверка = OPI_MSSQL.ПолучитьИнформациюОТаблице(Таблица, СтрокаПодключения, НастройкиTLS);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Проверка, "ГарантироватьТаблицу (новая, проверка)", "MSSQL");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Проверка);
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Массив(Проверка["data"], СтруктураКолонок.Количество());
|
||||
|
||||
Для Каждого Колонка Из Проверка["data"] Цикл
|
||||
ТекущийТип = Колонка["data_type"];
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Равенство(нРег(ТекущийТип), нРег(СтруктураКолонок[Колонка["column_name"]]));
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура MSSQL_ПолучитьСтруктуруФильтраЗаписей(ПараметрыФункции)
|
||||
|
||||
Результат = OPI_MSSQL.ПолучитьСтруктуруФильтраЗаписей();
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтруктуруФильтраЗаписей", "MSSQL");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Структура(Результат);
|
||||
|
||||
Результат = OPI_MSSQL.ПолучитьСтруктуруФильтраЗаписей(Истина);
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтруктуруФильтраЗаписей (пустая)", "MSSQL");
|
||||
|
||||
Для Каждого Элемент Из Результат Цикл
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Пусто(Элемент.Значение);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
Reference in New Issue
Block a user