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