@@ -43,7 +43,12 @@ describe(NodeHttp2Handler.name, () => {
43
43
mockH2Server . close ( ) ;
44
44
} ) ;
45
45
46
- describe ( "without options" , ( ) => {
46
+ describe . each ( [
47
+ [ "undefined" , undefined ] ,
48
+ [ "empty object" , { } ] ,
49
+ [ "undefined provider" , async ( ) => void 0 ] ,
50
+ [ "empty object provider" , async ( ) => ( { } ) ] ,
51
+ ] ) ( "without options in constructor parameter of %s" , ( _ , option ) => {
47
52
let createdSessions ! : ClientHttp2Session [ ] ;
48
53
const connectReal = http2 . connect ;
49
54
let connectSpy ! : jest . SpiedFunction < typeof http2 . connect > ;
@@ -58,7 +63,7 @@ describe(NodeHttp2Handler.name, () => {
58
63
return session ;
59
64
} ) ;
60
65
61
- nodeH2Handler = new NodeHttp2Handler ( ) ;
66
+ nodeH2Handler = new NodeHttp2Handler ( option ) ;
62
67
} ) ;
63
68
64
69
const closeConnection = async ( response : HttpResponse ) => {
@@ -357,36 +362,48 @@ describe(NodeHttp2Handler.name, () => {
357
362
const requestTimeout = 200 ;
358
363
359
364
describe ( "does not throw error when request not timed out" , ( ) => {
360
- it ( "disableConcurrentStreams: false (default)" , async ( ) => {
365
+ it . each ( [
366
+ [ "static object" , { requestTimeout } ] ,
367
+ [ "object provider" , async ( ) => ( { requestTimeout } ) ] ,
368
+ ] ) ( "disableConcurrentStreams: false (default) in constructor parameter of %s" , async ( _ , options ) => {
361
369
mockH2Server . removeAllListeners ( "request" ) ;
362
370
mockH2Server . on ( "request" , createResponseFunctionWithDelay ( mockResponse , requestTimeout - 100 ) ) ;
363
371
364
- nodeH2Handler = new NodeHttp2Handler ( { requestTimeout } ) ;
372
+ nodeH2Handler = new NodeHttp2Handler ( options ) ;
365
373
await nodeH2Handler . handle ( new HttpRequest ( getMockReqOptions ( ) ) , { } ) ;
366
374
} ) ;
367
375
368
- it ( "disableConcurrentStreams: true" , async ( ) => {
376
+ it . each ( [
377
+ [ "static object" , { requestTimeout, disableConcurrentStreams : true } ] ,
378
+ [ "object provider" , async ( ) => ( { requestTimeout, disableConcurrentStreams : true } ) ] ,
379
+ ] ) ( "disableConcurrentStreams: true in constructor parameter of %s" , async ( _ , options ) => {
369
380
mockH2Server . removeAllListeners ( "request" ) ;
370
381
mockH2Server . on ( "request" , createResponseFunctionWithDelay ( mockResponse , requestTimeout - 100 ) ) ;
371
382
372
- nodeH2Handler = new NodeHttp2Handler ( { requestTimeout , disableConcurrentStreams : true } ) ;
383
+ nodeH2Handler = new NodeHttp2Handler ( options ) ;
373
384
await nodeH2Handler . handle ( new HttpRequest ( getMockReqOptions ( ) ) , { } ) ;
374
385
} ) ;
375
386
} ) ;
376
387
377
388
describe ( "throws timeoutError on requestTimeout" , ( ) => {
378
- it ( "disableConcurrentStreams: false (default)" , async ( ) => {
389
+ it . each ( [
390
+ [ "static object" , { requestTimeout } ] ,
391
+ [ "object provider" , async ( ) => ( { requestTimeout } ) ] ,
392
+ ] ) ( "disableConcurrentStreams: false (default) in constructor parameter of %s" , async ( _ , options ) => {
379
393
mockH2Server . removeAllListeners ( "request" ) ;
380
394
mockH2Server . on ( "request" , createResponseFunctionWithDelay ( mockResponse , requestTimeout + 100 ) ) ;
381
395
382
- nodeH2Handler = new NodeHttp2Handler ( { requestTimeout } ) ;
396
+ nodeH2Handler = new NodeHttp2Handler ( options ) ;
383
397
await rejects ( nodeH2Handler . handle ( new HttpRequest ( getMockReqOptions ( ) ) , { } ) , {
384
398
name : "TimeoutError" ,
385
399
message : `Stream timed out because of no activity for ${ requestTimeout } ms` ,
386
400
} ) ;
387
401
} ) ;
388
402
389
- it ( "disableConcurrentStreams: true" , async ( ) => {
403
+ it . each ( [
404
+ [ "object provider" , async ( ) => ( { requestTimeout } ) ] ,
405
+ [ "static object" , { requestTimeout } ] ,
406
+ ] ) ( "disableConcurrentStreams: true in constructor parameter of %s" , async ( ) => {
390
407
mockH2Server . removeAllListeners ( "request" ) ;
391
408
mockH2Server . on ( "request" , createResponseFunctionWithDelay ( mockResponse , requestTimeout + 100 ) ) ;
392
409
@@ -403,8 +420,11 @@ describe(NodeHttp2Handler.name, () => {
403
420
const sessionTimeout = 200 ;
404
421
405
422
describe ( "destroys sessions on sessionTimeout" , ( ) => {
406
- it ( "disableConcurrentStreams: false (default)" , async ( ) => {
407
- nodeH2Handler = new NodeHttp2Handler ( { sessionTimeout } ) ;
423
+ it . each ( [
424
+ [ "object provider" , async ( ) => ( { sessionTimeout } ) ] ,
425
+ [ "static object" , { sessionTimeout } ] ,
426
+ ] ) ( "disableConcurrentStreams: false (default) in constructor parameter of %s" , async ( _ , options ) => {
427
+ nodeH2Handler = new NodeHttp2Handler ( options ) ;
408
428
await nodeH2Handler . handle ( new HttpRequest ( getMockReqOptions ( ) ) , { } ) ;
409
429
410
430
const authority = `${ protocol } //${ hostname } :${ port } ` ;
@@ -419,11 +439,14 @@ describe(NodeHttp2Handler.name, () => {
419
439
expect ( nodeH2Handler . sessionCache . get ( authority ) . length ) . toStrictEqual ( 0 ) ;
420
440
} ) ;
421
441
422
- it ( "disableConcurrentStreams: true" , async ( ) => {
442
+ it . each ( [
443
+ [ "object provider" , async ( ) => ( { sessionTimeout, disableConcurrentStreams : true } ) ] ,
444
+ [ "static object" , { sessionTimeout, disableConcurrentStreams : true } ] ,
445
+ ] ) ( "disableConcurrentStreams: true in constructor parameter of %s" , async ( _ , options ) => {
423
446
let session ;
424
447
const authority = `${ protocol } //${ hostname } :${ port } ` ;
425
448
426
- nodeH2Handler = new NodeHttp2Handler ( { sessionTimeout , disableConcurrentStreams : true } ) ;
449
+ nodeH2Handler = new NodeHttp2Handler ( options ) ;
427
450
428
451
mockH2Server . removeAllListeners ( "request" ) ;
429
452
mockH2Server . on ( "request" , ( request : any , response : any ) => {
@@ -487,11 +510,12 @@ describe(NodeHttp2Handler.name, () => {
487
510
) ;
488
511
} ) ;
489
512
490
- describe ( "disableConcurrentStreams" , ( ) => {
513
+ describe . each ( [
514
+ [ "object provider" , async ( ) => ( { disableConcurrentStreams : true } ) ] ,
515
+ [ "static object" , { disableConcurrentStreams : true } ] ,
516
+ ] ) ( "disableConcurrentStreams in constructor parameter of %s" , ( _ , options ) => {
491
517
beforeEach ( ( ) => {
492
- nodeH2Handler = new NodeHttp2Handler ( {
493
- disableConcurrentStreams : true ,
494
- } ) ;
518
+ nodeH2Handler = new NodeHttp2Handler ( options ) ;
495
519
} ) ;
496
520
497
521
describe ( "number calls to http2.connect" , ( ) => {
0 commit comments