1111import pytest
1212from smithy_aws_core .identity import AWSCredentialsIdentity
1313from smithy_aws_core .identity .container import (
14- ContainerCredentialConfig ,
15- ContainerCredentialResolver ,
14+ ContainerCredentialsConfig ,
15+ ContainerCredentialsResolver ,
1616 ContainerMetadataClient ,
1717)
1818from smithy_core import URI
3232
3333
3434def test_config_custom_values ():
35- config = ContainerCredentialConfig (timeout = 10 , retries = 5 )
35+ config = ContainerCredentialsConfig (timeout = 10 , retries = 5 )
3636 assert config .timeout == 10
3737 assert config .retries == 5
3838
@@ -62,7 +62,7 @@ def _assert_expected_credentials(
6262async def test_metadata_client_valid_host (host : str ):
6363 resp_body = json .dumps (DEFAULT_RESPONSE_DATA )
6464 http_client = mock_http_client_response (200 , resp_body .encode ("utf-8" ))
65- config = ContainerCredentialConfig ()
65+ config = ContainerCredentialsConfig ()
6666 client = ContainerMetadataClient (http_client , config )
6767
6868 # Valid Host
@@ -76,7 +76,7 @@ async def test_metadata_client_valid_host(host: str):
7676async def test_metadata_client_https_host ():
7777 resp_body = json .dumps (DEFAULT_RESPONSE_DATA )
7878 http_client = mock_http_client_response (200 , resp_body .encode ("utf-8" ))
79- config = ContainerCredentialConfig ()
79+ config = ContainerCredentialsConfig ()
8080 client = ContainerMetadataClient (http_client , config )
8181
8282 # Valid HTTPS Host
@@ -90,7 +90,7 @@ async def test_metadata_client_https_host():
9090async def test_metadata_client_invalid_host ():
9191 resp_body = json .dumps (DEFAULT_RESPONSE_DATA )
9292 http_client = mock_http_client_response (200 , resp_body .encode ("utf-8" ))
93- config = ContainerCredentialConfig (retries = 0 )
93+ config = ContainerCredentialsConfig (retries = 0 )
9494 client = ContainerMetadataClient (http_client , config )
9595
9696 # Invalid Host
@@ -103,7 +103,7 @@ async def test_metadata_client_invalid_host():
103103@pytest .mark .asyncio
104104async def test_metadata_client_non_200_response ():
105105 http_client = mock_http_client_response (404 , b"not found" )
106- config = ContainerCredentialConfig (retries = 1 )
106+ config = ContainerCredentialsConfig (retries = 1 )
107107 client = ContainerMetadataClient (http_client , config )
108108
109109 uri = URI (scheme = "http" , host = "169.254.170.2" )
@@ -120,7 +120,7 @@ async def test_metadata_client_invalid_json():
120120 http_client = mock_http_client_response (
121121 200 , b"<!DOCTYPE html><head><title>proxy</title>"
122122 )
123- config = ContainerCredentialConfig (retries = 1 )
123+ config = ContainerCredentialsConfig (retries = 1 )
124124 client = ContainerMetadataClient (http_client , config )
125125
126126 uri = URI (scheme = "http" , host = "169.254.170.2" )
@@ -137,7 +137,7 @@ def _assert_expected_identity(identity: AWSCredentialsIdentity) -> None:
137137@pytest .mark .asyncio
138138async def test_metadata_client_retries ():
139139 http_client = AsyncMock ()
140- config = ContainerCredentialConfig (retries = 2 )
140+ config = ContainerCredentialsConfig (retries = 2 )
141141 client = ContainerMetadataClient (http_client , config )
142142 uri = URI (scheme = "http" , host = "169.254.170.2" , path = "/task" )
143143 http_client .send .side_effect = Exception ()
@@ -153,9 +153,9 @@ async def test_resolver_env_relative():
153153 http_client = mock_http_client_response (200 , resp_body .encode ("utf-8" ))
154154
155155 with patch .dict (
156- os .environ , {ContainerCredentialResolver .ENV_VAR : "/test" }, clear = True
156+ os .environ , {ContainerCredentialsResolver .ENV_VAR : "/test" }, clear = True
157157 ):
158- resolver = ContainerCredentialResolver (http_client )
158+ resolver = ContainerCredentialsResolver (http_client )
159159 identity = await resolver .get_identity (properties = {})
160160
161161 # Ensure we derive the correct destination
@@ -177,10 +177,10 @@ async def test_resolver_env_full():
177177
178178 with patch .dict (
179179 os .environ ,
180- {ContainerCredentialResolver .ENV_VAR_FULL : "http://169.254.170.23/full" },
180+ {ContainerCredentialsResolver .ENV_VAR_FULL : "http://169.254.170.23/full" },
181181 clear = True ,
182182 ):
183- resolver = ContainerCredentialResolver (http_client )
183+ resolver = ContainerCredentialsResolver (http_client )
184184 identity = await resolver .get_identity (properties = {})
185185
186186 # Ensure we derive the correct destination
@@ -203,12 +203,12 @@ async def test_resolver_env_token():
203203 with patch .dict (
204204 os .environ ,
205205 {
206- ContainerCredentialResolver .ENV_VAR_FULL : "http://169.254.170.23/full" ,
207- ContainerCredentialResolver .ENV_VAR_AUTH_TOKEN : "Bearer foobar" ,
206+ ContainerCredentialsResolver .ENV_VAR_FULL : "http://169.254.170.23/full" ,
207+ ContainerCredentialsResolver .ENV_VAR_AUTH_TOKEN : "Bearer foobar" ,
208208 },
209209 clear = True ,
210210 ):
211- resolver = ContainerCredentialResolver (http_client )
211+ resolver = ContainerCredentialsResolver (http_client )
212212 identity = await resolver .get_identity (properties = {})
213213
214214 # Ensure we derive the correct destination and fields
@@ -238,12 +238,12 @@ async def test_resolver_env_token_file(tmp_path: pathlib.Path):
238238 with patch .dict (
239239 os .environ ,
240240 {
241- ContainerCredentialResolver .ENV_VAR_FULL : "http://169.254.170.23/full" ,
242- ContainerCredentialResolver .ENV_VAR_AUTH_TOKEN_FILE : str (token_file ),
241+ ContainerCredentialsResolver .ENV_VAR_FULL : "http://169.254.170.23/full" ,
242+ ContainerCredentialsResolver .ENV_VAR_AUTH_TOKEN_FILE : str (token_file ),
243243 },
244244 clear = True ,
245245 ):
246- resolver = ContainerCredentialResolver (http_client )
246+ resolver = ContainerCredentialsResolver (http_client )
247247 identity = await resolver .get_identity (properties = {})
248248
249249 # Ensure we derive the correct destination and fields
@@ -273,12 +273,12 @@ async def test_resolver_env_token_file_invalid_bytes(tmp_path: pathlib.Path):
273273 with patch .dict (
274274 os .environ ,
275275 {
276- ContainerCredentialResolver .ENV_VAR_FULL : "http://169.254.170.23/full" ,
277- ContainerCredentialResolver .ENV_VAR_AUTH_TOKEN_FILE : str (token_file ),
276+ ContainerCredentialsResolver .ENV_VAR_FULL : "http://169.254.170.23/full" ,
277+ ContainerCredentialsResolver .ENV_VAR_AUTH_TOKEN_FILE : str (token_file ),
278278 },
279279 clear = True ,
280280 ):
281- resolver = ContainerCredentialResolver (http_client )
281+ resolver = ContainerCredentialsResolver (http_client )
282282 with pytest .raises (SmithyIdentityError ) as e :
283283 await resolver .get_identity (properties = {})
284284 assert "Unable to read valid utf-8 bytes from " in str (e .value )
@@ -296,13 +296,13 @@ async def test_resolver_env_token_file_precedence(tmp_path: pathlib.Path):
296296 with patch .dict (
297297 os .environ ,
298298 {
299- ContainerCredentialResolver .ENV_VAR_FULL : "http://169.254.170.23/full" ,
300- ContainerCredentialResolver .ENV_VAR_AUTH_TOKEN_FILE : str (token_file ),
301- ContainerCredentialResolver .ENV_VAR_AUTH_TOKEN : "Bearer foobar" ,
299+ ContainerCredentialsResolver .ENV_VAR_FULL : "http://169.254.170.23/full" ,
300+ ContainerCredentialsResolver .ENV_VAR_AUTH_TOKEN_FILE : str (token_file ),
301+ ContainerCredentialsResolver .ENV_VAR_AUTH_TOKEN : "Bearer foobar" ,
302302 },
303303 clear = True ,
304304 ):
305- resolver = ContainerCredentialResolver (http_client )
305+ resolver = ContainerCredentialsResolver (http_client )
306306 identity = await resolver .get_identity (properties = {})
307307
308308 # Ensure we derive the correct destination and fields
@@ -331,9 +331,9 @@ async def test_resolver_valid_credentials_reused():
331331 http_client = mock_http_client_response (200 , resp_body .encode ("utf-8" ))
332332
333333 with patch .dict (
334- os .environ , {ContainerCredentialResolver .ENV_VAR : "/test" }, clear = True
334+ os .environ , {ContainerCredentialsResolver .ENV_VAR : "/test" }, clear = True
335335 ):
336- resolver = ContainerCredentialResolver (http_client )
336+ resolver = ContainerCredentialsResolver (http_client )
337337 identity_one = await resolver .get_identity (properties = {})
338338 identity_two = await resolver .get_identity (properties = {})
339339
@@ -352,9 +352,9 @@ async def test_resolver_expired_credentials_refreshed():
352352 http_client = mock_http_client_response (200 , resp_body .encode ("utf-8" ))
353353
354354 with patch .dict (
355- os .environ , {ContainerCredentialResolver .ENV_VAR : "/test" }, clear = True
355+ os .environ , {ContainerCredentialsResolver .ENV_VAR : "/test" }, clear = True
356356 ):
357- resolver = ContainerCredentialResolver (http_client )
357+ resolver = ContainerCredentialsResolver (http_client )
358358 identity_one = await resolver .get_identity (properties = {})
359359 identity_two = await resolver .get_identity (properties = {})
360360
@@ -372,7 +372,11 @@ async def test_resolver_missing_env():
372372 resp_body = json .dumps (DEFAULT_RESPONSE_DATA )
373373 http_client = mock_http_client_response (200 , resp_body .encode ("utf-8" ))
374374
375- with patch .dict (os .environ , {}, clear = True ):
376- resolver = ContainerCredentialResolver (http_client )
375+ with patch .dict (
376+ os .environ ,
377+ {},
378+ clear = True ,
379+ ):
380+ resolver = ContainerCredentialsResolver (http_client )
377381 with pytest .raises (SmithyIdentityError ):
378382 await resolver .get_identity (properties = {})
0 commit comments