@@ -272,6 +272,116 @@ def test_create_client_with_args(self):
272272 config = None ,
273273 )
274274
275+ def test_session_with_aws_bearer_token (self ):
276+ session = Session (aws_bearer_token = 'test-token' )
277+ assert session ._aws_bearer_token == 'test-token'
278+
279+ def test_session_with_aws_bearer_token_none (self ):
280+ session = Session ()
281+ assert session ._aws_bearer_token is None
282+
283+ def test_create_client_with_aws_bearer_token (self ):
284+ bc_session = self .bc_session_cls .return_value
285+
286+ session = Session (region_name = 'us-east-1' )
287+ session .client (
288+ 'bedrock-runtime' ,
289+ region_name = 'us-west-2' ,
290+ aws_bearer_token = 'test-bearer-token' ,
291+ )
292+
293+ bc_session .create_client .assert_called_with (
294+ 'bedrock-runtime' ,
295+ aws_secret_access_key = None ,
296+ aws_access_key_id = None ,
297+ endpoint_url = None ,
298+ use_ssl = True ,
299+ aws_session_token = None ,
300+ verify = None ,
301+ region_name = 'us-west-2' ,
302+ api_version = None ,
303+ config = None ,
304+ aws_bearer_token = 'test-bearer-token' ,
305+ )
306+
307+ def test_create_client_with_session_level_aws_bearer_token (self ):
308+ bc_session = self .bc_session_cls .return_value
309+
310+ session = Session (
311+ region_name = 'us-east-1' ,
312+ aws_bearer_token = 'session-level-token' ,
313+ )
314+ session .client ('bedrock-runtime' , region_name = 'us-west-2' )
315+
316+ bc_session .create_client .assert_called_with (
317+ 'bedrock-runtime' ,
318+ aws_secret_access_key = None ,
319+ aws_access_key_id = None ,
320+ endpoint_url = None ,
321+ use_ssl = True ,
322+ aws_session_token = None ,
323+ verify = None ,
324+ region_name = 'us-west-2' ,
325+ api_version = None ,
326+ config = None ,
327+ aws_bearer_token = 'session-level-token' ,
328+ )
329+
330+ def test_create_client_aws_bearer_token_client_overrides_session (self ):
331+ bc_session = self .bc_session_cls .return_value
332+
333+ session = Session (
334+ region_name = 'us-east-1' ,
335+ aws_bearer_token = 'session-level-token' ,
336+ )
337+ session .client (
338+ 'bedrock-runtime' ,
339+ region_name = 'us-west-2' ,
340+ aws_bearer_token = 'client-level-token' ,
341+ )
342+
343+ bc_session .create_client .assert_called_with (
344+ 'bedrock-runtime' ,
345+ aws_secret_access_key = None ,
346+ aws_access_key_id = None ,
347+ endpoint_url = None ,
348+ use_ssl = True ,
349+ aws_session_token = None ,
350+ verify = None ,
351+ region_name = 'us-west-2' ,
352+ api_version = None ,
353+ config = None ,
354+ aws_bearer_token = 'client-level-token' ,
355+ )
356+
357+ def test_create_client_aws_bearer_token_empty_string_overrides_session (self ):
358+ bc_session = self .bc_session_cls .return_value
359+
360+ session = Session (
361+ region_name = 'us-east-1' ,
362+ aws_bearer_token = 'session-level-token' ,
363+ )
364+ # Empty string is an explicit value and should override session token
365+ session .client (
366+ 'bedrock-runtime' ,
367+ region_name = 'us-west-2' ,
368+ aws_bearer_token = '' ,
369+ )
370+
371+ bc_session .create_client .assert_called_with (
372+ 'bedrock-runtime' ,
373+ aws_secret_access_key = None ,
374+ aws_access_key_id = None ,
375+ endpoint_url = None ,
376+ use_ssl = True ,
377+ aws_session_token = None ,
378+ verify = None ,
379+ region_name = 'us-west-2' ,
380+ api_version = None ,
381+ config = None ,
382+ aws_bearer_token = '' ,
383+ )
384+
275385 def test_create_client_with_aws_account_id (self ):
276386 bc_session = self .bc_session_cls .return_value
277387
@@ -324,6 +434,7 @@ def test_create_resource_with_args(self):
324434 region_name = None ,
325435 api_version = '2014-11-02' ,
326436 config = mock .ANY ,
437+ aws_bearer_token = None ,
327438 )
328439 client_config = session .client .call_args [1 ]['config' ]
329440 assert client_config .user_agent_extra == 'Resource'
@@ -356,6 +467,7 @@ def test_create_resource_with_config(self):
356467 region_name = None ,
357468 api_version = '2014-11-02' ,
358469 config = mock .ANY ,
470+ aws_bearer_token = None ,
359471 )
360472 client_config = session .client .call_args [1 ]['config' ]
361473 assert client_config .user_agent_extra == 'Resource'
@@ -388,6 +500,7 @@ def test_create_resource_with_config_override_user_agent_extra(self):
388500 region_name = None ,
389501 api_version = '2014-11-02' ,
390502 config = mock .ANY ,
503+ aws_bearer_token = None ,
391504 )
392505 client_config = session .client .call_args [1 ]['config' ]
393506 assert client_config .user_agent_extra == 'foo'
0 commit comments