feat: add QTT-001 testscript
This commit is contained in:
96
backend-api/package-lock.json
generated
96
backend-api/package-lock.json
generated
@@ -6659,6 +6659,57 @@
|
||||
"integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==",
|
||||
"dev": true
|
||||
},
|
||||
"cockroachdb": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/cockroachdb/-/cockroachdb-1.0.3.tgz",
|
||||
"integrity": "sha512-hpxTiXnE002uE6jCqZiwCUtX84qntaMm/cx+QFgFXAaLYh0MZPWW1hJQawHaxpqBvDXOJ8Ejsf26JaXSZTZmUQ==",
|
||||
"requires": {
|
||||
"buffer-writer": "1.0.1",
|
||||
"packet-reader": "0.3.1",
|
||||
"pg-connection-string": "0.1.3",
|
||||
"pg-types": "~1.12.1",
|
||||
"pgpass": "1.x",
|
||||
"semver": "4.3.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"buffer-writer": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/buffer-writer/-/buffer-writer-1.0.1.tgz",
|
||||
"integrity": "sha512-I5M7UuSeDn5aQR2BSH2+270w9qdd2Rd5LB/XhTcIRdSmeLueMNlY3BaMoHtoASmjEQf/NOAqMIZaoAMSpomW6w=="
|
||||
},
|
||||
"packet-reader": {
|
||||
"version": "0.3.1",
|
||||
"resolved": "https://registry.npmjs.org/packet-reader/-/packet-reader-0.3.1.tgz",
|
||||
"integrity": "sha512-5hN3f+rVT3PRjNI+GYUKTolUo5Yhypmo97D5+6On6L4bVhnno5wzGTT3agB9u7llRfw6pEV4I1/obWSXTKDY1w=="
|
||||
},
|
||||
"pg-connection-string": {
|
||||
"version": "0.1.3",
|
||||
"resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-0.1.3.tgz",
|
||||
"integrity": "sha512-i0NV/CrSkFTaiOQs9AGy3tq0dkSjtTd4d7DfsjeDVZAA4aIHInwfFEmriNYGGJUfZ5x6IAC/QddoUpUJjQAi0w=="
|
||||
},
|
||||
"pg-types": {
|
||||
"version": "1.12.1",
|
||||
"resolved": "https://registry.npmjs.org/pg-types/-/pg-types-1.12.1.tgz",
|
||||
"integrity": "sha512-7oR1vHzQdSlqa81S8476iSoUYQc6obearJ6RUuRB1OOdGDz9pDHLxmgYgcXCDL+XWHSocYQqwC/GDnwtKhGbWg==",
|
||||
"requires": {
|
||||
"postgres-array": "~1.0.0",
|
||||
"postgres-bytea": "~1.0.0",
|
||||
"postgres-date": "~1.0.0",
|
||||
"postgres-interval": "^1.1.0"
|
||||
}
|
||||
},
|
||||
"postgres-array": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-1.0.3.tgz",
|
||||
"integrity": "sha512-5wClXrAP0+78mcsNX3/ithQ5exKvCyK5lr5NEEEeGwwM6NJdQgzIJBVxLvRW+huFpX92F2QnZ5CcokH0VhK2qQ=="
|
||||
},
|
||||
"semver": {
|
||||
"version": "4.3.2",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-4.3.2.tgz",
|
||||
"integrity": "sha512-VyFUffiBx8hABJ9HYSTXLRwyZtdDHMzMtFmID1aiNAD2BZppBmJm0Hqw3p2jkgxP9BNt1pQ9RnC49P0EcXf6cA=="
|
||||
}
|
||||
}
|
||||
},
|
||||
"code-point-at": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
|
||||
@@ -11513,8 +11564,7 @@
|
||||
"jsonparse": {
|
||||
"version": "1.3.1",
|
||||
"resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz",
|
||||
"integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==",
|
||||
"dev": true
|
||||
"integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg=="
|
||||
},
|
||||
"jsonpath-plus": {
|
||||
"version": "5.1.0",
|
||||
@@ -12701,6 +12751,24 @@
|
||||
"integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==",
|
||||
"dev": true
|
||||
},
|
||||
"mysql": {
|
||||
"version": "2.18.1",
|
||||
"resolved": "https://registry.npmjs.org/mysql/-/mysql-2.18.1.tgz",
|
||||
"integrity": "sha512-Bca+gk2YWmqp2Uf6k5NFEurwY/0td0cpebAucFpY/3jhrwrVGuxU2uQFCHjU19SJfje0yQvi+rVWdq78hR5lig==",
|
||||
"requires": {
|
||||
"bignumber.js": "9.0.0",
|
||||
"readable-stream": "2.3.7",
|
||||
"safe-buffer": "5.1.2",
|
||||
"sqlstring": "2.3.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"safe-buffer": {
|
||||
"version": "5.1.2",
|
||||
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
|
||||
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
|
||||
}
|
||||
}
|
||||
},
|
||||
"mysql2": {
|
||||
"version": "2.3.3",
|
||||
"resolved": "https://registry.npmjs.org/mysql2/-/mysql2-2.3.3.tgz",
|
||||
@@ -16101,6 +16169,11 @@
|
||||
"tar": "^6.1.11"
|
||||
}
|
||||
},
|
||||
"sqlstring": {
|
||||
"version": "2.3.1",
|
||||
"resolved": "https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.1.tgz",
|
||||
"integrity": "sha512-ooAzh/7dxIG5+uDik1z/Rd1vli0+38izZhGzSa34FwR7IbelPWCCKSNIl8jlL/F7ERvy8CB2jNeM1E9i9mXMAQ=="
|
||||
},
|
||||
"ssri": {
|
||||
"version": "8.0.1",
|
||||
"resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz",
|
||||
@@ -16485,6 +16558,25 @@
|
||||
"swagger-ui-dist": ">=4.11.0"
|
||||
}
|
||||
},
|
||||
"sybase": {
|
||||
"version": "1.2.3",
|
||||
"resolved": "https://registry.npmjs.org/sybase/-/sybase-1.2.3.tgz",
|
||||
"integrity": "sha512-69dtkzLPjWLQknP0x6gGud9WKZs7Ujdo8EEl4nwN/fhLrgXsgMxbGkT2rQfdw1kg2lbJvbpBSbA2vm0rWRxs6g==",
|
||||
"requires": {
|
||||
"JSONStream": "^1.3.5"
|
||||
},
|
||||
"dependencies": {
|
||||
"JSONStream": {
|
||||
"version": "1.3.5",
|
||||
"resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz",
|
||||
"integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==",
|
||||
"requires": {
|
||||
"jsonparse": "^1.2.0",
|
||||
"through": ">=2.2.7 <3"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"symbol-observable": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz",
|
||||
|
||||
@@ -129,7 +129,6 @@ export class ConnectionService {
|
||||
const resultObj = { status: null, message: null, datas: [], fields: [] };
|
||||
try {
|
||||
const queryRes = await knex.raw(queryExecuteDto.query);
|
||||
|
||||
// bigquery, snowflake
|
||||
if (typeof knex.client.config.client === 'function') {
|
||||
switch (knex.client.config.client.name) {
|
||||
|
||||
@@ -1,5 +1,50 @@
|
||||
describe('MySQL 연동 확인', () => {
|
||||
it('test', () => {
|
||||
return expect(1).toBe(1);
|
||||
});
|
||||
import { Test, TestingModule } from '@nestjs/testing';
|
||||
import { TypeOrmModule } from '@nestjs/typeorm';
|
||||
import { getTestMysqlModule } from '../util/get-test-mysql.module';
|
||||
import { Database } from "../../src/database/entities/database.entity";
|
||||
import { ConfigModule } from '@nestjs/config';
|
||||
import { Dataset } from "@google-cloud/bigquery";
|
||||
import { TableQuery } from "../../src/widget/tabel-query/entity/table-query.entity";
|
||||
import { DatabaseType } from "../../src/database/entities/database_type.entity";
|
||||
import { ConnectionService } from "../../src/connection/connection.service";
|
||||
import * as TestConnectionInfo from "../../test_connect_info.json";
|
||||
|
||||
|
||||
describe('Check MYSQL Connection', () => {
|
||||
let connectService: ConnectionService;
|
||||
|
||||
beforeEach(async () => {
|
||||
const module: TestingModule = await Test.createTestingModule({
|
||||
imports: [
|
||||
ConfigModule.forRoot({
|
||||
isGlobal: true,
|
||||
envFilePath: '.env.dev',
|
||||
}),
|
||||
getTestMysqlModule(),
|
||||
TypeOrmModule.forFeature([Database, Dataset, TableQuery, DatabaseType]),
|
||||
],
|
||||
providers: [ConnectionService],
|
||||
}).compile();
|
||||
|
||||
connectService = module.get<ConnectionService>(ConnectionService);
|
||||
}, 10000);
|
||||
const dbName = ['mysql', 'maria', 'pg', 'oracle', 'cockroach', 'redshift', 'bigquery', 'sqlite', 'mssql', 'snowflake']
|
||||
const config = {
|
||||
status: "SUCCESS",
|
||||
data: {
|
||||
"message": "success"
|
||||
}
|
||||
}
|
||||
for(let i = 0; i < dbName.length; i ++){
|
||||
it(`QTT-001-${String(i + 1).padStart(2,'0')}`, async() => {
|
||||
const result = await connectService.testConnection(Object.create(TestConnectionInfo[dbName[i]]));
|
||||
return expect(result).toStrictEqual(config);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
});
|
||||
|
||||
1015
package-lock.json
generated
1015
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user