def connect_aws_mock():
    db_utils.resource_connect()
    db_utils.client_connect()
    cognito_idp_utils.client_connect()
    ses_utils.client_connect()
    sns_utils.client_connect()
    sts_utils.client_connect()
    iam_utils.client_connect()
    s3_utils.client_connect()
    ec2_utils.resource_connect()
    ec2_utils.client_connect()
    s3_utils.client_connect()
    s3_utils.resource_connect()
    step_functions_utils.client_connect()
Beispiel #2
0
    def setUp(self):
        super().setUp()

        # connect client
        global client_connect_iam
        if not client_connect_iam:
            client_connect_iam = iam_utils.client_connect()
    def test_get_account_password_policy_error_no_such_entity(self):
        # connect client
        client_connect_iam = iam_utils.client_connect()

        expected_error_response = copy.deepcopy(DataCommon.ERROR_RESPONSE)
        expected_operation_name = copy.deepcopy(DataCommon.OPERATION_NAME)
        expected_error_response['Error']['Code'] = "NoSuchEntity"

        # mock client
        with patch.object(session, 'client') as mock_method_client:
            mock_method_client.return_value = client_connect_iam
            # mock error no such entity call API get_account_password_policy
            with patch.object(client_connect_iam,
                              'get_account_password_policy') 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.get_account_password_policy(
                            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] アカウントパスワードポリシーが設定されていません。",
                                          aws_account)
Beispiel #4
0
    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")
Beispiel #5
0
    def test_list_virtual_mfa_devices_error_call_list_virtual_mfa_devices(
            self):
        # connect client
        client_connect_iam = iam_utils.client_connect()

        expected_error_response = copy.deepcopy(DataCommon.ERROR_RESPONSE)
        expected_operation_name = copy.deepcopy(DataCommon.OPERATION_NAME)

        # mock client
        with patch.object(session, 'client') as mock_client:
            mock_client.return_value = client_connect_iam
            # mock error call API list_virtual_mfa_devices
            with patch.object(client_connect_iam,
                              'list_virtual_mfa_devices') 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]仮想MFAデバイスリストの取得に失敗しました。",
                                          aws_account)
    def test_get_list_user_policies_success_response_is_truncate_true(self):
        # connect client
        client_connect_iam = iam_utils.client_connect()

        expected_list_user_policies = copy.deepcopy(
            DataTestIAM.LIST_USER_POLICY_DATA)

        # mock client
        with patch.object(session, 'client') as mock_method_client:
            mock_method_client.return_value = client_connect_iam
            # mock response API list_user_policies
            with patch.object(client_connect_iam,
                              'list_user_policies') as mock_method:
                mock_method.side_effect = iam_utils.side_effect_list_user_policies
                actual_list_user_policies = IAMUtils.get_list_user_policies(
                    trace_id, session, aws_account, user_name)

        # check response
        self.assertEqual(expected_list_user_policies,
                         actual_list_user_policies)

        # check connect client
        mock_method_client.assert_any_call(service_name="iam")

        # check call API list_user_policies
        mock_method.assert_any_call(UserName=user_name)
    def test_get_iam_client_success(self):
        # connect client
        expected_client_connect_iam = iam_utils.client_connect()

        # mock client
        with patch.object(session, 'client') as mock_method_client:
            mock_method_client.return_value = expected_client_connect_iam
            actual_client_connect_iam = IAMUtils.get_iam_client(
                trace_id, session, aws_account)

        # check response
        self.assertEqual(expected_client_connect_iam,
                         actual_client_connect_iam)

        # check connect client
        mock_method_client.assert_any_call(service_name="iam")
