mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-29 05:16:00 +00:00
test create SQL
This commit is contained in:
@@ -111,4 +111,26 @@ describe('Object analyse', () => {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
|
|
||||||
|
test.each(flatSourceParameters())(
|
||||||
|
'Test parameters create SQL - %s - %s',
|
||||||
|
testWrapper(async (conn, driver, testName, parameter, engine) => {
|
||||||
|
for (const sql of initSql) await driver.query(conn, sql, { discardResult: true });
|
||||||
|
|
||||||
|
await driver.query(conn, parameter.create, { discardResult: true });
|
||||||
|
const structure1 = await driver.analyseFull(conn);
|
||||||
|
await driver.query(conn, parameter.drop, { discardResult: true });
|
||||||
|
|
||||||
|
const obj = structure1[parameter.objectTypeField][0];
|
||||||
|
await driver.query(conn, obj.createSql, { discardResult: true });
|
||||||
|
|
||||||
|
const structure2 = await driver.analyseFull(conn);
|
||||||
|
const parameters = structure2[parameter.objectTypeField][0].parameters;
|
||||||
|
|
||||||
|
expect(parameters.length).toEqual(parameter.list.length);
|
||||||
|
for (let i = 0; i < parameters.length; i += 1) {
|
||||||
|
expect(parameters[i]).toEqual(expect.objectContaining(parameter.list[i]));
|
||||||
|
}
|
||||||
|
})
|
||||||
|
);
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -41,6 +41,7 @@ const engines = [
|
|||||||
{
|
{
|
||||||
testName: 'simple',
|
testName: 'simple',
|
||||||
create: 'CREATE PROCEDURE obj1(a int) BEGIN SELECT * FROM t1; END',
|
create: 'CREATE PROCEDURE obj1(a int) BEGIN SELECT * FROM t1; END',
|
||||||
|
drop: 'DROP PROCEDURE obj1',
|
||||||
objectTypeField: 'procedures',
|
objectTypeField: 'procedures',
|
||||||
list: [
|
list: [
|
||||||
{
|
{
|
||||||
@@ -53,6 +54,7 @@ const engines = [
|
|||||||
{
|
{
|
||||||
testName: 'paramTypes',
|
testName: 'paramTypes',
|
||||||
create: 'CREATE PROCEDURE obj1(a int, b varchar(50), c numeric(10,2)) BEGIN SELECT * FROM t1; END',
|
create: 'CREATE PROCEDURE obj1(a int, b varchar(50), c numeric(10,2)) BEGIN SELECT * FROM t1; END',
|
||||||
|
drop: 'DROP PROCEDURE obj1',
|
||||||
objectTypeField: 'procedures',
|
objectTypeField: 'procedures',
|
||||||
list: [
|
list: [
|
||||||
{
|
{
|
||||||
@@ -75,6 +77,7 @@ const engines = [
|
|||||||
{
|
{
|
||||||
testName: 'paramModes',
|
testName: 'paramModes',
|
||||||
create: 'CREATE PROCEDURE obj1(IN a int, OUT b int, INOUT c int) BEGIN SELECT * FROM t1; END',
|
create: 'CREATE PROCEDURE obj1(IN a int, OUT b int, INOUT c int) BEGIN SELECT * FROM t1; END',
|
||||||
|
drop: 'DROP PROCEDURE obj1',
|
||||||
objectTypeField: 'procedures',
|
objectTypeField: 'procedures',
|
||||||
list: [
|
list: [
|
||||||
{
|
{
|
||||||
@@ -93,8 +96,8 @@ const engines = [
|
|||||||
dataType: 'int',
|
dataType: 'int',
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
}
|
},
|
||||||
]
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: 'MariaDB',
|
label: 'MariaDB',
|
||||||
@@ -168,6 +171,7 @@ const engines = [
|
|||||||
{
|
{
|
||||||
testName: 'simple',
|
testName: 'simple',
|
||||||
create: 'CREATE PROCEDURE obj1(a integer) LANGUAGE SQL AS $$ select * from t1 $$',
|
create: 'CREATE PROCEDURE obj1(a integer) LANGUAGE SQL AS $$ select * from t1 $$',
|
||||||
|
drop: 'DROP PROCEDURE obj1',
|
||||||
objectTypeField: 'procedures',
|
objectTypeField: 'procedures',
|
||||||
list: [
|
list: [
|
||||||
{
|
{
|
||||||
@@ -181,6 +185,7 @@ const engines = [
|
|||||||
testName: 'dataTypes',
|
testName: 'dataTypes',
|
||||||
create:
|
create:
|
||||||
'CREATE PROCEDURE obj1(a integer, b varchar(20), c numeric(18,2)) LANGUAGE SQL AS $$ select * from t1 $$',
|
'CREATE PROCEDURE obj1(a integer, b varchar(20), c numeric(18,2)) LANGUAGE SQL AS $$ select * from t1 $$',
|
||||||
|
drop: 'DROP PROCEDURE obj1',
|
||||||
objectTypeField: 'procedures',
|
objectTypeField: 'procedures',
|
||||||
list: [
|
list: [
|
||||||
{
|
{
|
||||||
@@ -203,6 +208,7 @@ const engines = [
|
|||||||
{
|
{
|
||||||
testName: 'paramModes',
|
testName: 'paramModes',
|
||||||
create: 'CREATE PROCEDURE obj1(IN a integer, INOUT b integer) LANGUAGE SQL AS $$ select * from t1 $$',
|
create: 'CREATE PROCEDURE obj1(IN a integer, INOUT b integer) LANGUAGE SQL AS $$ select * from t1 $$',
|
||||||
|
drop: 'DROP PROCEDURE obj1',
|
||||||
objectTypeField: 'procedures',
|
objectTypeField: 'procedures',
|
||||||
list: [
|
list: [
|
||||||
{
|
{
|
||||||
@@ -232,6 +238,7 @@ begin
|
|||||||
into min_len, max_len
|
into min_len, max_len
|
||||||
from t1;
|
from t1;
|
||||||
end;$$`,
|
end;$$`,
|
||||||
|
drop: 'DROP FUNCTION obj1',
|
||||||
list: [
|
list: [
|
||||||
{
|
{
|
||||||
parameterName: 'min_len',
|
parameterName: 'min_len',
|
||||||
@@ -274,6 +281,7 @@ end;$$`,
|
|||||||
{
|
{
|
||||||
testName: 'simple',
|
testName: 'simple',
|
||||||
create: 'CREATE PROCEDURE obj1 (@param1 int) AS SELECT id from t1',
|
create: 'CREATE PROCEDURE obj1 (@param1 int) AS SELECT id from t1',
|
||||||
|
drop: 'DROP PROCEDURE obj1',
|
||||||
objectTypeField: 'procedures',
|
objectTypeField: 'procedures',
|
||||||
list: [
|
list: [
|
||||||
{
|
{
|
||||||
@@ -286,6 +294,7 @@ end;$$`,
|
|||||||
{
|
{
|
||||||
testName: 'dataTypes',
|
testName: 'dataTypes',
|
||||||
create: 'CREATE PROCEDURE obj1 (@p1 bit, @p2 nvarchar(20), @p3 decimal(18,2), @p4 float) AS SELECT id from t1',
|
create: 'CREATE PROCEDURE obj1 (@p1 bit, @p2 nvarchar(20), @p3 decimal(18,2), @p4 float) AS SELECT id from t1',
|
||||||
|
drop: 'DROP PROCEDURE obj1',
|
||||||
objectTypeField: 'procedures',
|
objectTypeField: 'procedures',
|
||||||
list: [
|
list: [
|
||||||
{
|
{
|
||||||
@@ -313,6 +322,7 @@ end;$$`,
|
|||||||
{
|
{
|
||||||
testName: 'outputParam',
|
testName: 'outputParam',
|
||||||
create: 'CREATE PROCEDURE obj1 (@p1 int OUTPUT) AS SELECT id from t1',
|
create: 'CREATE PROCEDURE obj1 (@p1 int OUTPUT) AS SELECT id from t1',
|
||||||
|
drop: 'DROP PROCEDURE obj1',
|
||||||
objectTypeField: 'procedures',
|
objectTypeField: 'procedures',
|
||||||
list: [
|
list: [
|
||||||
{
|
{
|
||||||
@@ -382,10 +392,10 @@ end;$$`,
|
|||||||
|
|
||||||
const filterLocal = [
|
const filterLocal = [
|
||||||
// filter local testing
|
// filter local testing
|
||||||
'MySQL',
|
'-MySQL',
|
||||||
'-MariaDB',
|
'-MariaDB',
|
||||||
'-PostgreSQL',
|
'-PostgreSQL',
|
||||||
'-SQL Server',
|
'SQL Server',
|
||||||
'-SQLite',
|
'-SQLite',
|
||||||
'-CockroachDB',
|
'-CockroachDB',
|
||||||
'-ClickHouse',
|
'-ClickHouse',
|
||||||
|
|||||||
Reference in New Issue
Block a user