1- const  chai  =  require ( "chai" ) ; 
2- const  expect  =  chai . expect ; 
3- const  RetrySender  =  require ( "../dist/cjs/RetrySender.cjs" ) . default ; 
4- const  {  MockSenderWithStatusCodesAndHeaders }  =  require ( "./fixtures/mock_senders" ) ; 
5- const  Request  =  require ( "../src/Request.js" ) ; 
6- const  MockSleeper  =  require ( "./fixtures/MockSleeper.js" ) ; 
7- 
8- async  function  sendWithRetry ( retries ,  inner ,  sleeper )  { 
1+ import  {  expect  }  from  "chai" ; 
2+ import  RetrySender  from  "../src/RetrySender.js" ; 
3+ import  {  MockSenderWithStatusCodesAndHeaders  }  from  "./fixtures/mock_senders.js" ; 
4+ import  Request  from  "../src/Request.js" ; 
5+ import  MockSleeper  from  "./fixtures/MockSleeper.js" ; 
6+ 
7+ async  function  sendWithRetry ( retries : number ,  inner : any ,  sleeper : any )  { 
98	const  request  =  new  Request ( ) ; 
109	const  sender  =  new  RetrySender ( retries ,  inner ,  sleeper ) ; 
1110	return  await  sender . send ( request ) ; 
1211} 
1312
1413describe ( "Retry Sender tests" ,  function  ( )  { 
1514	it ( "test success does not retry" ,  async  function  ( )  { 
16- 		let  inner  =  new  MockSenderWithStatusCodesAndHeaders ( [ "200" ] ) ; 
15+ 		let  inner  =  new  ( MockSenderWithStatusCodesAndHeaders   as   any ) ( [ "200" ] ) ; 
1716		await  sendWithRetry ( 5 ,  inner ,  new  MockSleeper ( ) ) ; 
1817
1918		expect ( inner . currentStatusCodeIndex ) . to . equal ( 1 ) ; 
2019	} ) ; 
2120
2221	it ( "test client error does not retry" ,  async  function  ( )  { 
23- 		let  inner  =  new  MockSenderWithStatusCodesAndHeaders ( [ "422" ] ) ; 
22+ 		let  inner  =  new  ( MockSenderWithStatusCodesAndHeaders   as   any ) ( [ "422" ] ) ; 
2423		await  sendWithRetry ( 5 ,  inner ,  new  MockSleeper ( ) ) ; 
2524
2625		expect ( inner . currentStatusCodeIndex ) . to . equal ( 1 ) ; 
2726	} ) ; 
2827
2928	it ( "test will retry until success" ,  async  function  ( )  { 
30- 		let  inner  =  new  MockSenderWithStatusCodesAndHeaders ( [ "500" ,  "500" ,  "500" ,  "200" ,  "500" ] ) ; 
29+ 		let  inner  =  new  ( MockSenderWithStatusCodesAndHeaders  as  any ) ( [ 
30+ 			"500" , 
31+ 			"500" , 
32+ 			"500" , 
33+ 			"200" , 
34+ 			"500" , 
35+ 		] ) ; 
3136		await  sendWithRetry ( 10 ,  inner ,  new  MockSleeper ( ) ) ; 
3237
3338		expect ( inner . currentStatusCodeIndex ) . to . equal ( 4 ) ; 
3439	} ) ; 
3540
3641	it ( "test return response if retry limit exceeded" ,  async  function  ( )  { 
37- 		let  inner  =  new  MockSenderWithStatusCodesAndHeaders ( [ "500" ,  "500" ,  "500" ,  "500" ,  "500" ] ) ; 
42+ 		let  inner  =  new  ( MockSenderWithStatusCodesAndHeaders  as  any ) ( [ 
43+ 			"500" , 
44+ 			"500" , 
45+ 			"500" , 
46+ 			"500" , 
47+ 			"500" , 
48+ 		] ) ; 
3849		const  sleeper  =  new  MockSleeper ( ) ; 
3950		const  response  =  await  sendWithRetry ( 4 ,  inner ,  sleeper ) ; 
4051
@@ -45,7 +56,7 @@ describe("Retry Sender tests", function () {
4556	} ) ; 
4657
4758	it ( "test backoff does not exceed max" ,  async  function  ( )  { 
48- 		let  inner  =  new  MockSenderWithStatusCodesAndHeaders ( [ 
59+ 		let  inner  =  new  ( MockSenderWithStatusCodesAndHeaders   as   any ) ( [ 
4960			"500" , 
5061			"500" , 
5162			"500" , 
@@ -69,14 +80,14 @@ describe("Retry Sender tests", function () {
6980	} ) ; 
7081
7182	it ( "test empty status does not retry" ,  async  function  ( )  { 
72- 		let  inner  =  new  MockSenderWithStatusCodesAndHeaders ( [ ] ) ; 
83+ 		let  inner  =  new  ( MockSenderWithStatusCodesAndHeaders   as   any ) ( [ ] ) ; 
7384		await  sendWithRetry ( 5 ,  inner ,  new  MockSleeper ( ) ) ; 
7485
7586		expect ( inner . currentStatusCodeIndex ) . to . equal ( 1 ) ; 
7687	} ) ; 
7788
7889	it ( "test sleep on rate limit" ,  async  function  ( )  { 
79- 		let  inner  =  new  MockSenderWithStatusCodesAndHeaders ( [ "429" ,  "200" ] ) ; 
90+ 		let  inner  =  new  ( MockSenderWithStatusCodesAndHeaders   as   any ) ( [ "429" ,  "200" ] ) ; 
8091		const  sleeper  =  new  MockSleeper ( ) ; 
8192
8293		await  sendWithRetry ( 5 ,  inner ,  sleeper ) ; 
@@ -85,7 +96,7 @@ describe("Retry Sender tests", function () {
8596	} ) ; 
8697
8798	it ( "test rate limit error return" ,  async  function  ( )  { 
88- 		let  inner  =  new  MockSenderWithStatusCodesAndHeaders ( [ "429" ] ,  {  "Retry-After" : 7  } ) ; 
99+ 		let  inner  =  new  ( MockSenderWithStatusCodesAndHeaders   as   any ) ( [ "429" ] ,  {  "Retry-After" : 7  } ) ; 
89100		const  sleeper  =  new  MockSleeper ( ) ; 
90101
91102		await  sendWithRetry ( 10 ,  inner ,  sleeper ) ; 
@@ -94,7 +105,7 @@ describe("Retry Sender tests", function () {
94105	} ) ; 
95106
96107	it ( "test retry after invalid value" ,  async  function  ( )  { 
97- 		let  inner  =  new  MockSenderWithStatusCodesAndHeaders ( [ "429" ] ,  {  "Retry-After" : "a"  } ) ; 
108+ 		let  inner  =  new  ( MockSenderWithStatusCodesAndHeaders   as   any ) ( [ "429" ] ,  {  "Retry-After" : "a"  } ) ; 
98109		const  sleeper  =  new  MockSleeper ( ) ; 
99110
100111		await  sendWithRetry ( 10 ,  inner ,  sleeper ) ; 
@@ -103,11 +114,11 @@ describe("Retry Sender tests", function () {
103114	} ) ; 
104115
105116	it ( "test retry error" ,  async  function  ( )  { 
106- 		let  inner  =  new  MockSenderWithStatusCodesAndHeaders ( [ "429" ] ,  undefined ,  "Big Bad" ) ; 
117+ 		let  inner  =  new  ( MockSenderWithStatusCodesAndHeaders   as   any ) ( [ "429" ] ,  undefined ,  "Big Bad" ) ; 
107118		const  sleeper  =  new  MockSleeper ( ) ; 
108119
109120		const  response  =  await  sendWithRetry ( 10 ,  inner ,  sleeper ) ; 
110121
111122		expect ( response . error ) . to . equal ( "Big Bad" ) ; 
112123	} ) ; 
113- } ) ; 
124+ } ) ; 
0 commit comments