@@ -142,7 +142,7 @@ describe('client metadata module', () => {
142
142
describe ( 'makeClientMetadata()' , ( ) => {
143
143
context ( 'when no FAAS environment is detected' , ( ) => {
144
144
it ( 'does not append FAAS metadata' , ( ) => {
145
- const metadata = makeClientMetadata ( { driverInfo : { } } ) ;
145
+ const metadata = makeClientMetadata ( { driverInfo : { } , additionalDriverInfo : [ ] } ) ;
146
146
expect ( metadata ) . not . to . have . property (
147
147
'env' ,
148
148
'faas metadata applied in a non-faas environment'
@@ -165,15 +165,18 @@ describe('client metadata module', () => {
165
165
166
166
context ( 'when driverInfo.platform is provided' , ( ) => {
167
167
it ( 'throws an error if driverInfo.platform is too large' , ( ) => {
168
- expect ( ( ) => makeClientMetadata ( { driverInfo : { platform : 'a' . repeat ( 512 ) } } ) ) . to . throw (
169
- MongoInvalidArgumentError ,
170
- / p l a t f o r m /
171
- ) ;
168
+ expect ( ( ) =>
169
+ makeClientMetadata ( {
170
+ driverInfo : { platform : 'a' . repeat ( 512 ) } ,
171
+ additionalDriverInfo : [ ]
172
+ } )
173
+ ) . to . throw ( MongoInvalidArgumentError , / p l a t f o r m / ) ;
172
174
} ) ;
173
175
174
176
it ( 'appends driverInfo.platform to the platform field' , ( ) => {
175
177
const options = {
176
- driverInfo : { platform : 'myPlatform' }
178
+ driverInfo : { platform : 'myPlatform' } ,
179
+ additionalDriverInfo : [ ]
177
180
} ;
178
181
const metadata = makeClientMetadata ( options ) ;
179
182
expect ( metadata ) . to . deep . equal ( {
@@ -194,15 +197,15 @@ describe('client metadata module', () => {
194
197
195
198
context ( 'when driverInfo.name is provided' , ( ) => {
196
199
it ( 'throws an error if driverInfo.name is too large' , ( ) => {
197
- expect ( ( ) => makeClientMetadata ( { driverInfo : { name : 'a' . repeat ( 512 ) } } ) ) . to . throw (
198
- MongoInvalidArgumentError ,
199
- / n a m e /
200
- ) ;
200
+ expect ( ( ) =>
201
+ makeClientMetadata ( { driverInfo : { name : 'a' . repeat ( 512 ) } , additionalDriverInfo : [ ] } )
202
+ ) . to . throw ( MongoInvalidArgumentError , / n a m e / ) ;
201
203
} ) ;
202
204
203
205
it ( 'appends driverInfo.name to the driver.name field' , ( ) => {
204
206
const options = {
205
- driverInfo : { name : 'myName' }
207
+ driverInfo : { name : 'myName' } ,
208
+ additionalDriverInfo : [ ]
206
209
} ;
207
210
const metadata = makeClientMetadata ( options ) ;
208
211
expect ( metadata ) . to . deep . equal ( {
@@ -223,15 +226,15 @@ describe('client metadata module', () => {
223
226
224
227
context ( 'when driverInfo.version is provided' , ( ) => {
225
228
it ( 'throws an error if driverInfo.version is too large' , ( ) => {
226
- expect ( ( ) => makeClientMetadata ( { driverInfo : { version : 'a' . repeat ( 512 ) } } ) ) . to . throw (
227
- MongoInvalidArgumentError ,
228
- / v e r s i o n /
229
- ) ;
229
+ expect ( ( ) =>
230
+ makeClientMetadata ( { driverInfo : { version : 'a' . repeat ( 512 ) } , additionalDriverInfo : [ ] } )
231
+ ) . to . throw ( MongoInvalidArgumentError , / v e r s i o n / ) ;
230
232
} ) ;
231
233
232
234
it ( 'appends driverInfo.version to the version field' , ( ) => {
233
235
const options = {
234
- driverInfo : { version : 'myVersion' }
236
+ driverInfo : { version : 'myVersion' } ,
237
+ additionalDriverInfo : [ ]
235
238
} ;
236
239
const metadata = makeClientMetadata ( options ) ;
237
240
expect ( metadata ) . to . deep . equal ( {
@@ -251,7 +254,7 @@ describe('client metadata module', () => {
251
254
} ) ;
252
255
253
256
context ( 'when no custom driverInto is provided' , ( ) => {
254
- const metadata = makeClientMetadata ( { driverInfo : { } } ) ;
257
+ const metadata = makeClientMetadata ( { driverInfo : { } , additionalDriverInfo : [ ] } ) ;
255
258
256
259
it ( 'does not append the driver info to the metadata' , ( ) => {
257
260
expect ( metadata ) . to . deep . equal ( {
@@ -279,7 +282,8 @@ describe('client metadata module', () => {
279
282
const longString = 'a' . repeat ( 300 ) ;
280
283
const options = {
281
284
appName : longString ,
282
- driverInfo : { }
285
+ driverInfo : { } ,
286
+ additionalDriverInfo : [ ]
283
287
} ;
284
288
const metadata = makeClientMetadata ( options ) ;
285
289
@@ -298,7 +302,8 @@ describe('client metadata module', () => {
298
302
const longString = '€' . repeat ( 300 ) ;
299
303
const options = {
300
304
appName : longString ,
301
- driverInfo : { }
305
+ driverInfo : { } ,
306
+ additionalDriverInfo : [ ]
302
307
} ;
303
308
const metadata = makeClientMetadata ( options ) ;
304
309
@@ -315,7 +320,8 @@ describe('client metadata module', () => {
315
320
context ( 'when the app name is under 128 bytes' , ( ) => {
316
321
const options = {
317
322
appName : 'myApplication' ,
318
- driverInfo : { }
323
+ driverInfo : { } ,
324
+ additionalDriverInfo : [ ]
319
325
} ;
320
326
const metadata = makeClientMetadata ( options ) ;
321
327
@@ -333,37 +339,40 @@ describe('client metadata module', () => {
333
339
334
340
it ( 'sets platform to Deno' , ( ) => {
335
341
globalThis . Deno = { version : { deno : '1.2.3' } } ;
336
- const metadata = makeClientMetadata ( { driverInfo : { } } ) ;
342
+ const metadata = makeClientMetadata ( { driverInfo : { } , additionalDriverInfo : [ ] } ) ;
337
343
expect ( metadata . platform ) . to . equal ( 'Deno v1.2.3, LE' ) ;
338
344
} ) ;
339
345
340
346
it ( 'sets platform to Deno with driverInfo.platform' , ( ) => {
341
347
globalThis . Deno = { version : { deno : '1.2.3' } } ;
342
- const metadata = makeClientMetadata ( { driverInfo : { platform : 'myPlatform' } } ) ;
348
+ const metadata = makeClientMetadata ( {
349
+ driverInfo : { platform : 'myPlatform' } ,
350
+ additionalDriverInfo : [ ]
351
+ } ) ;
343
352
expect ( metadata . platform ) . to . equal ( 'Deno v1.2.3, LE|myPlatform' ) ;
344
353
} ) ;
345
354
346
355
it ( 'ignores version if Deno.version.deno is not a string' , ( ) => {
347
356
globalThis . Deno = { version : { deno : 1 } } ;
348
- const metadata = makeClientMetadata ( { driverInfo : { } } ) ;
357
+ const metadata = makeClientMetadata ( { driverInfo : { } , additionalDriverInfo : [ ] } ) ;
349
358
expect ( metadata . platform ) . to . equal ( 'Deno v0.0.0-unknown, LE' ) ;
350
359
} ) ;
351
360
352
361
it ( 'ignores version if Deno.version does not have a deno property' , ( ) => {
353
362
globalThis . Deno = { version : { somethingElse : '1.2.3' } } ;
354
- const metadata = makeClientMetadata ( { driverInfo : { } } ) ;
363
+ const metadata = makeClientMetadata ( { driverInfo : { } , additionalDriverInfo : [ ] } ) ;
355
364
expect ( metadata . platform ) . to . equal ( 'Deno v0.0.0-unknown, LE' ) ;
356
365
} ) ;
357
366
358
367
it ( 'ignores version if Deno.version is null' , ( ) => {
359
368
globalThis . Deno = { version : null } ;
360
- const metadata = makeClientMetadata ( { driverInfo : { } } ) ;
369
+ const metadata = makeClientMetadata ( { driverInfo : { } , additionalDriverInfo : [ ] } ) ;
361
370
expect ( metadata . platform ) . to . equal ( 'Deno v0.0.0-unknown, LE' ) ;
362
371
} ) ;
363
372
364
373
it ( 'ignores version if Deno is nullish' , ( ) => {
365
374
globalThis . Deno = null ;
366
- const metadata = makeClientMetadata ( { driverInfo : { } } ) ;
375
+ const metadata = makeClientMetadata ( { driverInfo : { } , additionalDriverInfo : [ ] } ) ;
367
376
expect ( metadata . platform ) . to . equal ( 'Deno v0.0.0-unknown, LE' ) ;
368
377
} ) ;
369
378
} ) ;
@@ -377,37 +386,46 @@ describe('client metadata module', () => {
377
386
globalThis . Bun = class {
378
387
static version = '1.2.3' ;
379
388
} ;
380
- const metadata = makeClientMetadata ( { driverInfo : { } } ) ;
389
+ const metadata = makeClientMetadata ( { driverInfo : { } , additionalDriverInfo : [ ] } ) ;
381
390
expect ( metadata . platform ) . to . equal ( 'Bun v1.2.3, LE' ) ;
382
391
} ) ;
383
392
384
393
it ( 'sets platform to Bun with driverInfo.platform' , ( ) => {
385
394
globalThis . Bun = class {
386
395
static version = '1.2.3' ;
387
396
} ;
388
- const metadata = makeClientMetadata ( { driverInfo : { platform : 'myPlatform' } } ) ;
397
+ const metadata = makeClientMetadata ( {
398
+ driverInfo : { platform : 'myPlatform' } ,
399
+ additionalDriverInfo : [ ]
400
+ } ) ;
389
401
expect ( metadata . platform ) . to . equal ( 'Bun v1.2.3, LE|myPlatform' ) ;
390
402
} ) ;
391
403
392
404
it ( 'ignores version if Bun.version is not a string' , ( ) => {
393
405
globalThis . Bun = class {
394
406
static version = 1 ;
395
407
} ;
396
- const metadata = makeClientMetadata ( { driverInfo : { } } ) ;
408
+ const metadata = makeClientMetadata ( { driverInfo : { } , additionalDriverInfo : [ ] } ) ;
397
409
expect ( metadata . platform ) . to . equal ( 'Bun v0.0.0-unknown, LE' ) ;
398
410
} ) ;
399
411
400
412
it ( 'ignores version if Bun.version is not a string and sets driverInfo.platform' , ( ) => {
401
413
globalThis . Bun = class {
402
414
static version = 1 ;
403
415
} ;
404
- const metadata = makeClientMetadata ( { driverInfo : { platform : 'myPlatform' } } ) ;
416
+ const metadata = makeClientMetadata ( {
417
+ driverInfo : { platform : 'myPlatform' } ,
418
+ additionalDriverInfo : [ ]
419
+ } ) ;
405
420
expect ( metadata . platform ) . to . equal ( 'Bun v0.0.0-unknown, LE|myPlatform' ) ;
406
421
} ) ;
407
422
408
423
it ( 'ignores version if Bun is nullish' , ( ) => {
409
424
globalThis . Bun = null ;
410
- const metadata = makeClientMetadata ( { driverInfo : { platform : 'myPlatform' } } ) ;
425
+ const metadata = makeClientMetadata ( {
426
+ driverInfo : { platform : 'myPlatform' } ,
427
+ additionalDriverInfo : [ ]
428
+ } ) ;
411
429
expect ( metadata . platform ) . to . equal ( 'Bun v0.0.0-unknown, LE|myPlatform' ) ;
412
430
} ) ;
413
431
} ) ;
@@ -528,7 +546,7 @@ describe('client metadata module', () => {
528
546
} ) ;
529
547
530
548
it ( `returns ${ inspect ( outcome ) } under env property` , ( ) => {
531
- const { env } = makeClientMetadata ( { driverInfo : { } } ) ;
549
+ const { env } = makeClientMetadata ( { driverInfo : { } , additionalDriverInfo : [ ] } ) ;
532
550
expect ( env ) . to . deep . equal ( outcome ) ;
533
551
} ) ;
534
552
@@ -552,7 +570,9 @@ describe('client metadata module', () => {
552
570
} ) ;
553
571
554
572
it ( 'does not attach it to the metadata' , ( ) => {
555
- expect ( makeClientMetadata ( { driverInfo : { } } ) ) . not . to . have . nested . property ( 'aws.memory_mb' ) ;
573
+ expect (
574
+ makeClientMetadata ( { driverInfo : { } , additionalDriverInfo : [ ] } )
575
+ ) . not . to . have . nested . property ( 'aws.memory_mb' ) ;
556
576
} ) ;
557
577
} ) ;
558
578
} ) ;
@@ -567,7 +587,7 @@ describe('client metadata module', () => {
567
587
} ) ;
568
588
569
589
it ( 'only includes env.name' , ( ) => {
570
- const metadata = makeClientMetadata ( { driverInfo : { } } ) ;
590
+ const metadata = makeClientMetadata ( { driverInfo : { } , additionalDriverInfo : [ ] } ) ;
571
591
expect ( metadata ) . to . not . have . nested . property ( 'env.region' ) ;
572
592
expect ( metadata ) . to . have . nested . property ( 'env.name' , 'aws.lambda' ) ;
573
593
expect ( metadata . env ) . to . have . all . keys ( 'name' ) ;
@@ -585,7 +605,7 @@ describe('client metadata module', () => {
585
605
} ) ;
586
606
587
607
it ( 'only includes env.name' , ( ) => {
588
- const metadata = makeClientMetadata ( { driverInfo : { } } ) ;
608
+ const metadata = makeClientMetadata ( { driverInfo : { } , additionalDriverInfo : [ ] } ) ;
589
609
expect ( metadata ) . to . have . property ( 'env' ) ;
590
610
expect ( metadata ) . to . have . nested . property ( 'env.region' , 'abc' ) ;
591
611
expect ( metadata . os ) . to . have . all . keys ( 'type' ) ;
@@ -602,7 +622,7 @@ describe('client metadata module', () => {
602
622
} ) ;
603
623
604
624
it ( 'omits os information' , ( ) => {
605
- const metadata = makeClientMetadata ( { driverInfo : { } } ) ;
625
+ const metadata = makeClientMetadata ( { driverInfo : { } , additionalDriverInfo : [ ] } ) ;
606
626
expect ( metadata ) . to . not . have . property ( 'os' ) ;
607
627
} ) ;
608
628
} ) ;
@@ -618,7 +638,10 @@ describe('client metadata module', () => {
618
638
} ) ;
619
639
620
640
it ( 'omits the faas env' , ( ) => {
621
- const metadata = makeClientMetadata ( { driverInfo : { name : 'a' . repeat ( 350 ) } } ) ;
641
+ const metadata = makeClientMetadata ( {
642
+ driverInfo : { name : 'a' . repeat ( 350 ) } ,
643
+ additionalDriverInfo : [ ]
644
+ } ) ;
622
645
expect ( metadata ) . to . not . have . property ( 'env' ) ;
623
646
} ) ;
624
647
} ) ;
0 commit comments