Skip to content

Commit 27f832a

Browse files
committed
Impleent spec test
1 parent 87c5595 commit 27f832a

File tree

2 files changed

+17
-13
lines changed

2 files changed

+17
-13
lines changed

Diff for: test/tools/unified-spec-runner/match.ts

+13-11
Original file line numberDiff line numberDiff line change
@@ -561,63 +561,65 @@ function compareEvents(
561561
);
562562
}
563563
}
564-
return;
565564
} else if (expectedEvent.serverHeartbeatStartedEvent) {
566565
expect(actualEvent).to.be.instanceOf(ServerHeartbeatStartedEvent);
567566
const expectedSdamEvent = expectedEvent.serverHeartbeatStartedEvent;
568567
for (const property of Object.keys(expectedSdamEvent)) {
569568
expect(actualEvent[property]).to.equal(expectedSdamEvent[property]);
570569
}
571-
return;
572570
} else if (expectedEvent.serverHeartbeatFailedEvent) {
573571
expect(actualEvent).to.be.instanceOf(ServerHeartbeatFailedEvent);
574572
const expectedSdamEvent = expectedEvent.serverHeartbeatFailedEvent;
575573
for (const property of Object.keys(expectedSdamEvent)) {
576574
expect(actualEvent[property]).to.equal(expectedSdamEvent[property]);
577575
}
578-
return;
579576
} else if (expectedEvent.serverHeartbeatSucceededEvent) {
580577
expect(actualEvent).to.be.instanceOf(ServerHeartbeatSucceededEvent);
581578
const expectedSdamEvent = expectedEvent.serverHeartbeatSucceededEvent;
582579
for (const property of Object.keys(expectedSdamEvent)) {
583580
expect(actualEvent[property]).to.equal(expectedSdamEvent[property]);
584581
}
585-
return;
586582
} else if (expectedEvent.serverOpeningEvent) {
587583
expect(actualEvent).to.be.instanceOf(ServerOpeningEvent);
588584
const expectedSdamEvent = expectedEvent.serverOpeningEvent;
589585
for (const property of Object.keys(expectedSdamEvent)) {
590586
expect(actualEvent[property]).to.equal(expectedSdamEvent[property]);
591587
}
592-
return;
593588
} else if (expectedEvent.serverClosedEvent) {
594589
expect(actualEvent).to.be.instanceOf(ServerClosedEvent);
595590
const expectedSdamEvent = expectedEvent.serverClosedEvent;
596591
for (const property of Object.keys(expectedSdamEvent)) {
597592
expect(actualEvent[property]).to.equal(expectedSdamEvent[property]);
598593
}
599-
return;
600594
} else if (expectedEvent.topologyOpeningEvent) {
601595
expect(actualEvent).to.be.instanceOf(TopologyOpeningEvent);
602596
const expectedSdamEvent = expectedEvent.topologyOpeningEvent;
603597
for (const property of Object.keys(expectedSdamEvent)) {
604598
expect(actualEvent[property]).to.equal(expectedSdamEvent[property]);
605599
}
606-
return;
607600
} else if (expectedEvent.topologyClosingEvent) {
608601
expect(actualEvent).to.be.instanceOf(TopologyClosedEvent);
609602
const expectedSdamEvent = expectedEvent.topologyClosingEvent;
610603
for (const property of Object.keys(expectedSdamEvent)) {
611604
expect(actualEvent[property]).to.equal(expectedSdamEvent[property]);
612605
}
613-
return;
614606
} else if (expectedEvent.topologyDescriptionChangedEvent) {
615607
expect(actualEvent).to.be.instanceOf(TopologyDescriptionChangedEvent);
608+
609+
const actualTopChangedEvent = actualEvent as TopologyDescriptionChangedEvent;
616610
const expectedSdamEvent = expectedEvent.topologyDescriptionChangedEvent;
617-
for (const property of Object.keys(expectedSdamEvent)) {
618-
expect(actualEvent[property]).to.equal(expectedSdamEvent[property]);
611+
612+
if (expectedSdamEvent.previousDescription?.type) {
613+
expect(actualTopChangedEvent.previousDescription.type).to.equal(
614+
expectedSdamEvent.previousDescription.type
615+
);
616+
}
617+
618+
if (expectedSdamEvent.newDescription?.type) {
619+
expect(actualTopChangedEvent.newDescription.type).to.equal(
620+
expectedSdamEvent.newDescription.type
621+
);
619622
}
620-
return;
621623
} else {
622624
expect.fail(`Encountered unexpected event - ${inspect(actualEvent)}`);
623625
}

Diff for: test/tools/unified-spec-runner/schema.ts

+4-2
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import type {
77
ServerApiVersion,
88
SeverityLevel,
99
TagSet,
10+
TopologyType as EventTopologyType,
1011
W
1112
} from '../../mongodb';
1213
import { type TestConfiguration } from '../runner/config';
@@ -314,6 +315,7 @@ export interface ExpectedCmapEvent {
314315
connectionCheckedOutEvent?: Record<string, never>;
315316
connectionCheckedInEvent?: Record<string, never>;
316317
}
318+
317319
export interface ExpectedSdamEvent {
318320
serverDescriptionChangedEvent?: {
319321
previousDescription?: {
@@ -336,10 +338,10 @@ export interface ExpectedSdamEvent {
336338
topologyDescriptionChangedEvent?: {
337339
topologyId?: any;
338340
previousDescription?: {
339-
type?: string;
341+
type?: EventTopologyType;
340342
};
341343
newDescription?: {
342-
type?: string;
344+
type?: EventTopologyType;
343345
};
344346
};
345347
topologyOpeningEvent?: {

0 commit comments

Comments
 (0)