@@ -340,6 +340,33 @@ def test_get_caller_identity_arn_from_describe_user_profile(boto_session):
340340 )
341341
342342
343+ @patch (
344+ "six.moves.builtins.open" ,
345+ mock_open (
346+ read_data = '{"ResourceName": "SageMakerInstance", '
347+ '"DomainId": "d-kbnw5yk6tg8j", '
348+ '"UserProfileName": "default-1617915559064"}'
349+ ),
350+ )
351+ @patch ("os.path.exists" , side_effect = mock_exists (NOTEBOOK_METADATA_FILE , True ))
352+ def test_get_caller_identity_arn_from_describe_domain (boto_session ):
353+ sess = Session (boto_session )
354+ expected_role = "arn:aws:iam::369233609183:role/service-role/SageMakerRole-20171129T072388"
355+ sess .sagemaker_client .describe_user_profile .return_value = {}
356+ sess .sagemaker_client .describe_domain .return_value = {
357+ "DefaultUserSettings" : {"ExecutionRole" : expected_role }
358+ }
359+
360+ actual = sess .get_caller_identity_arn ()
361+
362+ assert actual == expected_role
363+ sess .sagemaker_client .describe_user_profile .assert_called_once_with (
364+ DomainId = "d-kbnw5yk6tg8j" ,
365+ UserProfileName = "default-1617915559064" ,
366+ )
367+ sess .sagemaker_client .describe_domain .assert_called_once_with (DomainId = "d-kbnw5yk6tg8j" )
368+
369+
343370@patch ("six.moves.builtins.open" , mock_open (read_data = '{"ResourceName": "SageMakerInstance"}' ))
344371@patch ("os.path.exists" , side_effect = mock_exists (NOTEBOOK_METADATA_FILE , True ))
345372@patch ("sagemaker.session.sts_regional_endpoint" , return_value = STS_ENDPOINT )
0 commit comments