Beispiel #8
0
    def test_get_list_policies_success_response_not_exists_policies(self):
        # connect client
        client_connect_iam = iam_utils.client_connect()

        expected_list_policies = []

        # mock client
        with patch.object(session, 'client') as mock_method_client:
            mock_method_client.return_value = client_connect_iam
            # mock API list_policies
            with patch.object(client_connect_iam,
                              'list_policies') as mock_method:
                mock_method.return_value = {'IsTruncated': False}
                actual_list_policies = IAMUtils.get_list_policies(
                    trace_id, session, aws_account)

        # check response
        self.assertEqual(expected_list_policies, actual_list_policies)

        # check connect client
        mock_method_client.assert_any_call(service_name="iam")
    def test_get_credential_report_success_response_not_exists_content(self):
        # connect client
        client_connect_iam = iam_utils.client_connect()

        expected_data_credential_report = []

        # mock client
        with patch.object(session, 'client') as mock_method_client:
            mock_method_client.return_value = client_connect_iam
            # mock response API get_credential_report
            with patch.object(client_connect_iam,
                              'get_credential_report') as mock_method:
                mock_method.return_value = {}
                actual_credential_report = IAMUtils.get_credential_report(
                    trace_id, session, aws_account)

        # check response
        self.assertEqual(expected_data_credential_report,
                         actual_credential_report)

        # check connect client
        mock_method_client.assert_any_call(service_name="iam")
    def test_get_account_password_policy_success_response_not_exists_password_policy(
            self):
        # connect client
        client_connect_iam = iam_utils.client_connect()

        expected_list_password_policy = []

        # mock client
        with patch.object(session, 'client') as mock_method_client:
            mock_method_client.return_value = client_connect_iam
            # mock API get_account_password_policy
            with patch.object(client_connect_iam,
                              'get_account_password_policy') as mock_method:
                mock_method.return_value = {}
                actual_list_password_policy = IAMUtils.get_account_password_policy(
                    trace_id, session, aws_account)

        # check response
        self.assertEqual(expected_list_password_policy,
                         actual_list_password_policy)

        # check connect client
        mock_method_client.assert_any_call(service_name="iam")
    def test_get_account_summary_success_by_response_not_exists_attribute_summary_map(
            self):
        # connect client
        client_connect_iam = iam_utils.client_connect()

        expected_data_account_summary = []

        # mock client
        with patch.object(session, 'client') as mock_method_client:
            mock_method_client.return_value = client_connect_iam
            # mock response API get_account_summary
            with patch.object(client_connect_iam,
                              'get_account_summary') as mock_method:
                mock_method.return_value = {}
                actual_data_account_summary = IAMUtils.get_account_summary(
                    trace_id, session, aws_account)

        # check response
        self.assertEqual(expected_data_account_summary,
                         actual_data_account_summary)

        # check connect client
        mock_method_client.assert_any_call(service_name="iam")
    def test_get_credential_report_success_response_exists_content(self):
        # connect client
        client_connect_iam = iam_utils.client_connect()

        expected_credential_report = copy.deepcopy(
            DataTestIAM.DATA_GET_CREDENTIAL_REPORT)

        # mock client
        with patch.object(session, 'client') as mock_method_client:
            mock_method_client.return_value = client_connect_iam
            # mock response API get_credential_report
            with patch.object(client_connect_iam,
                              'get_credential_report') as mock_method:
                mock_method.return_value = expected_credential_report
                actual_credential_report = IAMUtils.get_credential_report(
                    trace_id, session, aws_account)

        # check response
        self.assertEqual(expected_credential_report['Content'].decode(),
                         actual_credential_report)

        # check connect client
        mock_method_client.assert_any_call(service_name="iam")
def side_effect_client(service_name,
                       region_name=None,
                       endpoint_url=None,
                       aws_access_key_id=None,
                       aws_secret_access_key=None):
    if service_name == "cognito-idp":
        return cognito_idp_utils.client_connect()
    if service_name == "dynamodb":
        return db_utils.resource_connect()
    if service_name == "ses":
        return ses_utils.client_connect()
    if service_name == "sts":
        return sts_utils.client_connect()
    if service_name == "iam":
        return iam_utils.client_connect()
    if service_name == "s3":
        return s3_utils.client_connect()
    if service_name == "ec2":
        return ec2_utils.client_connect()
    if service_name == "s3":
        return s3_utils.client_connect()
    if service_name == "stepfunctions":
        return step_functions_utils.client_connect()
    def test_get_account_password_policy_success_response_exists_password_policy(
            self):
        # connect client
        client_connect_iam = iam_utils.client_connect()

        expected_list_password_policy = copy.deepcopy(
            DataTestIAM.LIST_PASSWORD_POLICY)

        # mock client
        with patch.object(session, 'client') as mock_method_client:
            mock_method_client.return_value = client_connect_iam
            # mock API get_account_password_policy
            with patch.object(client_connect_iam,
                              'get_account_password_policy') as mock_method:
                mock_method.return_value = expected_list_password_policy
                actual_list_password_policy = IAMUtils.get_account_password_policy(
                    trace_id, session, aws_account)

        # check response
        self.assertEqual(expected_list_password_policy['PasswordPolicy'],
                         actual_list_password_policy)

        # check connect client
        mock_method_client.assert_any_call(service_name="iam")
    def test_get_account_summary_success_by_response_exists_attribute_summary_map(
            self):
        # connect client
        client_connect_iam = iam_utils.client_connect()

        expected_data_account_summary = copy.deepcopy(
            DataTestIAM.DATA_ACCOUNT_SUMMARY_EXISTS_ATTRIBUTE)

        # mock client
        with patch.object(session, 'client') as mock_method_client:
            mock_method_client.return_value = client_connect_iam
            # mock response API get_account_summary
            with patch.object(client_connect_iam,
                              'get_account_summary') as mock_method:
                mock_method.return_value = expected_data_account_summary
                actual_data_account_summary = IAMUtils.get_account_summary(
                    trace_id, session, aws_account)

        # check response
        self.assertEqual(expected_data_account_summary['SummaryMap'],
                         actual_data_account_summary)

        # check connect client
        mock_method_client.assert_any_call(service_name="iam")