@@ -210,7 +210,7 @@ describe('connections:', function() {
210
210
let conn ;
211
211
212
212
before ( async function ( ) {
213
- conn = mongoose . createConnection ( start . uri2 ) ;
213
+ conn = mongoose . createConnection ( start . uri2 , { monitorCommands : true } ) ;
214
214
await conn . asPromise ( ) ;
215
215
await conn . collection ( 'test' ) . deleteMany ( { } ) ;
216
216
return conn ;
@@ -254,6 +254,28 @@ describe('connections:', function() {
254
254
assert . equal ( events [ 1 ] . method , 'findOne' ) ;
255
255
assert . deepStrictEqual ( events [ 1 ] . result , { _id : 17 , answer : 42 } ) ;
256
256
} ) ;
257
+
258
+ it ( 'commandStarted, commandFailed, commandSucceeded (gh-14611)' , async function ( ) {
259
+ let events = [ ] ;
260
+ conn . on ( 'commandStarted' , event => events . push ( event ) ) ;
261
+ conn . on ( 'commandFailed' , event => events . push ( event ) ) ;
262
+ conn . on ( 'commandSucceeded' , event => events . push ( event ) ) ;
263
+
264
+ await conn . collection ( 'test' ) . insertOne ( { _id : 14611 , answer : 42 } ) ;
265
+ assert . equal ( events . length , 2 ) ;
266
+ assert . equal ( events [ 0 ] . constructor . name , 'CommandStartedEvent' ) ;
267
+ assert . equal ( events [ 0 ] . commandName , 'insert' ) ;
268
+ assert . equal ( events [ 1 ] . constructor . name , 'CommandSucceededEvent' ) ;
269
+ assert . equal ( events [ 1 ] . requestId , events [ 0 ] . requestId ) ;
270
+
271
+ events = [ ] ;
272
+ await conn . createCollection ( 'tests' , { capped : 1024 } ) . catch ( ( ) => { } ) ;
273
+ assert . equal ( events . length , 2 ) ;
274
+ assert . equal ( events [ 0 ] . constructor . name , 'CommandStartedEvent' ) ;
275
+ assert . equal ( events [ 0 ] . commandName , 'create' ) ;
276
+ assert . equal ( events [ 1 ] . constructor . name , 'CommandFailedEvent' ) ;
277
+ assert . equal ( events [ 1 ] . requestId , events [ 0 ] . requestId ) ;
278
+ } ) ;
257
279
} ) ;
258
280
259
281
it ( 'should allow closing a closed connection' , async function ( ) {
0 commit comments