@@ -53,7 +53,6 @@ public class AutoDefaultsModeDiscoveryEc2MetadataClientTest {
53
53
public void setup () {
54
54
System .setProperty (SdkSystemSetting .AWS_EC2_METADATA_SERVICE_ENDPOINT .property (),
55
55
"http://localhost:" + wireMock .port ());
56
- ENVIRONMENT_VARIABLE_HELPER .remove (SdkSystemSetting .AWS_EC2_METADATA_DISABLED .environmentVariable ());
57
56
}
58
57
59
58
@ After
@@ -71,12 +70,10 @@ public void autoDefaultsModeDiscovery_shouldUseSharedHttpClient() throws Excepti
71
70
stubFor (get ("/latest/meta-data/placement/region" )
72
71
.willReturn (aResponse ().withStatus (200 ).withBody ("us-east-1" )));
73
72
74
- ENVIRONMENT_VARIABLE_HELPER .set ("AWS_DEFAULT_REGION" , "us-west-2" );
75
-
76
73
AutoDefaultsModeDiscovery discovery = new AutoDefaultsModeDiscovery ();
77
74
DefaultsMode result = discovery .discover (Region .US_EAST_1 );
78
75
79
- // Should return IN_REGION since client region (us-east-1) matches IMDS region (us-east-1)
76
+ // Should return IN_REGION since client region matches IMDS region
80
77
assertThat (result ).isEqualTo (DefaultsMode .IN_REGION );
81
78
82
79
// Verify that the shared HTTP client was used
@@ -99,8 +96,6 @@ public void multipleDiscoveryInstances_shouldShareSameHttpClient() throws Except
99
96
stubFor (get ("/latest/meta-data/placement/region" )
100
97
.willReturn (aResponse ().withStatus (200 ).withBody ("us-west-2" )));
101
98
102
- ENVIRONMENT_VARIABLE_HELPER .set ("AWS_DEFAULT_REGION" , "us-west-2" );
103
-
104
99
// Create multiple discovery instances
105
100
AutoDefaultsModeDiscovery discovery1 = new AutoDefaultsModeDiscovery ();
106
101
AutoDefaultsModeDiscovery discovery2 = new AutoDefaultsModeDiscovery ();
@@ -109,7 +104,7 @@ public void multipleDiscoveryInstances_shouldShareSameHttpClient() throws Except
109
104
DefaultsMode result1 = discovery1 .discover (Region .US_EAST_1 );
110
105
DefaultsMode result2 = discovery2 .discover (Region .US_EAST_1 );
111
106
112
- // Both should return CROSS_REGION (client: us-east-1, IMDS: us-west-2)
107
+ // Both should return CROSS_REGION
113
108
assertThat (result1 ).isEqualTo (DefaultsMode .CROSS_REGION );
114
109
assertThat (result2 ).isEqualTo (DefaultsMode .CROSS_REGION );
115
110
@@ -129,8 +124,6 @@ public void multipleDiscoveryInstances_shouldShareSameHttpClient() throws Except
129
124
public void awsEc2MetadataDisabled_shouldSkipImdsAndUseStandardMode () {
130
125
// Disable IMDS
131
126
ENVIRONMENT_VARIABLE_HELPER .set (SdkSystemSetting .AWS_EC2_METADATA_DISABLED .environmentVariable (), "true" );
132
- ENVIRONMENT_VARIABLE_HELPER .set ("AWS_DEFAULT_REGION" , "us-west-2" );
133
-
134
127
135
128
AutoDefaultsModeDiscovery discovery = new AutoDefaultsModeDiscovery ();
136
129
DefaultsMode result = discovery .discover (Region .US_EAST_1 );
@@ -151,8 +144,6 @@ public void imdsFailure_shouldFallbackToStandardMode() {
151
144
stubFor (get ("/latest/meta-data/placement/region" )
152
145
.willReturn (aResponse ().withStatus (500 ).withBody ("Internal Server Error" )));
153
146
154
- ENVIRONMENT_VARIABLE_HELPER .set ("AWS_DEFAULT_REGION" , "us-west-2" );
155
-
156
147
AutoDefaultsModeDiscovery discovery = new AutoDefaultsModeDiscovery ();
157
148
DefaultsMode result = discovery .discover (Region .US_EAST_1 );
158
149
@@ -171,20 +162,17 @@ public void noRetryPolicy_shouldBeUsedByDefault() {
171
162
stubFor (get ("/latest/meta-data/placement/region" )
172
163
.willReturn (aResponse ().withStatus (500 ).withBody ("Internal Server Error" )));
173
164
174
- ENVIRONMENT_VARIABLE_HELPER .set ("AWS_DEFAULT_REGION" , "us-west-2" );
175
-
176
165
AutoDefaultsModeDiscovery discovery = new AutoDefaultsModeDiscovery ();
177
166
DefaultsMode result = discovery .discover (Region .US_EAST_1 );
178
167
179
168
// Should fail immediately without retries and fallback to STANDARD
180
169
assertThat (result ).isEqualTo (DefaultsMode .STANDARD );
181
170
182
- // Verify requests were made but no retries
183
- verify (putRequestedFor (urlEqualTo ("/latest/api/token" )));
184
- verify (getRequestedFor (urlEqualTo ("/latest/meta-data/placement/region" )));
171
+ // Verify requests were made once ( no retries)
172
+ verify (1 , putRequestedFor (urlEqualTo ("/latest/api/token" )));
173
+ verify (1 , getRequestedFor (urlEqualTo ("/latest/meta-data/placement/region" )));
185
174
}
186
175
187
-
188
176
@ Test
189
177
public void imdsV1Fallback_shouldWorkWhenTokenFails () {
190
178
// Stub token request to fail
@@ -195,15 +183,13 @@ public void imdsV1Fallback_shouldWorkWhenTokenFails() {
195
183
stubFor (get ("/latest/meta-data/placement/region" )
196
184
.willReturn (aResponse ().withStatus (200 ).withBody ("us-east-1" )));
197
185
198
- ENVIRONMENT_VARIABLE_HELPER .set ("AWS_DEFAULT_REGION" , "us-west-2" );
199
-
200
186
AutoDefaultsModeDiscovery discovery = new AutoDefaultsModeDiscovery ();
201
187
DefaultsMode result = discovery .discover (Region .US_EAST_1 );
202
188
203
- // Should fall back to IMDSv1 and succeed, returning IN_REGION
189
+ // Should fall back to IMDSv1 and return IN_REGION
204
190
assertThat (result ).isEqualTo (DefaultsMode .IN_REGION );
205
191
206
- // Verify both token request (failed) and region request (succeeded) were made
192
+ // Verify both token request and region request were made
207
193
verify (putRequestedFor (urlEqualTo ("/latest/api/token" )));
208
194
verify (getRequestedFor (urlEqualTo ("/latest/meta-data/placement/region" )));
209
195
}
@@ -217,8 +203,6 @@ public void imdsV1Fallback_shouldNotWorkWhenV1Disabled() {
217
203
stubFor (put ("/latest/api/token" )
218
204
.willReturn (aResponse ().withStatus (500 ).withBody ("Internal Server Error" )));
219
205
220
- ENVIRONMENT_VARIABLE_HELPER .set ("AWS_DEFAULT_REGION" , "us-west-2" );
221
-
222
206
AutoDefaultsModeDiscovery discovery = new AutoDefaultsModeDiscovery ();
223
207
DefaultsMode result = discovery .discover (Region .US_EAST_1 );
224
208
@@ -235,15 +219,13 @@ public void tokenRequest400Error_shouldNotFallbackToV1() {
235
219
stubFor (put ("/latest/api/token" )
236
220
.willReturn (aResponse ().withStatus (400 ).withBody ("Bad Request" )));
237
221
238
- ENVIRONMENT_VARIABLE_HELPER .set ("AWS_DEFAULT_REGION" , "us-west-2" );
239
-
240
222
AutoDefaultsModeDiscovery discovery = new AutoDefaultsModeDiscovery ();
241
223
DefaultsMode result = discovery .discover (Region .US_EAST_1 );
242
224
243
225
// Should fail without attempting IMDSv1 fallback and return STANDARD
244
226
assertThat (result ).isEqualTo (DefaultsMode .STANDARD );
245
227
246
- // Verify only token request was made (no region request)
228
+ // Verify only token request was made
247
229
verify (putRequestedFor (urlEqualTo ("/latest/api/token" )));
248
230
}
249
231
}
0 commit comments