diff --git a/tests/providers/aws/services/kms/kms_cmk_are_used/kms_cmk_are_used_test.py b/tests/providers/aws/services/kms/kms_cmk_are_used/kms_cmk_are_used_test.py index 109d7bed..650513cf 100644 --- a/tests/providers/aws/services/kms/kms_cmk_are_used/kms_cmk_are_used_test.py +++ b/tests/providers/aws/services/kms/kms_cmk_are_used/kms_cmk_are_used_test.py @@ -1,20 +1,48 @@ from unittest import mock -from boto3 import client +from boto3 import client, session from moto import mock_kms +from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info + AWS_REGION = "us-east-1" +AWS_ACCOUNT_NUMBER = "123456789012" class Test_kms_cmk_are_used: + def set_mocked_audit_info(self): + audit_info = AWS_Audit_Info( + session_config=None, + original_session=None, + audit_session=session.Session( + profile_name=None, + botocore_session=None, + ), + audited_account=AWS_ACCOUNT_NUMBER, + audited_user_id=None, + audited_partition="aws", + audited_identity_arn=None, + profile=None, + profile_region=None, + credentials=None, + assumed_role_info=None, + audited_regions=["us-east-1", "eu-west-1"], + organizations_metadata=None, + audit_resources=None, + ) + + return audit_info + @mock_kms def test_kms_no_keys(self): - from prowler.providers.aws.lib.audit_info.audit_info import current_audit_info from prowler.providers.aws.services.kms.kms_service import KMS - current_audit_info.audited_partition = "aws" + current_audit_info = self.set_mocked_audit_info() with mock.patch( + "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", + new=current_audit_info, + ), mock.patch( "prowler.providers.aws.services.kms.kms_cmk_are_used.kms_cmk_are_used.kms_client", new=KMS(current_audit_info), ): @@ -34,12 +62,15 @@ class Test_kms_cmk_are_used: kms_client = client("kms", region_name=AWS_REGION) # Create enabled KMS key key = kms_client.create_key()["KeyMetadata"] - from prowler.providers.aws.lib.audit_info.audit_info import current_audit_info + from prowler.providers.aws.services.kms.kms_service import KMS - current_audit_info.audited_partition = "aws" + current_audit_info = self.set_mocked_audit_info() with mock.patch( + "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", + new=current_audit_info, + ), mock.patch( "prowler.providers.aws.services.kms.kms_cmk_are_used.kms_cmk_are_used.kms_client", new=KMS(current_audit_info), ): @@ -64,12 +95,15 @@ class Test_kms_cmk_are_used: # Creaty KMS key with deletion key = kms_client.create_key()["KeyMetadata"] kms_client.schedule_key_deletion(KeyId=key["KeyId"]) - from prowler.providers.aws.lib.audit_info.audit_info import current_audit_info + from prowler.providers.aws.services.kms.kms_service import KMS - current_audit_info.audited_partition = "aws" + current_audit_info = self.set_mocked_audit_info() with mock.patch( + "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", + new=current_audit_info, + ), mock.patch( "prowler.providers.aws.services.kms.kms_cmk_are_used.kms_cmk_are_used.kms_client", new=KMS(current_audit_info), ): @@ -97,12 +131,15 @@ class Test_kms_cmk_are_used: # Creaty KMS key with deletion key = kms_client.create_key()["KeyMetadata"] kms_client.disable_key(KeyId=key["KeyId"]) - from prowler.providers.aws.lib.audit_info.audit_info import current_audit_info + from prowler.providers.aws.services.kms.kms_service import KMS - current_audit_info.audited_partition = "aws" + current_audit_info = self.set_mocked_audit_info() with mock.patch( + "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", + new=current_audit_info, + ), mock.patch( "prowler.providers.aws.services.kms.kms_cmk_are_used.kms_cmk_are_used.kms_client", new=KMS(current_audit_info), ): diff --git a/tests/providers/aws/services/kms/kms_cmk_rotation_enabled/kms_cmk_rotation_enabled_test.py b/tests/providers/aws/services/kms/kms_cmk_rotation_enabled/kms_cmk_rotation_enabled_test.py index 5d3c1734..4ce15913 100644 --- a/tests/providers/aws/services/kms/kms_cmk_rotation_enabled/kms_cmk_rotation_enabled_test.py +++ b/tests/providers/aws/services/kms/kms_cmk_rotation_enabled/kms_cmk_rotation_enabled_test.py @@ -1,20 +1,48 @@ from unittest import mock -from boto3 import client +from boto3 import client, session from moto import mock_kms +from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info + AWS_REGION = "us-east-1" +AWS_ACCOUNT_NUMBER = "123456789012" class Test_kms_cmk_rotation_enabled: + def set_mocked_audit_info(self): + audit_info = AWS_Audit_Info( + session_config=None, + original_session=None, + audit_session=session.Session( + profile_name=None, + botocore_session=None, + ), + audited_account=AWS_ACCOUNT_NUMBER, + audited_user_id=None, + audited_partition="aws", + audited_identity_arn=None, + profile=None, + profile_region=None, + credentials=None, + assumed_role_info=None, + audited_regions=["us-east-1", "eu-west-1"], + organizations_metadata=None, + audit_resources=None, + ) + + return audit_info + @mock_kms def test_kms_no_key(self): - from prowler.providers.aws.lib.audit_info.audit_info import current_audit_info from prowler.providers.aws.services.kms.kms_service import KMS - current_audit_info.audited_partition = "aws" + current_audit_info = self.set_mocked_audit_info() with mock.patch( + "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", + new=current_audit_info, + ), mock.patch( "prowler.providers.aws.services.kms.kms_cmk_rotation_enabled.kms_cmk_rotation_enabled.kms_client", new=KMS(current_audit_info), ): @@ -35,12 +63,15 @@ class Test_kms_cmk_rotation_enabled: # Creaty KMS key with rotation key = kms_client.create_key()["KeyMetadata"] kms_client.enable_key_rotation(KeyId=key["KeyId"]) - from prowler.providers.aws.lib.audit_info.audit_info import current_audit_info + from prowler.providers.aws.services.kms.kms_service import KMS - current_audit_info.audited_partition = "aws" + current_audit_info = self.set_mocked_audit_info() with mock.patch( + "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", + new=current_audit_info, + ), mock.patch( "prowler.providers.aws.services.kms.kms_cmk_rotation_enabled.kms_cmk_rotation_enabled.kms_client", new=KMS(current_audit_info), ): @@ -67,12 +98,15 @@ class Test_kms_cmk_rotation_enabled: kms_client = client("kms", region_name=AWS_REGION) # Creaty KMS key without rotation key = kms_client.create_key()["KeyMetadata"] - from prowler.providers.aws.lib.audit_info.audit_info import current_audit_info + from prowler.providers.aws.services.kms.kms_service import KMS - current_audit_info.audited_partition = "aws" + current_audit_info = self.set_mocked_audit_info() with mock.patch( + "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", + new=current_audit_info, + ), mock.patch( "prowler.providers.aws.services.kms.kms_cmk_rotation_enabled.kms_cmk_rotation_enabled.kms_client", new=KMS(current_audit_info), ): diff --git a/tests/providers/aws/services/kms/kms_key_not_publicly_accessible/kms_key_not_publicly_accessible_test.py b/tests/providers/aws/services/kms/kms_key_not_publicly_accessible/kms_key_not_publicly_accessible_test.py index 530c5744..3beb3250 100644 --- a/tests/providers/aws/services/kms/kms_key_not_publicly_accessible/kms_key_not_publicly_accessible_test.py +++ b/tests/providers/aws/services/kms/kms_key_not_publicly_accessible/kms_key_not_publicly_accessible_test.py @@ -1,21 +1,49 @@ import json from unittest import mock -from boto3 import client +from boto3 import client, session from moto import mock_kms +from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info + AWS_REGION = "us-east-1" +AWS_ACCOUNT_NUMBER = "123456789012" class Test_kms_key_not_publicly_accessible: + def set_mocked_audit_info(self): + audit_info = AWS_Audit_Info( + session_config=None, + original_session=None, + audit_session=session.Session( + profile_name=None, + botocore_session=None, + ), + audited_account=AWS_ACCOUNT_NUMBER, + audited_user_id=None, + audited_partition="aws", + audited_identity_arn=None, + profile=None, + profile_region=None, + credentials=None, + assumed_role_info=None, + audited_regions=["us-east-1", "eu-west-1"], + organizations_metadata=None, + audit_resources=None, + ) + + return audit_info + @mock_kms def test_no_kms_keys(self): - from prowler.providers.aws.lib.audit_info.audit_info import current_audit_info from prowler.providers.aws.services.kms.kms_service import KMS - current_audit_info.audited_partition = "aws" + current_audit_info = self.set_mocked_audit_info() with mock.patch( + "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", + new=current_audit_info, + ), mock.patch( "prowler.providers.aws.services.kms.kms_key_not_publicly_accessible.kms_key_not_publicly_accessible.kms_client", new=KMS(current_audit_info), ): @@ -35,12 +63,15 @@ class Test_kms_key_not_publicly_accessible: kms_client = client("kms", region_name=AWS_REGION) # Creaty KMS key without policy key = kms_client.create_key()["KeyMetadata"] - from prowler.providers.aws.lib.audit_info.audit_info import current_audit_info + from prowler.providers.aws.services.kms.kms_service import KMS - current_audit_info.audited_partition = "aws" + current_audit_info = self.set_mocked_audit_info() with mock.patch( + "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", + new=current_audit_info, + ), mock.patch( "prowler.providers.aws.services.kms.kms_key_not_publicly_accessible.kms_key_not_publicly_accessible.kms_client", new=KMS(current_audit_info), ): @@ -83,12 +114,15 @@ class Test_kms_key_not_publicly_accessible: } ) )["KeyMetadata"] - from prowler.providers.aws.lib.audit_info.audit_info import current_audit_info + from prowler.providers.aws.services.kms.kms_service import KMS - current_audit_info.audited_partition = "aws" + current_audit_info = self.set_mocked_audit_info() with mock.patch( + "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", + new=current_audit_info, + ), mock.patch( "prowler.providers.aws.services.kms.kms_key_not_publicly_accessible.kms_key_not_publicly_accessible.kms_client", new=KMS(current_audit_info), ): @@ -130,12 +164,15 @@ class Test_kms_key_not_publicly_accessible: } ) )["KeyMetadata"] - from prowler.providers.aws.lib.audit_info.audit_info import current_audit_info + from prowler.providers.aws.services.kms.kms_service import KMS - current_audit_info.audited_partition = "aws" + current_audit_info = self.set_mocked_audit_info() with mock.patch( + "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", + new=current_audit_info, + ), mock.patch( "prowler.providers.aws.services.kms.kms_key_not_publicly_accessible.kms_key_not_publicly_accessible.kms_client", new=KMS(current_audit_info), ):