@@ -43,7 +43,12 @@ describe(NodeHttp2Handler.name, () => {
4343 mockH2Server . close ( ) ;
4444 } ) ;
4545
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 ) => {
4752 let createdSessions ! : ClientHttp2Session [ ] ;
4853 const connectReal = http2 . connect ;
4954 let connectSpy ! : jest . SpiedFunction < typeof http2 . connect > ;
@@ -58,7 +63,7 @@ describe(NodeHttp2Handler.name, () => {
5863 return session ;
5964 } ) ;
6065
61- nodeH2Handler = new NodeHttp2Handler ( ) ;
66+ nodeH2Handler = new NodeHttp2Handler ( option ) ;
6267 } ) ;
6368
6469 const closeConnection = async ( response : HttpResponse ) => {
@@ -357,36 +362,48 @@ describe(NodeHttp2Handler.name, () => {
357362 const requestTimeout = 200 ;
358363
359364 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 ) => {
361369 mockH2Server . removeAllListeners ( "request" ) ;
362370 mockH2Server . on ( "request" , createResponseFunctionWithDelay ( mockResponse , requestTimeout - 100 ) ) ;
363371
364- nodeH2Handler = new NodeHttp2Handler ( { requestTimeout } ) ;
372+ nodeH2Handler = new NodeHttp2Handler ( options ) ;
365373 await nodeH2Handler . handle ( new HttpRequest ( getMockReqOptions ( ) ) , { } ) ;
366374 } ) ;
367375
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 ) => {
369380 mockH2Server . removeAllListeners ( "request" ) ;
370381 mockH2Server . on ( "request" , createResponseFunctionWithDelay ( mockResponse , requestTimeout - 100 ) ) ;
371382
372- nodeH2Handler = new NodeHttp2Handler ( { requestTimeout , disableConcurrentStreams : true } ) ;
383+ nodeH2Handler = new NodeHttp2Handler ( options ) ;
373384 await nodeH2Handler . handle ( new HttpRequest ( getMockReqOptions ( ) ) , { } ) ;
374385 } ) ;
375386 } ) ;
376387
377388 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 ) => {
379393 mockH2Server . removeAllListeners ( "request" ) ;
380394 mockH2Server . on ( "request" , createResponseFunctionWithDelay ( mockResponse , requestTimeout + 100 ) ) ;
381395
382- nodeH2Handler = new NodeHttp2Handler ( { requestTimeout } ) ;
396+ nodeH2Handler = new NodeHttp2Handler ( options ) ;
383397 await rejects ( nodeH2Handler . handle ( new HttpRequest ( getMockReqOptions ( ) ) , { } ) , {
384398 name : "TimeoutError" ,
385399 message : `Stream timed out because of no activity for ${ requestTimeout } ms` ,
386400 } ) ;
387401 } ) ;
388402
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 ( ) => {
390407 mockH2Server . removeAllListeners ( "request" ) ;
391408 mockH2Server . on ( "request" , createResponseFunctionWithDelay ( mockResponse , requestTimeout + 100 ) ) ;
392409
@@ -403,8 +420,11 @@ describe(NodeHttp2Handler.name, () => {
403420 const sessionTimeout = 200 ;
404421
405422 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 ) ;
408428 await nodeH2Handler . handle ( new HttpRequest ( getMockReqOptions ( ) ) , { } ) ;
409429
410430 const authority = `${ protocol } //${ hostname } :${ port } ` ;
@@ -419,11 +439,14 @@ describe(NodeHttp2Handler.name, () => {
419439 expect ( nodeH2Handler . sessionCache . get ( authority ) . length ) . toStrictEqual ( 0 ) ;
420440 } ) ;
421441
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 ) => {
423446 let session ;
424447 const authority = `${ protocol } //${ hostname } :${ port } ` ;
425448
426- nodeH2Handler = new NodeHttp2Handler ( { sessionTimeout , disableConcurrentStreams : true } ) ;
449+ nodeH2Handler = new NodeHttp2Handler ( options ) ;
427450
428451 mockH2Server . removeAllListeners ( "request" ) ;
429452 mockH2Server . on ( "request" , ( request : any , response : any ) => {
@@ -487,11 +510,12 @@ describe(NodeHttp2Handler.name, () => {
487510 ) ;
488511 } ) ;
489512
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 ) => {
491517 beforeEach ( ( ) => {
492- nodeH2Handler = new NodeHttp2Handler ( {
493- disableConcurrentStreams : true ,
494- } ) ;
518+ nodeH2Handler = new NodeHttp2Handler ( options ) ;
495519 } ) ;
496520
497521 describe ( "number calls to http2.connect" , ( ) => {
0 commit comments