You've already forked OpenIntegrations
mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-08-10 22:41:43 +02:00
MSSQL: Дополнение тестов
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
// OneScript: ./OInt/core/Modules/OPI_MSSQL.os
|
||||
// OneScript: ./OInt/core/Modules/OPI_MSSQL.os
|
||||
// Lib: MSSQL
|
||||
// CLI: mssql
|
||||
// Keywords: mssql, ms sql
|
||||
@@ -556,7 +556,7 @@
|
||||
Особенности.Вставить("НумерацияПараметров", Истина);
|
||||
Особенности.Вставить("МаркерПараметров" , "@P");
|
||||
Особенности.Вставить("СУБД" , "mssql");
|
||||
Особенности.Вставить("ПолеКолонки" , "COLUMN_NAME");
|
||||
Особенности.Вставить("ПолеКолонки" , "column_name");
|
||||
Особенности.Вставить("НачалоТранзакции" , "BEGIN TRAN");
|
||||
|
||||
Возврат Особенности;
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// OneScript: ./OInt/tools/Modules/OPI_ЗапросыSQL.os
|
||||
// OneScript: ./OInt/tools/Modules/OPI_ЗапросыSQL.os
|
||||
|
||||
// MIT License
|
||||
|
||||
@@ -941,10 +941,12 @@
|
||||
|
||||
Таблица = Схема["table"];
|
||||
Имя = Схема["name"];
|
||||
СУБД = Схема["dbms"];
|
||||
|
||||
ШаблонSQL = "ALTER TABLE %1 DROP %2";
|
||||
ШаблонSQL = "ALTER TABLE %1 DROP %2 %3";
|
||||
Уточнение = ?(СУБД = "mssql", "COLUMN", "");
|
||||
|
||||
ТекстSQL = СтрШаблон(ШаблонSQL, Таблица, Имя);
|
||||
ТекстSQL = СтрШаблон(ШаблонSQL, Таблица, Уточнение, Имя);
|
||||
|
||||
Возврат ТекстSQL;
|
||||
|
||||
|
322
src/ru/OPI/src/CommonModules/OPI_Тесты/Module.bsl
vendored
322
src/ru/OPI/src/CommonModules/OPI_Тесты/Module.bsl
vendored
@@ -1,4 +1,4 @@
|
||||
// OneScript: ./OInt/tests/Modules/internal/OPI_Тесты.os
|
||||
// OneScript: ./OInt/tests/Modules/internal/OPI_Тесты.os
|
||||
|
||||
// MIT License
|
||||
|
||||
@@ -2845,6 +2845,13 @@
|
||||
MSSQL_ПолучитьЗаписи(ПараметрыТеста);
|
||||
MSSQL_ОбновитьЗаписи(ПараметрыТеста);
|
||||
MSSQL_УдалитьЗаписи(ПараметрыТеста);
|
||||
MSSQL_ОчиститьТаблицу(ПараметрыТеста);
|
||||
MSSQL_ПолучитьИнформациюОТаблице(ПараметрыТеста);
|
||||
MSSQL_ДобавитьКолонкуТаблицы(ПараметрыТеста);
|
||||
MSSQL_УдалитьКолонкуТаблицы(ПараметрыТеста);
|
||||
MSSQL_ГарантироватьТаблицу(ПараметрыТеста);
|
||||
MSSQL_УдалитьТаблицу(ПараметрыТеста);
|
||||
MSSQL_УдалитьБазуДанных(ПараметрыТеста);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -20071,6 +20078,10 @@
|
||||
|
||||
СтрокаПодключения = OPI_MySQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
|
||||
|
||||
// При использовании строки подключения инициализируется новое соединение,
|
||||
// которое будет закрыто после выполнения функции.
|
||||
// В случае выполнения нескольких операций желательно использовать одно соединение,
|
||||
// заранее созданное функцией ОткрытьСоединение()
|
||||
Результат = OPI_MySQL.ДобавитьКолонкуТаблицы(Таблица, Имя, ТипДанных, СтрокаПодключения);
|
||||
|
||||
// END
|
||||
@@ -20143,6 +20154,10 @@
|
||||
|
||||
СтрокаПодключения = OPI_MySQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
|
||||
|
||||
// При использовании строки подключения инициализируется новое соединение,
|
||||
// которое будет закрыто после выполнения функции.
|
||||
// В случае выполнения нескольких операций желательно использовать одно соединение,
|
||||
// заранее созданное функцией ОткрытьСоединение()
|
||||
Результат = OPI_MySQL.УдалитьКолонкуТаблицы(Таблица, Имя, СтрокаПодключения);
|
||||
|
||||
// END
|
||||
@@ -20210,6 +20225,10 @@
|
||||
СтруктураКолонок.Вставить("bigint_field" , "BIGINT");
|
||||
СтруктураКолонок.Вставить("custom_field" , "TEXT");
|
||||
|
||||
// При использовании строки подключения инициализируется новое соединение,
|
||||
// которое будет закрыто после выполнения функции.
|
||||
// В случае выполнения нескольких операций желательно использовать одно соединение,
|
||||
// заранее созданное функцией ОткрытьСоединение()
|
||||
Результат = OPI_MySQL.ГарантироватьТаблицу(Таблица, СтруктураКолонок, СтрокаПодключения);
|
||||
|
||||
// END
|
||||
@@ -23787,9 +23806,8 @@
|
||||
Адрес = ПараметрыФункции["PG_IP"];
|
||||
Логин = "bayselonarrend";
|
||||
Пароль = ПараметрыФункции["PG_Password"];
|
||||
База = "";
|
||||
|
||||
Результат = OPI_MSSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
|
||||
Результат = OPI_MSSQL.СформироватьСтрокуПодключения(Адрес, , Логин, Пароль);
|
||||
|
||||
// END
|
||||
|
||||
@@ -24346,6 +24364,304 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура 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"]]));
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
Reference in New Issue
Block a user