def test_list_virtual_mfa_devices_error_connect_iam(self): expected_error_response = copy.deepcopy(DataCommon.ERROR_RESPONSE) expected_operation_name = copy.deepcopy(DataCommon.OPERATION_NAME) # mock error client with patch.object(session, 'client') as mock_method: mock_method.side_effect = ClientError( error_response=expected_error_response, operation_name=expected_operation_name) with patch.object(PmLogAdapter, 'error', return_value=None) as mock_method_error: with self.assertRaises(PmError) as exception: IAMUtils.list_virtual_mfa_devices(trace_id, session, aws_account) # check error actual_cause_error = exception.exception.cause_error self.assertEqual(expected_error_response['Error'], actual_cause_error.response['Error']) self.assertEqual(expected_operation_name, actual_cause_error.operation_name) # check message log error mock_method_error.assert_any_call("[%s] IAMクライアント作成に失敗しました。", aws_account)
def test_list_virtual_mfa_devices_success_response_is_truncate_false(self): # connect client client_connect_iam = iam_utils.client_connect() expected_list_virtual_mfa_devices = copy.deepcopy( DataTestIAM.DATA_LIST_VIRTUAL_MFA_DEVICES_IS_TRUNCATED_FALSE) # mock client with patch.object(session, 'client') as mock_method_client: mock_method_client.return_value = client_connect_iam # mock response API list_virtual_mfa_devices with patch.object(client_connect_iam, 'list_virtual_mfa_devices') as mock_method: mock_method.return_value = expected_list_virtual_mfa_devices actual_list_virtual_mfa_devices = IAMUtils.list_virtual_mfa_devices( trace_id, session, aws_account) # check response self.assertEqual( expected_list_virtual_mfa_devices['VirtualMFADevices'], actual_list_virtual_mfa_devices) # check connect client mock_method_client.assert_any_call(service_name="iam")