Skip to content

Commit 93d6109

Browse files
committed
test: update unit and integration tests
1 parent 40ac807 commit 93d6109

10 files changed

+16
-27
lines changed

common/lib/client_wrapper.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ export interface ClientWrapper {
2121
readonly hostInfo: HostInfo;
2222
readonly properties: Map<string, any>;
2323

24-
query(sql: string): Promise<any>;
24+
query(sql: any): Promise<any>;
2525

2626
end(): Promise<void>;
2727

common/lib/mysql_client_wrapper.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ export class MySQLClientWrapper implements ClientWrapper {
3939
this.properties = properties;
4040
}
4141

42-
query(sql: string): Promise<any> {
42+
query(sql: any): Promise<any> {
4343
return this.client?.query(sql);
4444
}
4545

common/lib/pg_client_wrapper.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,8 @@ export class PgClientWrapper implements ClientWrapper {
3838
this.properties = properties;
3939
}
4040

41-
query(sql: string): Promise<any> {
42-
return this.client.query(sql);
41+
query(sql: any): Promise<any> {
42+
return this.client?.query(sql);
4343
}
4444

4545
end(): Promise<void> {

mysql/lib/dialect/mysql2_driver_dialect.ts

+2-3
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616

1717
import { DriverDialect } from "../../../common/lib/driver_dialect/driver_dialect";
1818
import { ClientWrapper } from "../../../common/lib/client_wrapper";
19-
import { ClientUtils } from "../../../common/lib/utils/client_utils";
2019
import { createConnection, PoolOptions } from "mysql2/promise";
2120
import { WrapperProperties } from "../../../common/lib/wrapper_property";
2221
import { AwsPoolConfig } from "../../../common/lib/aws_pool_config";
@@ -32,8 +31,8 @@ export class MySQL2DriverDialect implements DriverDialect {
3231
return this.dialectName;
3332
}
3433

35-
connect(hostInfo: HostInfo, props: Map<string, any>): Promise<ClientWrapper> {
36-
const targetClient = createConnection(WrapperProperties.removeWrapperProperties(props));
34+
async connect(hostInfo: HostInfo, props: Map<string, any>): Promise<ClientWrapper> {
35+
const targetClient = await createConnection(WrapperProperties.removeWrapperProperties(props));
3736
return Promise.resolve(new MySQLClientWrapper(targetClient, hostInfo, props));
3837
}
3938

mysql/lib/dialect/mysql_database_dialect.ts

+1-3
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,7 @@
1717
import { DatabaseDialect, DatabaseType } from "../../../common/lib/database_dialect/database_dialect";
1818
import { HostListProviderService } from "../../../common/lib/host_list_provider_service";
1919
import { HostListProvider } from "../../../common/lib/host_list_provider/host_list_provider";
20-
import {
21-
ConnectionStringHostListProvider
22-
} from "../../../common/lib/host_list_provider/connection_string_host_list_provider";
20+
import { ConnectionStringHostListProvider } from "../../../common/lib/host_list_provider/connection_string_host_list_provider";
2321
import { AwsWrapperError } from "../../../common/lib/utils/errors";
2422
import { DatabaseDialectCodes } from "../../../common/lib/database_dialect/database_dialect_codes";
2523
import { TransactionIsolationLevel } from "../../../common/lib/utils/transaction_isolation_level";

pg/lib/client.ts

+3
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,9 @@ export class AwsPGClient extends AwsClient {
6262
throw new AwsWrapperError(Messages.get("HostInfo.noHostParameter"));
6363
}
6464
const result: ClientWrapper = await this.pluginManager.connect(hostInfo, this.properties, true);
65+
result.client.on("error", (error: any) => {
66+
this.emit("error", error);
67+
});
6568
await this.pluginService.setCurrentClient(result, result.hostInfo);
6669
await this.internalPostConnect();
6770
});

pg/lib/dialect/node_postgres_driver_dialect.ts

-3
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,6 @@ export class NodePostgresDriverDialect implements DriverDialect {
3333

3434
async connect(hostInfo: HostInfo, props: Map<string, any>): Promise<ClientWrapper> {
3535
const targetClient = new Client(WrapperProperties.removeWrapperProperties(props));
36-
targetClient.on("error", (error: any) => {
37-
// targetClient.emit("error", error);
38-
});
3936
await targetClient.connect();
4037
return Promise.resolve(new PgClientWrapper(targetClient, hostInfo, props));
4138
}

pg/lib/dialect/pg_database_dialect.ts

+1-3
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,7 @@
1717
import { DatabaseDialect, DatabaseType } from "../../../common/lib/database_dialect/database_dialect";
1818
import { HostListProviderService } from "../../../common/lib/host_list_provider_service";
1919
import { HostListProvider } from "../../../common/lib/host_list_provider/host_list_provider";
20-
import {
21-
ConnectionStringHostListProvider
22-
} from "../../../common/lib/host_list_provider/connection_string_host_list_provider";
20+
import { ConnectionStringHostListProvider } from "../../../common/lib/host_list_provider/connection_string_host_list_provider";
2321
import { AwsWrapperError } from "../../../common/lib/utils/errors";
2422
import { DatabaseDialectCodes } from "../../../common/lib/database_dialect/database_dialect_codes";
2523
import { TransactionIsolationLevel } from "../../../common/lib/utils/transaction_isolation_level";

pg/lib/pg_pool_client.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import { Pool, PoolClient, PoolConfig } from "pg";
1818
import { AwsPoolClient } from "../../common/lib/aws_pool_client";
1919
import { Messages } from "../../common/lib/utils/messages";
2020
import { AwsWrapperError } from "../../common/lib/utils/errors";
21+
import { logger } from "../../common/logutils";
2122

2223
export class AwsPgPoolClient implements AwsPoolClient {
2324
targetPool: Pool;
@@ -26,7 +27,7 @@ export class AwsPgPoolClient implements AwsPoolClient {
2627
this.targetPool = new Pool(props);
2728
this.targetPool.on("connect", (_client: PoolClient) => {
2829
_client.on("error", (err: Error) => {
29-
console.log(err);
30+
logger.debug(err);
3031
});
3132
});
3233
}

tests/unit/database_dialect.test.ts

+3-10
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ import { RdsMultiAZPgDatabaseDialect } from "../../pg/lib/dialect/rds_multi_az_p
3434
import { DatabaseDialectManager } from "../../common/lib/database_dialect/database_dialect_manager";
3535
import { NodePostgresDriverDialect } from "../../pg/lib/dialect/node_postgres_driver_dialect";
3636
import { mock } from "ts-mockito";
37+
import { PgClientWrapper } from "../../common/lib/pg_client_wrapper";
3738

3839
const LOCALHOST = "localhost";
3940
const RDS_DATABASE = "database-1.xyz.us-east-2.rds.amazonaws.com";
@@ -189,17 +190,13 @@ class MockTargetClient {
189190
this.expectedResultSet = expectedResultSet;
190191
}
191192

192-
query(sql: any) {
193+
query(sql: string) {
193194
if (this.expectedInputs.includes(sql)) {
194195
return Promise.resolve(this.expectedResultSet);
195196
}
196197

197198
return Promise.reject(new Error("Unsupported query"));
198199
}
199-
200-
promise() {
201-
return this;
202-
}
203200
}
204201

205202
describe("test database dialects", () => {
@@ -272,11 +269,7 @@ describe("test database dialects", () => {
272269
hostAvailabilityStrategy: new SimpleHostAvailabilityStrategy()
273270
}).build();
274271

275-
const mockClientWrapper: ClientWrapper = {
276-
client: mockTargetClient,
277-
hostInfo: currentHostInfo,
278-
properties: new Map<string, any>()
279-
};
272+
const mockClientWrapper: ClientWrapper = new PgClientWrapper(mockTargetClient, currentHostInfo, new Map<string, any>());
280273
const pluginService = new PluginService(
281274
pluginServiceManagerContainer,
282275
mockClient,

0 commit comments

Comments
 (0)