19
19
20
20
import java .time .Duration ;
21
21
import java .time .Instant ;
22
+ import java .util .stream .Stream ;
22
23
import org .junit .jupiter .api .Test ;
24
+ import org .junit .jupiter .params .ParameterizedTest ;
25
+ import org .junit .jupiter .params .provider .Arguments ;
26
+ import org .junit .jupiter .params .provider .MethodSource ;
23
27
import software .amazon .awssdk .http .SdkHttpFullResponse ;
24
28
import software .amazon .awssdk .http .SdkHttpResponse ;
25
29
import software .amazon .awssdk .utils .DateUtils ;
@@ -82,11 +86,12 @@ public void exceptionMessage_withoutExtendedRequestId() {
82
86
assertThat (e .getMessage ()).isEqualTo ("errorMessage (Service: serviceName, Status Code: 500, Request ID: requestId)" );
83
87
}
84
88
85
- @ Test
86
- public void exceptionMessage_withAttempts () {
89
+ @ ParameterizedTest
90
+ @ MethodSource ("exceptionMessageTestCases" )
91
+ void exceptionMessageTests (int numAttempts , String expectedMessage ) {
87
92
AwsServiceException e = AwsServiceException .builder ()
88
93
.message ("errorMessage" )
89
- .numAttempts (6 )
94
+ .numAttempts (numAttempts )
90
95
.awsErrorDetails (AwsErrorDetails .builder ()
91
96
.errorMessage ("errorMessage" )
92
97
.serviceName ("serviceName" )
@@ -96,44 +101,22 @@ public void exceptionMessage_withAttempts() {
96
101
.requestId ("requestId" )
97
102
.build ();
98
103
99
- assertThat (e .getMessage ()).contains ("(SDK Diagnostics: numAttempts = 6)" );
100
- assertThat (e .numAttempts ()).isEqualTo (6 );
101
- }
102
-
103
- @ Test
104
- public void exceptionMessage_zeroAttempts () {
105
- AwsServiceException e = (AwsServiceException ) AwsServiceException .builder ()
106
- .awsErrorDetails (AwsErrorDetails .builder ()
107
- .errorMessage ("errorMessage" )
108
- .serviceName ("serviceName" )
109
- .errorCode ("errorCode" )
110
- .build ())
111
- .statusCode (500 )
112
- .requestId ("requestId" )
113
- .numAttempts (0 )
114
- .build ();
115
-
116
- assertThat (e .getMessage ()).contains ("errorMessage (Service: serviceName, Status Code: 500, " +
117
- "Request ID: requestId)" );
118
- assertThat (e .numAttempts ()).isEqualTo (0 );
104
+ assertThat (e .getMessage ()).isEqualTo (expectedMessage );
105
+ assertThat (e .numAttempts ()).isEqualTo (numAttempts );
119
106
}
120
107
121
- @ Test
122
- public void setAttempts_modifiesMessage () {
123
- AwsServiceException e = AwsServiceException .builder ()
124
- .numAttempts (3 )
125
- .awsErrorDetails (AwsErrorDetails .builder ()
126
- .errorMessage ("errorMessage" )
127
- .serviceName ("serviceName" )
128
- .errorCode ("errorCode" )
129
- .build ())
130
- .statusCode (500 )
131
- .requestId ("requestId" )
132
- .build ();
133
-
134
- assertThat (e .getMessage ()).isEqualTo ("errorMessage (Service: serviceName, Status Code: 500, " +
135
- "Request ID: requestId) (SDK Diagnostics: numAttempts = 3)" );
136
- assertThat (e .numAttempts ()).isEqualTo (3 );
108
+ private static Stream <Arguments > exceptionMessageTestCases () {
109
+ return Stream .of (
110
+ Arguments .of (
111
+ 6 ,
112
+ "errorMessage (Service: serviceName, Status Code: 500, Request ID: requestId) (SDK Diagnostics: numAttempts = 6)" ),
113
+ Arguments .of (
114
+ 3 ,
115
+ "errorMessage (Service: serviceName, Status Code: 500, Request ID: requestId) (SDK Diagnostics: numAttempts = 3)" ),
116
+ Arguments .of (
117
+ 0 ,
118
+ "errorMessage (Service: serviceName, Status Code: 500, Request ID: requestId) (SDK Diagnostics: numAttempts = 0)" )
119
+ );
137
120
}
138
121
139
122
@ Test
0 commit comments