@@ -3,16 +3,15 @@ import { MongoClient as LegacyMongoClient } from 'mongodb-legacy';
33
44import {
55 type CommandStartedEvent ,
6- type CommandSucceededEvent ,
7- LEGACY_HELLO_COMMAND ,
8- type MongoClient ,
9- MongoServerError
10- } from '../../mongodb ' ;
6+ type CommandSucceededEvent
7+ } from '../../../src/cmap/command_monitoring_events' ;
8+ import { LEGACY_HELLO_COMMAND } from '../../../src/constants' ;
9+ import { MongoServerError } from '../../../src/error' ;
10+ import { type MongoClient } from '../../../src/mongo_client ' ;
1111import type { TestConfiguration } from '../../tools/runner/config' ;
1212import { setupDatabase } from '../shared' ;
1313
1414const ignoredCommands = [ LEGACY_HELLO_COMMAND ] ;
15- let hasInitialPingOccurred = false ;
1615const test : {
1716 client : MongoClient ;
1817 commands : { started : CommandStartedEvent [ ] ; succeeded : CommandSucceededEvent [ ] } ;
@@ -24,16 +23,7 @@ const test: {
2423 this . commands = { started : [ ] , succeeded : [ ] } ;
2524 this . client = config . newClient ( { w : 1 } , { maxPoolSize : 1 , monitorCommands : true } ) ;
2625
27- // Because we have a MongoClient.connect method, an extra 'ping' event is sent to the
28- // server when authentication is enabled. We have to detect the scenario when auth is
29- // enabled for the test and ignore the initial ping. This will be addressed in NODE-2149.
30- const auth = config . options . auth ;
31- const isAuthEnabled = ! ! ( auth && auth . username && auth . password ) ;
3226 this . client . on ( 'commandStarted' , event => {
33- if ( event . commandName === 'ping' && isAuthEnabled && ! hasInitialPingOccurred ) {
34- hasInitialPingOccurred = true ;
35- return ;
36- }
3727 if ( ignoredCommands . indexOf ( event . commandName ) === - 1 ) {
3828 this . commands . started . push ( event ) ;
3929 }
@@ -70,19 +60,16 @@ describe('Sessions Spec', function () {
7060 await test . setup ( this . configuration ) ;
7161 } ) ;
7262
73- it ( 'should send endSessions for multiple sessions' , function ( done ) {
63+ it ( 'should send endSessions for multiple sessions' , async function ( ) {
7464 const client = test . client ;
7565 const sessions = [ client . startSession ( ) , client . startSession ( ) ] . map ( s => s . id ) ;
7666
77- client . close ( err => {
78- expect ( err ) . to . not . exist ;
79- expect ( test . commands . started ) . to . have . length ( 1 ) ;
80- expect ( test . commands . started [ 0 ] . commandName ) . to . equal ( 'endSessions' ) ;
81- expect ( test . commands . started [ 0 ] . command . endSessions ) . to . include . deep . members ( sessions ) ;
82- expect ( client . s . activeSessions . size ) . to . equal ( 0 ) ;
67+ await client . close ( ) ;
8368
84- done ( ) ;
85- } ) ;
69+ expect ( test . commands . started ) . to . have . length ( 1 ) ;
70+ expect ( test . commands . started [ 0 ] . commandName ) . to . equal ( 'endSessions' ) ;
71+ expect ( test . commands . started [ 0 ] . command . endSessions ) . to . include . deep . members ( sessions ) ;
72+ expect ( client . s . activeSessions . size ) . to . equal ( 0 ) ;
8673 } ) ;
8774 } ) ;
8875
0 commit comments