You've already forked OpenIntegrations
mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-11-27 22:18:36 +02:00
Main build (Jenkins)
This commit is contained in:
4
ci/clitesten
vendored
4
ci/clitesten
vendored
@@ -1668,7 +1668,7 @@ def test_mysql(){
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe mysql EnsureTable --table "test" --cols "test" --db "test" --tls "test" --debug --test '
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe mysql EnsureTable --table "test" --cols "test" --dbc "test" --tls "test" --debug --test '
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
@@ -2224,7 +2224,7 @@ def test_postgres(){
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe postgres EnsureTable --table "test" --cols "test" --db "test" --tls "test" --debug --test '
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe postgres EnsureTable --table "test" --cols "test" --dbc "test" --tls "test" --debug --test '
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
|
||||
4
ci/clitestru
vendored
4
ci/clitestru
vendored
@@ -1668,7 +1668,7 @@ def test_mysql(){
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe mysql ГарантироватьТаблицу --table "test" --cols "test" --db "test" --tls "test" --debug --test '
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe mysql ГарантироватьТаблицу --table "test" --cols "test" --dbc "test" --tls "test" --debug --test '
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
@@ -2224,7 +2224,7 @@ def test_postgres(){
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe postgres ГарантироватьТаблицу --table "test" --cols "test" --db "test" --tls "test" --debug --test '
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe postgres ГарантироватьТаблицу --table "test" --cols "test" --dbc "test" --tls "test" --debug --test '
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
|
||||
4
docs/en/data/MySQL/DeleteTableColumn.json
vendored
Normal file
4
docs/en/data/MySQL/DeleteTableColumn.json
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"Address": "127.0.0.1",
|
||||
"Password": "12we..."
|
||||
}
|
||||
4
docs/en/data/MySQL/EnsureTable.json
vendored
Normal file
4
docs/en/data/MySQL/EnsureTable.json
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"Address": "127.0.0.1",
|
||||
"Password": "12we..."
|
||||
}
|
||||
11
docs/en/examples/MySQL/DeleteTableColumn.txt
vendored
Normal file
11
docs/en/examples/MySQL/DeleteTableColumn.txt
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
Address = "127.0.0.1";
|
||||
Login = "bayselonarrend";
|
||||
Password = "12we...";
|
||||
|
||||
Base = "testbase1";
|
||||
Table = "testtable";
|
||||
Name = "new_field";
|
||||
|
||||
ConnectionString = OPI_MySQL.GenerateConnectionString(Address, Base, Login, Password);
|
||||
|
||||
Result = OPI_MySQL.DeleteTableColumn(Table, Name, ConnectionString);
|
||||
16
docs/en/examples/MySQL/EnsureTable.txt
vendored
Normal file
16
docs/en/examples/MySQL/EnsureTable.txt
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
Address = "127.0.0.1";
|
||||
Login = "bayselonarrend";
|
||||
Password = "12we...";
|
||||
|
||||
Base = "testbase1";
|
||||
Table = "testtable";
|
||||
|
||||
ConnectionString = OPI_MySQL.GenerateConnectionString(Address, Base, Login, Password);
|
||||
|
||||
ColoumnsStruct = New Structure;
|
||||
ColoumnsStruct.Insert("smallint_field" , "SMALLINT");
|
||||
ColoumnsStruct.Insert("double_field" , "DOUBLE");
|
||||
ColoumnsStruct.Insert("bigint_field" , "BIGINT");
|
||||
ColoumnsStruct.Insert("custom_field" , "TEXT");
|
||||
|
||||
Result = OPI_MySQL.EnsureTable(Table, ColoumnsStruct, ConnectionString);
|
||||
10
docs/en/md/MySQL/Orm/Delete-table-column.mdx
vendored
10
docs/en/md/MySQL/Orm/Delete-table-column.mdx
vendored
@@ -30,7 +30,17 @@ import TabItem from '@theme/TabItem';
|
||||
|
||||
|
||||
```bsl title="1C:Enterprise/OneScript code example"
|
||||
Address = "127.0.0.1";
|
||||
Login = "bayselonarrend";
|
||||
Password = "12we...";
|
||||
|
||||
Base = "testbase1";
|
||||
Table = "testtable";
|
||||
Name = "new_field";
|
||||
|
||||
ConnectionString = OPI_MySQL.GenerateConnectionString(Address, Base, Login, Password);
|
||||
|
||||
Result = OPI_MySQL.DeleteTableColumn(Table, Name, ConnectionString);
|
||||
```
|
||||
|
||||
|
||||
|
||||
17
docs/en/md/MySQL/Orm/Ensure-table.mdx
vendored
17
docs/en/md/MySQL/Orm/Ensure-table.mdx
vendored
@@ -18,7 +18,7 @@ import TabItem from '@theme/TabItem';
|
||||
|-|-|-|-|-|
|
||||
| Table | --table | String | ✔ | Table name |
|
||||
| ColoumnsStruct | --cols | Structure Of KeyAndValue | ✔ | Column structure: Key > Name, Value > Data type |
|
||||
| Connection | --db | String, Arbitrary | ✖ | Existing connection or database path |
|
||||
| Connection | --dbc | String, Arbitrary | ✖ | Existing connection or database path |
|
||||
| Tls | --tls | Structure Of KeyAndValue | ✖ | TLS settings, if necessary. See GetTlsSettings |
|
||||
|
||||
|
||||
@@ -36,7 +36,22 @@ This function does not update the data type of existing columns
|
||||
|
||||
|
||||
```bsl title="1C:Enterprise/OneScript code example"
|
||||
Address = "127.0.0.1";
|
||||
Login = "bayselonarrend";
|
||||
Password = "12we...";
|
||||
|
||||
Base = "testbase1";
|
||||
Table = "testtable";
|
||||
|
||||
ConnectionString = OPI_MySQL.GenerateConnectionString(Address, Base, Login, Password);
|
||||
|
||||
ColoumnsStruct = New Structure;
|
||||
ColoumnsStruct.Insert("smallint_field" , "SMALLINT");
|
||||
ColoumnsStruct.Insert("double_field" , "DOUBLE");
|
||||
ColoumnsStruct.Insert("bigint_field" , "BIGINT");
|
||||
ColoumnsStruct.Insert("custom_field" , "TEXT");
|
||||
|
||||
Result = OPI_MySQL.EnsureTable(Table, ColoumnsStruct, ConnectionString);
|
||||
```
|
||||
|
||||
|
||||
|
||||
2
docs/en/md/PostgreSQL/Orm/Ensure-table.mdx
vendored
2
docs/en/md/PostgreSQL/Orm/Ensure-table.mdx
vendored
@@ -18,7 +18,7 @@ import TabItem from '@theme/TabItem';
|
||||
|-|-|-|-|-|
|
||||
| Table | --table | String | ✔ | Table name |
|
||||
| ColoumnsStruct | --cols | Structure Of KeyAndValue | ✔ | Column structure: Key > Name, Value > Data type |
|
||||
| Connection | --db | String, Arbitrary | ✖ | Existing connection or database path |
|
||||
| Connection | --dbc | String, Arbitrary | ✖ | Existing connection or database path |
|
||||
| Tls | --tls | Structure Of KeyAndValue | ✖ | TLS settings, if necessary. See GetTlsSettings |
|
||||
|
||||
|
||||
|
||||
4
docs/ru/data/MySQL/ГарантироватьТаблицу.json
vendored
Normal file
4
docs/ru/data/MySQL/ГарантироватьТаблицу.json
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"Адрес": "127.0.0.1",
|
||||
"Пароль": "12we..."
|
||||
}
|
||||
4
docs/ru/data/MySQL/УдалитьКолонкуТаблицы.json
vendored
Normal file
4
docs/ru/data/MySQL/УдалитьКолонкуТаблицы.json
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"Адрес": "127.0.0.1",
|
||||
"Пароль": "12we..."
|
||||
}
|
||||
16
docs/ru/examples/MySQL/ГарантироватьТаблицу.txt
vendored
Normal file
16
docs/ru/examples/MySQL/ГарантироватьТаблицу.txt
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
Адрес = "127.0.0.1";
|
||||
Логин = "bayselonarrend";
|
||||
Пароль = "12we...";
|
||||
|
||||
База = "testbase1";
|
||||
Таблица = "testtable";
|
||||
|
||||
СтрокаПодключения = OPI_MySQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
|
||||
|
||||
СтруктураКолонок = Новый Структура;
|
||||
СтруктураКолонок.Вставить("smallint_field" , "SMALLINT");
|
||||
СтруктураКолонок.Вставить("double_field" , "DOUBLE");
|
||||
СтруктураКолонок.Вставить("bigint_field" , "BIGINT");
|
||||
СтруктураКолонок.Вставить("custom_field" , "TEXT");
|
||||
|
||||
Результат = OPI_MySQL.ГарантироватьТаблицу(Таблица, СтруктураКолонок, СтрокаПодключения);
|
||||
11
docs/ru/examples/MySQL/УдалитьКолонкуТаблицы.txt
vendored
Normal file
11
docs/ru/examples/MySQL/УдалитьКолонкуТаблицы.txt
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
Адрес = "127.0.0.1";
|
||||
Логин = "bayselonarrend";
|
||||
Пароль = "12we...";
|
||||
|
||||
База = "testbase1";
|
||||
Таблица = "testtable";
|
||||
Имя = "new_field";
|
||||
|
||||
СтрокаПодключения = OPI_MySQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
|
||||
|
||||
Результат = OPI_MySQL.УдалитьКолонкуТаблицы(Таблица, Имя, СтрокаПодключения);
|
||||
10
docs/ru/md/MySQL/Orm/Delete-table-column.mdx
vendored
10
docs/ru/md/MySQL/Orm/Delete-table-column.mdx
vendored
@@ -30,7 +30,17 @@ import TabItem from '@theme/TabItem';
|
||||
|
||||
|
||||
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||
Адрес = "127.0.0.1";
|
||||
Логин = "bayselonarrend";
|
||||
Пароль = "12we...";
|
||||
|
||||
База = "testbase1";
|
||||
Таблица = "testtable";
|
||||
Имя = "new_field";
|
||||
|
||||
СтрокаПодключения = OPI_MySQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
|
||||
|
||||
Результат = OPI_MySQL.УдалитьКолонкуТаблицы(Таблица, Имя, СтрокаПодключения);
|
||||
```
|
||||
|
||||
|
||||
|
||||
17
docs/ru/md/MySQL/Orm/Ensure-table.mdx
vendored
17
docs/ru/md/MySQL/Orm/Ensure-table.mdx
vendored
@@ -18,7 +18,7 @@ import TabItem from '@theme/TabItem';
|
||||
|-|-|-|-|-|
|
||||
| Таблица | --table | Строка | ✔ | Имя таблицы |
|
||||
| СтруктураКолонок | --cols | Структура Из КлючИЗначение | ✔ | Структура колонок: Ключ > имя, Значение > Тип данных |
|
||||
| Соединение | --db | Строка, Произвольный | ✖ | Существующее соединение или путь к базе |
|
||||
| Соединение | --dbc | Строка, Произвольный | ✖ | Существующее соединение или путь к базе |
|
||||
| Tls | --tls | Структура Из КлючИЗначение | ✖ | Настройки TLS, если необходимо. См. ПолучитьНастройкиTls |
|
||||
|
||||
|
||||
@@ -36,7 +36,22 @@ import TabItem from '@theme/TabItem';
|
||||
|
||||
|
||||
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||
Адрес = "127.0.0.1";
|
||||
Логин = "bayselonarrend";
|
||||
Пароль = "12we...";
|
||||
|
||||
База = "testbase1";
|
||||
Таблица = "testtable";
|
||||
|
||||
СтрокаПодключения = OPI_MySQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
|
||||
|
||||
СтруктураКолонок = Новый Структура;
|
||||
СтруктураКолонок.Вставить("smallint_field" , "SMALLINT");
|
||||
СтруктураКолонок.Вставить("double_field" , "DOUBLE");
|
||||
СтруктураКолонок.Вставить("bigint_field" , "BIGINT");
|
||||
СтруктураКолонок.Вставить("custom_field" , "TEXT");
|
||||
|
||||
Результат = OPI_MySQL.ГарантироватьТаблицу(Таблица, СтруктураКолонок, СтрокаПодключения);
|
||||
```
|
||||
|
||||
|
||||
|
||||
2
docs/ru/md/PostgreSQL/Orm/Ensure-table.mdx
vendored
2
docs/ru/md/PostgreSQL/Orm/Ensure-table.mdx
vendored
@@ -18,7 +18,7 @@ import TabItem from '@theme/TabItem';
|
||||
|-|-|-|-|-|
|
||||
| Таблица | --table | Строка | ✔ | Имя таблицы |
|
||||
| СтруктураКолонок | --cols | Структура Из КлючИЗначение | ✔ | Структура колонок: Ключ > имя, Значение > Тип данных |
|
||||
| Соединение | --db | Строка, Произвольный | ✖ | Существующее соединение или путь к базе |
|
||||
| Соединение | --dbc | Строка, Произвольный | ✖ | Существующее соединение или путь к базе |
|
||||
| Tls | --tls | Структура Из КлючИЗначение | ✖ | Настройки TLS, если необходимо. См. ПолучитьНастройкиTls |
|
||||
|
||||
|
||||
|
||||
16426
service/dictionaries/en.json
vendored
16426
service/dictionaries/en.json
vendored
File diff suppressed because it is too large
Load Diff
2
src/en/OInt/core/Modules/OPI_MySQL.os
vendored
2
src/en/OInt/core/Modules/OPI_MySQL.os
vendored
@@ -332,7 +332,7 @@ EndFunction
|
||||
// Parameters:
|
||||
// Table - String - Table name - table
|
||||
// ColoumnsStruct - Structure Of KeyAndValue - Column structure: Key > Name, Value > Data type - cols
|
||||
// Connection - String, Arbitrary - Existing connection or database path - db
|
||||
// Connection - String, Arbitrary - Existing connection or database path - dbc
|
||||
// Tls - Structure Of KeyAndValue - TLS settings, if necessary. See GetTlsSettings - tls
|
||||
//
|
||||
// Returns:
|
||||
|
||||
2
src/en/OInt/core/Modules/OPI_PostgreSQL.os
vendored
2
src/en/OInt/core/Modules/OPI_PostgreSQL.os
vendored
@@ -375,7 +375,7 @@ EndFunction
|
||||
// Parameters:
|
||||
// Table - String - Table name - table
|
||||
// ColoumnsStruct - Structure Of KeyAndValue - Column structure: Key > Name, Value > Data type - cols
|
||||
// Connection - String, Arbitrary - Existing connection or database path - db
|
||||
// Connection - String, Arbitrary - Existing connection or database path - dbc
|
||||
// Tls - Structure Of KeyAndValue - TLS settings, if necessary. See GetTlsSettings - tls
|
||||
//
|
||||
// Returns:
|
||||
|
||||
145
src/en/OInt/tests/Modules/internal/OPI_Tests.os
vendored
145
src/en/OInt/tests/Modules/internal/OPI_Tests.os
vendored
@@ -2430,6 +2430,8 @@ Procedure MYS_ORM() Export
|
||||
MySQL_ClearTable(TestParameters);
|
||||
MySQL_GetTableInformation(TestParameters);
|
||||
MySQL_AddTableColumn(TestParameters);
|
||||
MySQL_DeleteTableColumn(TestParameters);
|
||||
MySQL_EnsureTable(TestParameters);
|
||||
MySQL_DeleteTable(TestParameters);
|
||||
MySQL_DeleteDatabase(TestParameters);
|
||||
MySQL_GetRecordsFilterStrucutre(TestParameters);
|
||||
@@ -20078,6 +20080,149 @@ Procedure MySQL_AddTableColumn(FunctionParameters)
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure MySQL_DeleteTableColumn(FunctionParameters)
|
||||
|
||||
Address = FunctionParameters["PG_IP"];
|
||||
Login = "bayselonarrend";
|
||||
Password = FunctionParameters["PG_Password"];
|
||||
|
||||
Base = "testbase1";
|
||||
Table = "testtable";
|
||||
Name = "new_field";
|
||||
|
||||
ConnectionString = OPI_MySQL.GenerateConnectionString(Address, Base, Login, Password);
|
||||
|
||||
Result = OPI_MySQL.DeleteTableColumn(Table, Name, ConnectionString);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "DeleteTableColumn", "MySQL");
|
||||
OPI_TestDataRetrieval.Check_ResultTrue(Result);
|
||||
|
||||
Result = OPI_MySQL.GetTableInformation(Table, ConnectionString);
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "DeleteTableColumn (check))", "MySQL");
|
||||
|
||||
Found = False;
|
||||
|
||||
For Each Coloumn In Result["data"] Do
|
||||
|
||||
If Coloumn["COLUMN_NAME"] = Name Then
|
||||
Found = True;
|
||||
EndIf;
|
||||
|
||||
EndDo;
|
||||
|
||||
OPI_TestDataRetrieval.Check_Equality(Found, False);
|
||||
|
||||
Address = "api.athenaeum.digital";
|
||||
Port = "3307";
|
||||
|
||||
TLSConnectionString = OPI_MySQL.GenerateConnectionString(Address, Base, Login, Password, Port);
|
||||
TLSSettings = OPI_MySQL.GetTlsSettings(False);
|
||||
|
||||
Result = OPI_MySQL.DeleteTableColumn(Table, Name, TLSConnectionString, TLSSettings);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "DeleteTableColumn (TLS)", "MySQL");
|
||||
OPI_TestDataRetrieval.Check_ResultTrue(Result);
|
||||
|
||||
Result = OPI_MySQL.GetTableInformation(Table, TLSConnectionString, TLSSettings);
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "DeleteTableColumn (TLS, check)", "MySQL");
|
||||
|
||||
Found = False;
|
||||
|
||||
For Each Coloumn In Result["data"] Do
|
||||
|
||||
If Coloumn["COLUMN_NAME"] = Name Then
|
||||
Found = True;
|
||||
EndIf;
|
||||
|
||||
EndDo;
|
||||
|
||||
OPI_TestDataRetrieval.Check_Equality(Found, False);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure MySQL_EnsureTable(FunctionParameters)
|
||||
|
||||
Address = FunctionParameters["PG_IP"];
|
||||
Login = "bayselonarrend";
|
||||
Password = FunctionParameters["PG_Password"];
|
||||
|
||||
Base = "testbase1";
|
||||
Table = "testtable";
|
||||
|
||||
ConnectionString = OPI_MySQL.GenerateConnectionString(Address, Base, Login, Password);
|
||||
|
||||
ColoumnsStruct = New Structure;
|
||||
ColoumnsStruct.Insert("smallint_field" , "SMALLINT");
|
||||
ColoumnsStruct.Insert("double_field" , "DOUBLE");
|
||||
ColoumnsStruct.Insert("bigint_field" , "BIGINT");
|
||||
ColoumnsStruct.Insert("custom_field" , "TEXT");
|
||||
|
||||
Result = OPI_MySQL.EnsureTable(Table, ColoumnsStruct, ConnectionString);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "EnsureTable", "MySQL");
|
||||
OPI_TestDataRetrieval.Check_ResultTrue(Result);
|
||||
OPI_TestDataRetrieval.Check_True(Result["commit"]["result"]);
|
||||
|
||||
Check = OPI_MySQL.GetTableInformation(Table, ConnectionString);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Check, "EnsureTable (check)", "MySQL");
|
||||
OPI_TestDataRetrieval.Check_ResultTrue(Check);
|
||||
OPI_TestDataRetrieval.Check_Array(Check["data"], ColoumnsStruct.Count());
|
||||
|
||||
For Each Coloumn In Check["data"] Do
|
||||
CurrentType = ПолучитьСтрокуИзДвоичныхДанных(Base64Value(Coloumn["DATA_TYPE"]["BYTES"]));
|
||||
OPI_TestDataRetrieval.Check_Equality(Lower(CurrentType), Lower(ColoumnsStruct[Coloumn["COLUMN_NAME"]]));
|
||||
EndDo;
|
||||
|
||||
Table = "test_new";
|
||||
|
||||
Result = OPI_MySQL.EnsureTable(Table, ColoumnsStruct, ConnectionString);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "EnsureTable (new))", "MySQL");
|
||||
OPI_TestDataRetrieval.Check_ResultTrue(Result);
|
||||
OPI_TestDataRetrieval.Check_True(Result["commit"]["result"]);
|
||||
|
||||
Check = OPI_MySQL.GetTableInformation(Table, ConnectionString);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Check, "EnsureTable (new, check)", "MySQL");
|
||||
OPI_TestDataRetrieval.Check_ResultTrue(Check);
|
||||
OPI_TestDataRetrieval.Check_Array(Check["data"], ColoumnsStruct.Count());
|
||||
|
||||
For Each Coloumn In Check["data"] Do
|
||||
CurrentType = ПолучитьСтрокуИзДвоичныхДанных(Base64Value(Coloumn["DATA_TYPE"]["BYTES"]));
|
||||
OPI_TestDataRetrieval.Check_Equality(Lower(CurrentType), Lower(ColoumnsStruct[Coloumn["COLUMN_NAME"]]));
|
||||
EndDo;
|
||||
|
||||
Address = "api.athenaeum.digital";
|
||||
Port = "3307";
|
||||
|
||||
Table = "testtable";
|
||||
TLSConnectionString = OPI_MySQL.GenerateConnectionString(Address, Base, Login, Password, Port);
|
||||
TLSSettings = OPI_MySQL.GetTlsSettings(False);
|
||||
|
||||
Result = OPI_MySQL.EnsureTable(Table, ColoumnsStruct, TLSConnectionString, TLSSettings);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "EnsureTable (TLS)", "MySQL");
|
||||
OPI_TestDataRetrieval.Check_ResultTrue(Result);
|
||||
OPI_TestDataRetrieval.Check_True(Result["commit"]["result"]);
|
||||
|
||||
Check = OPI_MySQL.GetTableInformation(Table, TLSConnectionString, TLSSettings);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Check, "EnsureTable (TLS, check)", "MySQL");
|
||||
OPI_TestDataRetrieval.Check_ResultTrue(Check);
|
||||
OPI_TestDataRetrieval.Check_Array(Check["data"], ColoumnsStruct.Count());
|
||||
|
||||
For Each Coloumn In Check["data"] Do
|
||||
CurrentType = ПолучитьСтрокуИзДвоичныхДанных(Base64Value(Coloumn["DATA_TYPE"]["BYTES"]));
|
||||
OPI_TestDataRetrieval.Check_Equality(Lower(CurrentType), Lower(ColoumnsStruct[Coloumn["COLUMN_NAME"]]));
|
||||
EndDo;
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region GreenAPI
|
||||
|
||||
412
src/en/OInt/tests/Modules/internal/OPI_TestsCLI.os
vendored
412
src/en/OInt/tests/Modules/internal/OPI_TestsCLI.os
vendored
@@ -2293,10 +2293,11 @@ Procedure CLI_SQLL_ORM() Export
|
||||
CLI_SQLite_GetRecords(TestParameters);
|
||||
CLI_SQLite_UpdateRecords(TestParameters);
|
||||
CLI_SQLite_DeleteRecords(TestParameters);
|
||||
CLI_SQLite_ClearTable(TestParameters);
|
||||
CLI_SQLite_GetTableInformation(TestParameters);
|
||||
CLI_SQLite_AddTableColumn(TestParameters);
|
||||
CLI_SQLite_DeleteTableColumn(TestParameters);
|
||||
CLI_SQLite_ClearTable(TestParameters);
|
||||
CLI_SQLite_EnsureTable(TestParameters);
|
||||
CLI_SQLite_DeleteTable(TestParameters);
|
||||
CLI_SQLite_GetRecordsFilterStrucutre(TestParameters);
|
||||
|
||||
@@ -2378,12 +2379,15 @@ Procedure CLI_MYS_ORM() Export
|
||||
|
||||
CLI_MySQL_CreateDatabase(TestParameters);
|
||||
CLI_MySQL_CreateTable(TestParameters);
|
||||
CLI_MySQL_GetTableInformation(TestParameters);
|
||||
CLI_MySQL_AddRecords(TestParameters);
|
||||
CLI_MySQL_GetRecords(TestParameters);
|
||||
CLI_MySQL_UpdateRecords(TestParameters);
|
||||
CLI_MySQL_DeleteRecords(TestParameters);
|
||||
CLI_MySQL_ClearTable(TestParameters);
|
||||
CLI_MySQL_GetTableInformation(TestParameters);
|
||||
CLI_MySQL_AddTableColumn(TestParameters);
|
||||
CLI_MySQL_DeleteTableColumn(TestParameters);
|
||||
CLI_MySQL_EnsureTable(TestParameters);
|
||||
CLI_MySQL_DeleteTable(TestParameters);
|
||||
CLI_MySQL_DeleteDatabase(TestParameters);
|
||||
CLI_MySQL_GetRecordsFilterStrucutre(TestParameters);
|
||||
@@ -20270,6 +20274,36 @@ Procedure CLI_PostgreSQL_CreateTable(FunctionParameters)
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "CreateTable (exists)", "PostgreSQL");
|
||||
OPI_TestDataRetrieval.Check_ResultFalse(Result);
|
||||
|
||||
Address = "api.athenaeum.digital";
|
||||
Port = "5433";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("addr" , Address);
|
||||
Options.Insert("db" , Base);
|
||||
Options.Insert("login", Login);
|
||||
Options.Insert("pass" , Password);
|
||||
Options.Insert("port" , Port);
|
||||
|
||||
TLSConnectionString = OPI_TestDataRetrieval.ExecuteTestCLI("postgres", "GenerateConnectionString", Options,
|
||||
False);
|
||||
TLSConnectionString = ПолучитьСтрокуИзДвоичныхДанных(TLSConnectionString);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("trust" , False);
|
||||
|
||||
TLSSettings = OPI_TestDataRetrieval.ExecuteTestCLI("postgres", "GetTlsSettings", Options);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("cols" , ColoumnsStruct);
|
||||
Options.Insert("dbc" , TLSConnectionString);
|
||||
Options.Insert("tls" , TLSSettings);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("postgres", "CreateTable", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "CreateTable (TLS)", "PostgreSQL");
|
||||
OPI_TestDataRetrieval.Check_ResultTrue(Result);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CLI_PostgreSQL_GetTableInformation(FunctionParameters)
|
||||
@@ -20852,7 +20886,9 @@ Procedure CLI_PostgreSQL_AddTableColumn(FunctionParameters)
|
||||
Options.Insert("login", Login);
|
||||
Options.Insert("pass" , Password);
|
||||
|
||||
ConnectionString = OPI_TestDataRetrieval.ExecuteTestCLI("postgres", "GenerateConnectionString", Options);
|
||||
ConnectionString = OPI_TestDataRetrieval.ExecuteTestCLI("postgres", "GenerateConnectionString", Options,
|
||||
False);
|
||||
ConnectionString = ПолучитьСтрокуИзДвоичныхДанных(ConnectionString);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
@@ -20894,8 +20930,11 @@ Procedure CLI_PostgreSQL_AddTableColumn(FunctionParameters)
|
||||
Options.Insert("db" , Base);
|
||||
Options.Insert("login", Login);
|
||||
Options.Insert("pass" , Password);
|
||||
Options.Insert("port" , Port);
|
||||
|
||||
TLSConnectionString = OPI_TestDataRetrieval.ExecuteTestCLI("postgres", "GenerateConnectionString", Options);
|
||||
TLSConnectionString = OPI_TestDataRetrieval.ExecuteTestCLI("postgres", "GenerateConnectionString", Options,
|
||||
False);
|
||||
TLSConnectionString = ПолучитьСтрокуИзДвоичныхДанных(TLSConnectionString);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("trust" , False);
|
||||
@@ -20954,7 +20993,9 @@ Procedure CLI_PostgreSQL_DeleteTableColumn(FunctionParameters)
|
||||
Options.Insert("login", Login);
|
||||
Options.Insert("pass" , Password);
|
||||
|
||||
ConnectionString = OPI_TestDataRetrieval.ExecuteTestCLI("postgres", "GenerateConnectionString", Options);
|
||||
ConnectionString = OPI_TestDataRetrieval.ExecuteTestCLI("postgres", "GenerateConnectionString", Options,
|
||||
False);
|
||||
ConnectionString = ПолучитьСтрокуИзДвоичныхДанных(ConnectionString);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
@@ -20994,8 +21035,11 @@ Procedure CLI_PostgreSQL_DeleteTableColumn(FunctionParameters)
|
||||
Options.Insert("db" , Base);
|
||||
Options.Insert("login", Login);
|
||||
Options.Insert("pass" , Password);
|
||||
Options.Insert("port" , Port);
|
||||
|
||||
TLSConnectionString = OPI_TestDataRetrieval.ExecuteTestCLI("postgres", "GenerateConnectionString", Options);
|
||||
TLSConnectionString = OPI_TestDataRetrieval.ExecuteTestCLI("postgres", "GenerateConnectionString", Options,
|
||||
False);
|
||||
TLSConnectionString = ПолучитьСтрокуИзДвоичныхДанных(TLSConnectionString);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("trust" , False);
|
||||
@@ -21053,7 +21097,9 @@ Procedure CLI_PostgreSQL_EnsureTable(FunctionParameters)
|
||||
Options.Insert("login", Login);
|
||||
Options.Insert("pass" , Password);
|
||||
|
||||
ConnectionString = OPI_TestDataRetrieval.ExecuteTestCLI("postgres", "GenerateConnectionString", Options);
|
||||
ConnectionString = OPI_TestDataRetrieval.ExecuteTestCLI("postgres", "GenerateConnectionString", Options,
|
||||
False);
|
||||
ConnectionString = ПолучитьСтрокуИзДвоичныхДанных(ConnectionString);
|
||||
|
||||
ColoumnsStruct = New Structure;
|
||||
ColoumnsStruct.Insert("smallint_field" , "SMALLINT");
|
||||
@@ -22125,8 +22171,7 @@ Procedure CLI_MySQL_GetTableInformation(FunctionParameters)
|
||||
Options.Insert("login", Login);
|
||||
Options.Insert("pass" , Password);
|
||||
|
||||
ConnectionString = OPI_TestDataRetrieval.ExecuteTestCLI("mysql", "GenerateConnectionString", Options,
|
||||
False);
|
||||
ConnectionString = OPI_TestDataRetrieval.ExecuteTestCLI("mysql", "GenerateConnectionString", Options, False);
|
||||
ConnectionString = ПолучитьСтрокуИзДвоичныхДанных(ConnectionString);
|
||||
|
||||
Table = "testtable";
|
||||
@@ -22155,6 +22200,355 @@ Procedure CLI_MySQL_GetTableInformation(FunctionParameters)
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CLI_MySQL_AddTableColumn(FunctionParameters)
|
||||
|
||||
Address = FunctionParameters["PG_IP"];
|
||||
Login = "bayselonarrend";
|
||||
Password = FunctionParameters["PG_Password"];
|
||||
|
||||
Base = "testbase1";
|
||||
Table = "testtable";
|
||||
Name = "new_field";
|
||||
DataType = "MEDIUMTEXT";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("addr" , Address);
|
||||
Options.Insert("db" , Base);
|
||||
Options.Insert("login", Login);
|
||||
Options.Insert("pass" , Password);
|
||||
|
||||
ConnectionString = OPI_TestDataRetrieval.ExecuteTestCLI("mysql", "GenerateConnectionString", Options,
|
||||
False);
|
||||
ConnectionString = ПолучитьСтрокуИзДвоичныхДанных(ConnectionString);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("name" , Name);
|
||||
Options.Insert("type" , DataType);
|
||||
Options.Insert("dbc" , ConnectionString);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("mysql", "AddTableColumn", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "AddTableColumn", "MySQL");
|
||||
OPI_TestDataRetrieval.Check_ResultTrue(Result);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("dbc" , ConnectionString);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("mysql", "GetTableInformation", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "AddTableColumn (check))", "MySQL");
|
||||
|
||||
Found = False;
|
||||
|
||||
For Each Coloumn In Result["data"] Do
|
||||
|
||||
If Coloumn["COLUMN_NAME"] = Name Then
|
||||
|
||||
CurrentType = ПолучитьСтрокуИзДвоичныхДанных(Base64Value(Coloumn["DATA_TYPE"]["BYTES"]));
|
||||
OPI_TestDataRetrieval.Check_Equality(Lower(DataType), Lower(CurrentType));
|
||||
|
||||
Found = True;
|
||||
|
||||
EndIf;
|
||||
|
||||
EndDo;
|
||||
|
||||
OPI_TestDataRetrieval.Check_Equality(Found, True);
|
||||
|
||||
Address = "api.athenaeum.digital";
|
||||
Port = "3307";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("addr" , Address);
|
||||
Options.Insert("db" , Base);
|
||||
Options.Insert("login", Login);
|
||||
Options.Insert("pass" , Password);
|
||||
Options.Insert("port" , Port);
|
||||
|
||||
TLSConnectionString = OPI_TestDataRetrieval.ExecuteTestCLI("mysql", "GenerateConnectionString", Options,
|
||||
False);
|
||||
TLSConnectionString = ПолучитьСтрокуИзДвоичныхДанных(TLSConnectionString);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("trust" , True);
|
||||
|
||||
TLSSettings = OPI_TestDataRetrieval.ExecuteTestCLI("mysql", "GetTlsSettings", Options);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("name" , Name);
|
||||
Options.Insert("type" , DataType);
|
||||
Options.Insert("dbc" , TLSConnectionString);
|
||||
Options.Insert("tls" , TLSSettings);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("mysql", "AddTableColumn", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "AddTableColumn (TLS)", "MySQL");
|
||||
OPI_TestDataRetrieval.Check_ResultTrue(Result);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("dbc" , TLSConnectionString);
|
||||
Options.Insert("tls" , TLSSettings);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("mysql", "GetTableInformation", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "AddTableColumn (TLS, check)", "MySQL");
|
||||
|
||||
Found = False;
|
||||
|
||||
For Each Coloumn In Result["data"] Do
|
||||
|
||||
If Coloumn["COLUMN_NAME"] = Name Then
|
||||
|
||||
CurrentType = ПолучитьСтрокуИзДвоичныхДанных(Base64Value(Coloumn["DATA_TYPE"]["BYTES"]));
|
||||
OPI_TestDataRetrieval.Check_Equality(Lower(DataType), Lower(CurrentType));
|
||||
|
||||
Found = True;
|
||||
|
||||
EndIf;
|
||||
|
||||
EndDo;
|
||||
|
||||
OPI_TestDataRetrieval.Check_Equality(Found, True);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CLI_MySQL_DeleteTableColumn(FunctionParameters)
|
||||
|
||||
Address = FunctionParameters["PG_IP"];
|
||||
Login = "bayselonarrend";
|
||||
Password = FunctionParameters["PG_Password"];
|
||||
|
||||
Base = "testbase1";
|
||||
Table = "testtable";
|
||||
Name = "new_field";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("addr" , Address);
|
||||
Options.Insert("db" , Base);
|
||||
Options.Insert("login", Login);
|
||||
Options.Insert("pass" , Password);
|
||||
|
||||
ConnectionString = OPI_TestDataRetrieval.ExecuteTestCLI("mysql", "GenerateConnectionString", Options,
|
||||
False);
|
||||
ConnectionString = ПолучитьСтрокуИзДвоичныхДанных(ConnectionString);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("name" , Name);
|
||||
Options.Insert("dbc" , ConnectionString);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("mysql", "DeleteTableColumn", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "DeleteTableColumn", "MySQL");
|
||||
OPI_TestDataRetrieval.Check_ResultTrue(Result);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("dbc" , ConnectionString);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("mysql", "GetTableInformation", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "DeleteTableColumn (check))", "MySQL");
|
||||
|
||||
Found = False;
|
||||
|
||||
For Each Coloumn In Result["data"] Do
|
||||
|
||||
If Coloumn["COLUMN_NAME"] = Name Then
|
||||
Found = True;
|
||||
EndIf;
|
||||
|
||||
EndDo;
|
||||
|
||||
OPI_TestDataRetrieval.Check_Equality(Found, False);
|
||||
|
||||
Address = "api.athenaeum.digital";
|
||||
Port = "3307";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("addr" , Address);
|
||||
Options.Insert("db" , Base);
|
||||
Options.Insert("login", Login);
|
||||
Options.Insert("pass" , Password);
|
||||
Options.Insert("port" , Port);
|
||||
|
||||
TLSConnectionString = OPI_TestDataRetrieval.ExecuteTestCLI("mysql", "GenerateConnectionString", Options,
|
||||
False);
|
||||
TLSConnectionString = ПолучитьСтрокуИзДвоичныхДанных(TLSConnectionString);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("trust" , True);
|
||||
|
||||
TLSSettings = OPI_TestDataRetrieval.ExecuteTestCLI("mysql", "GetTlsSettings", Options);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("name" , Name);
|
||||
Options.Insert("dbc" , TLSConnectionString);
|
||||
Options.Insert("tls" , TLSSettings);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("mysql", "DeleteTableColumn", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "DeleteTableColumn (TLS)", "MySQL");
|
||||
OPI_TestDataRetrieval.Check_ResultTrue(Result);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("dbc" , TLSConnectionString);
|
||||
Options.Insert("tls" , TLSSettings);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("mysql", "GetTableInformation", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "DeleteTableColumn (TLS, check)", "MySQL");
|
||||
|
||||
Found = False;
|
||||
|
||||
For Each Coloumn In Result["data"] Do
|
||||
|
||||
If Coloumn["COLUMN_NAME"] = Name Then
|
||||
Found = True;
|
||||
EndIf;
|
||||
|
||||
EndDo;
|
||||
|
||||
OPI_TestDataRetrieval.Check_Equality(Found, False);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CLI_MySQL_EnsureTable(FunctionParameters)
|
||||
|
||||
Address = FunctionParameters["PG_IP"];
|
||||
Login = "bayselonarrend";
|
||||
Password = FunctionParameters["PG_Password"];
|
||||
|
||||
Base = "testbase1";
|
||||
Table = "testtable";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("addr" , Address);
|
||||
Options.Insert("db" , Base);
|
||||
Options.Insert("login", Login);
|
||||
Options.Insert("pass" , Password);
|
||||
|
||||
ConnectionString = OPI_TestDataRetrieval.ExecuteTestCLI("mysql", "GenerateConnectionString", Options,
|
||||
False);
|
||||
ConnectionString = ПолучитьСтрокуИзДвоичныхДанных(ConnectionString);
|
||||
|
||||
ColoumnsStruct = New Structure;
|
||||
ColoumnsStruct.Insert("smallint_field" , "SMALLINT");
|
||||
ColoumnsStruct.Insert("double_field" , "DOUBLE");
|
||||
ColoumnsStruct.Insert("bigint_field" , "BIGINT");
|
||||
ColoumnsStruct.Insert("custom_field" , "TEXT");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("cols" , ColoumnsStruct);
|
||||
Options.Insert("dbc" , ConnectionString);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("mysql", "EnsureTable", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "EnsureTable", "MySQL");
|
||||
OPI_TestDataRetrieval.Check_ResultTrue(Result);
|
||||
OPI_TestDataRetrieval.Check_True(Result["commit"]["result"]);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("dbc" , ConnectionString);
|
||||
|
||||
Check = OPI_TestDataRetrieval.ExecuteTestCLI("mysql", "GetTableInformation", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Check, "EnsureTable (check)", "MySQL");
|
||||
OPI_TestDataRetrieval.Check_ResultTrue(Check);
|
||||
OPI_TestDataRetrieval.Check_Array(Check["data"], ColoumnsStruct.Count());
|
||||
|
||||
For Each Coloumn In Check["data"] Do
|
||||
CurrentType = ПолучитьСтрокуИзДвоичныхДанных(Base64Value(Coloumn["DATA_TYPE"]["BYTES"]));
|
||||
OPI_TestDataRetrieval.Check_Equality(Lower(CurrentType), Lower(ColoumnsStruct[Coloumn["COLUMN_NAME"]]));
|
||||
EndDo;
|
||||
|
||||
Table = "test_new";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("cols" , ColoumnsStruct);
|
||||
Options.Insert("dbc" , ConnectionString);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("mysql", "EnsureTable", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "EnsureTable (new))", "MySQL");
|
||||
OPI_TestDataRetrieval.Check_ResultTrue(Result);
|
||||
OPI_TestDataRetrieval.Check_True(Result["commit"]["result"]);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("dbc" , ConnectionString);
|
||||
|
||||
Check = OPI_TestDataRetrieval.ExecuteTestCLI("mysql", "GetTableInformation", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Check, "EnsureTable (new, check)", "MySQL");
|
||||
OPI_TestDataRetrieval.Check_ResultTrue(Check);
|
||||
OPI_TestDataRetrieval.Check_Array(Check["data"], ColoumnsStruct.Count());
|
||||
|
||||
For Each Coloumn In Check["data"] Do
|
||||
CurrentType = ПолучитьСтрокуИзДвоичныхДанных(Base64Value(Coloumn["DATA_TYPE"]["BYTES"]));
|
||||
OPI_TestDataRetrieval.Check_Equality(Lower(CurrentType), Lower(ColoumnsStruct[Coloumn["COLUMN_NAME"]]));
|
||||
EndDo;
|
||||
|
||||
Address = "api.athenaeum.digital";
|
||||
Port = "3307";
|
||||
|
||||
Table = "testtable";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("addr" , Address);
|
||||
Options.Insert("db" , Base);
|
||||
Options.Insert("login", Login);
|
||||
Options.Insert("pass" , Password);
|
||||
Options.Insert("port" , Port);
|
||||
|
||||
TLSConnectionString = OPI_TestDataRetrieval.ExecuteTestCLI("mysql", "GenerateConnectionString", Options,
|
||||
False);
|
||||
TLSConnectionString = ПолучитьСтрокуИзДвоичныхДанных(TLSConnectionString);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("trust" , True);
|
||||
|
||||
TLSSettings = OPI_TestDataRetrieval.ExecuteTestCLI("mysql", "GetTlsSettings", Options);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("cols" , ColoumnsStruct);
|
||||
Options.Insert("dbc" , TLSConnectionString);
|
||||
Options.Insert("tls" , TLSSettings);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("mysql", "EnsureTable", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "EnsureTable (TLS)", "MySQL");
|
||||
OPI_TestDataRetrieval.Check_ResultTrue(Result);
|
||||
OPI_TestDataRetrieval.Check_True(Result["commit"]["result"]);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("dbc" , TLSConnectionString);
|
||||
Options.Insert("tls" , TLSSettings);
|
||||
|
||||
Check = OPI_TestDataRetrieval.ExecuteTestCLI("mysql", "GetTableInformation", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Check, "EnsureTable (TLS, check)", "MySQL");
|
||||
OPI_TestDataRetrieval.Check_ResultTrue(Check);
|
||||
OPI_TestDataRetrieval.Check_Array(Check["data"], ColoumnsStruct.Count());
|
||||
|
||||
For Each Coloumn In Check["data"] Do
|
||||
CurrentType = ПолучитьСтрокуИзДвоичныхДанных(Base64Value(Coloumn["DATA_TYPE"]["BYTES"]));
|
||||
OPI_TestDataRetrieval.Check_Equality(Lower(CurrentType), Lower(ColoumnsStruct[Coloumn["COLUMN_NAME"]]));
|
||||
EndDo;
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region GreenAPI
|
||||
|
||||
4
src/en/OInt/tools/Modules/OPI_SQLQueries.os
vendored
4
src/en/OInt/tools/Modules/OPI_SQLQueries.os
vendored
@@ -140,6 +140,10 @@ Function EnsureTable(Val Module
|
||||
, Val Connection = ""
|
||||
, Val Tls = Undefined) Export
|
||||
|
||||
ErrorText = "The column structure is not a valid key-value structure";
|
||||
OPI_TypeConversion.GetKeyValueCollection(ColoumnsStruct, ErrorText);
|
||||
OPI_TypeConversion.GetLine(Table);
|
||||
|
||||
ResultStrucutre = New Structure("result", True);
|
||||
|
||||
Connection = CreateConnection(Module, Connection, Tls);
|
||||
|
||||
@@ -332,7 +332,7 @@ EndFunction
|
||||
// Parameters:
|
||||
// Table - String - Table name - table
|
||||
// ColoumnsStruct - Structure Of KeyAndValue - Column structure: Key > Name, Value > Data type - cols
|
||||
// Connection - String, Arbitrary - Existing connection or database path - db
|
||||
// Connection - String, Arbitrary - Existing connection or database path - dbc
|
||||
// Tls - Structure Of KeyAndValue - TLS settings, if necessary. See GetTlsSettings - tls
|
||||
//
|
||||
// Returns:
|
||||
|
||||
@@ -375,7 +375,7 @@ EndFunction
|
||||
// Parameters:
|
||||
// Table - String - Table name - table
|
||||
// ColoumnsStruct - Structure Of KeyAndValue - Column structure: Key > Name, Value > Data type - cols
|
||||
// Connection - String, Arbitrary - Existing connection or database path - db
|
||||
// Connection - String, Arbitrary - Existing connection or database path - dbc
|
||||
// Tls - Structure Of KeyAndValue - TLS settings, if necessary. See GetTlsSettings - tls
|
||||
//
|
||||
// Returns:
|
||||
|
||||
@@ -140,6 +140,10 @@ Function EnsureTable(Val Module
|
||||
, Val Connection = ""
|
||||
, Val Tls = Undefined) Export
|
||||
|
||||
ErrorText = "The column structure is not a valid key-value structure";
|
||||
OPI_TypeConversion.GetKeyValueCollection(ColoumnsStruct, ErrorText);
|
||||
OPI_TypeConversion.GetLine(Table);
|
||||
|
||||
ResultStrucutre = New Structure("result", True);
|
||||
|
||||
Connection = CreateConnection(Module, Connection, Tls);
|
||||
|
||||
145
src/en/OPI/src/CommonModules/OPI_Tests/Module.bsl
vendored
145
src/en/OPI/src/CommonModules/OPI_Tests/Module.bsl
vendored
@@ -2430,6 +2430,8 @@ Procedure MYS_ORM() Export
|
||||
MySQL_ClearTable(TestParameters);
|
||||
MySQL_GetTableInformation(TestParameters);
|
||||
MySQL_AddTableColumn(TestParameters);
|
||||
MySQL_DeleteTableColumn(TestParameters);
|
||||
MySQL_EnsureTable(TestParameters);
|
||||
MySQL_DeleteTable(TestParameters);
|
||||
MySQL_DeleteDatabase(TestParameters);
|
||||
MySQL_GetRecordsFilterStrucutre(TestParameters);
|
||||
@@ -20078,6 +20080,149 @@ Procedure MySQL_AddTableColumn(FunctionParameters)
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure MySQL_DeleteTableColumn(FunctionParameters)
|
||||
|
||||
Address = FunctionParameters["PG_IP"];
|
||||
Login = "bayselonarrend";
|
||||
Password = FunctionParameters["PG_Password"];
|
||||
|
||||
Base = "testbase1";
|
||||
Table = "testtable";
|
||||
Name = "new_field";
|
||||
|
||||
ConnectionString = OPI_MySQL.GenerateConnectionString(Address, Base, Login, Password);
|
||||
|
||||
Result = OPI_MySQL.DeleteTableColumn(Table, Name, ConnectionString);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "DeleteTableColumn", "MySQL");
|
||||
OPI_TestDataRetrieval.Check_ResultTrue(Result);
|
||||
|
||||
Result = OPI_MySQL.GetTableInformation(Table, ConnectionString);
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "DeleteTableColumn (check))", "MySQL");
|
||||
|
||||
Found = False;
|
||||
|
||||
For Each Coloumn In Result["data"] Do
|
||||
|
||||
If Coloumn["COLUMN_NAME"] = Name Then
|
||||
Found = True;
|
||||
EndIf;
|
||||
|
||||
EndDo;
|
||||
|
||||
OPI_TestDataRetrieval.Check_Equality(Found, False);
|
||||
|
||||
Address = "api.athenaeum.digital";
|
||||
Port = "3307";
|
||||
|
||||
TLSConnectionString = OPI_MySQL.GenerateConnectionString(Address, Base, Login, Password, Port);
|
||||
TLSSettings = OPI_MySQL.GetTlsSettings(False);
|
||||
|
||||
Result = OPI_MySQL.DeleteTableColumn(Table, Name, TLSConnectionString, TLSSettings);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "DeleteTableColumn (TLS)", "MySQL");
|
||||
OPI_TestDataRetrieval.Check_ResultTrue(Result);
|
||||
|
||||
Result = OPI_MySQL.GetTableInformation(Table, TLSConnectionString, TLSSettings);
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "DeleteTableColumn (TLS, check)", "MySQL");
|
||||
|
||||
Found = False;
|
||||
|
||||
For Each Coloumn In Result["data"] Do
|
||||
|
||||
If Coloumn["COLUMN_NAME"] = Name Then
|
||||
Found = True;
|
||||
EndIf;
|
||||
|
||||
EndDo;
|
||||
|
||||
OPI_TestDataRetrieval.Check_Equality(Found, False);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure MySQL_EnsureTable(FunctionParameters)
|
||||
|
||||
Address = FunctionParameters["PG_IP"];
|
||||
Login = "bayselonarrend";
|
||||
Password = FunctionParameters["PG_Password"];
|
||||
|
||||
Base = "testbase1";
|
||||
Table = "testtable";
|
||||
|
||||
ConnectionString = OPI_MySQL.GenerateConnectionString(Address, Base, Login, Password);
|
||||
|
||||
ColoumnsStruct = New Structure;
|
||||
ColoumnsStruct.Insert("smallint_field" , "SMALLINT");
|
||||
ColoumnsStruct.Insert("double_field" , "DOUBLE");
|
||||
ColoumnsStruct.Insert("bigint_field" , "BIGINT");
|
||||
ColoumnsStruct.Insert("custom_field" , "TEXT");
|
||||
|
||||
Result = OPI_MySQL.EnsureTable(Table, ColoumnsStruct, ConnectionString);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "EnsureTable", "MySQL");
|
||||
OPI_TestDataRetrieval.Check_ResultTrue(Result);
|
||||
OPI_TestDataRetrieval.Check_True(Result["commit"]["result"]);
|
||||
|
||||
Check = OPI_MySQL.GetTableInformation(Table, ConnectionString);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Check, "EnsureTable (check)", "MySQL");
|
||||
OPI_TestDataRetrieval.Check_ResultTrue(Check);
|
||||
OPI_TestDataRetrieval.Check_Array(Check["data"], ColoumnsStruct.Count());
|
||||
|
||||
For Each Coloumn In Check["data"] Do
|
||||
CurrentType = GetStringFromBinaryData(Base64Value(Coloumn["DATA_TYPE"]["BYTES"]));
|
||||
OPI_TestDataRetrieval.Check_Equality(Lower(CurrentType), Lower(ColoumnsStruct[Coloumn["COLUMN_NAME"]]));
|
||||
EndDo;
|
||||
|
||||
Table = "test_new";
|
||||
|
||||
Result = OPI_MySQL.EnsureTable(Table, ColoumnsStruct, ConnectionString);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "EnsureTable (new))", "MySQL");
|
||||
OPI_TestDataRetrieval.Check_ResultTrue(Result);
|
||||
OPI_TestDataRetrieval.Check_True(Result["commit"]["result"]);
|
||||
|
||||
Check = OPI_MySQL.GetTableInformation(Table, ConnectionString);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Check, "EnsureTable (new, check)", "MySQL");
|
||||
OPI_TestDataRetrieval.Check_ResultTrue(Check);
|
||||
OPI_TestDataRetrieval.Check_Array(Check["data"], ColoumnsStruct.Count());
|
||||
|
||||
For Each Coloumn In Check["data"] Do
|
||||
CurrentType = GetStringFromBinaryData(Base64Value(Coloumn["DATA_TYPE"]["BYTES"]));
|
||||
OPI_TestDataRetrieval.Check_Equality(Lower(CurrentType), Lower(ColoumnsStruct[Coloumn["COLUMN_NAME"]]));
|
||||
EndDo;
|
||||
|
||||
Address = "api.athenaeum.digital";
|
||||
Port = "3307";
|
||||
|
||||
Table = "testtable";
|
||||
TLSConnectionString = OPI_MySQL.GenerateConnectionString(Address, Base, Login, Password, Port);
|
||||
TLSSettings = OPI_MySQL.GetTlsSettings(False);
|
||||
|
||||
Result = OPI_MySQL.EnsureTable(Table, ColoumnsStruct, TLSConnectionString, TLSSettings);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "EnsureTable (TLS)", "MySQL");
|
||||
OPI_TestDataRetrieval.Check_ResultTrue(Result);
|
||||
OPI_TestDataRetrieval.Check_True(Result["commit"]["result"]);
|
||||
|
||||
Check = OPI_MySQL.GetTableInformation(Table, TLSConnectionString, TLSSettings);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Check, "EnsureTable (TLS, check)", "MySQL");
|
||||
OPI_TestDataRetrieval.Check_ResultTrue(Check);
|
||||
OPI_TestDataRetrieval.Check_Array(Check["data"], ColoumnsStruct.Count());
|
||||
|
||||
For Each Coloumn In Check["data"] Do
|
||||
CurrentType = GetStringFromBinaryData(Base64Value(Coloumn["DATA_TYPE"]["BYTES"]));
|
||||
OPI_TestDataRetrieval.Check_Equality(Lower(CurrentType), Lower(ColoumnsStruct[Coloumn["COLUMN_NAME"]]));
|
||||
EndDo;
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region GreenAPI
|
||||
|
||||
412
src/en/OPI/src/CommonModules/OPI_TestsCLI/Module.bsl
vendored
412
src/en/OPI/src/CommonModules/OPI_TestsCLI/Module.bsl
vendored
@@ -2293,10 +2293,11 @@ Procedure CLI_SQLL_ORM() Export
|
||||
CLI_SQLite_GetRecords(TestParameters);
|
||||
CLI_SQLite_UpdateRecords(TestParameters);
|
||||
CLI_SQLite_DeleteRecords(TestParameters);
|
||||
CLI_SQLite_ClearTable(TestParameters);
|
||||
CLI_SQLite_GetTableInformation(TestParameters);
|
||||
CLI_SQLite_AddTableColumn(TestParameters);
|
||||
CLI_SQLite_DeleteTableColumn(TestParameters);
|
||||
CLI_SQLite_ClearTable(TestParameters);
|
||||
CLI_SQLite_EnsureTable(TestParameters);
|
||||
CLI_SQLite_DeleteTable(TestParameters);
|
||||
CLI_SQLite_GetRecordsFilterStrucutre(TestParameters);
|
||||
|
||||
@@ -2378,12 +2379,15 @@ Procedure CLI_MYS_ORM() Export
|
||||
|
||||
CLI_MySQL_CreateDatabase(TestParameters);
|
||||
CLI_MySQL_CreateTable(TestParameters);
|
||||
CLI_MySQL_GetTableInformation(TestParameters);
|
||||
CLI_MySQL_AddRecords(TestParameters);
|
||||
CLI_MySQL_GetRecords(TestParameters);
|
||||
CLI_MySQL_UpdateRecords(TestParameters);
|
||||
CLI_MySQL_DeleteRecords(TestParameters);
|
||||
CLI_MySQL_ClearTable(TestParameters);
|
||||
CLI_MySQL_GetTableInformation(TestParameters);
|
||||
CLI_MySQL_AddTableColumn(TestParameters);
|
||||
CLI_MySQL_DeleteTableColumn(TestParameters);
|
||||
CLI_MySQL_EnsureTable(TestParameters);
|
||||
CLI_MySQL_DeleteTable(TestParameters);
|
||||
CLI_MySQL_DeleteDatabase(TestParameters);
|
||||
CLI_MySQL_GetRecordsFilterStrucutre(TestParameters);
|
||||
@@ -20270,6 +20274,36 @@ Procedure CLI_PostgreSQL_CreateTable(FunctionParameters)
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "CreateTable (exists)", "PostgreSQL");
|
||||
OPI_TestDataRetrieval.Check_ResultFalse(Result);
|
||||
|
||||
Address = "api.athenaeum.digital";
|
||||
Port = "5433";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("addr" , Address);
|
||||
Options.Insert("db" , Base);
|
||||
Options.Insert("login", Login);
|
||||
Options.Insert("pass" , Password);
|
||||
Options.Insert("port" , Port);
|
||||
|
||||
TLSConnectionString = OPI_TestDataRetrieval.ExecuteTestCLI("postgres", "GenerateConnectionString", Options,
|
||||
False);
|
||||
TLSConnectionString = GetStringFromBinaryData(TLSConnectionString);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("trust" , False);
|
||||
|
||||
TLSSettings = OPI_TestDataRetrieval.ExecuteTestCLI("postgres", "GetTlsSettings", Options);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("cols" , ColoumnsStruct);
|
||||
Options.Insert("dbc" , TLSConnectionString);
|
||||
Options.Insert("tls" , TLSSettings);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("postgres", "CreateTable", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "CreateTable (TLS)", "PostgreSQL");
|
||||
OPI_TestDataRetrieval.Check_ResultTrue(Result);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CLI_PostgreSQL_GetTableInformation(FunctionParameters)
|
||||
@@ -20852,7 +20886,9 @@ Procedure CLI_PostgreSQL_AddTableColumn(FunctionParameters)
|
||||
Options.Insert("login", Login);
|
||||
Options.Insert("pass" , Password);
|
||||
|
||||
ConnectionString = OPI_TestDataRetrieval.ExecuteTestCLI("postgres", "GenerateConnectionString", Options);
|
||||
ConnectionString = OPI_TestDataRetrieval.ExecuteTestCLI("postgres", "GenerateConnectionString", Options,
|
||||
False);
|
||||
ConnectionString = GetStringFromBinaryData(ConnectionString);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
@@ -20894,8 +20930,11 @@ Procedure CLI_PostgreSQL_AddTableColumn(FunctionParameters)
|
||||
Options.Insert("db" , Base);
|
||||
Options.Insert("login", Login);
|
||||
Options.Insert("pass" , Password);
|
||||
Options.Insert("port" , Port);
|
||||
|
||||
TLSConnectionString = OPI_TestDataRetrieval.ExecuteTestCLI("postgres", "GenerateConnectionString", Options);
|
||||
TLSConnectionString = OPI_TestDataRetrieval.ExecuteTestCLI("postgres", "GenerateConnectionString", Options,
|
||||
False);
|
||||
TLSConnectionString = GetStringFromBinaryData(TLSConnectionString);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("trust" , False);
|
||||
@@ -20954,7 +20993,9 @@ Procedure CLI_PostgreSQL_DeleteTableColumn(FunctionParameters)
|
||||
Options.Insert("login", Login);
|
||||
Options.Insert("pass" , Password);
|
||||
|
||||
ConnectionString = OPI_TestDataRetrieval.ExecuteTestCLI("postgres", "GenerateConnectionString", Options);
|
||||
ConnectionString = OPI_TestDataRetrieval.ExecuteTestCLI("postgres", "GenerateConnectionString", Options,
|
||||
False);
|
||||
ConnectionString = GetStringFromBinaryData(ConnectionString);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
@@ -20994,8 +21035,11 @@ Procedure CLI_PostgreSQL_DeleteTableColumn(FunctionParameters)
|
||||
Options.Insert("db" , Base);
|
||||
Options.Insert("login", Login);
|
||||
Options.Insert("pass" , Password);
|
||||
Options.Insert("port" , Port);
|
||||
|
||||
TLSConnectionString = OPI_TestDataRetrieval.ExecuteTestCLI("postgres", "GenerateConnectionString", Options);
|
||||
TLSConnectionString = OPI_TestDataRetrieval.ExecuteTestCLI("postgres", "GenerateConnectionString", Options,
|
||||
False);
|
||||
TLSConnectionString = GetStringFromBinaryData(TLSConnectionString);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("trust" , False);
|
||||
@@ -21053,7 +21097,9 @@ Procedure CLI_PostgreSQL_EnsureTable(FunctionParameters)
|
||||
Options.Insert("login", Login);
|
||||
Options.Insert("pass" , Password);
|
||||
|
||||
ConnectionString = OPI_TestDataRetrieval.ExecuteTestCLI("postgres", "GenerateConnectionString", Options);
|
||||
ConnectionString = OPI_TestDataRetrieval.ExecuteTestCLI("postgres", "GenerateConnectionString", Options,
|
||||
False);
|
||||
ConnectionString = GetStringFromBinaryData(ConnectionString);
|
||||
|
||||
ColoumnsStruct = New Structure;
|
||||
ColoumnsStruct.Insert("smallint_field" , "SMALLINT");
|
||||
@@ -22125,8 +22171,7 @@ Procedure CLI_MySQL_GetTableInformation(FunctionParameters)
|
||||
Options.Insert("login", Login);
|
||||
Options.Insert("pass" , Password);
|
||||
|
||||
ConnectionString = OPI_TestDataRetrieval.ExecuteTestCLI("mysql", "GenerateConnectionString", Options,
|
||||
False);
|
||||
ConnectionString = OPI_TestDataRetrieval.ExecuteTestCLI("mysql", "GenerateConnectionString", Options, False);
|
||||
ConnectionString = GetStringFromBinaryData(ConnectionString);
|
||||
|
||||
Table = "testtable";
|
||||
@@ -22155,6 +22200,355 @@ Procedure CLI_MySQL_GetTableInformation(FunctionParameters)
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CLI_MySQL_AddTableColumn(FunctionParameters)
|
||||
|
||||
Address = FunctionParameters["PG_IP"];
|
||||
Login = "bayselonarrend";
|
||||
Password = FunctionParameters["PG_Password"];
|
||||
|
||||
Base = "testbase1";
|
||||
Table = "testtable";
|
||||
Name = "new_field";
|
||||
DataType = "MEDIUMTEXT";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("addr" , Address);
|
||||
Options.Insert("db" , Base);
|
||||
Options.Insert("login", Login);
|
||||
Options.Insert("pass" , Password);
|
||||
|
||||
ConnectionString = OPI_TestDataRetrieval.ExecuteTestCLI("mysql", "GenerateConnectionString", Options,
|
||||
False);
|
||||
ConnectionString = GetStringFromBinaryData(ConnectionString);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("name" , Name);
|
||||
Options.Insert("type" , DataType);
|
||||
Options.Insert("dbc" , ConnectionString);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("mysql", "AddTableColumn", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "AddTableColumn", "MySQL");
|
||||
OPI_TestDataRetrieval.Check_ResultTrue(Result);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("dbc" , ConnectionString);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("mysql", "GetTableInformation", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "AddTableColumn (check))", "MySQL");
|
||||
|
||||
Found = False;
|
||||
|
||||
For Each Coloumn In Result["data"] Do
|
||||
|
||||
If Coloumn["COLUMN_NAME"] = Name Then
|
||||
|
||||
CurrentType = GetStringFromBinaryData(Base64Value(Coloumn["DATA_TYPE"]["BYTES"]));
|
||||
OPI_TestDataRetrieval.Check_Equality(Lower(DataType), Lower(CurrentType));
|
||||
|
||||
Found = True;
|
||||
|
||||
EndIf;
|
||||
|
||||
EndDo;
|
||||
|
||||
OPI_TestDataRetrieval.Check_Equality(Found, True);
|
||||
|
||||
Address = "api.athenaeum.digital";
|
||||
Port = "3307";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("addr" , Address);
|
||||
Options.Insert("db" , Base);
|
||||
Options.Insert("login", Login);
|
||||
Options.Insert("pass" , Password);
|
||||
Options.Insert("port" , Port);
|
||||
|
||||
TLSConnectionString = OPI_TestDataRetrieval.ExecuteTestCLI("mysql", "GenerateConnectionString", Options,
|
||||
False);
|
||||
TLSConnectionString = GetStringFromBinaryData(TLSConnectionString);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("trust" , True);
|
||||
|
||||
TLSSettings = OPI_TestDataRetrieval.ExecuteTestCLI("mysql", "GetTlsSettings", Options);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("name" , Name);
|
||||
Options.Insert("type" , DataType);
|
||||
Options.Insert("dbc" , TLSConnectionString);
|
||||
Options.Insert("tls" , TLSSettings);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("mysql", "AddTableColumn", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "AddTableColumn (TLS)", "MySQL");
|
||||
OPI_TestDataRetrieval.Check_ResultTrue(Result);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("dbc" , TLSConnectionString);
|
||||
Options.Insert("tls" , TLSSettings);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("mysql", "GetTableInformation", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "AddTableColumn (TLS, check)", "MySQL");
|
||||
|
||||
Found = False;
|
||||
|
||||
For Each Coloumn In Result["data"] Do
|
||||
|
||||
If Coloumn["COLUMN_NAME"] = Name Then
|
||||
|
||||
CurrentType = GetStringFromBinaryData(Base64Value(Coloumn["DATA_TYPE"]["BYTES"]));
|
||||
OPI_TestDataRetrieval.Check_Equality(Lower(DataType), Lower(CurrentType));
|
||||
|
||||
Found = True;
|
||||
|
||||
EndIf;
|
||||
|
||||
EndDo;
|
||||
|
||||
OPI_TestDataRetrieval.Check_Equality(Found, True);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CLI_MySQL_DeleteTableColumn(FunctionParameters)
|
||||
|
||||
Address = FunctionParameters["PG_IP"];
|
||||
Login = "bayselonarrend";
|
||||
Password = FunctionParameters["PG_Password"];
|
||||
|
||||
Base = "testbase1";
|
||||
Table = "testtable";
|
||||
Name = "new_field";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("addr" , Address);
|
||||
Options.Insert("db" , Base);
|
||||
Options.Insert("login", Login);
|
||||
Options.Insert("pass" , Password);
|
||||
|
||||
ConnectionString = OPI_TestDataRetrieval.ExecuteTestCLI("mysql", "GenerateConnectionString", Options,
|
||||
False);
|
||||
ConnectionString = GetStringFromBinaryData(ConnectionString);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("name" , Name);
|
||||
Options.Insert("dbc" , ConnectionString);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("mysql", "DeleteTableColumn", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "DeleteTableColumn", "MySQL");
|
||||
OPI_TestDataRetrieval.Check_ResultTrue(Result);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("dbc" , ConnectionString);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("mysql", "GetTableInformation", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "DeleteTableColumn (check))", "MySQL");
|
||||
|
||||
Found = False;
|
||||
|
||||
For Each Coloumn In Result["data"] Do
|
||||
|
||||
If Coloumn["COLUMN_NAME"] = Name Then
|
||||
Found = True;
|
||||
EndIf;
|
||||
|
||||
EndDo;
|
||||
|
||||
OPI_TestDataRetrieval.Check_Equality(Found, False);
|
||||
|
||||
Address = "api.athenaeum.digital";
|
||||
Port = "3307";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("addr" , Address);
|
||||
Options.Insert("db" , Base);
|
||||
Options.Insert("login", Login);
|
||||
Options.Insert("pass" , Password);
|
||||
Options.Insert("port" , Port);
|
||||
|
||||
TLSConnectionString = OPI_TestDataRetrieval.ExecuteTestCLI("mysql", "GenerateConnectionString", Options,
|
||||
False);
|
||||
TLSConnectionString = GetStringFromBinaryData(TLSConnectionString);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("trust" , True);
|
||||
|
||||
TLSSettings = OPI_TestDataRetrieval.ExecuteTestCLI("mysql", "GetTlsSettings", Options);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("name" , Name);
|
||||
Options.Insert("dbc" , TLSConnectionString);
|
||||
Options.Insert("tls" , TLSSettings);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("mysql", "DeleteTableColumn", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "DeleteTableColumn (TLS)", "MySQL");
|
||||
OPI_TestDataRetrieval.Check_ResultTrue(Result);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("dbc" , TLSConnectionString);
|
||||
Options.Insert("tls" , TLSSettings);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("mysql", "GetTableInformation", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "DeleteTableColumn (TLS, check)", "MySQL");
|
||||
|
||||
Found = False;
|
||||
|
||||
For Each Coloumn In Result["data"] Do
|
||||
|
||||
If Coloumn["COLUMN_NAME"] = Name Then
|
||||
Found = True;
|
||||
EndIf;
|
||||
|
||||
EndDo;
|
||||
|
||||
OPI_TestDataRetrieval.Check_Equality(Found, False);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CLI_MySQL_EnsureTable(FunctionParameters)
|
||||
|
||||
Address = FunctionParameters["PG_IP"];
|
||||
Login = "bayselonarrend";
|
||||
Password = FunctionParameters["PG_Password"];
|
||||
|
||||
Base = "testbase1";
|
||||
Table = "testtable";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("addr" , Address);
|
||||
Options.Insert("db" , Base);
|
||||
Options.Insert("login", Login);
|
||||
Options.Insert("pass" , Password);
|
||||
|
||||
ConnectionString = OPI_TestDataRetrieval.ExecuteTestCLI("mysql", "GenerateConnectionString", Options,
|
||||
False);
|
||||
ConnectionString = GetStringFromBinaryData(ConnectionString);
|
||||
|
||||
ColoumnsStruct = New Structure;
|
||||
ColoumnsStruct.Insert("smallint_field" , "SMALLINT");
|
||||
ColoumnsStruct.Insert("double_field" , "DOUBLE");
|
||||
ColoumnsStruct.Insert("bigint_field" , "BIGINT");
|
||||
ColoumnsStruct.Insert("custom_field" , "TEXT");
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("cols" , ColoumnsStruct);
|
||||
Options.Insert("dbc" , ConnectionString);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("mysql", "EnsureTable", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "EnsureTable", "MySQL");
|
||||
OPI_TestDataRetrieval.Check_ResultTrue(Result);
|
||||
OPI_TestDataRetrieval.Check_True(Result["commit"]["result"]);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("dbc" , ConnectionString);
|
||||
|
||||
Check = OPI_TestDataRetrieval.ExecuteTestCLI("mysql", "GetTableInformation", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Check, "EnsureTable (check)", "MySQL");
|
||||
OPI_TestDataRetrieval.Check_ResultTrue(Check);
|
||||
OPI_TestDataRetrieval.Check_Array(Check["data"], ColoumnsStruct.Count());
|
||||
|
||||
For Each Coloumn In Check["data"] Do
|
||||
CurrentType = GetStringFromBinaryData(Base64Value(Coloumn["DATA_TYPE"]["BYTES"]));
|
||||
OPI_TestDataRetrieval.Check_Equality(Lower(CurrentType), Lower(ColoumnsStruct[Coloumn["COLUMN_NAME"]]));
|
||||
EndDo;
|
||||
|
||||
Table = "test_new";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("cols" , ColoumnsStruct);
|
||||
Options.Insert("dbc" , ConnectionString);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("mysql", "EnsureTable", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "EnsureTable (new))", "MySQL");
|
||||
OPI_TestDataRetrieval.Check_ResultTrue(Result);
|
||||
OPI_TestDataRetrieval.Check_True(Result["commit"]["result"]);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("dbc" , ConnectionString);
|
||||
|
||||
Check = OPI_TestDataRetrieval.ExecuteTestCLI("mysql", "GetTableInformation", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Check, "EnsureTable (new, check)", "MySQL");
|
||||
OPI_TestDataRetrieval.Check_ResultTrue(Check);
|
||||
OPI_TestDataRetrieval.Check_Array(Check["data"], ColoumnsStruct.Count());
|
||||
|
||||
For Each Coloumn In Check["data"] Do
|
||||
CurrentType = GetStringFromBinaryData(Base64Value(Coloumn["DATA_TYPE"]["BYTES"]));
|
||||
OPI_TestDataRetrieval.Check_Equality(Lower(CurrentType), Lower(ColoumnsStruct[Coloumn["COLUMN_NAME"]]));
|
||||
EndDo;
|
||||
|
||||
Address = "api.athenaeum.digital";
|
||||
Port = "3307";
|
||||
|
||||
Table = "testtable";
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("addr" , Address);
|
||||
Options.Insert("db" , Base);
|
||||
Options.Insert("login", Login);
|
||||
Options.Insert("pass" , Password);
|
||||
Options.Insert("port" , Port);
|
||||
|
||||
TLSConnectionString = OPI_TestDataRetrieval.ExecuteTestCLI("mysql", "GenerateConnectionString", Options,
|
||||
False);
|
||||
TLSConnectionString = GetStringFromBinaryData(TLSConnectionString);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("trust" , True);
|
||||
|
||||
TLSSettings = OPI_TestDataRetrieval.ExecuteTestCLI("mysql", "GetTlsSettings", Options);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("cols" , ColoumnsStruct);
|
||||
Options.Insert("dbc" , TLSConnectionString);
|
||||
Options.Insert("tls" , TLSSettings);
|
||||
|
||||
Result = OPI_TestDataRetrieval.ExecuteTestCLI("mysql", "EnsureTable", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Result, "EnsureTable (TLS)", "MySQL");
|
||||
OPI_TestDataRetrieval.Check_ResultTrue(Result);
|
||||
OPI_TestDataRetrieval.Check_True(Result["commit"]["result"]);
|
||||
|
||||
Options = New Structure;
|
||||
Options.Insert("table", Table);
|
||||
Options.Insert("dbc" , TLSConnectionString);
|
||||
Options.Insert("tls" , TLSSettings);
|
||||
|
||||
Check = OPI_TestDataRetrieval.ExecuteTestCLI("mysql", "GetTableInformation", Options);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLogCLI(Check, "EnsureTable (TLS, check)", "MySQL");
|
||||
OPI_TestDataRetrieval.Check_ResultTrue(Check);
|
||||
OPI_TestDataRetrieval.Check_Array(Check["data"], ColoumnsStruct.Count());
|
||||
|
||||
For Each Coloumn In Check["data"] Do
|
||||
CurrentType = GetStringFromBinaryData(Base64Value(Coloumn["DATA_TYPE"]["BYTES"]));
|
||||
OPI_TestDataRetrieval.Check_Equality(Lower(CurrentType), Lower(ColoumnsStruct[Coloumn["COLUMN_NAME"]]));
|
||||
EndDo;
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region GreenAPI
|
||||
|
||||
@@ -354,7 +354,7 @@
|
||||
NewLine.Module = "OPI_MySQL";
|
||||
NewLine.Method = "EnsureTable";
|
||||
NewLine.SearchMethod = "ENSURETABLE";
|
||||
NewLine.Parameter = "--db";
|
||||
NewLine.Parameter = "--dbc";
|
||||
NewLine.Description = "Existing connection or database path (optional, def. val. - Empty value)";
|
||||
NewLine.Region = "Orm";
|
||||
|
||||
|
||||
@@ -416,7 +416,7 @@
|
||||
NewLine.Module = "OPI_PostgreSQL";
|
||||
NewLine.Method = "EnsureTable";
|
||||
NewLine.SearchMethod = "ENSURETABLE";
|
||||
NewLine.Parameter = "--db";
|
||||
NewLine.Parameter = "--dbc";
|
||||
NewLine.Description = "Existing connection or database path (optional, def. val. - Empty value)";
|
||||
NewLine.Region = "Orm";
|
||||
|
||||
|
||||
2
src/ru/OInt/core/Modules/OPI_MySQL.os
vendored
2
src/ru/OInt/core/Modules/OPI_MySQL.os
vendored
@@ -332,7 +332,7 @@
|
||||
// Параметры:
|
||||
// Таблица - Строка - Имя таблицы - table
|
||||
// СтруктураКолонок - Структура Из КлючИЗначение - Структура колонок: Ключ > имя, Значение > Тип данных - cols
|
||||
// Соединение - Строка, Произвольный - Существующее соединение или путь к базе - db
|
||||
// Соединение - Строка, Произвольный - Существующее соединение или путь к базе - dbc
|
||||
// Tls - Структура Из КлючИЗначение - Настройки TLS, если необходимо. См. ПолучитьНастройкиTls - tls
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
|
||||
2
src/ru/OInt/core/Modules/OPI_PostgreSQL.os
vendored
2
src/ru/OInt/core/Modules/OPI_PostgreSQL.os
vendored
@@ -375,7 +375,7 @@
|
||||
// Параметры:
|
||||
// Таблица - Строка - Имя таблицы - table
|
||||
// СтруктураКолонок - Структура Из КлючИЗначение - Структура колонок: Ключ > имя, Значение > Тип данных - cols
|
||||
// Соединение - Строка, Произвольный - Существующее соединение или путь к базе - db
|
||||
// Соединение - Строка, Произвольный - Существующее соединение или путь к базе - dbc
|
||||
// Tls - Структура Из КлючИЗначение - Настройки TLS, если необходимо. См. ПолучитьНастройкиTls - tls
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
|
||||
145
src/ru/OInt/tests/Modules/internal/OPI_Тесты.os
vendored
145
src/ru/OInt/tests/Modules/internal/OPI_Тесты.os
vendored
@@ -2430,6 +2430,8 @@
|
||||
MySQL_ОчиститьТаблицу(ПараметрыТеста);
|
||||
MySQL_ПолучитьИнформациюОТаблице(ПараметрыТеста);
|
||||
MySQL_ДобавитьКолонкуТаблицы(ПараметрыТеста);
|
||||
MySQL_УдалитьКолонкуТаблицы(ПараметрыТеста);
|
||||
MySQL_ГарантироватьТаблицу(ПараметрыТеста);
|
||||
MySQL_УдалитьТаблицу(ПараметрыТеста);
|
||||
MySQL_УдалитьБазуДанных(ПараметрыТеста);
|
||||
MySQL_ПолучитьСтруктуруФильтраЗаписей(ПараметрыТеста);
|
||||
@@ -20078,6 +20080,149 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура MySQL_УдалитьКолонкуТаблицы(ПараметрыФункции)
|
||||
|
||||
Адрес = ПараметрыФункции["PG_IP"];
|
||||
Логин = "bayselonarrend";
|
||||
Пароль = ПараметрыФункции["PG_Password"];
|
||||
|
||||
База = "testbase1";
|
||||
Таблица = "testtable";
|
||||
Имя = "new_field";
|
||||
|
||||
СтрокаПодключения = OPI_MySQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
|
||||
|
||||
Результат = OPI_MySQL.УдалитьКолонкуТаблицы(Таблица, Имя, СтрокаПодключения);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьКолонкуТаблицы", "MySQL");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
|
||||
|
||||
Результат = OPI_MySQL.ПолучитьИнформациюОТаблице(Таблица, СтрокаПодключения);
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьКолонкуТаблицы (проверка)", "MySQL");
|
||||
|
||||
Найдена = Ложь;
|
||||
|
||||
Для Каждого Колонка Из Результат["data"] Цикл
|
||||
|
||||
Если Колонка["COLUMN_NAME"] = Имя Тогда
|
||||
Найдена = Истина;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Равенство(Найдена, Ложь);
|
||||
|
||||
Адрес = "api.athenaeum.digital";
|
||||
Порт = "3307";
|
||||
|
||||
СтрокаПодключенияTLS = OPI_MySQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль, Порт);
|
||||
НастройкиTLS = OPI_MySQL.ПолучитьНастройкиTls(Ложь);
|
||||
|
||||
Результат = OPI_MySQL.УдалитьКолонкуТаблицы(Таблица, Имя, СтрокаПодключенияTLS, НастройкиTLS);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьКолонкуТаблицы (TLS)", "MySQL");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
|
||||
|
||||
Результат = OPI_MySQL.ПолучитьИнформациюОТаблице(Таблица, СтрокаПодключенияTLS, НастройкиTLS);
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьКолонкуТаблицы (TLS, проверка)", "MySQL");
|
||||
|
||||
Найдена = Ложь;
|
||||
|
||||
Для Каждого Колонка Из Результат["data"] Цикл
|
||||
|
||||
Если Колонка["COLUMN_NAME"] = Имя Тогда
|
||||
Найдена = Истина;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Равенство(Найдена, Ложь);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура MySQL_ГарантироватьТаблицу(ПараметрыФункции)
|
||||
|
||||
Адрес = ПараметрыФункции["PG_IP"];
|
||||
Логин = "bayselonarrend";
|
||||
Пароль = ПараметрыФункции["PG_Password"];
|
||||
|
||||
База = "testbase1";
|
||||
Таблица = "testtable";
|
||||
|
||||
СтрокаПодключения = OPI_MySQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
|
||||
|
||||
СтруктураКолонок = Новый Структура;
|
||||
СтруктураКолонок.Вставить("smallint_field" , "SMALLINT");
|
||||
СтруктураКолонок.Вставить("double_field" , "DOUBLE");
|
||||
СтруктураКолонок.Вставить("bigint_field" , "BIGINT");
|
||||
СтруктураКолонок.Вставить("custom_field" , "TEXT");
|
||||
|
||||
Результат = OPI_MySQL.ГарантироватьТаблицу(Таблица, СтруктураКолонок, СтрокаПодключения);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ГарантироватьТаблицу", "MySQL");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Истина(Результат["commit"]["result"]);
|
||||
|
||||
Проверка = OPI_MySQL.ПолучитьИнформациюОТаблице(Таблица, СтрокаПодключения);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Проверка, "ГарантироватьТаблицу (проверка)", "MySQL");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Проверка);
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Массив(Проверка["data"], СтруктураКолонок.Количество());
|
||||
|
||||
Для Каждого Колонка Из Проверка["data"] Цикл
|
||||
ТекущийТип = ПолучитьСтрокуИзДвоичныхДанных(Base64Значение(Колонка["DATA_TYPE"]["BYTES"]));
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Равенство(нРег(ТекущийТип), нРег(СтруктураКолонок[Колонка["COLUMN_NAME"]]));
|
||||
КонецЦикла;
|
||||
|
||||
Таблица = "test_new";
|
||||
|
||||
Результат = OPI_MySQL.ГарантироватьТаблицу(Таблица, СтруктураКолонок, СтрокаПодключения);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ГарантироватьТаблицу (новая)", "MySQL");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Истина(Результат["commit"]["result"]);
|
||||
|
||||
Проверка = OPI_MySQL.ПолучитьИнформациюОТаблице(Таблица, СтрокаПодключения);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Проверка, "ГарантироватьТаблицу (новая, проверка)", "MySQL");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Проверка);
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Массив(Проверка["data"], СтруктураКолонок.Количество());
|
||||
|
||||
Для Каждого Колонка Из Проверка["data"] Цикл
|
||||
ТекущийТип = ПолучитьСтрокуИзДвоичныхДанных(Base64Значение(Колонка["DATA_TYPE"]["BYTES"]));
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Равенство(нРег(ТекущийТип), нРег(СтруктураКолонок[Колонка["COLUMN_NAME"]]));
|
||||
КонецЦикла;
|
||||
|
||||
Адрес = "api.athenaeum.digital";
|
||||
Порт = "3307";
|
||||
|
||||
Таблица = "testtable";
|
||||
СтрокаПодключенияTLS = OPI_MySQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль, Порт);
|
||||
НастройкиTLS = OPI_MySQL.ПолучитьНастройкиTls(Ложь);
|
||||
|
||||
Результат = OPI_MySQL.ГарантироватьТаблицу(Таблица, СтруктураКолонок, СтрокаПодключенияTLS, НастройкиTLS);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ГарантироватьТаблицу (TLS)", "MySQL");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Истина(Результат["commit"]["result"]);
|
||||
|
||||
Проверка = OPI_MySQL.ПолучитьИнформациюОТаблице(Таблица, СтрокаПодключенияTLS, НастройкиTLS);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Проверка, "ГарантироватьТаблицу (TLS, проверка)", "MySQL");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Проверка);
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Массив(Проверка["data"], СтруктураКолонок.Количество());
|
||||
|
||||
Для Каждого Колонка Из Проверка["data"] Цикл
|
||||
ТекущийТип = ПолучитьСтрокуИзДвоичныхДанных(Base64Значение(Колонка["DATA_TYPE"]["BYTES"]));
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Равенство(нРег(ТекущийТип), нРег(СтруктураКолонок[Колонка["COLUMN_NAME"]]));
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область GreenAPI
|
||||
|
||||
412
src/ru/OInt/tests/Modules/internal/OPI_ТестыCLI.os
vendored
412
src/ru/OInt/tests/Modules/internal/OPI_ТестыCLI.os
vendored
@@ -2293,10 +2293,11 @@
|
||||
CLI_SQLite_ПолучитьЗаписи(ПараметрыТеста);
|
||||
CLI_SQLite_ОбновитьЗаписи(ПараметрыТеста);
|
||||
CLI_SQLite_УдалитьЗаписи(ПараметрыТеста);
|
||||
CLI_SQLite_ОчиститьТаблицу(ПараметрыТеста);
|
||||
CLI_SQLite_ПолучитьИнформациюОТаблице(ПараметрыТеста);
|
||||
CLI_SQLite_ДобавитьКолонкуТаблицы(ПараметрыТеста);
|
||||
CLI_SQLite_УдалитьКолонкуТаблицы(ПараметрыТеста);
|
||||
CLI_SQLite_ОчиститьТаблицу(ПараметрыТеста);
|
||||
CLI_SQLite_ГарантироватьТаблицу(ПараметрыТеста);
|
||||
CLI_SQLite_УдалитьТаблицу(ПараметрыТеста);
|
||||
CLI_SQLite_ПолучитьСтруктуруФильтраЗаписей(ПараметрыТеста);
|
||||
|
||||
@@ -2378,12 +2379,15 @@
|
||||
|
||||
CLI_MySQL_СоздатьБазуДанных(ПараметрыТеста);
|
||||
CLI_MySQL_СоздатьТаблицу(ПараметрыТеста);
|
||||
CLI_MySQL_ПолучитьИнформациюОТаблице(ПараметрыТеста);
|
||||
CLI_MySQL_ДобавитьЗаписи(ПараметрыТеста);
|
||||
CLI_MySQL_ПолучитьЗаписи(ПараметрыТеста);
|
||||
CLI_MySQL_ОбновитьЗаписи(ПараметрыТеста);
|
||||
CLI_MySQL_УдалитьЗаписи(ПараметрыТеста);
|
||||
CLI_MySQL_ОчиститьТаблицу(ПараметрыТеста);
|
||||
CLI_MySQL_ПолучитьИнформациюОТаблице(ПараметрыТеста);
|
||||
CLI_MySQL_ДобавитьКолонкуТаблицы(ПараметрыТеста);
|
||||
CLI_MySQL_УдалитьКолонкуТаблицы(ПараметрыТеста);
|
||||
CLI_MySQL_ГарантироватьТаблицу(ПараметрыТеста);
|
||||
CLI_MySQL_УдалитьТаблицу(ПараметрыТеста);
|
||||
CLI_MySQL_УдалитьБазуДанных(ПараметрыТеста);
|
||||
CLI_MySQL_ПолучитьСтруктуруФильтраЗаписей(ПараметрыТеста);
|
||||
@@ -20270,6 +20274,36 @@
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "СоздатьТаблицу (существующая)", "PostgreSQL");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатЛожь(Результат);
|
||||
|
||||
Адрес = "api.athenaeum.digital";
|
||||
Порт = "5433";
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("addr" , Адрес);
|
||||
Опции.Вставить("db" , База);
|
||||
Опции.Вставить("login", Логин);
|
||||
Опции.Вставить("pass" , Пароль);
|
||||
Опции.Вставить("port" , Порт);
|
||||
|
||||
СтрокаПодключенияTLS = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("postgres", "СформироватьСтрокуПодключения", Опции,
|
||||
Ложь);
|
||||
СтрокаПодключенияTLS = ПолучитьСтрокуИзДвоичныхДанных(СтрокаПодключенияTLS);
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("trust" , Ложь);
|
||||
|
||||
НастройкиTLS = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("postgres", "ПолучитьНастройкиTls", Опции);
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("table", Таблица);
|
||||
Опции.Вставить("cols" , СтруктураКолонок);
|
||||
Опции.Вставить("dbc" , СтрокаПодключенияTLS);
|
||||
Опции.Вставить("tls" , НастройкиTLS);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("postgres", "СоздатьТаблицу", Опции);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "СоздатьТаблицу (TLS)", "PostgreSQL");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура CLI_PostgreSQL_ПолучитьИнформациюОТаблице(ПараметрыФункции)
|
||||
@@ -20852,7 +20886,9 @@
|
||||
Опции.Вставить("login", Логин);
|
||||
Опции.Вставить("pass" , Пароль);
|
||||
|
||||
СтрокаПодключения = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("postgres", "СформироватьСтрокуПодключения", Опции);
|
||||
СтрокаПодключения = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("postgres", "СформироватьСтрокуПодключения", Опции,
|
||||
Ложь);
|
||||
СтрокаПодключения = ПолучитьСтрокуИзДвоичныхДанных(СтрокаПодключения);
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("table", Таблица);
|
||||
@@ -20894,8 +20930,11 @@
|
||||
Опции.Вставить("db" , База);
|
||||
Опции.Вставить("login", Логин);
|
||||
Опции.Вставить("pass" , Пароль);
|
||||
Опции.Вставить("port" , Порт);
|
||||
|
||||
СтрокаПодключенияTLS = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("postgres", "СформироватьСтрокуПодключения", Опции);
|
||||
СтрокаПодключенияTLS = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("postgres", "СформироватьСтрокуПодключения", Опции,
|
||||
Ложь);
|
||||
СтрокаПодключенияTLS = ПолучитьСтрокуИзДвоичныхДанных(СтрокаПодключенияTLS);
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("trust" , Ложь);
|
||||
@@ -20954,7 +20993,9 @@
|
||||
Опции.Вставить("login", Логин);
|
||||
Опции.Вставить("pass" , Пароль);
|
||||
|
||||
СтрокаПодключения = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("postgres", "СформироватьСтрокуПодключения", Опции);
|
||||
СтрокаПодключения = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("postgres", "СформироватьСтрокуПодключения", Опции,
|
||||
Ложь);
|
||||
СтрокаПодключения = ПолучитьСтрокуИзДвоичныхДанных(СтрокаПодключения);
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("table", Таблица);
|
||||
@@ -20994,8 +21035,11 @@
|
||||
Опции.Вставить("db" , База);
|
||||
Опции.Вставить("login", Логин);
|
||||
Опции.Вставить("pass" , Пароль);
|
||||
Опции.Вставить("port" , Порт);
|
||||
|
||||
СтрокаПодключенияTLS = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("postgres", "СформироватьСтрокуПодключения", Опции);
|
||||
СтрокаПодключенияTLS = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("postgres", "СформироватьСтрокуПодключения", Опции,
|
||||
Ложь);
|
||||
СтрокаПодключенияTLS = ПолучитьСтрокуИзДвоичныхДанных(СтрокаПодключенияTLS);
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("trust" , Ложь);
|
||||
@@ -21053,7 +21097,9 @@
|
||||
Опции.Вставить("login", Логин);
|
||||
Опции.Вставить("pass" , Пароль);
|
||||
|
||||
СтрокаПодключения = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("postgres", "СформироватьСтрокуПодключения", Опции);
|
||||
СтрокаПодключения = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("postgres", "СформироватьСтрокуПодключения", Опции,
|
||||
Ложь);
|
||||
СтрокаПодключения = ПолучитьСтрокуИзДвоичныхДанных(СтрокаПодключения);
|
||||
|
||||
СтруктураКолонок = Новый Структура;
|
||||
СтруктураКолонок.Вставить("smallint_field" , "SMALLINT");
|
||||
@@ -22125,8 +22171,7 @@
|
||||
Опции.Вставить("login", Логин);
|
||||
Опции.Вставить("pass" , Пароль);
|
||||
|
||||
СтрокаПодключения = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "СформироватьСтрокуПодключения", Опции,
|
||||
Ложь);
|
||||
СтрокаПодключения = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "СформироватьСтрокуПодключения", Опции, Ложь);
|
||||
СтрокаПодключения = ПолучитьСтрокуИзДвоичныхДанных(СтрокаПодключения);
|
||||
|
||||
Таблица = "testtable";
|
||||
@@ -22155,6 +22200,355 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура CLI_MySQL_ДобавитьКолонкуТаблицы(ПараметрыФункции)
|
||||
|
||||
Адрес = ПараметрыФункции["PG_IP"];
|
||||
Логин = "bayselonarrend";
|
||||
Пароль = ПараметрыФункции["PG_Password"];
|
||||
|
||||
База = "testbase1";
|
||||
Таблица = "testtable";
|
||||
Имя = "new_field";
|
||||
ТипДанных = "MEDIUMTEXT";
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("addr" , Адрес);
|
||||
Опции.Вставить("db" , База);
|
||||
Опции.Вставить("login", Логин);
|
||||
Опции.Вставить("pass" , Пароль);
|
||||
|
||||
СтрокаПодключения = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "СформироватьСтрокуПодключения", Опции,
|
||||
Ложь);
|
||||
СтрокаПодключения = ПолучитьСтрокуИзДвоичныхДанных(СтрокаПодключения);
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("table", Таблица);
|
||||
Опции.Вставить("name" , Имя);
|
||||
Опции.Вставить("type" , ТипДанных);
|
||||
Опции.Вставить("dbc" , СтрокаПодключения);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "ДобавитьКолонкуТаблицы", Опции);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ДобавитьКолонкуТаблицы", "MySQL");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("table", Таблица);
|
||||
Опции.Вставить("dbc" , СтрокаПодключения);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "ПолучитьИнформациюОТаблице", Опции);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ДобавитьКолонкуТаблицы (проверка)", "MySQL");
|
||||
|
||||
Найдена = Ложь;
|
||||
|
||||
Для Каждого Колонка Из Результат["data"] Цикл
|
||||
|
||||
Если Колонка["COLUMN_NAME"] = Имя Тогда
|
||||
|
||||
ТекущийТип = ПолучитьСтрокуИзДвоичныхДанных(Base64Значение(Колонка["DATA_TYPE"]["BYTES"]));
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Равенство(нРег(ТипДанных), нРег(ТекущийТип));
|
||||
|
||||
Найдена = Истина;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Равенство(Найдена, Истина);
|
||||
|
||||
Адрес = "api.athenaeum.digital";
|
||||
Порт = "3307";
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("addr" , Адрес);
|
||||
Опции.Вставить("db" , База);
|
||||
Опции.Вставить("login", Логин);
|
||||
Опции.Вставить("pass" , Пароль);
|
||||
Опции.Вставить("port" , Порт);
|
||||
|
||||
СтрокаПодключенияTLS = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "СформироватьСтрокуПодключения", Опции,
|
||||
Ложь);
|
||||
СтрокаПодключенияTLS = ПолучитьСтрокуИзДвоичныхДанных(СтрокаПодключенияTLS);
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("trust" , Истина);
|
||||
|
||||
НастройкиTLS = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "ПолучитьНастройкиTls", Опции);
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("table", Таблица);
|
||||
Опции.Вставить("name" , Имя);
|
||||
Опции.Вставить("type" , ТипДанных);
|
||||
Опции.Вставить("dbc" , СтрокаПодключенияTLS);
|
||||
Опции.Вставить("tls" , НастройкиTLS);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "ДобавитьКолонкуТаблицы", Опции);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ДобавитьКолонкуТаблицы (TLS)", "MySQL");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("table", Таблица);
|
||||
Опции.Вставить("dbc" , СтрокаПодключенияTLS);
|
||||
Опции.Вставить("tls" , НастройкиTLS);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "ПолучитьИнформациюОТаблице", Опции);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ДобавитьКолонкуТаблицы (TLS, проверка)", "MySQL");
|
||||
|
||||
Найдена = Ложь;
|
||||
|
||||
Для Каждого Колонка Из Результат["data"] Цикл
|
||||
|
||||
Если Колонка["COLUMN_NAME"] = Имя Тогда
|
||||
|
||||
ТекущийТип = ПолучитьСтрокуИзДвоичныхДанных(Base64Значение(Колонка["DATA_TYPE"]["BYTES"]));
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Равенство(нРег(ТипДанных), нРег(ТекущийТип));
|
||||
|
||||
Найдена = Истина;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Равенство(Найдена, Истина);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура CLI_MySQL_УдалитьКолонкуТаблицы(ПараметрыФункции)
|
||||
|
||||
Адрес = ПараметрыФункции["PG_IP"];
|
||||
Логин = "bayselonarrend";
|
||||
Пароль = ПараметрыФункции["PG_Password"];
|
||||
|
||||
База = "testbase1";
|
||||
Таблица = "testtable";
|
||||
Имя = "new_field";
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("addr" , Адрес);
|
||||
Опции.Вставить("db" , База);
|
||||
Опции.Вставить("login", Логин);
|
||||
Опции.Вставить("pass" , Пароль);
|
||||
|
||||
СтрокаПодключения = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "СформироватьСтрокуПодключения", Опции,
|
||||
Ложь);
|
||||
СтрокаПодключения = ПолучитьСтрокуИзДвоичныхДанных(СтрокаПодключения);
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("table", Таблица);
|
||||
Опции.Вставить("name" , Имя);
|
||||
Опции.Вставить("dbc" , СтрокаПодключения);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "УдалитьКолонкуТаблицы", Опции);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "УдалитьКолонкуТаблицы", "MySQL");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("table", Таблица);
|
||||
Опции.Вставить("dbc" , СтрокаПодключения);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "ПолучитьИнформациюОТаблице", Опции);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "УдалитьКолонкуТаблицы (проверка)", "MySQL");
|
||||
|
||||
Найдена = Ложь;
|
||||
|
||||
Для Каждого Колонка Из Результат["data"] Цикл
|
||||
|
||||
Если Колонка["COLUMN_NAME"] = Имя Тогда
|
||||
Найдена = Истина;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Равенство(Найдена, Ложь);
|
||||
|
||||
Адрес = "api.athenaeum.digital";
|
||||
Порт = "3307";
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("addr" , Адрес);
|
||||
Опции.Вставить("db" , База);
|
||||
Опции.Вставить("login", Логин);
|
||||
Опции.Вставить("pass" , Пароль);
|
||||
Опции.Вставить("port" , Порт);
|
||||
|
||||
СтрокаПодключенияTLS = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "СформироватьСтрокуПодключения", Опции,
|
||||
Ложь);
|
||||
СтрокаПодключенияTLS = ПолучитьСтрокуИзДвоичныхДанных(СтрокаПодключенияTLS);
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("trust" , Истина);
|
||||
|
||||
НастройкиTLS = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "ПолучитьНастройкиTls", Опции);
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("table", Таблица);
|
||||
Опции.Вставить("name" , Имя);
|
||||
Опции.Вставить("dbc" , СтрокаПодключенияTLS);
|
||||
Опции.Вставить("tls" , НастройкиTLS);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "УдалитьКолонкуТаблицы", Опции);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "УдалитьКолонкуТаблицы (TLS)", "MySQL");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("table", Таблица);
|
||||
Опции.Вставить("dbc" , СтрокаПодключенияTLS);
|
||||
Опции.Вставить("tls" , НастройкиTLS);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "ПолучитьИнформациюОТаблице", Опции);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьКолонкуТаблицы (TLS, проверка)", "MySQL");
|
||||
|
||||
Найдена = Ложь;
|
||||
|
||||
Для Каждого Колонка Из Результат["data"] Цикл
|
||||
|
||||
Если Колонка["COLUMN_NAME"] = Имя Тогда
|
||||
Найдена = Истина;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Равенство(Найдена, Ложь);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура CLI_MySQL_ГарантироватьТаблицу(ПараметрыФункции)
|
||||
|
||||
Адрес = ПараметрыФункции["PG_IP"];
|
||||
Логин = "bayselonarrend";
|
||||
Пароль = ПараметрыФункции["PG_Password"];
|
||||
|
||||
База = "testbase1";
|
||||
Таблица = "testtable";
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("addr" , Адрес);
|
||||
Опции.Вставить("db" , База);
|
||||
Опции.Вставить("login", Логин);
|
||||
Опции.Вставить("pass" , Пароль);
|
||||
|
||||
СтрокаПодключения = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "СформироватьСтрокуПодключения", Опции,
|
||||
Ложь);
|
||||
СтрокаПодключения = ПолучитьСтрокуИзДвоичныхДанных(СтрокаПодключения);
|
||||
|
||||
СтруктураКолонок = Новый Структура;
|
||||
СтруктураКолонок.Вставить("smallint_field" , "SMALLINT");
|
||||
СтруктураКолонок.Вставить("double_field" , "DOUBLE");
|
||||
СтруктураКолонок.Вставить("bigint_field" , "BIGINT");
|
||||
СтруктураКолонок.Вставить("custom_field" , "TEXT");
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("table", Таблица);
|
||||
Опции.Вставить("cols" , СтруктураКолонок);
|
||||
Опции.Вставить("dbc" , СтрокаПодключения);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "ГарантироватьТаблицу", Опции);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ГарантироватьТаблицу", "MySQL");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Истина(Результат["commit"]["result"]);
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("table", Таблица);
|
||||
Опции.Вставить("dbc" , СтрокаПодключения);
|
||||
|
||||
Проверка = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "ПолучитьИнформациюОТаблице", Опции);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Проверка, "ГарантироватьТаблицу (проверка)", "MySQL");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Проверка);
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Массив(Проверка["data"], СтруктураКолонок.Количество());
|
||||
|
||||
Для Каждого Колонка Из Проверка["data"] Цикл
|
||||
ТекущийТип = ПолучитьСтрокуИзДвоичныхДанных(Base64Значение(Колонка["DATA_TYPE"]["BYTES"]));
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Равенство(нРег(ТекущийТип), нРег(СтруктураКолонок[Колонка["COLUMN_NAME"]]));
|
||||
КонецЦикла;
|
||||
|
||||
Таблица = "test_new";
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("table", Таблица);
|
||||
Опции.Вставить("cols" , СтруктураКолонок);
|
||||
Опции.Вставить("dbc" , СтрокаПодключения);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "ГарантироватьТаблицу", Опции);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ГарантироватьТаблицу (новая)", "MySQL");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Истина(Результат["commit"]["result"]);
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("table", Таблица);
|
||||
Опции.Вставить("dbc" , СтрокаПодключения);
|
||||
|
||||
Проверка = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "ПолучитьИнформациюОТаблице", Опции);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Проверка, "ГарантироватьТаблицу (новая, проверка)", "MySQL");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Проверка);
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Массив(Проверка["data"], СтруктураКолонок.Количество());
|
||||
|
||||
Для Каждого Колонка Из Проверка["data"] Цикл
|
||||
ТекущийТип = ПолучитьСтрокуИзДвоичныхДанных(Base64Значение(Колонка["DATA_TYPE"]["BYTES"]));
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Равенство(нРег(ТекущийТип), нРег(СтруктураКолонок[Колонка["COLUMN_NAME"]]));
|
||||
КонецЦикла;
|
||||
|
||||
Адрес = "api.athenaeum.digital";
|
||||
Порт = "3307";
|
||||
|
||||
Таблица = "testtable";
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("addr" , Адрес);
|
||||
Опции.Вставить("db" , База);
|
||||
Опции.Вставить("login", Логин);
|
||||
Опции.Вставить("pass" , Пароль);
|
||||
Опции.Вставить("port" , Порт);
|
||||
|
||||
СтрокаПодключенияTLS = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "СформироватьСтрокуПодключения", Опции,
|
||||
Ложь);
|
||||
СтрокаПодключенияTLS = ПолучитьСтрокуИзДвоичныхДанных(СтрокаПодключенияTLS);
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("trust" , Истина);
|
||||
|
||||
НастройкиTLS = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "ПолучитьНастройкиTls", Опции);
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("table", Таблица);
|
||||
Опции.Вставить("cols" , СтруктураКолонок);
|
||||
Опции.Вставить("dbc" , СтрокаПодключенияTLS);
|
||||
Опции.Вставить("tls" , НастройкиTLS);
|
||||
|
||||
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "ГарантироватьТаблицу", Опции);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ГарантироватьТаблицу (TLS)", "MySQL");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Истина(Результат["commit"]["result"]);
|
||||
|
||||
Опции = Новый Структура;
|
||||
Опции.Вставить("table", Таблица);
|
||||
Опции.Вставить("dbc" , СтрокаПодключенияTLS);
|
||||
Опции.Вставить("tls" , НастройкиTLS);
|
||||
|
||||
Проверка = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mysql", "ПолучитьИнформациюОТаблице", Опции);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Проверка, "ГарантироватьТаблицу (TLS, проверка)", "MySQL");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Проверка);
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Массив(Проверка["data"], СтруктураКолонок.Количество());
|
||||
|
||||
Для Каждого Колонка Из Проверка["data"] Цикл
|
||||
ТекущийТип = ПолучитьСтрокуИзДвоичныхДанных(Base64Значение(Колонка["DATA_TYPE"]["BYTES"]));
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Равенство(нРег(ТекущийТип), нРег(СтруктураКолонок[Колонка["COLUMN_NAME"]]));
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область GreenAPI
|
||||
|
||||
4
src/ru/OInt/tools/Modules/OPI_ЗапросыSQL.os
vendored
4
src/ru/OInt/tools/Modules/OPI_ЗапросыSQL.os
vendored
@@ -140,6 +140,10 @@
|
||||
, Знач Соединение = ""
|
||||
, Знач Tls = Неопределено) Экспорт
|
||||
|
||||
ТекстОшибки = "Структура колонок не является валидной структурой ключ-значение";
|
||||
OPI_ПреобразованиеТипов.ПолучитьКоллекциюКлючИЗначение(СтруктураКолонок, ТекстОшибки);
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Таблица);
|
||||
|
||||
СтруктураРезультата = Новый Структура("result", Истина);
|
||||
|
||||
Соединение = ОткрытьСоединение(Модуль, Соединение, Tls);
|
||||
|
||||
@@ -358,7 +358,7 @@
|
||||
НоваяСтрока.Модуль = "OPI_MySQL";
|
||||
НоваяСтрока.Метод = "ГарантироватьТаблицу";
|
||||
НоваяСтрока.МетодПоиска = "ГАРАНТИРОВАТЬТАБЛИЦУ";
|
||||
НоваяСтрока.Параметр = "--db";
|
||||
НоваяСтрока.Параметр = "--dbc";
|
||||
НоваяСтрока.Описание = "Существующее соединение или путь к базе (необяз. по ум. - Пустое значение)";
|
||||
НоваяСтрока.Область = "Orm";
|
||||
|
||||
|
||||
@@ -420,7 +420,7 @@
|
||||
НоваяСтрока.Модуль = "OPI_PostgreSQL";
|
||||
НоваяСтрока.Метод = "ГарантироватьТаблицу";
|
||||
НоваяСтрока.МетодПоиска = "ГАРАНТИРОВАТЬТАБЛИЦУ";
|
||||
НоваяСтрока.Параметр = "--db";
|
||||
НоваяСтрока.Параметр = "--dbc";
|
||||
НоваяСтрока.Описание = "Существующее соединение или путь к базе (необяз. по ум. - Пустое значение)";
|
||||
НоваяСтрока.Область = "Orm";
|
||||
|
||||
|
||||
Reference in New Issue
Block a user