@@ -12,42 +12,42 @@ import { SdkError } from "@aws-sdk/smithy-client";
12
12
describe ( "retryMiddleware" , ( ) => {
13
13
it ( "should not retry when the handler completes successfully" , async ( ) => {
14
14
const next = jest . fn ( ) . mockResolvedValue ( { output : { $metadata : { } } } ) ;
15
- const retryHandler = retryMiddleware ( resolveRetryConfig ( { maxRetries : 0 } ) ) (
16
- next
17
- ) ;
15
+ const retryHandler = retryMiddleware (
16
+ resolveRetryConfig ( { maxAttempts : 0 } )
17
+ ) ( next ) ;
18
18
19
19
const {
20
20
output : { $metadata }
21
21
} = await retryHandler ( { input : { } , request : new HttpRequest ( { } ) } ) ;
22
- expect ( $metadata . retries ) . toBe ( 0 ) ;
22
+ expect ( $metadata . attempts ) . toBe ( 1 ) ;
23
23
expect ( $metadata . totalRetryDelay ) . toBe ( 0 ) ;
24
24
25
25
expect ( next . mock . calls . length ) . toBe ( 1 ) ;
26
26
} ) ;
27
27
28
28
it ( "should stop retrying when the the maximum number of retries is reached" , async ( ) => {
29
- const maxRetries = 3 ;
29
+ const maxAttempts = 3 ;
30
30
const error = new Error ( ) ;
31
31
error . name = "ProvisionedThroughputExceededException" ;
32
32
const next = jest . fn ( ) . mockRejectedValue ( error ) ;
33
- const retryHandler = retryMiddleware ( resolveRetryConfig ( { maxRetries } ) ) (
33
+ const retryHandler = retryMiddleware ( resolveRetryConfig ( { maxAttempts } ) ) (
34
34
next
35
35
) ;
36
36
37
37
await expect (
38
38
retryHandler ( { input : { } , request : new HttpRequest ( { } ) } )
39
39
) . rejects . toMatchObject ( error ) ;
40
40
41
- expect ( next . mock . calls . length ) . toBe ( maxRetries + 1 ) ;
41
+ expect ( next . mock . calls . length ) . toBe ( maxAttempts ) ;
42
42
} ) ;
43
43
44
44
it ( "should not retry if the error is not transient" , async ( ) => {
45
45
const error = new Error ( ) ;
46
46
error . name = "ValidationException" ;
47
47
const next = jest . fn ( ) . mockRejectedValue ( error ) ;
48
- const retryHandler = retryMiddleware ( resolveRetryConfig ( { maxRetries : 3 } ) ) (
49
- next
50
- ) ;
48
+ const retryHandler = retryMiddleware (
49
+ resolveRetryConfig ( { maxAttempts : 3 } )
50
+ ) ( next ) ;
51
51
52
52
await expect (
53
53
retryHandler ( { input : { } , request : new HttpRequest ( { } ) } )
@@ -69,24 +69,24 @@ describe("retryMiddleware", () => {
69
69
70
70
jest . mock ( "./delayDecider" ) ;
71
71
72
- const maxRetries = 3 ;
72
+ const maxAttempts = 3 ;
73
73
const delayDeciderMock = jest . spyOn (
74
74
delayDeciderModule ,
75
75
"defaultDelayDecider"
76
76
) ;
77
77
const retryDecider : RetryDecider = ( error : SdkError ) => true ;
78
- const strategy = new ExponentialBackOffStrategy ( maxRetries , retryDecider ) ;
78
+ const strategy = new ExponentialBackOffStrategy ( maxAttempts , retryDecider ) ;
79
79
const retryHandler = retryMiddleware ( {
80
- maxRetries ,
80
+ maxAttempts ,
81
81
retryStrategy : strategy
82
82
} ) ( next ) ;
83
83
84
84
await retryHandler ( { input : { } , request : new HttpRequest ( { } ) } ) ;
85
85
86
86
expect ( next . mock . calls . length ) . toBe ( 3 ) ;
87
87
expect ( delayDeciderMock . mock . calls ) . toEqual ( [
88
- [ DEFAULT_RETRY_DELAY_BASE , 0 ] ,
89
- [ THROTTLING_RETRY_DELAY_BASE , 1 ]
88
+ [ DEFAULT_RETRY_DELAY_BASE , 1 ] ,
89
+ [ THROTTLING_RETRY_DELAY_BASE , 2 ]
90
90
] ) ;
91
91
} ) ;
92
92
} ) ;
0 commit comments