diff --git a/tests/providers/aws/services/dlm/dlm_ebs_snapshot_lifecycle_policy_exists/dlm_ebs_snapshot_lifecycle_policy_exists_test.py b/tests/providers/aws/services/dlm/dlm_ebs_snapshot_lifecycle_policy_exists/dlm_ebs_snapshot_lifecycle_policy_exists_test.py index eeb11e95..414d12af 100644 --- a/tests/providers/aws/services/dlm/dlm_ebs_snapshot_lifecycle_policy_exists/dlm_ebs_snapshot_lifecycle_policy_exists_test.py +++ b/tests/providers/aws/services/dlm/dlm_ebs_snapshot_lifecycle_policy_exists/dlm_ebs_snapshot_lifecycle_policy_exists_test.py @@ -1,50 +1,20 @@ from unittest import mock -from boto3 import client, resource, session +from boto3 import client, resource from moto import mock_ec2 -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info from prowler.providers.aws.services.dlm.dlm_service import LifecyclePolicy -from prowler.providers.common.models import Audit_Metadata - -AWS_ACCOUNT_NUMBER = "123456789012" -AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" -AWS_REGION = "us-east-1" +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_ARN, + AWS_ACCOUNT_NUMBER, + AWS_REGION_US_EAST_1, + set_mocked_aws_audit_info, +) LIFECYCLE_POLICY_ID = "policy-XXXXXXXXXXXX" class Test_dlm_ebs_snapshot_lifecycle_policy_exists: - def set_mocked_audit_info(self): - return AWS_Audit_Info( - session_config=None, - original_session=None, - audit_session=session.Session( - profile_name=None, - botocore_session=None, - ), - audit_config=None, - audited_account=AWS_ACCOUNT_NUMBER, - audited_account_arn=f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root", - audited_user_id=None, - audited_partition="aws", - audited_identity_arn=None, - profile=None, - profile_region=None, - credentials=None, - assumed_role_info=None, - audited_regions=[AWS_REGION], - organizations_metadata=None, - audit_resources=None, - mfa_enabled=False, - audit_metadata=Audit_Metadata( - services_scanned=0, - expected_checks=[], - completed_checks=0, - audit_progress=0, - ), - ) - @mock_ec2 def test_no_ebs_snapshot_no_lifecycle_policies(self): # DLM Mock Client @@ -53,7 +23,7 @@ class Test_dlm_ebs_snapshot_lifecycle_policy_exists: dlm_client.audited_account_arn = AWS_ACCOUNT_ARN dlm_client.lifecycle_policies = {} - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_US_EAST_1]) from prowler.providers.aws.services.ec2.ec2_service import EC2 @@ -81,8 +51,8 @@ class Test_dlm_ebs_snapshot_lifecycle_policy_exists: @mock_ec2 def test_one_ebs_snapshot_and_dlm_lifecycle_policy(self): # Generate EC2 Client - ec2_client = client("ec2", region_name=AWS_REGION) - ec2_resource = resource("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_US_EAST_1) + ec2_resource = resource("ec2", region_name=AWS_REGION_US_EAST_1) # Create EC2 Volume and Snapshot volume_id = ec2_resource.create_volume( AvailabilityZone="us-east-1a", @@ -106,7 +76,7 @@ class Test_dlm_ebs_snapshot_lifecycle_policy_exists: dlm_client.audited_account = AWS_ACCOUNT_NUMBER dlm_client.audited_account_arn = AWS_ACCOUNT_ARN dlm_client.lifecycle_policies = { - AWS_REGION: { + AWS_REGION_US_EAST_1: { LIFECYCLE_POLICY_ID: LifecyclePolicy( id=LIFECYCLE_POLICY_ID, state="ENABLED", @@ -116,7 +86,7 @@ class Test_dlm_ebs_snapshot_lifecycle_policy_exists: } } - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_US_EAST_1]) from prowler.providers.aws.services.ec2.ec2_service import EC2 @@ -139,15 +109,15 @@ class Test_dlm_ebs_snapshot_lifecycle_policy_exists: assert len(result) == 1 assert result[0].status == "PASS" assert result[0].status_extended == "EBS snapshot lifecycle policies found." - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_US_EAST_1 assert result[0].resource_id == AWS_ACCOUNT_NUMBER assert result[0].resource_arn == AWS_ACCOUNT_ARN @mock_ec2 def test_one_ebs_snapshot_and_no_dlm_lifecycle_policy(self): # Generate EC2 Client - ec2_client = client("ec2", region_name=AWS_REGION) - ec2_resource = resource("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_US_EAST_1) + ec2_resource = resource("ec2", region_name=AWS_REGION_US_EAST_1) # Create EC2 Volume and Snapshot volume_id = ec2_resource.create_volume( AvailabilityZone="us-east-1a", @@ -174,7 +144,7 @@ class Test_dlm_ebs_snapshot_lifecycle_policy_exists: # from prowler.providers.aws.services.ec2.ec2_service import EC2 - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_US_EAST_1]) from prowler.providers.aws.services.ec2.ec2_service import EC2 @@ -203,7 +173,7 @@ class Test_dlm_ebs_snapshot_lifecycle_policy_exists: dlm_client.audited_account = AWS_ACCOUNT_NUMBER dlm_client.audited_account_arn = AWS_ACCOUNT_ARN dlm_client.lifecycle_policies = { - AWS_REGION: { + AWS_REGION_US_EAST_1: { LIFECYCLE_POLICY_ID: LifecyclePolicy( id=LIFECYCLE_POLICY_ID, state="ENABLED", @@ -215,7 +185,7 @@ class Test_dlm_ebs_snapshot_lifecycle_policy_exists: # from prowler.providers.aws.services.ec2.ec2_service import EC2 - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_US_EAST_1]) from prowler.providers.aws.services.ec2.ec2_service import EC2 diff --git a/tests/providers/aws/services/dlm/dlm_service_test.py b/tests/providers/aws/services/dlm/dlm_service_test.py index 6bfb74a3..d3d21cb4 100644 --- a/tests/providers/aws/services/dlm/dlm_service_test.py +++ b/tests/providers/aws/services/dlm/dlm_service_test.py @@ -1,14 +1,12 @@ import botocore -from boto3 import session from mock import patch -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info from prowler.providers.aws.services.dlm.dlm_service import DLM, LifecyclePolicy -from prowler.providers.common.models import Audit_Metadata - -AWS_ACCOUNT_NUMBER = "123456789012" -AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" -AWS_REGION = "us-east-1" +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, + AWS_REGION_US_EAST_1, + set_mocked_aws_audit_info, +) LIFECYCLE_POLICY_ID = "policy-XXXXXXXXXXXX" @@ -41,9 +39,11 @@ def mock_make_api_call(self, operation_name, kwargs): def mock_generate_regional_clients(service, audit_info, _): - regional_client = audit_info.audit_session.client(service, region_name=AWS_REGION) - regional_client.region = AWS_REGION - return {AWS_REGION: regional_client} + regional_client = audit_info.audit_session.client( + service, region_name=AWS_REGION_US_EAST_1 + ) + regional_client.region = AWS_REGION_US_EAST_1 + return {AWS_REGION_US_EAST_1: regional_client} @patch( @@ -53,68 +53,37 @@ def mock_generate_regional_clients(service, audit_info, _): # Patch every AWS call using Boto3 @patch("botocore.client.BaseClient._make_api_call", new=mock_make_api_call) class Test_DLM_Service: - # Mocked Audit Info - 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_account_arn=AWS_ACCOUNT_ARN, - audited_user_id=None, - audited_partition="aws", - audited_identity_arn=None, - profile=None, - profile_region=None, - credentials=None, - assumed_role_info=None, - audited_regions=None, - organizations_metadata=None, - audit_resources=None, - mfa_enabled=False, - audit_metadata=Audit_Metadata( - services_scanned=0, - expected_checks=[], - completed_checks=0, - audit_progress=0, - ), - ) - return audit_info - # Test DLM Service def test_service(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info() dlm = DLM(audit_info) assert dlm.service == "dlm" # Test DLM Client def test_client(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info() dlm = DLM(audit_info) assert dlm.client.__class__.__name__ == "DLM" # Test DLM Session def test__get_session__(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info() dlm = DLM(audit_info) assert dlm.session.__class__.__name__ == "Session" # Test DLM Session def test_audited_account(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info() dlm = DLM(audit_info) assert dlm.audited_account == AWS_ACCOUNT_NUMBER # Test DLM Get DLM Contacts def test_get_lifecycle_policies(self): # DLM client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info() dlm = DLM(audit_info) assert dlm.lifecycle_policies == { - AWS_REGION: { + AWS_REGION_US_EAST_1: { LIFECYCLE_POLICY_ID: LifecyclePolicy( id=LIFECYCLE_POLICY_ID, state="ENABLED",