Skip to content

Commit 4b68c16

Browse files
clean up utilities
1 parent c20c34d commit 4b68c16

5 files changed

Lines changed: 25 additions & 17 deletions

File tree

test/integration/change-streams/change_stream.test.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ import { strict as assert } from 'assert';
22
import { Long, UUID } from 'bson';
33
import { expect } from 'chai';
44
import { on, once } from 'events';
5-
import * as process from 'process';
65
import { gte, lt } from 'semver';
76
import * as sinon from 'sinon';
87
import { PassThrough } from 'stream';

test/integration/connection-monitoring-and-pooling/connection_monitoring_and_pooling.spec.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ const INTERRUPT_IN_USE_SKIPPED_TESTS: SkipDescription[] = [
3939
}
4040
];
4141

42-
describe.only('Connection Monitoring and Pooling Spec Tests (Integration) - cmap-format', function () {
42+
describe('Connection Monitoring and Pooling Spec Tests (Integration) - cmap-format', function () {
4343
const tests: CmapTest[] = loadSpecTests('connection-monitoring-and-pooling', 'cmap-format');
4444

4545
runCmapTestSuite(tests, {

test/tools/cmap_spec_runner.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import { CMAP_EVENTS } from '../../src/constants';
1717
import { TimeoutContext } from '../../src/timeout';
1818
import { shuffle } from '../../src/utils';
1919
import { isAnyRequirementSatisfied } from './unified-spec-runner/unified-utils';
20-
import { type FailCommandFailPoint, getTLSOptions, sleep } from './utils';
20+
import { type FailCommandFailPoint, sleep } from './utils';
2121

2222
type CmapOperation =
2323
| { name: 'start' | 'waitForThread'; target: string }

test/tools/runner/config.ts

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -220,7 +220,7 @@ export class TestConfiguration {
220220
return uri.indexOf('MONGODB-OIDC') > -1 && uri.indexOf(`ENVIRONMENT:${env}`) > -1;
221221
}
222222

223-
protected buildClientOptions(serverOptions?: MongoClientOptions): MongoClientOptions {
223+
newClient(urlOrQueryOptions?: string | Record<string, any>, serverOptions?: MongoClientOptions) {
224224
const baseOptions: MongoClientOptions = this.compressor
225225
? {
226226
compressors: this.compressor
@@ -233,14 +233,12 @@ export class TestConfiguration {
233233
serverOptions = this.setupLogging(serverOptions);
234234
}
235235

236-
return serverOptions;
237-
}
238-
239-
newClient(urlOrQueryOptions?: string | Record<string, any>, serverOptions?: MongoClientOptions) {
240-
serverOptions = this.buildClientOptions(serverOptions);
241-
242236
// Support MongoClient constructor form (url, options) for `newClient`.
243237
if (typeof urlOrQueryOptions === 'string') {
238+
if ('host' in serverOptions || 'port' in serverOptions) {
239+
throw new Error(`Cannot use options to specify host/port, must be in ${urlOrQueryOptions}`);
240+
}
241+
244242
return new MongoClient(urlOrQueryOptions, serverOptions);
245243
}
246244

test/tools/utils.ts

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import {
1818
type HostAddress,
1919
MongoClient,
2020
type MongoClientOptions,
21+
ServerApiVersion,
2122
type TopologyOptions
2223
} from '../../src';
2324
import { OP_MSG } from '../../src/cmap/wire_protocol/constants';
@@ -112,7 +113,10 @@ export function getEncryptExtraOptions(): MongoClientOptions['autoEncryption']['
112113
return {};
113114
}
114115

115-
export function getTLSOptions() {
116+
export function getTLSOptions(): Pick<
117+
MongoClientOptions,
118+
'tls' | 'tlsCertificateKeyFile' | 'tlsCAFile' | 'tlsCRLFile'
119+
> {
116120
if (!isTLSEnabled) return {};
117121

118122
const requiredTLSEnv = ['TLS_KEY_FILE', 'TLS_CA_FILE', 'TLS_CRL_FILE'];
@@ -123,21 +127,28 @@ export function getTLSOptions() {
123127
`TLS requires the following additional environment variables: ${missingVariables.join(',')}`
124128
);
125129

126-
const { TLS_KEY_FILE: tlsCertificateKeyFile, TLS_CA_FILE: tlsCAFile } = process.env;
130+
const {
131+
TLS_KEY_FILE: tlsCertificateKeyFile,
132+
TLS_CA_FILE: tlsCAFile,
133+
TLS_CRL_FILE: tlsCRLFile
134+
} = process.env;
127135

128136
return {
129137
tlsCertificateKeyFile,
130138
tlsCAFile,
139+
tlsCRLFile,
131140
tls: true
132141
};
133142
}
134143

135-
export function getEnvironmentalOptions(): MongoClientOptions {
136-
const options = {};
144+
export function getEnvironmentalOptions(): Pick<
145+
MongoClientOptions,
146+
'tls' | 'tlsCertificateKeyFile' | 'tlsCAFile' | 'tlsCRLFile' | 'serverApi'
147+
> {
148+
const options: ReturnType<typeof getEnvironmentalOptions> = {};
149+
137150
if (process.env.MONGODB_API_VERSION) {
138-
Object.assign(options, {
139-
serverApi: { version: process.env.MONGODB_API_VERSION }
140-
});
151+
options.serverApi = { version: process.env.MONGODB_API_VERSION as ServerApiVersion };
141152
}
142153

143154
return {

0 commit comments

Comments
 (0)