Skip to content

Commit a08ac03

Browse files
author
Evan Roman
committed
fix
1 parent 71d052d commit a08ac03

File tree

5 files changed

+39
-36
lines changed

5 files changed

+39
-36
lines changed

src/cosmosDB.test.ts

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,21 @@ import { expect } from 'chai';
66
import { default as fetch } from 'node-fetch';
77
import { getFuncUrl, CosmosDB } from './constants';
88
import { waitForOutput } from './global.test';
9-
import { cosmosDBConnectionString } from './utils/connectionStrings';
109
import { getRandomTestData } from './utils/getRandomTestData';
10+
import { setupCosmosDB } from './utils/cosmosdb/setupCosmosDB';
1111

1212
describe('cosmosDB', () => {
13+
let cosmosClient: CosmosClient | undefined;
14+
before(async function (this: Mocha.Context) {
15+
cosmosClient = await setupCosmosDB();
16+
});
17+
18+
after(async () => {
19+
void cosmosClient?.dispose();
20+
});
21+
1322
it('trigger, output, input', async () => {
14-
const client = new CosmosClient(cosmosDBConnectionString);
15-
const container = client.database(CosmosDB.dbName).container(CosmosDB.triggerAndOutputContainerName);
23+
const container = cosmosClient!.database(CosmosDB.dbName).container(CosmosDB.triggerAndOutputContainerName);
1624
const testData = getRandomTestData();
1725
const createdItem = await container.items.create({ testData, testPartKey: CosmosDB.partitionKey });
1826

src/global.test.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import * as fs from 'fs/promises';
66
import path from 'path';
77
import semver from 'semver';
88
import { combinedFolder, defaultTimeout, EnvVarNames, oldConfigSuffix } from './constants';
9-
import { getModelArg, getOldConfigArg, getTestFileFilter, Model } from './getModelArg';
9+
import { getModelArg, getOldConfigArg, Model } from './getModelArg';
1010
import {
1111
cosmosDBConnectionString,
1212
eventHubConnectionString,
@@ -17,8 +17,8 @@ import {
1717
} from './utils/connectionStrings';
1818
import { delay } from './utils/delay';
1919
import findProcess = require('find-process');
20-
import { setupCosmosDB } from './utils/cosmosdb/setupCosmosDB';
21-
import { runSqlSetupQueries } from './utils/sql/setupSql';
20+
// import { setupCosmosDB } from './utils/cosmosdb/setupCosmosDB';
21+
// import { runSqlSetupQueries } from './utils/sql/setupSql';
2222

2323
let perTestFuncOutput = '';
2424
let fullFuncOutput = '';
@@ -43,11 +43,11 @@ before(async function (this: Mocha.Context): Promise<void> {
4343

4444
await initializeConnectionStrings();
4545

46-
const { only } = getTestFileFilter();
47-
if (only) {
48-
await runSqlSetupQueries();
49-
await setupCosmosDB();
50-
}
46+
// const { only } = getTestFileFilter();
47+
// if (only) {
48+
// await runSqlSetupQueries();
49+
// await setupCosmosDB();
50+
// }
5151

5252
isOldConfig = getOldConfigArg();
5353
const appPath = isOldConfig

src/sql.test.ts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,7 @@ import { Sql, getFuncUrl } from './constants';
88
import { isOldConfig, waitForOutput } from './global.test';
99
import { getRandomTestData } from './utils/getRandomTestData';
1010
import { ConnectionPool } from 'mssql';
11-
import { createPoolConnnection } from './utils/sql/setupSql';
12-
import { sqlTestConnectionString } from './utils/connectionStrings';
11+
import { runSqlSetupQueries } from './utils/sql/setupSql';
1312

1413
describe('sql', () => {
1514
let poolConnection: ConnectionPool | undefined;
@@ -18,11 +17,11 @@ describe('sql', () => {
1817
this.skip();
1918
}
2019

21-
poolConnection = await createPoolConnnection(sqlTestConnectionString);
20+
poolConnection = await runSqlSetupQueries();
2221
});
2322

2423
after(async () => {
25-
await poolConnection?.close();
24+
void poolConnection?.close();
2625
});
2726

2827
type SqlItem = { id: string; testData: string };

src/utils/cosmosdb/setupCosmosDB.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,8 @@ import { CosmosClient, PartitionKeyKind } from '@azure/cosmos';
99
import { cosmosDBConnectionString } from '../connectionStrings';
1010
import { CosmosDB } from '../../constants';
1111

12-
export async function setupCosmosDB() {
12+
export async function setupCosmosDB(): Promise<CosmosClient> {
1313
const partitionKeyPath = `/${CosmosDB.partitionKey}`;
14-
if (!cosmosDBConnectionString) {
15-
throw new Error('CosmosDB connection string is not set');
16-
}
1714
const client = new CosmosClient(cosmosDBConnectionString);
1815
await client.databases.createIfNotExists({ id: CosmosDB.triggerDatabaseName });
1916
await client.database(CosmosDB.triggerDatabaseName).containers.createIfNotExists({
@@ -24,4 +21,5 @@ export async function setupCosmosDB() {
2421
id: CosmosDB.triggerAndOutputContainerName,
2522
partitionKey: { paths: [partitionKeyPath], kind: PartitionKeyKind.Hash }
2623
});
24+
return client;
2725
}

src/utils/sql/setupSql.ts

Lines changed: 15 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import retry from 'p-retry';
66
import { sqlConnectionString, sqlTestConnectionString } from '../connectionStrings';
77
import { Sql } from '../../constants';
88

9-
export async function runSqlSetupQueries() {
9+
export async function runSqlSetupQueries(): Promise<sql.ConnectionPool> {
1010
// STEP 1: Create DB if not exists
1111
let pool = await createPoolConnnection(sqlConnectionString);
1212
await pool.request().query(`
@@ -45,25 +45,23 @@ export async function runSqlSetupQueries() {
4545

4646
// STEP 3: Create tables and enable tracking
4747
pool = await createPoolConnnection(sqlTestConnectionString);
48-
try {
49-
for (const table of [Sql.sqlTriggerTable, Sql.sqlNonTriggerTable]) {
50-
await pool.request().query(`
51-
IF OBJECT_ID('dbo.${table}', 'U') IS NULL
52-
BEGIN
53-
CREATE TABLE dbo.${table} (
54-
id UNIQUEIDENTIFIER PRIMARY KEY,
55-
testData NVARCHAR(200) NOT NULL
56-
);
57-
ALTER TABLE dbo.${table} ENABLE CHANGE_TRACKING;
58-
END
59-
`);
60-
}
61-
} finally {
62-
await pool.close();
48+
for (const table of [Sql.sqlTriggerTable, Sql.sqlNonTriggerTable]) {
49+
await pool.request().query(`
50+
IF OBJECT_ID('dbo.${table}', 'U') IS NULL
51+
BEGIN
52+
CREATE TABLE dbo.${table} (
53+
id UNIQUEIDENTIFIER PRIMARY KEY,
54+
testData NVARCHAR(200) NOT NULL
55+
);
56+
ALTER TABLE dbo.${table} ENABLE CHANGE_TRACKING;
57+
END
58+
`);
6359
}
60+
61+
return pool;
6462
}
6563

66-
export async function createPoolConnnection(connectionString: string): Promise<sql.ConnectionPool> {
64+
async function createPoolConnnection(connectionString: string): Promise<sql.ConnectionPool> {
6765
const retries = 5;
6866
return retry(
6967
async (currentAttempt: number) => {

0 commit comments

Comments
 (0)