diff --git a/tests/providers/aws/audit_info_utils.py b/tests/providers/aws/audit_info_utils.py index 47d9004b93..620cc71751 100644 --- a/tests/providers/aws/audit_info_utils.py +++ b/tests/providers/aws/audit_info_utils.py @@ -17,6 +17,7 @@ def set_mocked_aws_audit_info( audited_account: str = AWS_ACCOUNT_NUMBER, audited_account_arn: str = AWS_ACCOUNT_ARN, expected_checks: [str] = [], + audit_config: dict = {}, ): audit_info = AWS_Audit_Info( session_config=None, @@ -30,6 +31,7 @@ def set_mocked_aws_audit_info( audited_user_id=None, audited_partition=AWS_COMMERCIAL_PARTITION, audited_identity_arn=None, + audit_config=audit_config, profile=None, profile_region=None, credentials=None, diff --git a/tests/providers/aws/aws_provider_test.py b/tests/providers/aws/aws_provider_test.py index 0662b1c9c8..d2024f67e3 100644 --- a/tests/providers/aws/aws_provider_test.py +++ b/tests/providers/aws/aws_provider_test.py @@ -14,9 +14,10 @@ from prowler.providers.aws.aws_provider import ( ) from prowler.providers.aws.lib.audit_info.models import AWS_Assume_Role, AWS_Audit_Info from prowler.providers.common.models import Audit_Metadata - -ACCOUNT_ID = 123456789012 -AWS_REGION = "us-east-1" +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, + AWS_REGION_EU_WEST_1, +) class Test_AWS_Provider: @@ -26,7 +27,7 @@ class Test_AWS_Provider: audited_regions = ["eu-west-1"] # sessionName = "ProwlerAsessmentSession" # Boto 3 client to create our user - iam_client = boto3.client("iam", region_name=AWS_REGION) + iam_client = boto3.client("iam", region_name=AWS_REGION_EU_WEST_1) # IAM user iam_user = iam_client.create_user(UserName="test-user")["User"] access_key = iam_client.create_access_key(UserName=iam_user["UserName"])[ @@ -38,7 +39,7 @@ class Test_AWS_Provider: session = boto3.session.Session( aws_access_key_id=access_key_id, aws_secret_access_key=secret_access_key, - region_name=AWS_REGION, + region_name=AWS_REGION_EU_WEST_1, ) # Fulfil the input session object for Prowler @@ -75,7 +76,10 @@ class Test_AWS_Provider: # Call assume_role with patch( "prowler.providers.aws.aws_provider.input_role_mfa_token_and_code", - return_value=(f"arn:aws:iam::{ACCOUNT_ID}:mfa/test-role-mfa", "111111"), + return_value=( + f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:mfa/test-role-mfa", + "111111", + ), ): aws_provider = AWS_Provider(audit_info) assert aws_provider.aws_session.region_name is None @@ -91,7 +95,7 @@ class Test_AWS_Provider: def test_aws_provider_user_with_mfa(self): audited_regions = "eu-west-1" # Boto 3 client to create our user - iam_client = boto3.client("iam", region_name=AWS_REGION) + iam_client = boto3.client("iam", region_name=AWS_REGION_EU_WEST_1) # IAM user iam_user = iam_client.create_user(UserName="test-user")["User"] access_key = iam_client.create_access_key(UserName=iam_user["UserName"])[ @@ -103,7 +107,7 @@ class Test_AWS_Provider: session = boto3.session.Session( aws_access_key_id=access_key_id, aws_secret_access_key=secret_access_key, - region_name=AWS_REGION, + region_name=AWS_REGION_EU_WEST_1, ) # Fulfil the input session object for Prowler @@ -117,7 +121,7 @@ class Test_AWS_Provider: audited_identity_arn=None, audited_user_id=None, profile=None, - profile_region=AWS_REGION, + profile_region=AWS_REGION_EU_WEST_1, credentials=None, assumed_role_info=AWS_Assume_Role( role_arn=None, @@ -134,7 +138,10 @@ class Test_AWS_Provider: # # Call assume_role with patch( "prowler.providers.aws.aws_provider.input_role_mfa_token_and_code", - return_value=(f"arn:aws:iam::{ACCOUNT_ID}:mfa/test-role-mfa", "111111"), + return_value=( + f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:mfa/test-role-mfa", + "111111", + ), ): aws_provider = AWS_Provider(audit_info) assert aws_provider.aws_session.region_name is None @@ -150,12 +157,12 @@ class Test_AWS_Provider: def test_aws_provider_assume_role_with_mfa(self): # Variables role_name = "test-role" - role_arn = f"arn:aws:iam::{ACCOUNT_ID}:role/{role_name}" + role_arn = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:role/{role_name}" session_duration_seconds = 900 audited_regions = ["eu-west-1"] sessionName = "ProwlerAsessmentSession" # Boto 3 client to create our user - iam_client = boto3.client("iam", region_name=AWS_REGION) + iam_client = boto3.client("iam", region_name=AWS_REGION_EU_WEST_1) # IAM user iam_user = iam_client.create_user(UserName="test-user")["User"] access_key = iam_client.create_access_key(UserName=iam_user["UserName"])[ @@ -167,7 +174,7 @@ class Test_AWS_Provider: session = boto3.session.Session( aws_access_key_id=access_key_id, aws_secret_access_key=secret_access_key, - region_name=AWS_REGION, + region_name=AWS_REGION_EU_WEST_1, ) # Fulfil the input session object for Prowler @@ -206,7 +213,10 @@ class Test_AWS_Provider: # Patch MFA with patch( "prowler.providers.aws.aws_provider.input_role_mfa_token_and_code", - return_value=(f"arn:aws:iam::{ACCOUNT_ID}:mfa/test-role-mfa", "111111"), + return_value=( + f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:mfa/test-role-mfa", + "111111", + ), ): assume_role_response = assume_role( aws_provider.aws_session, aws_provider.role_info @@ -225,7 +235,7 @@ class Test_AWS_Provider: # Assumed Role assert ( assume_role_response["AssumedRoleUser"]["Arn"] - == f"arn:aws:sts::{ACCOUNT_ID}:assumed-role/{role_name}/{sessionName}" + == f"arn:aws:sts::{AWS_ACCOUNT_NUMBER}:assumed-role/{role_name}/{sessionName}" ) # AssumedRoleUser @@ -245,12 +255,12 @@ class Test_AWS_Provider: def test_aws_provider_assume_role_without_mfa(self): # Variables role_name = "test-role" - role_arn = f"arn:aws:iam::{ACCOUNT_ID}:role/{role_name}" + role_arn = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:role/{role_name}" session_duration_seconds = 900 audited_regions = "eu-west-1" sessionName = "ProwlerAsessmentSession" # Boto 3 client to create our user - iam_client = boto3.client("iam", region_name=AWS_REGION) + iam_client = boto3.client("iam", region_name=AWS_REGION_EU_WEST_1) # IAM user iam_user = iam_client.create_user(UserName="test-user")["User"] access_key = iam_client.create_access_key(UserName=iam_user["UserName"])[ @@ -262,7 +272,7 @@ class Test_AWS_Provider: session = boto3.session.Session( aws_access_key_id=access_key_id, aws_secret_access_key=secret_access_key, - region_name=AWS_REGION, + region_name=AWS_REGION_EU_WEST_1, ) # Fulfil the input session object for Prowler @@ -315,7 +325,7 @@ class Test_AWS_Provider: # Assumed Role assert ( assume_role_response["AssumedRoleUser"]["Arn"] - == f"arn:aws:sts::{ACCOUNT_ID}:assumed-role/{role_name}/{sessionName}" + == f"arn:aws:sts::{AWS_ACCOUNT_NUMBER}:assumed-role/{role_name}/{sessionName}" ) # AssumedRoleUser @@ -335,14 +345,14 @@ class Test_AWS_Provider: def test_assume_role_with_sts_endpoint_region(self): # Variables role_name = "test-role" - role_arn = f"arn:aws:iam::{ACCOUNT_ID}:role/{role_name}" + role_arn = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:role/{role_name}" session_duration_seconds = 900 aws_region = "eu-west-1" sts_endpoint_region = aws_region audited_regions = [aws_region] sessionName = "ProwlerAsessmentSession" # Boto 3 client to create our user - iam_client = boto3.client("iam", region_name=AWS_REGION) + iam_client = boto3.client("iam", region_name=AWS_REGION_EU_WEST_1) # IAM user iam_user = iam_client.create_user(UserName="test-user")["User"] access_key = iam_client.create_access_key(UserName=iam_user["UserName"])[ @@ -354,7 +364,7 @@ class Test_AWS_Provider: session = boto3.session.Session( aws_access_key_id=access_key_id, aws_secret_access_key=secret_access_key, - region_name=AWS_REGION, + region_name=AWS_REGION_EU_WEST_1, ) # Fulfil the input session object for Prowler @@ -407,7 +417,7 @@ class Test_AWS_Provider: # Assumed Role assert ( assume_role_response["AssumedRoleUser"]["Arn"] - == f"arn:aws:sts::{ACCOUNT_ID}:assumed-role/{role_name}/{sessionName}" + == f"arn:aws:sts::{AWS_ACCOUNT_NUMBER}:assumed-role/{role_name}/{sessionName}" ) # AssumedRoleUser @@ -425,9 +435,9 @@ class Test_AWS_Provider: def test_generate_regional_clients(self): # New Boto3 session with the previously create user session = boto3.session.Session( - region_name=AWS_REGION, + region_name=AWS_REGION_EU_WEST_1, ) - audited_regions = ["eu-west-1", AWS_REGION] + audited_regions = ["eu-west-1", AWS_REGION_EU_WEST_1] # Fulfil the input session object for Prowler audit_info = AWS_Audit_Info( session_config=None, @@ -462,10 +472,10 @@ class Test_AWS_Provider: def test_generate_regional_clients_global_service(self): # New Boto3 session with the previously create user session = boto3.session.Session( - region_name=AWS_REGION, + region_name=AWS_REGION_EU_WEST_1, ) - audited_regions = ["eu-west-1", AWS_REGION] - profile_region = AWS_REGION + audited_regions = ["eu-west-1", AWS_REGION_EU_WEST_1] + profile_region = AWS_REGION_EU_WEST_1 # Fulfil the input session object for Prowler audit_info = AWS_Audit_Info( session_config=None, @@ -500,7 +510,7 @@ class Test_AWS_Provider: def test_generate_regional_clients_cn_partition(self): # New Boto3 session with the previously create user session = boto3.session.Session( - region_name=AWS_REGION, + region_name=AWS_REGION_EU_WEST_1, ) audited_regions = ["cn-northwest-1", "cn-north-1"] # Fulfil the input session object for Prowler diff --git a/tests/providers/aws/lib/arn/arn_test.py b/tests/providers/aws/lib/arn/arn_test.py index cfe26841ef..1529394cfa 100644 --- a/tests/providers/aws/lib/arn/arn_test.py +++ b/tests/providers/aws/lib/arn/arn_test.py @@ -287,7 +287,7 @@ class Test_ARN_Parsing: assert error._excinfo[0] == RoleArnParsingServiceNotIAMnorSTS def test_iam_credentials_arn_parsing_raising_RoleArnParsingInvalidAccountID(self): - input_arn = "arn:aws:iam::AWS_ACCOUNT_ID:user/prowler" + input_arn = "arn:aws:iam::AWS_ACCOUNT_NUMBER:user/prowler" with raises(RoleArnParsingInvalidAccountID) as error: parse_iam_credentials_arn(input_arn) diff --git a/tests/providers/aws/lib/s3/s3_test.py b/tests/providers/aws/lib/s3/s3_test.py index 7f82c3954c..fd30c472b0 100644 --- a/tests/providers/aws/lib/s3/s3_test.py +++ b/tests/providers/aws/lib/s3/s3_test.py @@ -7,9 +7,10 @@ from moto import mock_s3 from prowler.config.config import csv_file_suffix from prowler.providers.aws.lib.s3.s3 import get_s3_object_path, send_to_s3_bucket - -AWS_ACCOUNT_ID = "123456789012" -AWS_REGION = "us-east-1" +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, + AWS_REGION_EU_WEST_1, +) ACTUAL_DIRECTORY = Path(path.dirname(path.realpath(__file__))) FIXTURES_DIR_NAME = "fixtures" @@ -27,8 +28,10 @@ class TestS3: audit_info = MagicMock() # Create mock session - audit_info.audit_session = boto3.session.Session(region_name=AWS_REGION) - audit_info.audited_account = AWS_ACCOUNT_ID + audit_info.audit_session = boto3.session.Session( + region_name=AWS_REGION_EU_WEST_1 + ) + audit_info.audited_account = AWS_ACCOUNT_NUMBER # Create mock bucket client = audit_info.audit_session.client("s3") @@ -66,8 +69,10 @@ class TestS3: audit_info = MagicMock() # Create mock session - audit_info.audit_session = boto3.session.Session(region_name=AWS_REGION) - audit_info.audited_account = AWS_ACCOUNT_ID + audit_info.audit_session = boto3.session.Session( + region_name=AWS_REGION_EU_WEST_1 + ) + audit_info.audited_account = AWS_ACCOUNT_NUMBER # Create mock bucket client = audit_info.audit_session.client("s3") diff --git a/tests/providers/aws/services/accessanalyzer/accessanalyzer_enabled/accessanalyzer_enabled_test.py b/tests/providers/aws/services/accessanalyzer/accessanalyzer_enabled/accessanalyzer_enabled_test.py index 3a0178e953..9218c1fa24 100644 --- a/tests/providers/aws/services/accessanalyzer/accessanalyzer_enabled/accessanalyzer_enabled_test.py +++ b/tests/providers/aws/services/accessanalyzer/accessanalyzer_enabled/accessanalyzer_enabled_test.py @@ -3,13 +3,15 @@ from unittest import mock from prowler.providers.aws.services.accessanalyzer.accessanalyzer_service import ( Analyzer, ) +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_ARN, + AWS_ACCOUNT_NUMBER, + AWS_REGION_EU_WEST_1, + AWS_REGION_EU_WEST_2, +) -AWS_REGION_1 = "eu-west-1" -AWS_REGION_2 = "eu-west-2" -AWS_ACCOUNT_NUMBER = "123456789012" -AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" ACCESS_ANALYZER_NAME = "test-analyzer" -ACCESS_ANALYZER_ARN = f"arn:aws:access-analyzer:{AWS_REGION_2}:{AWS_ACCOUNT_NUMBER}:analyzer/{ACCESS_ANALYZER_NAME}" +ACCESS_ANALYZER_ARN = f"arn:aws:access-analyzer:{AWS_REGION_EU_WEST_2}:{AWS_ACCOUNT_NUMBER}:analyzer/{ACCESS_ANALYZER_NAME}" class Test_accessanalyzer_enabled: @@ -33,7 +35,7 @@ class Test_accessanalyzer_enabled: def test_one_analyzer_not_available(self): # Include analyzers to check accessanalyzer_client = mock.MagicMock - accessanalyzer_client.region = AWS_REGION_1 + accessanalyzer_client.region = AWS_REGION_EU_WEST_1 accessanalyzer_client.analyzers = [ Analyzer( arn=AWS_ACCOUNT_ARN, @@ -41,7 +43,7 @@ class Test_accessanalyzer_enabled: status="NOT_AVAILABLE", tags=[], type="", - region=AWS_REGION_1, + region=AWS_REGION_EU_WEST_1, ) ] with mock.patch( @@ -63,13 +65,13 @@ class Test_accessanalyzer_enabled: ) assert result[0].resource_id == AWS_ACCOUNT_NUMBER assert result[0].resource_arn == AWS_ACCOUNT_ARN - assert result[0].region == AWS_REGION_1 + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_tags == [] def test_one_analyzer_not_available_allowlisted(self): # Include analyzers to check accessanalyzer_client = mock.MagicMock - accessanalyzer_client.region = AWS_REGION_2 + accessanalyzer_client.region = AWS_REGION_EU_WEST_2 accessanalyzer_client.audit_config = {"allowlist_non_default_regions": True} accessanalyzer_client.analyzers = [ Analyzer( @@ -78,7 +80,7 @@ class Test_accessanalyzer_enabled: status="NOT_AVAILABLE", tags=[], type="", - region=AWS_REGION_1, + region=AWS_REGION_EU_WEST_1, ) ] with mock.patch( @@ -100,12 +102,12 @@ class Test_accessanalyzer_enabled: ) assert result[0].resource_id == AWS_ACCOUNT_NUMBER assert result[0].resource_arn == AWS_ACCOUNT_ARN - assert result[0].region == AWS_REGION_1 + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_tags == [] def test_two_analyzers(self): accessanalyzer_client = mock.MagicMock - accessanalyzer_client.region = AWS_REGION_1 + accessanalyzer_client.region = AWS_REGION_EU_WEST_1 accessanalyzer_client.analyzers = [ Analyzer( arn=AWS_ACCOUNT_ARN, @@ -113,7 +115,7 @@ class Test_accessanalyzer_enabled: status="NOT_AVAILABLE", tags=[], type="", - region=AWS_REGION_1, + region=AWS_REGION_EU_WEST_1, ), Analyzer( arn=ACCESS_ANALYZER_ARN, @@ -121,7 +123,7 @@ class Test_accessanalyzer_enabled: status="ACTIVE", tags=[], type="", - region=AWS_REGION_2, + region=AWS_REGION_EU_WEST_2, ), ] @@ -148,7 +150,7 @@ class Test_accessanalyzer_enabled: assert result[0].resource_id == AWS_ACCOUNT_NUMBER assert result[0].resource_arn == AWS_ACCOUNT_ARN assert result[0].resource_tags == [] - assert result[0].region == AWS_REGION_1 + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[1].status == "PASS" assert ( @@ -158,7 +160,7 @@ class Test_accessanalyzer_enabled: assert result[1].resource_id == ACCESS_ANALYZER_NAME assert result[1].resource_arn == ACCESS_ANALYZER_ARN assert result[1].resource_tags == [] - assert result[1].region == AWS_REGION_2 + assert result[1].region == AWS_REGION_EU_WEST_2 def test_one_active_analyzer(self): accessanalyzer_client = mock.MagicMock @@ -169,7 +171,7 @@ class Test_accessanalyzer_enabled: status="ACTIVE", tags=[], type="", - region=AWS_REGION_2, + region=AWS_REGION_EU_WEST_2, ) ] @@ -195,4 +197,4 @@ class Test_accessanalyzer_enabled: assert result[0].resource_id == ACCESS_ANALYZER_NAME assert result[0].resource_arn == ACCESS_ANALYZER_ARN assert result[0].resource_tags == [] - assert result[0].region == AWS_REGION_2 + assert result[0].region == AWS_REGION_EU_WEST_2 diff --git a/tests/providers/aws/services/accessanalyzer/accessanalyzer_enabled_without_findings/accessanalyzer_enabled_without_findings_test.py b/tests/providers/aws/services/accessanalyzer/accessanalyzer_enabled_without_findings/accessanalyzer_enabled_without_findings_test.py index 6d33c84098..6c6302da07 100644 --- a/tests/providers/aws/services/accessanalyzer/accessanalyzer_enabled_without_findings/accessanalyzer_enabled_without_findings_test.py +++ b/tests/providers/aws/services/accessanalyzer/accessanalyzer_enabled_without_findings/accessanalyzer_enabled_without_findings_test.py @@ -4,13 +4,15 @@ from prowler.providers.aws.services.accessanalyzer.accessanalyzer_service import Analyzer, Finding, ) +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_ARN, + AWS_ACCOUNT_NUMBER, + AWS_REGION_EU_WEST_1, + AWS_REGION_EU_WEST_2, +) -AWS_REGION_1 = "eu-west-1" -AWS_REGION_2 = "eu-west-2" -AWS_ACCOUNT_NUMBER = "123456789012" -AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" ACCESS_ANALYZER_NAME = "test-analyzer" -ACCESS_ANALYZER_ARN = f"arn:aws:access-analyzer:{AWS_REGION_2}:{AWS_ACCOUNT_NUMBER}:analyzer/{ACCESS_ANALYZER_NAME}" +ACCESS_ANALYZER_ARN = f"arn:aws:access-analyzer:{AWS_REGION_EU_WEST_2}:{AWS_ACCOUNT_NUMBER}:analyzer/{ACCESS_ANALYZER_NAME}" class Test_accessanalyzer_enabled_without_findings: @@ -42,7 +44,7 @@ class Test_accessanalyzer_enabled_without_findings: tags=[], type="", fidings=[], - region=AWS_REGION_1, + region=AWS_REGION_EU_WEST_1, ) ] with mock.patch( @@ -68,7 +70,7 @@ class Test_accessanalyzer_enabled_without_findings: tags=[], fidings=[], type="", - region=AWS_REGION_1, + region=AWS_REGION_EU_WEST_1, ), Analyzer( arn=ACCESS_ANALYZER_ARN, @@ -86,7 +88,7 @@ class Test_accessanalyzer_enabled_without_findings: ], tags=[], type="", - region=AWS_REGION_2, + region=AWS_REGION_EU_WEST_2, ), ] @@ -112,7 +114,7 @@ class Test_accessanalyzer_enabled_without_findings: ) assert result[0].resource_id == ACCESS_ANALYZER_NAME assert result[0].resource_arn == ACCESS_ANALYZER_ARN - assert result[0].region == AWS_REGION_2 + assert result[0].region == AWS_REGION_EU_WEST_2 assert result[0].resource_tags == [] def test_one_active_analyzer_without_findings(self): @@ -125,7 +127,7 @@ class Test_accessanalyzer_enabled_without_findings: tags=[], fidings=[], type="", - region=AWS_REGION_2, + region=AWS_REGION_EU_WEST_2, ) ] @@ -149,7 +151,7 @@ class Test_accessanalyzer_enabled_without_findings: ) assert result[0].resource_id == ACCESS_ANALYZER_NAME assert result[0].resource_arn == ACCESS_ANALYZER_ARN - assert result[0].region == AWS_REGION_2 + assert result[0].region == AWS_REGION_EU_WEST_2 assert result[0].resource_tags == [] def test_one_active_analyzer_not_active_without_findings(self): @@ -162,7 +164,7 @@ class Test_accessanalyzer_enabled_without_findings: tags=[], fidings=[], type="", - region=AWS_REGION_1, + region=AWS_REGION_EU_WEST_1, ), ] # Patch AccessAnalyzer Client @@ -195,7 +197,7 @@ class Test_accessanalyzer_enabled_without_findings: ], tags=[], type="", - region=AWS_REGION_1, + region=AWS_REGION_EU_WEST_1, ), ] @@ -220,5 +222,5 @@ class Test_accessanalyzer_enabled_without_findings: ) assert result[0].resource_id == ACCESS_ANALYZER_NAME assert result[0].resource_arn == ACCESS_ANALYZER_ARN - assert result[0].region == AWS_REGION_1 + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_tags == [] diff --git a/tests/providers/aws/services/account/account_maintain_different_contact_details_to_security_billing_and_operations/account_maintain_different_contact_details_to_security_billing_and_operations_test.py b/tests/providers/aws/services/account/account_maintain_different_contact_details_to_security_billing_and_operations/account_maintain_different_contact_details_to_security_billing_and_operations_test.py index 898d6785a1..924d43d210 100644 --- a/tests/providers/aws/services/account/account_maintain_different_contact_details_to_security_billing_and_operations/account_maintain_different_contact_details_to_security_billing_and_operations_test.py +++ b/tests/providers/aws/services/account/account_maintain_different_contact_details_to_security_billing_and_operations/account_maintain_different_contact_details_to_security_billing_and_operations_test.py @@ -1,16 +1,18 @@ from unittest import mock from prowler.providers.aws.services.account.account_service import Contact +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, + AWS_REGION_EU_WEST_1, +) -AWS_ACCOUNT_NUMBER = "123456789012" AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" -AWS_REGION = "us-east-1" class Test_account_maintain_different_contact_details_to_security_billing_and_operations: def test_contacts_not_configured_or_equal(self): account_client = mock.MagicMock - account_client.region = AWS_REGION + account_client.region = AWS_REGION_EU_WEST_1 account_client.audited_account = AWS_ACCOUNT_NUMBER account_client.audited_account_arn = AWS_ACCOUNT_ARN @@ -49,13 +51,13 @@ class Test_account_maintain_different_contact_details_to_security_billing_and_op result[0].status_extended == "SECURITY, BILLING and OPERATIONS contacts not found or they are not different between each other and between ROOT contact." ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_id == AWS_ACCOUNT_NUMBER assert result[0].resource_arn == AWS_ACCOUNT_ARN def test_contacts_diffent(self): account_client = mock.MagicMock - account_client.region = AWS_REGION + account_client.region = AWS_REGION_EU_WEST_1 account_client.audited_account = AWS_ACCOUNT_NUMBER account_client.audited_account_arn = AWS_ACCOUNT_ARN @@ -98,6 +100,6 @@ class Test_account_maintain_different_contact_details_to_security_billing_and_op result[0].status_extended == "SECURITY, BILLING and OPERATIONS contacts found and they are different between each other and between ROOT contact." ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_id == AWS_ACCOUNT_NUMBER assert result[0].resource_arn == AWS_ACCOUNT_ARN diff --git a/tests/providers/aws/services/acm/acm_certificates_expiration_check/acm_certificates_expiration_check_test.py b/tests/providers/aws/services/acm/acm_certificates_expiration_check/acm_certificates_expiration_check_test.py index dee88196c5..d68cdca71a 100644 --- a/tests/providers/aws/services/acm/acm_certificates_expiration_check/acm_certificates_expiration_check_test.py +++ b/tests/providers/aws/services/acm/acm_certificates_expiration_check/acm_certificates_expiration_check_test.py @@ -2,9 +2,11 @@ import uuid from unittest import mock from prowler.providers.aws.services.acm.acm_service import Certificate +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, + AWS_REGION_EU_WEST_1, +) -AWS_REGION = "us-east-1" -AWS_ACCOUNT_NUMBER = "123456789012" DAYS_TO_EXPIRE_THRESHOLD = 7 @@ -29,7 +31,7 @@ class Test_acm_certificates_expiration_check: def test_acm_certificate_expirated(self): certificate_id = str(uuid.uuid4()) - certificate_arn = f"arn:aws:acm:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:certificate/{certificate_id}" + certificate_arn = f"arn:aws:acm:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:certificate/{certificate_id}" certificate_name = "test-certificate.com" certificate_type = "AMAZON_ISSUED" @@ -42,7 +44,7 @@ class Test_acm_certificates_expiration_check: type=certificate_type, expiration_days=5, transparency_logging=True, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) ] @@ -66,12 +68,12 @@ class Test_acm_certificates_expiration_check: ) assert result[0].resource_id == certificate_id assert result[0].resource_arn == certificate_arn - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_tags == [] def test_acm_certificate_not_expirated(self): certificate_id = str(uuid.uuid4()) - certificate_arn = f"arn:aws:acm:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:certificate/{certificate_id}" + certificate_arn = f"arn:aws:acm:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:certificate/{certificate_id}" certificate_name = "test-certificate.com" certificate_type = "AMAZON_ISSUED" expiration_days = 365 @@ -85,7 +87,7 @@ class Test_acm_certificates_expiration_check: type=certificate_type, expiration_days=expiration_days, transparency_logging=True, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) ] @@ -109,5 +111,5 @@ class Test_acm_certificates_expiration_check: ) assert result[0].resource_id == certificate_id assert result[0].resource_arn == certificate_arn - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_tags == [] diff --git a/tests/providers/aws/services/acm/acm_certificates_transparency_logs_enabled/acm_certificates_transparency_logs_enabled_test.py b/tests/providers/aws/services/acm/acm_certificates_transparency_logs_enabled/acm_certificates_transparency_logs_enabled_test.py index 11ff3581f8..92ea6d72f4 100644 --- a/tests/providers/aws/services/acm/acm_certificates_transparency_logs_enabled/acm_certificates_transparency_logs_enabled_test.py +++ b/tests/providers/aws/services/acm/acm_certificates_transparency_logs_enabled/acm_certificates_transparency_logs_enabled_test.py @@ -2,9 +2,10 @@ import uuid from unittest import mock from prowler.providers.aws.services.acm.acm_service import Certificate - -AWS_REGION = "us-east-1" -AWS_ACCOUNT_NUMBER = "123456789012" +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, + AWS_REGION_EU_WEST_1, +) class Test_acm_certificates_transparency_logs_enabled: @@ -28,7 +29,7 @@ class Test_acm_certificates_transparency_logs_enabled: def test_acm_certificate_with_logging(self): certificate_id = str(uuid.uuid4()) - certificate_arn = f"arn:aws:acm:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:certificate/{certificate_id}" + certificate_arn = f"arn:aws:acm:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:certificate/{certificate_id}" certificate_name = "test-certificate.com" certificate_type = "AMAZON_ISSUED" @@ -41,7 +42,7 @@ class Test_acm_certificates_transparency_logs_enabled: type=certificate_type, expiration_days=365, transparency_logging=True, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) ] @@ -65,12 +66,12 @@ class Test_acm_certificates_transparency_logs_enabled: ) assert result[0].resource_id == certificate_id assert result[0].resource_arn == certificate_arn - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_tags == [] def test_acm_certificate_without_logging(self): certificate_id = str(uuid.uuid4()) - certificate_arn = f"arn:aws:acm:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:certificate/{certificate_id}" + certificate_arn = f"arn:aws:acm:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:certificate/{certificate_id}" certificate_name = "test-certificate.com" certificate_type = "AMAZON_ISSUED" @@ -83,7 +84,7 @@ class Test_acm_certificates_transparency_logs_enabled: type=certificate_type, expiration_days=365, transparency_logging=False, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) ] @@ -107,5 +108,5 @@ class Test_acm_certificates_transparency_logs_enabled: ) assert result[0].resource_id == certificate_id assert result[0].resource_arn == certificate_arn - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_tags == [] diff --git a/tests/providers/aws/services/acm/acm_service_test.py b/tests/providers/aws/services/acm/acm_service_test.py index 98aaec7d01..184a717bde 100644 --- a/tests/providers/aws/services/acm/acm_service_test.py +++ b/tests/providers/aws/services/acm/acm_service_test.py @@ -129,7 +129,7 @@ class Test_ACM_Service: # @mock_acm def test__list_and_describe_certificates__(self): # Generate ACM Client - # acm_client = client("acm", region_name=AWS_REGION) + # acm_client = client("acm", region_name=AWS_REGION_EU_WEST_1) # Request ACM certificate # certificate = acm_client.request_certificate( # DomainName="test.com", @@ -150,7 +150,7 @@ class Test_ACM_Service: # @mock_acm def test__list_tags_for_certificate__(self): # Generate ACM Client - # acm_client = client("acm", region_name=AWS_REGION) + # acm_client = client("acm", region_name=AWS_REGION_EU_WEST_1) # Request ACM certificate # certificate = acm_client.request_certificate( # DomainName="test.com", diff --git a/tests/providers/aws/services/appstream/appstream_fleet_default_internet_access_disabled/appstream_fleet_default_internet_access_disabled_test.py b/tests/providers/aws/services/appstream/appstream_fleet_default_internet_access_disabled/appstream_fleet_default_internet_access_disabled_test.py index 228ff877f8..ccc9e730cb 100644 --- a/tests/providers/aws/services/appstream/appstream_fleet_default_internet_access_disabled/appstream_fleet_default_internet_access_disabled_test.py +++ b/tests/providers/aws/services/appstream/appstream_fleet_default_internet_access_disabled/appstream_fleet_default_internet_access_disabled_test.py @@ -1,9 +1,7 @@ from unittest import mock from prowler.providers.aws.services.appstream.appstream_service import Fleet - -# Mock Test Region -AWS_REGION = "eu-west-1" +from tests.providers.aws.audit_info_utils import AWS_REGION_EU_WEST_1 class Test_appstream_fleet_default_internet_access_disabled: @@ -34,7 +32,7 @@ class Test_appstream_fleet_default_internet_access_disabled: disconnect_timeout_in_seconds=900, idle_disconnect_timeout_in_seconds=900, enable_default_internet_access=True, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) appstream_client.fleets.append(fleet1) @@ -72,7 +70,7 @@ class Test_appstream_fleet_default_internet_access_disabled: disconnect_timeout_in_seconds=900, idle_disconnect_timeout_in_seconds=900, enable_default_internet_access=False, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) appstream_client.fleets.append(fleet1) @@ -110,7 +108,7 @@ class Test_appstream_fleet_default_internet_access_disabled: disconnect_timeout_in_seconds=900, idle_disconnect_timeout_in_seconds=900, enable_default_internet_access=True, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) fleet2 = Fleet( arn="arn", @@ -119,7 +117,7 @@ class Test_appstream_fleet_default_internet_access_disabled: disconnect_timeout_in_seconds=900, idle_disconnect_timeout_in_seconds=900, enable_default_internet_access=False, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) appstream_client.fleets.append(fleet1) diff --git a/tests/providers/aws/services/appstream/appstream_fleet_maximum_session_duration/appstream_fleet_maximum_session_duration_test.py b/tests/providers/aws/services/appstream/appstream_fleet_maximum_session_duration/appstream_fleet_maximum_session_duration_test.py index e9c6590e6c..30915a2990 100644 --- a/tests/providers/aws/services/appstream/appstream_fleet_maximum_session_duration/appstream_fleet_maximum_session_duration_test.py +++ b/tests/providers/aws/services/appstream/appstream_fleet_maximum_session_duration/appstream_fleet_maximum_session_duration_test.py @@ -1,9 +1,7 @@ from unittest import mock from prowler.providers.aws.services.appstream.appstream_service import Fleet - -# Mock Test Region -AWS_REGION = "eu-west-1" +from tests.providers.aws.audit_info_utils import AWS_REGION_EU_WEST_1 class Test_appstream_fleet_maximum_session_duration: @@ -35,7 +33,7 @@ class Test_appstream_fleet_maximum_session_duration: disconnect_timeout_in_seconds=900, idle_disconnect_timeout_in_seconds=900, enable_default_internet_access=True, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) appstream_client.fleets.append(fleet1) @@ -76,7 +74,7 @@ class Test_appstream_fleet_maximum_session_duration: disconnect_timeout_in_seconds=900, idle_disconnect_timeout_in_seconds=900, enable_default_internet_access=True, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) appstream_client.fleets.append(fleet1) @@ -119,7 +117,7 @@ class Test_appstream_fleet_maximum_session_duration: disconnect_timeout_in_seconds=900, idle_disconnect_timeout_in_seconds=900, enable_default_internet_access=True, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) fleet2 = Fleet( arn="arn", @@ -129,7 +127,7 @@ class Test_appstream_fleet_maximum_session_duration: disconnect_timeout_in_seconds=900, idle_disconnect_timeout_in_seconds=900, enable_default_internet_access=False, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) appstream_client.fleets.append(fleet1) diff --git a/tests/providers/aws/services/appstream/appstream_fleet_session_disconnect_timeout/appstream_fleet_session_disconnect_timeout_test.py b/tests/providers/aws/services/appstream/appstream_fleet_session_disconnect_timeout/appstream_fleet_session_disconnect_timeout_test.py index 6b6df3925d..02c8facb08 100644 --- a/tests/providers/aws/services/appstream/appstream_fleet_session_disconnect_timeout/appstream_fleet_session_disconnect_timeout_test.py +++ b/tests/providers/aws/services/appstream/appstream_fleet_session_disconnect_timeout/appstream_fleet_session_disconnect_timeout_test.py @@ -1,9 +1,7 @@ from unittest import mock from prowler.providers.aws.services.appstream.appstream_service import Fleet - -# Mock Test Region -AWS_REGION = "eu-west-1" +from tests.providers.aws.audit_info_utils import AWS_REGION_EU_WEST_1 class Test_appstream_fleet_session_disconnect_timeout: @@ -35,7 +33,7 @@ class Test_appstream_fleet_session_disconnect_timeout: disconnect_timeout_in_seconds=1 * 60 * 60, idle_disconnect_timeout_in_seconds=900, enable_default_internet_access=True, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) appstream_client.fleets.append(fleet1) @@ -75,7 +73,7 @@ class Test_appstream_fleet_session_disconnect_timeout: disconnect_timeout_in_seconds=4 * 60, idle_disconnect_timeout_in_seconds=900, enable_default_internet_access=True, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) appstream_client.fleets.append(fleet1) @@ -118,7 +116,7 @@ class Test_appstream_fleet_session_disconnect_timeout: disconnect_timeout_in_seconds=1 * 60 * 60, idle_disconnect_timeout_in_seconds=900, enable_default_internet_access=True, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) fleet2 = Fleet( arn="arn", @@ -128,7 +126,7 @@ class Test_appstream_fleet_session_disconnect_timeout: disconnect_timeout_in_seconds=3 * 60, idle_disconnect_timeout_in_seconds=900, enable_default_internet_access=False, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) appstream_client.fleets.append(fleet1) diff --git a/tests/providers/aws/services/appstream/appstream_fleet_session_idle_disconnect_timeout/appstream_fleet_session_idle_disconnect_timeout_test.py b/tests/providers/aws/services/appstream/appstream_fleet_session_idle_disconnect_timeout/appstream_fleet_session_idle_disconnect_timeout_test.py index 335dff2a22..79ce5ba038 100644 --- a/tests/providers/aws/services/appstream/appstream_fleet_session_idle_disconnect_timeout/appstream_fleet_session_idle_disconnect_timeout_test.py +++ b/tests/providers/aws/services/appstream/appstream_fleet_session_idle_disconnect_timeout/appstream_fleet_session_idle_disconnect_timeout_test.py @@ -1,9 +1,7 @@ from unittest import mock from prowler.providers.aws.services.appstream.appstream_service import Fleet - -# Mock Test Region -AWS_REGION = "eu-west-1" +from tests.providers.aws.audit_info_utils import AWS_REGION_EU_WEST_1 class Test_appstream_fleet_session_idle_disconnect_timeout: @@ -35,7 +33,7 @@ class Test_appstream_fleet_session_idle_disconnect_timeout: # 15 minutes idle_disconnect_timeout_in_seconds=15 * 60, enable_default_internet_access=True, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) appstream_client.fleets.append(fleet1) @@ -76,7 +74,7 @@ class Test_appstream_fleet_session_idle_disconnect_timeout: # 8 minutes idle_disconnect_timeout_in_seconds=8 * 60, enable_default_internet_access=True, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) appstream_client.fleets.append(fleet1) @@ -119,7 +117,7 @@ class Test_appstream_fleet_session_idle_disconnect_timeout: # 5 minutes idle_disconnect_timeout_in_seconds=5 * 60, enable_default_internet_access=True, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) fleet2 = Fleet( arn="arn", @@ -129,7 +127,7 @@ class Test_appstream_fleet_session_idle_disconnect_timeout: # 45 minutes idle_disconnect_timeout_in_seconds=45 * 60, enable_default_internet_access=False, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) appstream_client.fleets.append(fleet1) diff --git a/tests/providers/aws/services/appstream/appstream_service_test.py b/tests/providers/aws/services/appstream/appstream_service_test.py index d14054ed88..93af58b453 100644 --- a/tests/providers/aws/services/appstream/appstream_service_test.py +++ b/tests/providers/aws/services/appstream/appstream_service_test.py @@ -5,14 +5,11 @@ from moto.core import DEFAULT_ACCOUNT_ID from prowler.providers.aws.services.appstream.appstream_service import AppStream from tests.providers.aws.audit_info_utils import ( + AWS_REGION_EU_WEST_1, AWS_REGION_US_EAST_1, set_mocked_aws_audit_info, ) -# Mock Test Region -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" - # Mocking Access Analyzer Calls make_api_call = botocore.client.BaseClient._make_api_call @@ -29,7 +26,7 @@ def mock_make_api_call(self, operation_name, kwarg): return { "Fleets": [ { - "Arn": f"arn:aws:appstream:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:fleet/test-prowler3-0", + "Arn": f"arn:aws:appstream:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:fleet/test-prowler3-0", "Name": "test-prowler3-0", "MaxUserDurationInSeconds": 100, "DisconnectTimeoutInSeconds": 900, @@ -37,7 +34,7 @@ def mock_make_api_call(self, operation_name, kwarg): "EnableDefaultInternetAccess": False, }, { - "Arn": f"arn:aws:appstream:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:fleet/test-prowler3-1", + "Arn": f"arn:aws:appstream:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:fleet/test-prowler3-1", "Name": "test-prowler3-1", "MaxUserDurationInSeconds": 57600, "DisconnectTimeoutInSeconds": 900, @@ -53,9 +50,11 @@ def mock_make_api_call(self, operation_name, kwarg): # Mock generate_regional_clients() 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_EU_WEST_1 + ) + regional_client.region = AWS_REGION_EU_WEST_1 + return {AWS_REGION_EU_WEST_1: regional_client} # Patch every AWS call using Boto3 and generate_regional_clients to have 1 client @@ -68,7 +67,10 @@ class Test_AppStream_Service: # Test AppStream Client def test__get_client__(self): appstream = AppStream(set_mocked_aws_audit_info([AWS_REGION_US_EAST_1])) - assert appstream.regional_clients[AWS_REGION].__class__.__name__ == "AppStream" + assert ( + appstream.regional_clients[AWS_REGION_EU_WEST_1].__class__.__name__ + == "AppStream" + ) # Test AppStream Session def test__get_session__(self): @@ -87,25 +89,25 @@ class Test_AppStream_Service: assert ( appstream.fleets[0].arn - == f"arn:aws:appstream:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:fleet/test-prowler3-0" + == f"arn:aws:appstream:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:fleet/test-prowler3-0" ) assert appstream.fleets[0].name == "test-prowler3-0" assert appstream.fleets[0].max_user_duration_in_seconds == 100 assert appstream.fleets[0].disconnect_timeout_in_seconds == 900 assert appstream.fleets[0].idle_disconnect_timeout_in_seconds == 900 assert appstream.fleets[0].enable_default_internet_access is False - assert appstream.fleets[0].region == AWS_REGION + assert appstream.fleets[0].region == AWS_REGION_EU_WEST_1 assert ( appstream.fleets[1].arn - == f"arn:aws:appstream:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:fleet/test-prowler3-1" + == f"arn:aws:appstream:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:fleet/test-prowler3-1" ) assert appstream.fleets[1].name == "test-prowler3-1" assert appstream.fleets[1].max_user_duration_in_seconds == 57600 assert appstream.fleets[1].disconnect_timeout_in_seconds == 900 assert appstream.fleets[1].idle_disconnect_timeout_in_seconds == 900 assert appstream.fleets[1].enable_default_internet_access is True - assert appstream.fleets[1].region == AWS_REGION + assert appstream.fleets[1].region == AWS_REGION_EU_WEST_1 def test__list_tags_for_resource__(self): # Set partition for the service diff --git a/tests/providers/aws/services/athena/athena_service_test.py b/tests/providers/aws/services/athena/athena_service_test.py index 02dc767705..ce35a8226d 100644 --- a/tests/providers/aws/services/athena/athena_service_test.py +++ b/tests/providers/aws/services/athena/athena_service_test.py @@ -86,7 +86,7 @@ class Test_Athena_Service: # Athena client # This API call is not implemented by Moto # athena_client = audit_info.audit_session.client( - # "athena", region_name=AWS_REGION + # "athena", region_name=AWS_REGION_EU_WEST_1 # ) # athena_client.update_work_group( # WorkGroup=default_workgroup_name, diff --git a/tests/providers/aws/services/backup/backup_plans_exist/backup_plans_exist_test.py b/tests/providers/aws/services/backup/backup_plans_exist/backup_plans_exist_test.py index b29497f0f0..c39ecab5af 100644 --- a/tests/providers/aws/services/backup/backup_plans_exist/backup_plans_exist_test.py +++ b/tests/providers/aws/services/backup/backup_plans_exist/backup_plans_exist_test.py @@ -3,9 +3,10 @@ from unittest import mock from uuid import uuid4 from prowler.providers.aws.services.backup.backup_service import BackupPlan - -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, + AWS_REGION_EU_WEST_1, +) class Test_backup_plans_exist: @@ -13,7 +14,7 @@ class Test_backup_plans_exist: backup_client = mock.MagicMock backup_client.audited_account = AWS_ACCOUNT_NUMBER backup_client.audited_account_arn = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" - backup_client.region = AWS_REGION + backup_client.region = AWS_REGION_EU_WEST_1 backup_client.backup_plans = [] backup_client.backup_vaults = ["vault"] with mock.patch( @@ -33,13 +34,13 @@ class Test_backup_plans_exist: assert result[0].status_extended == "No Backup Plan exist." assert result[0].resource_id == AWS_ACCOUNT_NUMBER assert result[0].resource_arn == f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 def test_no_backup_plans_not_vaults(self): backup_client = mock.MagicMock backup_client.audited_account = AWS_ACCOUNT_NUMBER backup_client.audited_account_arn = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" - backup_client.region = AWS_REGION + backup_client.region = AWS_REGION_EU_WEST_1 backup_client.backup_plans = [] backup_client.backup_vaults = [] with mock.patch( @@ -60,16 +61,14 @@ class Test_backup_plans_exist: backup_client = mock.MagicMock backup_client.audited_account = AWS_ACCOUNT_NUMBER backup_client.audited_account_arn = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" - backup_client.region = AWS_REGION + backup_client.region = AWS_REGION_EU_WEST_1 backup_plan_id = str(uuid4()).upper() - backup_plan_arn = ( - f"arn:aws:backup:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:plan:{backup_plan_id}" - ) + backup_plan_arn = f"arn:aws:backup:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:plan:{backup_plan_id}" backup_client.backup_plans = [ BackupPlan( arn=backup_plan_arn, id=backup_plan_id, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, name="MyBackupPlan", version_id="version_id", last_execution_date=datetime(2015, 1, 1), @@ -97,6 +96,6 @@ class Test_backup_plans_exist: assert result[0].resource_id == "MyBackupPlan" assert ( result[0].resource_arn - == f"arn:aws:backup:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:plan:{backup_plan_id}" + == f"arn:aws:backup:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:plan:{backup_plan_id}" ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 diff --git a/tests/providers/aws/services/backup/backup_reportplans_exist/backup_reportplans_exist_test.py b/tests/providers/aws/services/backup/backup_reportplans_exist/backup_reportplans_exist_test.py index e323378fe7..7f4db8f6d0 100644 --- a/tests/providers/aws/services/backup/backup_reportplans_exist/backup_reportplans_exist_test.py +++ b/tests/providers/aws/services/backup/backup_reportplans_exist/backup_reportplans_exist_test.py @@ -6,15 +6,16 @@ from prowler.providers.aws.services.backup.backup_service import ( BackupPlan, BackupReportPlan, ) - -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, + AWS_REGION_EU_WEST_1, +) class Test_backup_reportplans_exist: def test_no_backup_plans(self): backup_client = mock.MagicMock - backup_client.region = AWS_REGION + backup_client.region = AWS_REGION_EU_WEST_1 backup_client.backup_plans = [] with mock.patch( "prowler.providers.aws.services.backup.backup_service.Backup", @@ -34,16 +35,14 @@ class Test_backup_reportplans_exist: backup_client = mock.MagicMock backup_client.audited_account = AWS_ACCOUNT_NUMBER backup_client.audited_account_arn = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" - backup_client.region = AWS_REGION + backup_client.region = AWS_REGION_EU_WEST_1 backup_plan_id = str(uuid4()).upper() - backup_plan_arn = ( - f"arn:aws:backup:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:plan:{backup_plan_id}" - ) + backup_plan_arn = f"arn:aws:backup:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:plan:{backup_plan_id}" backup_client.backup_plans = [ BackupPlan( arn=backup_plan_arn, id=backup_plan_arn, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, name="MyBackupPlan", version_id="version_id", last_execution_date=datetime(2015, 1, 1), @@ -68,22 +67,20 @@ class Test_backup_reportplans_exist: assert result[0].status_extended == "No Backup Report Plan exist." assert result[0].resource_id == AWS_ACCOUNT_NUMBER assert result[0].resource_arn == f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 def test_one_backup_report_plan(self): backup_client = mock.MagicMock backup_client.audited_account = AWS_ACCOUNT_NUMBER backup_client.audited_account_arn = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" - backup_client.region = AWS_REGION + backup_client.region = AWS_REGION_EU_WEST_1 backup_plan_id = str(uuid4()).upper() - backup_plan_arn = ( - f"arn:aws:backup:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:plan:{backup_plan_id}" - ) + backup_plan_arn = f"arn:aws:backup:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:plan:{backup_plan_id}" backup_client.backup_plans = [ BackupPlan( arn=backup_plan_arn, id=backup_plan_id, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, name="MyBackupPlan", version_id="version_id", last_execution_date=datetime(2015, 1, 1), @@ -91,11 +88,11 @@ class Test_backup_reportplans_exist: ) ] backup_report_plan_id = str(uuid4()).upper() - backup_report_plan_arn = f"arn:aws:backup:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:report-plan:MyBackupReportPlan-{backup_report_plan_id}" + backup_report_plan_arn = f"arn:aws:backup:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:report-plan:MyBackupReportPlan-{backup_report_plan_id}" backup_client.backup_report_plans = [ BackupReportPlan( arn=backup_report_plan_arn, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, name="MyBackupReportPlan", last_attempted_execution_date=datetime(2015, 1, 1), last_successful_execution_date=datetime(2015, 1, 1), @@ -122,4 +119,4 @@ class Test_backup_reportplans_exist: ) assert result[0].resource_id == "MyBackupReportPlan" assert result[0].resource_arn == backup_report_plan_arn - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 diff --git a/tests/providers/aws/services/backup/backup_vaults_encrypted/backup_vaults_encrypted_test.py b/tests/providers/aws/services/backup/backup_vaults_encrypted/backup_vaults_encrypted_test.py index b73aef8d1d..393fb3f479 100644 --- a/tests/providers/aws/services/backup/backup_vaults_encrypted/backup_vaults_encrypted_test.py +++ b/tests/providers/aws/services/backup/backup_vaults_encrypted/backup_vaults_encrypted_test.py @@ -1,9 +1,10 @@ from unittest import mock from prowler.providers.aws.services.backup.backup_service import BackupVault - -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "0123456789012" +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, + AWS_REGION_EU_WEST_1, +) class Test_backup_vaults_encrypted: @@ -26,12 +27,12 @@ class Test_backup_vaults_encrypted: def test_one_backup_vault_unencrypted(self): backup_client = mock.MagicMock - backup_vault_arn = f"arn:aws:backup:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:backup-vault:MyBackupVault" + backup_vault_arn = f"arn:aws:backup:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:backup-vault:MyBackupVault" backup_client.backup_vaults = [ BackupVault( arn=backup_vault_arn, name="MyBackupVault", - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, encryption="", recovery_points=1, locked=True, @@ -60,16 +61,16 @@ class Test_backup_vaults_encrypted: ) assert result[0].resource_id == "MyBackupVault" assert result[0].resource_arn == backup_vault_arn - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 def test_one_backup_vault_encrypted(self): backup_client = mock.MagicMock - backup_vault_arn = f"arn:aws:backup:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:backup-vault:MyBackupVault" + backup_vault_arn = f"arn:aws:backup:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:backup-vault:MyBackupVault" backup_client.backup_vaults = [ BackupVault( arn=backup_vault_arn, name="MyBackupVault", - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, encryption="test", recovery_points=1, locked=True, @@ -98,4 +99,4 @@ class Test_backup_vaults_encrypted: ) assert result[0].resource_id == "MyBackupVault" assert result[0].resource_arn == backup_vault_arn - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 diff --git a/tests/providers/aws/services/backup/backup_vaults_exist/backup_vaults_exist_test.py b/tests/providers/aws/services/backup/backup_vaults_exist/backup_vaults_exist_test.py index 429f13d032..224e3f0424 100644 --- a/tests/providers/aws/services/backup/backup_vaults_exist/backup_vaults_exist_test.py +++ b/tests/providers/aws/services/backup/backup_vaults_exist/backup_vaults_exist_test.py @@ -1,9 +1,10 @@ from unittest import mock from prowler.providers.aws.services.backup.backup_service import BackupVault - -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, + AWS_REGION_EU_WEST_1, +) class Test_backup_vaults_exist: @@ -11,7 +12,7 @@ class Test_backup_vaults_exist: backup_client = mock.MagicMock backup_client.audited_account = AWS_ACCOUNT_NUMBER backup_client.audited_account_arn = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" - backup_client.region = AWS_REGION + backup_client.region = AWS_REGION_EU_WEST_1 backup_client.backup_vaults = [] with mock.patch( "prowler.providers.aws.services.backup.backup_service.Backup", @@ -30,19 +31,19 @@ class Test_backup_vaults_exist: assert result[0].status_extended == "No Backup Vault exist." assert result[0].resource_id == AWS_ACCOUNT_NUMBER assert result[0].resource_arn == f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 def test_one_backup_vault(self): backup_client = mock.MagicMock backup_client.audited_account = AWS_ACCOUNT_NUMBER backup_client.audited_account_arn = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" - backup_client.region = AWS_REGION - backup_vault_arn = f"arn:aws:backup:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:backup-vault:MyBackupVault" + backup_client.region = AWS_REGION_EU_WEST_1 + backup_vault_arn = f"arn:aws:backup:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:backup-vault:MyBackupVault" backup_client.backup_vaults = [ BackupVault( arn=backup_vault_arn, name="MyBackupVault", - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, encryption="", recovery_points=1, locked=True, @@ -71,4 +72,4 @@ class Test_backup_vaults_exist: ) assert result[0].resource_id == "MyBackupVault" assert result[0].resource_arn == backup_vault_arn - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 diff --git a/tests/providers/aws/services/cloudformation/cloudformation_outputs_find_secrets/cloudformation_outputs_find_secrets_test.py b/tests/providers/aws/services/cloudformation/cloudformation_outputs_find_secrets/cloudformation_outputs_find_secrets_test.py index d2bb52f6f7..5213a9ce93 100644 --- a/tests/providers/aws/services/cloudformation/cloudformation_outputs_find_secrets/cloudformation_outputs_find_secrets_test.py +++ b/tests/providers/aws/services/cloudformation/cloudformation_outputs_find_secrets/cloudformation_outputs_find_secrets_test.py @@ -1,9 +1,7 @@ from unittest import mock from prowler.providers.aws.services.cloudformation.cloudformation_service import Stack - -# Mock Test Region -AWS_REGION = "eu-west-1" +from tests.providers.aws.audit_info_utils import AWS_REGION_EU_WEST_1 class Test_cloudformation_stack_outputs_find_secrets: @@ -32,7 +30,7 @@ class Test_cloudformation_stack_outputs_find_secrets: arn="arn:aws:cloudformation:eu-west-1:123456789012:stack/Test-Stack/796c8d26-b390-41d7-a23c-0702c4e78b60", name=stack_name, outputs=["DB_PASSWORD:foobar123", "ENV:DEV"], - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) ] @@ -58,7 +56,7 @@ class Test_cloudformation_stack_outputs_find_secrets: result[0].resource_arn == "arn:aws:cloudformation:eu-west-1:123456789012:stack/Test-Stack/796c8d26-b390-41d7-a23c-0702c4e78b60" ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_tags == [] def test_stack_no_secret_in_outputs(self): @@ -69,7 +67,7 @@ class Test_cloudformation_stack_outputs_find_secrets: arn="arn:aws:cloudformation:eu-west-1:123456789012:stack/Test-Stack/796c8d26-b390-41d7-a23c-0702c4e78b60", name=stack_name, outputs=["ENV:DEV"], - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) ] @@ -95,7 +93,7 @@ class Test_cloudformation_stack_outputs_find_secrets: result[0].resource_arn == "arn:aws:cloudformation:eu-west-1:123456789012:stack/Test-Stack/796c8d26-b390-41d7-a23c-0702c4e78b60" ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_tags == [] def test_stack_no_outputs(self): @@ -106,7 +104,7 @@ class Test_cloudformation_stack_outputs_find_secrets: arn="arn:aws:cloudformation:eu-west-1:123456789012:stack/Test-Stack/796c8d26-b390-41d7-a23c-0702c4e78b60", name=stack_name, outputs=[], - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) ] @@ -132,5 +130,5 @@ class Test_cloudformation_stack_outputs_find_secrets: result[0].resource_arn == "arn:aws:cloudformation:eu-west-1:123456789012:stack/Test-Stack/796c8d26-b390-41d7-a23c-0702c4e78b60" ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_tags == [] diff --git a/tests/providers/aws/services/cloudformation/cloudformation_stacks_termination_protection_enabled/cloudformation_stacks_termination_protection_enabled_test.py b/tests/providers/aws/services/cloudformation/cloudformation_stacks_termination_protection_enabled/cloudformation_stacks_termination_protection_enabled_test.py index 9bde9f5173..73ce6524be 100644 --- a/tests/providers/aws/services/cloudformation/cloudformation_stacks_termination_protection_enabled/cloudformation_stacks_termination_protection_enabled_test.py +++ b/tests/providers/aws/services/cloudformation/cloudformation_stacks_termination_protection_enabled/cloudformation_stacks_termination_protection_enabled_test.py @@ -1,9 +1,7 @@ from unittest import mock from prowler.providers.aws.services.cloudformation.cloudformation_service import Stack - -# Mock Test Region -AWS_REGION = "eu-west-1" +from tests.providers.aws.audit_info_utils import AWS_REGION_EU_WEST_1 class Test_cloudformation_stacks_termination_protection_enabled: @@ -32,7 +30,7 @@ class Test_cloudformation_stacks_termination_protection_enabled: arn="arn:aws:cloudformation:eu-west-1:123456789012:stack/Test-Stack/796c8d26-b390-41d7-a23c-0702c4e78b60", name=stack_name, outputs=[], - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) ] cloudformation_client.stacks[0].enable_termination_protection = True @@ -59,7 +57,7 @@ class Test_cloudformation_stacks_termination_protection_enabled: result[0].resource_arn == "arn:aws:cloudformation:eu-west-1:123456789012:stack/Test-Stack/796c8d26-b390-41d7-a23c-0702c4e78b60" ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_tags == [] def test_stack_termination_protection_disabled(self): @@ -70,7 +68,7 @@ class Test_cloudformation_stacks_termination_protection_enabled: arn="arn:aws:cloudformation:eu-west-1:123456789012:stack/Test-Stack/796c8d26-b390-41d7-a23c-0702c4e78b60", name=stack_name, outputs=[], - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) ] cloudformation_client.stacks[0].enable_termination_protection = False @@ -97,5 +95,5 @@ class Test_cloudformation_stacks_termination_protection_enabled: result[0].resource_arn == "arn:aws:cloudformation:eu-west-1:123456789012:stack/Test-Stack/796c8d26-b390-41d7-a23c-0702c4e78b60" ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_tags == [] diff --git a/tests/providers/aws/services/cloudfront/cloudfront_service_test.py b/tests/providers/aws/services/cloudfront/cloudfront_service_test.py index 863c165c53..1fe2e4b669 100644 --- a/tests/providers/aws/services/cloudfront/cloudfront_service_test.py +++ b/tests/providers/aws/services/cloudfront/cloudfront_service_test.py @@ -1,25 +1,19 @@ from unittest.mock import patch import botocore -from boto3 import client, session +from boto3 import client from moto import mock_cloudfront -from moto.core import DEFAULT_ACCOUNT_ID -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info from prowler.providers.aws.services.cloudfront.cloudfront_service import ( CloudFront, GeoRestrictionType, ViewerProtocolPolicy, ) -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -# Mock Test Region -AWS_REGION = "eu-west-1" - def example_distribution_config(ref): """Return a basic example distribution config for use in tests.""" @@ -159,37 +153,6 @@ def mock_make_api_call(self, operation_name, kwarg): # Patch every AWS call using Boto3 @patch("botocore.client.BaseClient._make_api_call", new=mock_make_api_call) class Test_CloudFront_Service: - 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, - region_name=AWS_REGION, - ), - audited_account=DEFAULT_ACCOUNT_ID, - audited_account_arn=f"arn:aws:iam::{DEFAULT_ACCOUNT_ID}:root", - audited_user_id=None, - audited_partition="aws", - audited_identity_arn=None, - profile=None, - profile_region=AWS_REGION, - 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 CloudFront Client @mock_cloudfront def test__get_client__(self): diff --git a/tests/providers/aws/services/cloudtrail/cloudtrail_bucket_requires_mfa_delete/cloudtrail_bucket_requires_mfa_delete_test.py b/tests/providers/aws/services/cloudtrail/cloudtrail_bucket_requires_mfa_delete/cloudtrail_bucket_requires_mfa_delete_test.py index a00cec591f..dcf274b22b 100644 --- a/tests/providers/aws/services/cloudtrail/cloudtrail_bucket_requires_mfa_delete/cloudtrail_bucket_requires_mfa_delete_test.py +++ b/tests/providers/aws/services/cloudtrail/cloudtrail_bucket_requires_mfa_delete/cloudtrail_bucket_requires_mfa_delete_test.py @@ -2,55 +2,21 @@ from unittest import mock from unittest.mock import patch import botocore -from boto3 import client, session +from boto3 import client from moto import mock_cloudtrail, mock_iam, mock_s3 -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info from prowler.providers.aws.services.cloudtrail.cloudtrail_service import Cloudtrail from prowler.providers.aws.services.s3.s3_service import S3 -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" - # Mocking Backup Calls make_api_call = botocore.client.BaseClient._make_api_call class Test_cloudtrail_bucket_requires_mfa_delete: - 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=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=["us-east-1", "eu-west-1"], - 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 - @mock_cloudtrail def test_no_trails(self): current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) diff --git a/tests/providers/aws/services/cloudtrail/cloudtrail_cloudwatch_logging_enabled/cloudtrail_cloudwatch_logging_enabled_test.py b/tests/providers/aws/services/cloudtrail/cloudtrail_cloudwatch_logging_enabled/cloudtrail_cloudwatch_logging_enabled_test.py index deb3605ce0..7e5b57927c 100644 --- a/tests/providers/aws/services/cloudtrail/cloudtrail_cloudwatch_logging_enabled/cloudtrail_cloudwatch_logging_enabled_test.py +++ b/tests/providers/aws/services/cloudtrail/cloudtrail_cloudwatch_logging_enabled/cloudtrail_cloudwatch_logging_enabled_test.py @@ -2,50 +2,16 @@ from datetime import datetime, timedelta, timezone from re import search from unittest import mock -from boto3 import client, session +from boto3 import client from moto import mock_cloudtrail, mock_s3 -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_cloudtrail_cloudwatch_logging_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_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=["us-east-1", "eu-west-1"], - 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 - @mock_cloudtrail @mock_s3 def test_no_trails(self): diff --git a/tests/providers/aws/services/cloudtrail/cloudtrail_insights_exist/cloudtrail_insights_exist_test.py b/tests/providers/aws/services/cloudtrail/cloudtrail_insights_exist/cloudtrail_insights_exist_test.py index fcfc25f849..f79d1b0e5f 100644 --- a/tests/providers/aws/services/cloudtrail/cloudtrail_insights_exist/cloudtrail_insights_exist_test.py +++ b/tests/providers/aws/services/cloudtrail/cloudtrail_insights_exist/cloudtrail_insights_exist_test.py @@ -1,50 +1,16 @@ from unittest import mock -from boto3 import client, session +from boto3 import client from moto import mock_cloudtrail, mock_s3 -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info from prowler.providers.aws.services.cloudtrail.cloudtrail_service import Cloudtrail -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_cloudtrail_insights_exist: - 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=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=["us-east-1", "eu-west-1"], - 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 - @mock_cloudtrail def test_no_trails(self): current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) diff --git a/tests/providers/aws/services/cloudtrail/cloudtrail_kms_encryption_enabled/cloudtrail_kms_encryption_enabled_test.py b/tests/providers/aws/services/cloudtrail/cloudtrail_kms_encryption_enabled/cloudtrail_kms_encryption_enabled_test.py index 577be91e38..638f1b43f9 100644 --- a/tests/providers/aws/services/cloudtrail/cloudtrail_kms_encryption_enabled/cloudtrail_kms_encryption_enabled_test.py +++ b/tests/providers/aws/services/cloudtrail/cloudtrail_kms_encryption_enabled/cloudtrail_kms_encryption_enabled_test.py @@ -1,50 +1,16 @@ from re import search from unittest import mock -from boto3 import client, session +from boto3 import client from moto import mock_cloudtrail, mock_kms, mock_s3 -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_cloudtrail_kms_encryption_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_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=["us-east-1", "eu-west-1"], - 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 - @mock_cloudtrail @mock_s3 def test_no_trails(self): diff --git a/tests/providers/aws/services/cloudtrail/cloudtrail_log_file_validation_enabled/cloudtrail_log_file_validation_enabled_test.py b/tests/providers/aws/services/cloudtrail/cloudtrail_log_file_validation_enabled/cloudtrail_log_file_validation_enabled_test.py index 66c5b892df..ba82ef3833 100644 --- a/tests/providers/aws/services/cloudtrail/cloudtrail_log_file_validation_enabled/cloudtrail_log_file_validation_enabled_test.py +++ b/tests/providers/aws/services/cloudtrail/cloudtrail_log_file_validation_enabled/cloudtrail_log_file_validation_enabled_test.py @@ -1,50 +1,16 @@ from re import search from unittest import mock -from boto3 import client, session +from boto3 import client from moto import mock_cloudtrail, mock_s3 -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_cloudtrail_log_file_validation_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_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=["us-east-1", "eu-west-1"], - 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 - @mock_cloudtrail @mock_s3 def test_no_trails(self): diff --git a/tests/providers/aws/services/cloudtrail/cloudtrail_logs_s3_bucket_access_logging_enabled/cloudtrail_logs_s3_bucket_access_logging_enabled_test.py b/tests/providers/aws/services/cloudtrail/cloudtrail_logs_s3_bucket_access_logging_enabled/cloudtrail_logs_s3_bucket_access_logging_enabled_test.py index 2696385199..60e74001a1 100644 --- a/tests/providers/aws/services/cloudtrail/cloudtrail_logs_s3_bucket_access_logging_enabled/cloudtrail_logs_s3_bucket_access_logging_enabled_test.py +++ b/tests/providers/aws/services/cloudtrail/cloudtrail_logs_s3_bucket_access_logging_enabled/cloudtrail_logs_s3_bucket_access_logging_enabled_test.py @@ -1,50 +1,16 @@ from re import search from unittest import mock -from boto3 import client, session +from boto3 import client from moto import mock_cloudtrail, mock_s3 -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_cloudtrail_logs_s3_bucket_access_logging_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_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=["us-east-1", "eu-west-1"], - 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 - @mock_cloudtrail @mock_s3 def test_no_trails(self): diff --git a/tests/providers/aws/services/cloudtrail/cloudtrail_logs_s3_bucket_is_not_publicly_accessible/cloudtrail_logs_s3_bucket_is_not_publicly_accessible_test.py b/tests/providers/aws/services/cloudtrail/cloudtrail_logs_s3_bucket_is_not_publicly_accessible/cloudtrail_logs_s3_bucket_is_not_publicly_accessible_test.py index 3b06f0650e..a2558a2e4b 100644 --- a/tests/providers/aws/services/cloudtrail/cloudtrail_logs_s3_bucket_is_not_publicly_accessible/cloudtrail_logs_s3_bucket_is_not_publicly_accessible_test.py +++ b/tests/providers/aws/services/cloudtrail/cloudtrail_logs_s3_bucket_is_not_publicly_accessible/cloudtrail_logs_s3_bucket_is_not_publicly_accessible_test.py @@ -1,50 +1,16 @@ from re import search from unittest import mock -from boto3 import client, session +from boto3 import client from moto import mock_cloudtrail, mock_s3 -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_cloudtrail_logs_s3_bucket_is_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_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=["us-east-1", "eu-west-1"], - 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 - @mock_cloudtrail @mock_s3 def test_not_trails(self): diff --git a/tests/providers/aws/services/cloudtrail/cloudtrail_multi_region_enabled/cloudtrail_multi_region_enabled_test.py b/tests/providers/aws/services/cloudtrail/cloudtrail_multi_region_enabled/cloudtrail_multi_region_enabled_test.py index 5f9577398a..b0d2e2e8ae 100644 --- a/tests/providers/aws/services/cloudtrail/cloudtrail_multi_region_enabled/cloudtrail_multi_region_enabled_test.py +++ b/tests/providers/aws/services/cloudtrail/cloudtrail_multi_region_enabled/cloudtrail_multi_region_enabled_test.py @@ -1,51 +1,19 @@ from re import search from unittest import mock -from boto3 import client, session +from boto3 import client from moto import mock_cloudtrail, mock_s3 -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" AWS_REGION_US_EAST_1 = "us-east-1" class Test_cloudtrail_multi_region_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_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_US_EAST_1, AWS_REGION_EU_WEST_1], - 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 - @mock_cloudtrail def test_no_trails(self): from prowler.providers.aws.services.cloudtrail.cloudtrail_service import ( diff --git a/tests/providers/aws/services/cloudtrail/cloudtrail_multi_region_enabled_logging_management_events/cloudtrail_multi_region_enabled_logging_management_events_test.py b/tests/providers/aws/services/cloudtrail/cloudtrail_multi_region_enabled_logging_management_events/cloudtrail_multi_region_enabled_logging_management_events_test.py index 06b503e993..a96d1fcbec 100644 --- a/tests/providers/aws/services/cloudtrail/cloudtrail_multi_region_enabled_logging_management_events/cloudtrail_multi_region_enabled_logging_management_events_test.py +++ b/tests/providers/aws/services/cloudtrail/cloudtrail_multi_region_enabled_logging_management_events/cloudtrail_multi_region_enabled_logging_management_events_test.py @@ -1,51 +1,18 @@ from unittest import mock -from boto3 import client, session +from boto3 import client from moto import mock_cloudtrail, mock_s3 -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" -AWS_REGION = "us-east-1" class Test_cloudtrail_multi_region_enabled_logging_management_events: - 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=[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, - ), - ) - return audit_info - @mock_cloudtrail def test_no_trails(self): from prowler.providers.aws.services.cloudtrail.cloudtrail_service import ( @@ -72,7 +39,7 @@ class Test_cloudtrail_multi_region_enabled_logging_management_events: assert len(result) == 1 assert result[0].resource_id == AWS_ACCOUNT_NUMBER assert result[0].resource_arn == AWS_ACCOUNT_ARN - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].status == "FAIL" assert ( result[0].status_extended @@ -82,8 +49,10 @@ class Test_cloudtrail_multi_region_enabled_logging_management_events: @mock_cloudtrail @mock_s3 def test_compliant_trail_advanced_event_selector(self): - cloudtrail_client_us_east_1 = client("cloudtrail", region_name=AWS_REGION) - s3_client_us_east_1 = client("s3", region_name=AWS_REGION) + cloudtrail_client_us_east_1 = client( + "cloudtrail", region_name=AWS_REGION_EU_WEST_1 + ) + s3_client_us_east_1 = client("s3", region_name=AWS_REGION_EU_WEST_1) trail_name_us = "trail_test_us" bucket_name_us = "bucket_test_us" s3_client_us_east_1.create_bucket(Bucket=bucket_name_us) @@ -127,18 +96,20 @@ class Test_cloudtrail_multi_region_enabled_logging_management_events: assert len(result) == 1 assert result[0].resource_id == trail_name_us assert result[0].resource_arn == trail_us["TrailARN"] - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].status == "PASS" assert ( result[0].status_extended - == f"Trail {trail_name_us} from home region {AWS_REGION} is multi-region, is logging and have management events enabled." + == f"Trail {trail_name_us} from home region {AWS_REGION_EU_WEST_1} is multi-region, is logging and have management events enabled." ) @mock_cloudtrail @mock_s3 def test_non_compliant_trail_advanced_event_selector(self): - cloudtrail_client_us_east_1 = client("cloudtrail", region_name=AWS_REGION) - s3_client_us_east_1 = client("s3", region_name=AWS_REGION) + cloudtrail_client_us_east_1 = client( + "cloudtrail", region_name=AWS_REGION_EU_WEST_1 + ) + s3_client_us_east_1 = client("s3", region_name=AWS_REGION_EU_WEST_1) trail_name_us = "trail_test_us" bucket_name_us = "bucket_test_us" s3_client_us_east_1.create_bucket(Bucket=bucket_name_us) @@ -182,7 +153,7 @@ class Test_cloudtrail_multi_region_enabled_logging_management_events: result = check.execute() assert result[0].resource_id == AWS_ACCOUNT_NUMBER assert result[0].resource_arn == AWS_ACCOUNT_ARN - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].status == "FAIL" assert ( result[0].status_extended @@ -192,8 +163,10 @@ class Test_cloudtrail_multi_region_enabled_logging_management_events: @mock_cloudtrail @mock_s3 def test_compliant_trail_classic_event_selector(self): - cloudtrail_client_us_east_1 = client("cloudtrail", region_name=AWS_REGION) - s3_client_us_east_1 = client("s3", region_name=AWS_REGION) + cloudtrail_client_us_east_1 = client( + "cloudtrail", region_name=AWS_REGION_EU_WEST_1 + ) + s3_client_us_east_1 = client("s3", region_name=AWS_REGION_EU_WEST_1) trail_name_us = "trail_test_us" bucket_name_us = "bucket_test_us" s3_client_us_east_1.create_bucket(Bucket=bucket_name_us) @@ -236,18 +209,20 @@ class Test_cloudtrail_multi_region_enabled_logging_management_events: assert len(result) == 1 assert result[0].resource_id == trail_name_us assert result[0].resource_arn == trail_us["TrailARN"] - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].status == "PASS" assert ( result[0].status_extended - == f"Trail {trail_name_us} from home region {AWS_REGION} is multi-region, is logging and have management events enabled." + == f"Trail {trail_name_us} from home region {AWS_REGION_EU_WEST_1} is multi-region, is logging and have management events enabled." ) @mock_cloudtrail @mock_s3 def test_non_compliant_trail_classic_event_selector(self): - cloudtrail_client_us_east_1 = client("cloudtrail", region_name=AWS_REGION) - s3_client_us_east_1 = client("s3", region_name=AWS_REGION) + cloudtrail_client_us_east_1 = client( + "cloudtrail", region_name=AWS_REGION_EU_WEST_1 + ) + s3_client_us_east_1 = client("s3", region_name=AWS_REGION_EU_WEST_1) trail_name_us = "trail_test_us" bucket_name_us = "bucket_test_us" s3_client_us_east_1.create_bucket(Bucket=bucket_name_us) @@ -289,7 +264,7 @@ class Test_cloudtrail_multi_region_enabled_logging_management_events: result = check.execute() assert result[0].resource_id == AWS_ACCOUNT_NUMBER assert result[0].resource_arn == AWS_ACCOUNT_ARN - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].status == "FAIL" assert ( result[0].status_extended diff --git a/tests/providers/aws/services/cloudtrail/cloudtrail_service_test.py b/tests/providers/aws/services/cloudtrail/cloudtrail_service_test.py index 1b0e889b9e..7262ea9e40 100644 --- a/tests/providers/aws/services/cloudtrail/cloudtrail_service_test.py +++ b/tests/providers/aws/services/cloudtrail/cloudtrail_service_test.py @@ -1,48 +1,15 @@ -from boto3 import client, session +from boto3 import client from moto import mock_cloudtrail, mock_s3 -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info from prowler.providers.aws.services.cloudtrail.cloudtrail_service import Cloudtrail -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_Cloudtrail_Service: - 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=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=["eu-west-1", "us-east-1"], - 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 Cloudtrail Service @mock_cloudtrail def test_service(self): diff --git a/tests/providers/aws/services/cloudwatch/cloudwatch_changes_to_network_acls_alarm_configured/cloudwatch_changes_to_network_acls_alarm_configured_test.py b/tests/providers/aws/services/cloudwatch/cloudwatch_changes_to_network_acls_alarm_configured/cloudwatch_changes_to_network_acls_alarm_configured_test.py index f7fe6cdcc8..a25fe0d2ca 100644 --- a/tests/providers/aws/services/cloudwatch/cloudwatch_changes_to_network_acls_alarm_configured/cloudwatch_changes_to_network_acls_alarm_configured_test.py +++ b/tests/providers/aws/services/cloudwatch/cloudwatch_changes_to_network_acls_alarm_configured/cloudwatch_changes_to_network_acls_alarm_configured_test.py @@ -9,9 +9,6 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_cloudwatch_changes_to_network_acls_alarm_configured: @mock_logs @@ -72,8 +69,8 @@ class Test_cloudwatch_changes_to_network_acls_alarm_configured: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_no_log_group(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") cloudtrail_client.create_trail(Name="test_trail", S3BucketName="test") @@ -131,15 +128,15 @@ class Test_cloudwatch_changes_to_network_acls_alarm_configured: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) from prowler.providers.aws.services.cloudtrail.cloudtrail_service import ( @@ -196,15 +193,15 @@ class Test_cloudwatch_changes_to_network_acls_alarm_configured: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group_with_metric(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) logs_client.put_metric_filter( logGroupName="/log-group/test", @@ -273,16 +270,16 @@ class Test_cloudwatch_changes_to_network_acls_alarm_configured: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group_with_metric_and_alarm(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - cloudwatch_client = client("cloudwatch", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + cloudwatch_client = client("cloudwatch", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) logs_client.put_metric_filter( logGroupName="/log-group/test", @@ -362,16 +359,16 @@ class Test_cloudwatch_changes_to_network_acls_alarm_configured: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group_with_metric_and_alarm_with_quotes(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - cloudwatch_client = client("cloudwatch", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + cloudwatch_client = client("cloudwatch", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) logs_client.put_metric_filter( logGroupName="/log-group/test", @@ -451,16 +448,16 @@ class Test_cloudwatch_changes_to_network_acls_alarm_configured: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group_with_metric_and_alarm_with_newlines(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - cloudwatch_client = client("cloudwatch", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + cloudwatch_client = client("cloudwatch", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) logs_client.put_metric_filter( logGroupName="/log-group/test", diff --git a/tests/providers/aws/services/cloudwatch/cloudwatch_changes_to_network_gateways_alarm_configured/cloudwatch_changes_to_network_gateways_alarm_configured_test.py b/tests/providers/aws/services/cloudwatch/cloudwatch_changes_to_network_gateways_alarm_configured/cloudwatch_changes_to_network_gateways_alarm_configured_test.py index 4fcad064b1..1cfc6bba13 100644 --- a/tests/providers/aws/services/cloudwatch/cloudwatch_changes_to_network_gateways_alarm_configured/cloudwatch_changes_to_network_gateways_alarm_configured_test.py +++ b/tests/providers/aws/services/cloudwatch/cloudwatch_changes_to_network_gateways_alarm_configured/cloudwatch_changes_to_network_gateways_alarm_configured_test.py @@ -9,9 +9,6 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_cloudwatch_changes_to_network_gateways_alarm_configured: @mock_logs @@ -72,8 +69,8 @@ class Test_cloudwatch_changes_to_network_gateways_alarm_configured: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_no_log_group(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") cloudtrail_client.create_trail(Name="test_trail", S3BucketName="test") @@ -131,15 +128,15 @@ class Test_cloudwatch_changes_to_network_gateways_alarm_configured: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) from prowler.providers.aws.services.cloudtrail.cloudtrail_service import ( @@ -196,15 +193,15 @@ class Test_cloudwatch_changes_to_network_gateways_alarm_configured: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group_with_metric(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) logs_client.put_metric_filter( logGroupName="/log-group/test", @@ -273,16 +270,16 @@ class Test_cloudwatch_changes_to_network_gateways_alarm_configured: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group_with_metric_and_alarm(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - cloudwatch_client = client("cloudwatch", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + cloudwatch_client = client("cloudwatch", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) logs_client.put_metric_filter( logGroupName="/log-group/test", @@ -362,16 +359,16 @@ class Test_cloudwatch_changes_to_network_gateways_alarm_configured: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group_with_metric_and_alarm_with_quotes(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - cloudwatch_client = client("cloudwatch", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + cloudwatch_client = client("cloudwatch", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) logs_client.put_metric_filter( logGroupName="/log-group/test", @@ -451,16 +448,16 @@ class Test_cloudwatch_changes_to_network_gateways_alarm_configured: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group_with_metric_and_alarm_with_newlines(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - cloudwatch_client = client("cloudwatch", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + cloudwatch_client = client("cloudwatch", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) logs_client.put_metric_filter( logGroupName="/log-group/test", diff --git a/tests/providers/aws/services/cloudwatch/cloudwatch_changes_to_network_route_tables_alarm_configured/cloudwatch_changes_to_network_route_tables_alarm_configured_test.py b/tests/providers/aws/services/cloudwatch/cloudwatch_changes_to_network_route_tables_alarm_configured/cloudwatch_changes_to_network_route_tables_alarm_configured_test.py index 787c0e8df4..9fccab29cb 100644 --- a/tests/providers/aws/services/cloudwatch/cloudwatch_changes_to_network_route_tables_alarm_configured/cloudwatch_changes_to_network_route_tables_alarm_configured_test.py +++ b/tests/providers/aws/services/cloudwatch/cloudwatch_changes_to_network_route_tables_alarm_configured/cloudwatch_changes_to_network_route_tables_alarm_configured_test.py @@ -9,9 +9,6 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_cloudwatch_changes_to_network_route_tables_alarm_configured: @mock_logs @@ -72,8 +69,8 @@ class Test_cloudwatch_changes_to_network_route_tables_alarm_configured: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_no_log_group(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") cloudtrail_client.create_trail(Name="test_trail", S3BucketName="test") @@ -131,15 +128,15 @@ class Test_cloudwatch_changes_to_network_route_tables_alarm_configured: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) from prowler.providers.aws.services.cloudtrail.cloudtrail_service import ( @@ -196,15 +193,15 @@ class Test_cloudwatch_changes_to_network_route_tables_alarm_configured: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group_with_metric(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) logs_client.put_metric_filter( logGroupName="/log-group/test", @@ -273,16 +270,16 @@ class Test_cloudwatch_changes_to_network_route_tables_alarm_configured: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group_with_metric_and_alarm(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - cloudwatch_client = client("cloudwatch", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + cloudwatch_client = client("cloudwatch", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) logs_client.put_metric_filter( logGroupName="/log-group/test", @@ -362,16 +359,16 @@ class Test_cloudwatch_changes_to_network_route_tables_alarm_configured: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group_with_metric_and_alarm_with_quotes(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - cloudwatch_client = client("cloudwatch", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + cloudwatch_client = client("cloudwatch", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) logs_client.put_metric_filter( logGroupName="/log-group/test", @@ -451,16 +448,16 @@ class Test_cloudwatch_changes_to_network_route_tables_alarm_configured: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group_with_metric_and_alarm_with_newlines(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - cloudwatch_client = client("cloudwatch", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + cloudwatch_client = client("cloudwatch", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) logs_client.put_metric_filter( logGroupName="/log-group/test", diff --git a/tests/providers/aws/services/cloudwatch/cloudwatch_changes_to_vpcs_alarm_configured/cloudwatch_changes_to_vpcs_alarm_configured_test.py b/tests/providers/aws/services/cloudwatch/cloudwatch_changes_to_vpcs_alarm_configured/cloudwatch_changes_to_vpcs_alarm_configured_test.py index 0380cc359d..1721251709 100644 --- a/tests/providers/aws/services/cloudwatch/cloudwatch_changes_to_vpcs_alarm_configured/cloudwatch_changes_to_vpcs_alarm_configured_test.py +++ b/tests/providers/aws/services/cloudwatch/cloudwatch_changes_to_vpcs_alarm_configured/cloudwatch_changes_to_vpcs_alarm_configured_test.py @@ -9,9 +9,6 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_cloudwatch_changes_to_vpcs_alarm_configured: @mock_logs @@ -72,8 +69,8 @@ class Test_cloudwatch_changes_to_vpcs_alarm_configured: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_no_log_group(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") cloudtrail_client.create_trail(Name="test_trail", S3BucketName="test") @@ -131,15 +128,15 @@ class Test_cloudwatch_changes_to_vpcs_alarm_configured: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) from prowler.providers.aws.services.cloudtrail.cloudtrail_service import ( @@ -196,15 +193,15 @@ class Test_cloudwatch_changes_to_vpcs_alarm_configured: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group_with_metric(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) logs_client.put_metric_filter( logGroupName="/log-group/test", @@ -273,16 +270,16 @@ class Test_cloudwatch_changes_to_vpcs_alarm_configured: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group_with_metric_and_alarm(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - cloudwatch_client = client("cloudwatch", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + cloudwatch_client = client("cloudwatch", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) logs_client.put_metric_filter( logGroupName="/log-group/test", @@ -362,16 +359,16 @@ class Test_cloudwatch_changes_to_vpcs_alarm_configured: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group_with_metric_and_alarm_with_quotes(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - cloudwatch_client = client("cloudwatch", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + cloudwatch_client = client("cloudwatch", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) logs_client.put_metric_filter( logGroupName="/log-group/test", @@ -451,16 +448,16 @@ class Test_cloudwatch_changes_to_vpcs_alarm_configured: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group_with_metric_and_alarm_with_newlines(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - cloudwatch_client = client("cloudwatch", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + cloudwatch_client = client("cloudwatch", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) logs_client.put_metric_filter( logGroupName="/log-group/test", diff --git a/tests/providers/aws/services/cloudwatch/cloudwatch_cross_account_sharing_disabled/cloudwatch_cross_account_sharing_disabled_test.py b/tests/providers/aws/services/cloudwatch/cloudwatch_cross_account_sharing_disabled/cloudwatch_cross_account_sharing_disabled_test.py index e04da599dc..4ba2ab9887 100644 --- a/tests/providers/aws/services/cloudwatch/cloudwatch_cross_account_sharing_disabled/cloudwatch_cross_account_sharing_disabled_test.py +++ b/tests/providers/aws/services/cloudwatch/cloudwatch_cross_account_sharing_disabled/cloudwatch_cross_account_sharing_disabled_test.py @@ -4,13 +4,11 @@ from boto3 import client from moto import mock_iam from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_cloudwatch_cross_account_sharing_disabled: @mock_iam @@ -55,7 +53,7 @@ class Test_cloudwatch_cross_account_sharing_disabled: @mock_iam def test_cloudwatch_log_group_with_cross_account_role(self): # Generate Logs Client - iam_client = client("iam", region_name=AWS_REGION) + iam_client = client("iam", region_name=AWS_REGION_EU_WEST_1) # Request Logs group iam_client.create_role( RoleName="CloudWatch-CrossAccountSharingRole", AssumeRolePolicyDocument="{}" diff --git a/tests/providers/aws/services/cloudwatch/cloudwatch_log_group_kms_encryption_enabled/cloudwatch_log_group_kms_encryption_enabled_test.py b/tests/providers/aws/services/cloudwatch/cloudwatch_log_group_kms_encryption_enabled/cloudwatch_log_group_kms_encryption_enabled_test.py index 7b12ee24de..611a60f1d2 100644 --- a/tests/providers/aws/services/cloudwatch/cloudwatch_log_group_kms_encryption_enabled/cloudwatch_log_group_kms_encryption_enabled_test.py +++ b/tests/providers/aws/services/cloudwatch/cloudwatch_log_group_kms_encryption_enabled/cloudwatch_log_group_kms_encryption_enabled_test.py @@ -8,9 +8,6 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_cloudwatch_log_group_kms_encryption_enabled: def test_cloudwatch_no_log_groups(self): @@ -48,7 +45,7 @@ class Test_cloudwatch_log_group_kms_encryption_enabled: @mock_logs def test_cloudwatch_log_group_without_kms_key(self): # Generate Logs Client - logs_client = client("logs", region_name=AWS_REGION) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) # Request Logs group logs_client.create_log_group( logGroupName="test", @@ -94,7 +91,7 @@ class Test_cloudwatch_log_group_kms_encryption_enabled: @mock_logs def test_cloudwatch_log_group_with_kms_key(self): # Generate Logs Client - logs_client = client("logs", region_name=AWS_REGION) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) # Request Logs group logs_client.create_log_group(logGroupName="test", kmsKeyId="test_kms_id") diff --git a/tests/providers/aws/services/cloudwatch/cloudwatch_log_group_no_secrets_in_logs/cloudwatch_log_group_no_secrets_in_logs_test.py b/tests/providers/aws/services/cloudwatch/cloudwatch_log_group_no_secrets_in_logs/cloudwatch_log_group_no_secrets_in_logs_test.py index bbd2fa8976..2561d41f0d 100644 --- a/tests/providers/aws/services/cloudwatch/cloudwatch_log_group_no_secrets_in_logs/cloudwatch_log_group_no_secrets_in_logs_test.py +++ b/tests/providers/aws/services/cloudwatch/cloudwatch_log_group_no_secrets_in_logs/cloudwatch_log_group_no_secrets_in_logs_test.py @@ -10,9 +10,6 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_cloudwatch_log_group_no_secrets_in_logs: def test_cloudwatch_no_log_groups(self): @@ -50,7 +47,7 @@ class Test_cloudwatch_log_group_no_secrets_in_logs: @mock_logs def test_cloudwatch_log_group_without_secrets(self): # Generate Logs Client - logs_client = client("logs", region_name=AWS_REGION) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) # Request Logs group logs_client.create_log_group(logGroupName="test") logs_client.create_log_stream(logGroupName="test", logStreamName="test stream") @@ -101,7 +98,7 @@ class Test_cloudwatch_log_group_no_secrets_in_logs: @mock_logs def test_cloudwatch_log_group_with_secrets(self): # Generate Logs Client - logs_client = client("logs", region_name=AWS_REGION) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) # Request Logs group logs_client.create_log_group(logGroupName="test") logs_client.create_log_stream(logGroupName="test", logStreamName="test stream") diff --git a/tests/providers/aws/services/cloudwatch/cloudwatch_log_group_retention_policy_specific_days_enabled/cloudwatch_log_group_retention_policy_specific_days_enabled_test.py b/tests/providers/aws/services/cloudwatch/cloudwatch_log_group_retention_policy_specific_days_enabled/cloudwatch_log_group_retention_policy_specific_days_enabled_test.py index 55cef4e7c5..fb01bc0609 100644 --- a/tests/providers/aws/services/cloudwatch/cloudwatch_log_group_retention_policy_specific_days_enabled/cloudwatch_log_group_retention_policy_specific_days_enabled_test.py +++ b/tests/providers/aws/services/cloudwatch/cloudwatch_log_group_retention_policy_specific_days_enabled/cloudwatch_log_group_retention_policy_specific_days_enabled_test.py @@ -4,13 +4,11 @@ from boto3 import client from moto import mock_logs from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_cloudwatch_log_group_retention_policy_specific_days_enabled: def test_cloudwatch_no_log_groups(self): @@ -49,7 +47,7 @@ class Test_cloudwatch_log_group_retention_policy_specific_days_enabled: @mock_logs def test_cloudwatch_log_group_without_retention_days_never_expires(self): # Generate Logs Client - logs_client = client("logs", region_name=AWS_REGION) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) # Request Logs group logs_client.create_log_group( logGroupName="test", @@ -93,14 +91,14 @@ class Test_cloudwatch_log_group_retention_policy_specific_days_enabled: assert result[0].resource_id == "test" assert ( result[0].resource_arn - == f"arn:aws:logs:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:log-group:test" + == f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:log-group:test" ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_logs def test_cloudwatch_log_group_with_compliant_retention_days(self): # Generate Logs Client - logs_client = client("logs", region_name=AWS_REGION) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) # Request Logs group logs_client.create_log_group( logGroupName="test", @@ -145,14 +143,14 @@ class Test_cloudwatch_log_group_retention_policy_specific_days_enabled: assert result[0].resource_id == "test" assert ( result[0].resource_arn - == f"arn:aws:logs:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:log-group:test" + == f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:log-group:test" ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_logs def test_cloudwatch_log_group_with_no_compliant_retention_days(self): # Generate Logs Client - logs_client = client("logs", region_name=AWS_REGION) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) # Request Logs group logs_client.create_log_group( logGroupName="test", @@ -197,6 +195,6 @@ class Test_cloudwatch_log_group_retention_policy_specific_days_enabled: assert result[0].resource_id == "test" assert ( result[0].resource_arn - == f"arn:aws:logs:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:log-group:test" + == f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:log-group:test" ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 diff --git a/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_and_alarm_for_aws_config_configuration_changes_enabled/cloudwatch_log_metric_filter_and_alarm_for_aws_config_configuration_changes_enabled_test.py b/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_and_alarm_for_aws_config_configuration_changes_enabled/cloudwatch_log_metric_filter_and_alarm_for_aws_config_configuration_changes_enabled_test.py index 9a6a91115b..7efe1b12e0 100644 --- a/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_and_alarm_for_aws_config_configuration_changes_enabled/cloudwatch_log_metric_filter_and_alarm_for_aws_config_configuration_changes_enabled_test.py +++ b/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_and_alarm_for_aws_config_configuration_changes_enabled/cloudwatch_log_metric_filter_and_alarm_for_aws_config_configuration_changes_enabled_test.py @@ -9,9 +9,6 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_cloudwatch_log_metric_filter_and_alarm_for_aws_config_configuration_changes_enabled: @mock_logs @@ -74,8 +71,8 @@ class Test_cloudwatch_log_metric_filter_and_alarm_for_aws_config_configuration_c @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_no_log_group(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") cloudtrail_client.create_trail(Name="test_trail", S3BucketName="test") @@ -135,15 +132,15 @@ class Test_cloudwatch_log_metric_filter_and_alarm_for_aws_config_configuration_c @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) from prowler.providers.aws.services.cloudtrail.cloudtrail_service import ( @@ -202,15 +199,15 @@ class Test_cloudwatch_log_metric_filter_and_alarm_for_aws_config_configuration_c @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group_with_metric(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) logs_client.put_metric_filter( logGroupName="/log-group/test", @@ -281,16 +278,16 @@ class Test_cloudwatch_log_metric_filter_and_alarm_for_aws_config_configuration_c @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group_with_metric_and_alarm(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - cloudwatch_client = client("cloudwatch", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + cloudwatch_client = client("cloudwatch", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) logs_client.put_metric_filter( logGroupName="/log-group/test", @@ -372,16 +369,16 @@ class Test_cloudwatch_log_metric_filter_and_alarm_for_aws_config_configuration_c @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group_with_metric_and_alarm_with_quotes(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - cloudwatch_client = client("cloudwatch", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + cloudwatch_client = client("cloudwatch", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) logs_client.put_metric_filter( logGroupName="/log-group/test", @@ -463,16 +460,16 @@ class Test_cloudwatch_log_metric_filter_and_alarm_for_aws_config_configuration_c @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group_with_metric_and_alarm_with_newlines(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - cloudwatch_client = client("cloudwatch", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + cloudwatch_client = client("cloudwatch", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) logs_client.put_metric_filter( logGroupName="/log-group/test", diff --git a/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_and_alarm_for_cloudtrail_configuration_changes_enabled/cloudwatch_log_metric_filter_and_alarm_for_cloudtrail_configuration_changes_enabled_test.py b/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_and_alarm_for_cloudtrail_configuration_changes_enabled/cloudwatch_log_metric_filter_and_alarm_for_cloudtrail_configuration_changes_enabled_test.py index 9f8c993967..503bddfb40 100644 --- a/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_and_alarm_for_cloudtrail_configuration_changes_enabled/cloudwatch_log_metric_filter_and_alarm_for_cloudtrail_configuration_changes_enabled_test.py +++ b/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_and_alarm_for_cloudtrail_configuration_changes_enabled/cloudwatch_log_metric_filter_and_alarm_for_cloudtrail_configuration_changes_enabled_test.py @@ -9,9 +9,6 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_cloudwatch_log_metric_filter_and_alarm_for_cloudtrail_configuration_changes_enabled: @mock_logs @@ -74,8 +71,8 @@ class Test_cloudwatch_log_metric_filter_and_alarm_for_cloudtrail_configuration_c @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_no_log_group(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") cloudtrail_client.create_trail(Name="test_trail", S3BucketName="test") @@ -135,15 +132,15 @@ class Test_cloudwatch_log_metric_filter_and_alarm_for_cloudtrail_configuration_c @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) from prowler.providers.aws.services.cloudtrail.cloudtrail_service import ( @@ -202,15 +199,15 @@ class Test_cloudwatch_log_metric_filter_and_alarm_for_cloudtrail_configuration_c @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group_with_metric(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) logs_client.put_metric_filter( logGroupName="/log-group/test", @@ -281,16 +278,16 @@ class Test_cloudwatch_log_metric_filter_and_alarm_for_cloudtrail_configuration_c @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group_with_metric_and_alarm(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - cloudwatch_client = client("cloudwatch", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + cloudwatch_client = client("cloudwatch", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) logs_client.put_metric_filter( logGroupName="/log-group/test", @@ -372,16 +369,16 @@ class Test_cloudwatch_log_metric_filter_and_alarm_for_cloudtrail_configuration_c @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group_with_metric_and_alarm_with_quotes(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - cloudwatch_client = client("cloudwatch", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + cloudwatch_client = client("cloudwatch", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) logs_client.put_metric_filter( logGroupName="/log-group/test", @@ -463,16 +460,16 @@ class Test_cloudwatch_log_metric_filter_and_alarm_for_cloudtrail_configuration_c @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group_with_metric_and_alarm_with_newlines(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - cloudwatch_client = client("cloudwatch", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + cloudwatch_client = client("cloudwatch", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) logs_client.put_metric_filter( logGroupName="/log-group/test", diff --git a/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_authentication_failures/cloudwatch_log_metric_filter_authentication_failures_test.py b/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_authentication_failures/cloudwatch_log_metric_filter_authentication_failures_test.py index 08d2cb807a..5b26a90e16 100644 --- a/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_authentication_failures/cloudwatch_log_metric_filter_authentication_failures_test.py +++ b/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_authentication_failures/cloudwatch_log_metric_filter_authentication_failures_test.py @@ -9,9 +9,6 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_cloudwatch_log_metric_filter_authentication_failures: @mock_logs @@ -72,8 +69,8 @@ class Test_cloudwatch_log_metric_filter_authentication_failures: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_no_log_group(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") cloudtrail_client.create_trail(Name="test_trail", S3BucketName="test") @@ -131,15 +128,15 @@ class Test_cloudwatch_log_metric_filter_authentication_failures: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) from prowler.providers.aws.services.cloudtrail.cloudtrail_service import ( @@ -196,15 +193,15 @@ class Test_cloudwatch_log_metric_filter_authentication_failures: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group_with_metric(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) logs_client.put_metric_filter( logGroupName="/log-group/test", @@ -273,16 +270,16 @@ class Test_cloudwatch_log_metric_filter_authentication_failures: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group_with_metric_and_alarm(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - cloudwatch_client = client("cloudwatch", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + cloudwatch_client = client("cloudwatch", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) logs_client.put_metric_filter( logGroupName="/log-group/test", @@ -362,16 +359,16 @@ class Test_cloudwatch_log_metric_filter_authentication_failures: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group_with_metric_and_alarm_with_quotes(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - cloudwatch_client = client("cloudwatch", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + cloudwatch_client = client("cloudwatch", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) logs_client.put_metric_filter( logGroupName="/log-group/test", @@ -451,16 +448,16 @@ class Test_cloudwatch_log_metric_filter_authentication_failures: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group_with_metric_and_alarm_with_newlines(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - cloudwatch_client = client("cloudwatch", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + cloudwatch_client = client("cloudwatch", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) logs_client.put_metric_filter( logGroupName="/log-group/test", diff --git a/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_aws_organizations_changes/cloudwatch_log_metric_filter_aws_organizations_changes_test.py b/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_aws_organizations_changes/cloudwatch_log_metric_filter_aws_organizations_changes_test.py index 1aff71b26c..cf4daf50aa 100644 --- a/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_aws_organizations_changes/cloudwatch_log_metric_filter_aws_organizations_changes_test.py +++ b/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_aws_organizations_changes/cloudwatch_log_metric_filter_aws_organizations_changes_test.py @@ -9,9 +9,6 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_cloudwatch_log_metric_filter_aws_organizations_changes: @mock_logs @@ -72,8 +69,8 @@ class Test_cloudwatch_log_metric_filter_aws_organizations_changes: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_no_log_group(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") cloudtrail_client.create_trail(Name="test_trail", S3BucketName="test") @@ -131,15 +128,15 @@ class Test_cloudwatch_log_metric_filter_aws_organizations_changes: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) from prowler.providers.aws.services.cloudtrail.cloudtrail_service import ( @@ -196,15 +193,15 @@ class Test_cloudwatch_log_metric_filter_aws_organizations_changes: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group_with_metric(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) logs_client.put_metric_filter( logGroupName="/log-group/test", @@ -273,16 +270,16 @@ class Test_cloudwatch_log_metric_filter_aws_organizations_changes: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group_with_metric_and_alarm(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - cloudwatch_client = client("cloudwatch", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + cloudwatch_client = client("cloudwatch", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) logs_client.put_metric_filter( logGroupName="/log-group/test", @@ -362,16 +359,16 @@ class Test_cloudwatch_log_metric_filter_aws_organizations_changes: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group_with_metric_and_alarm_with_quotes(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - cloudwatch_client = client("cloudwatch", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + cloudwatch_client = client("cloudwatch", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) logs_client.put_metric_filter( logGroupName="/log-group/test", @@ -451,16 +448,16 @@ class Test_cloudwatch_log_metric_filter_aws_organizations_changes: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group_with_metric_and_alarm_with_newlines(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - cloudwatch_client = client("cloudwatch", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + cloudwatch_client = client("cloudwatch", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) logs_client.put_metric_filter( logGroupName="/log-group/test", diff --git a/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_disable_or_scheduled_deletion_of_kms_cmk/cloudwatch_log_metric_filter_disable_or_scheduled_deletion_of_kms_cmk_test.py b/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_disable_or_scheduled_deletion_of_kms_cmk/cloudwatch_log_metric_filter_disable_or_scheduled_deletion_of_kms_cmk_test.py index be6dfeb14a..9d4f5bfcbc 100644 --- a/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_disable_or_scheduled_deletion_of_kms_cmk/cloudwatch_log_metric_filter_disable_or_scheduled_deletion_of_kms_cmk_test.py +++ b/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_disable_or_scheduled_deletion_of_kms_cmk/cloudwatch_log_metric_filter_disable_or_scheduled_deletion_of_kms_cmk_test.py @@ -9,9 +9,6 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_cloudwatch_log_metric_filter_disable_or_scheduled_deletion_of_kms_cmk: @mock_logs @@ -74,8 +71,8 @@ class Test_cloudwatch_log_metric_filter_disable_or_scheduled_deletion_of_kms_cmk @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_no_log_group(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") cloudtrail_client.create_trail(Name="test_trail", S3BucketName="test") @@ -135,15 +132,15 @@ class Test_cloudwatch_log_metric_filter_disable_or_scheduled_deletion_of_kms_cmk @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) from prowler.providers.aws.services.cloudtrail.cloudtrail_service import ( @@ -202,15 +199,15 @@ class Test_cloudwatch_log_metric_filter_disable_or_scheduled_deletion_of_kms_cmk @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group_with_metric(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) logs_client.put_metric_filter( logGroupName="/log-group/test", @@ -281,16 +278,16 @@ class Test_cloudwatch_log_metric_filter_disable_or_scheduled_deletion_of_kms_cmk @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group_with_metric_and_alarm(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - cloudwatch_client = client("cloudwatch", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + cloudwatch_client = client("cloudwatch", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) logs_client.put_metric_filter( logGroupName="/log-group/test", @@ -372,16 +369,16 @@ class Test_cloudwatch_log_metric_filter_disable_or_scheduled_deletion_of_kms_cmk @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group_with_metric_and_alarm_with_quotes(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - cloudwatch_client = client("cloudwatch", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + cloudwatch_client = client("cloudwatch", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) logs_client.put_metric_filter( logGroupName="/log-group/test", @@ -463,16 +460,16 @@ class Test_cloudwatch_log_metric_filter_disable_or_scheduled_deletion_of_kms_cmk @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group_with_metric_and_alarm_with_newlines(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - cloudwatch_client = client("cloudwatch", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + cloudwatch_client = client("cloudwatch", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) logs_client.put_metric_filter( logGroupName="/log-group/test", diff --git a/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_for_s3_bucket_policy_changes/cloudwatch_log_metric_filter_for_s3_bucket_policy_changes_test.py b/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_for_s3_bucket_policy_changes/cloudwatch_log_metric_filter_for_s3_bucket_policy_changes_test.py index c1fa2a76ac..1909c0c7a5 100644 --- a/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_for_s3_bucket_policy_changes/cloudwatch_log_metric_filter_for_s3_bucket_policy_changes_test.py +++ b/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_for_s3_bucket_policy_changes/cloudwatch_log_metric_filter_for_s3_bucket_policy_changes_test.py @@ -9,9 +9,6 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_cloudwatch_log_metric_filter_for_s3_bucket_policy_changes: @mock_logs @@ -72,8 +69,8 @@ class Test_cloudwatch_log_metric_filter_for_s3_bucket_policy_changes: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_no_log_group(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") cloudtrail_client.create_trail(Name="test_trail", S3BucketName="test") @@ -131,15 +128,15 @@ class Test_cloudwatch_log_metric_filter_for_s3_bucket_policy_changes: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) from prowler.providers.aws.services.cloudtrail.cloudtrail_service import ( @@ -196,15 +193,15 @@ class Test_cloudwatch_log_metric_filter_for_s3_bucket_policy_changes: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group_with_metric(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) logs_client.put_metric_filter( logGroupName="/log-group/test", @@ -273,16 +270,16 @@ class Test_cloudwatch_log_metric_filter_for_s3_bucket_policy_changes: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group_with_metric_and_alarm(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - cloudwatch_client = client("cloudwatch", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + cloudwatch_client = client("cloudwatch", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) logs_client.put_metric_filter( logGroupName="/log-group/test", @@ -362,16 +359,16 @@ class Test_cloudwatch_log_metric_filter_for_s3_bucket_policy_changes: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group_with_metric_and_alarm_with_quotes(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - cloudwatch_client = client("cloudwatch", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + cloudwatch_client = client("cloudwatch", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) logs_client.put_metric_filter( logGroupName="/log-group/test", @@ -451,16 +448,16 @@ class Test_cloudwatch_log_metric_filter_for_s3_bucket_policy_changes: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group_with_metric_and_alarm_with_newlines(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - cloudwatch_client = client("cloudwatch", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + cloudwatch_client = client("cloudwatch", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) logs_client.put_metric_filter( logGroupName="/log-group/test", diff --git a/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_policy_changes/cloudwatch_log_metric_filter_policy_changes_test.py b/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_policy_changes/cloudwatch_log_metric_filter_policy_changes_test.py index 9a89fce1c8..b1d1bc06dc 100644 --- a/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_policy_changes/cloudwatch_log_metric_filter_policy_changes_test.py +++ b/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_policy_changes/cloudwatch_log_metric_filter_policy_changes_test.py @@ -9,9 +9,6 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_cloudwatch_log_metric_filter_unauthorized_api_calls: @mock_logs @@ -72,8 +69,8 @@ class Test_cloudwatch_log_metric_filter_unauthorized_api_calls: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_no_log_group(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") cloudtrail_client.create_trail(Name="test_trail", S3BucketName="test") @@ -131,15 +128,15 @@ class Test_cloudwatch_log_metric_filter_unauthorized_api_calls: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) from prowler.providers.aws.services.cloudtrail.cloudtrail_service import ( @@ -196,15 +193,15 @@ class Test_cloudwatch_log_metric_filter_unauthorized_api_calls: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group_with_metric(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) logs_client.put_metric_filter( logGroupName="/log-group/test", @@ -273,16 +270,16 @@ class Test_cloudwatch_log_metric_filter_unauthorized_api_calls: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group_with_metric_and_alarm(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - cloudwatch_client = client("cloudwatch", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + cloudwatch_client = client("cloudwatch", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) logs_client.put_metric_filter( logGroupName="/log-group/test", @@ -362,16 +359,16 @@ class Test_cloudwatch_log_metric_filter_unauthorized_api_calls: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group_with_metric_and_alarm_with_quotes(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - cloudwatch_client = client("cloudwatch", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + cloudwatch_client = client("cloudwatch", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) logs_client.put_metric_filter( logGroupName="/log-group/test", @@ -451,16 +448,16 @@ class Test_cloudwatch_log_metric_filter_unauthorized_api_calls: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group_with_metric_and_alarm_with_newlines(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - cloudwatch_client = client("cloudwatch", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + cloudwatch_client = client("cloudwatch", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) logs_client.put_metric_filter( logGroupName="/log-group/test", diff --git a/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_root_usage/cloudwatch_log_metric_filter_root_usage_test.py b/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_root_usage/cloudwatch_log_metric_filter_root_usage_test.py index ad640229e6..94ed2c4e57 100644 --- a/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_root_usage/cloudwatch_log_metric_filter_root_usage_test.py +++ b/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_root_usage/cloudwatch_log_metric_filter_root_usage_test.py @@ -9,9 +9,6 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_cloudwatch_log_metric_filter_root_usage: @mock_logs @@ -72,8 +69,8 @@ class Test_cloudwatch_log_metric_filter_root_usage: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_no_log_group(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") cloudtrail_client.create_trail(Name="test_trail", S3BucketName="test") @@ -131,15 +128,15 @@ class Test_cloudwatch_log_metric_filter_root_usage: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) from prowler.providers.aws.services.cloudtrail.cloudtrail_service import ( @@ -196,15 +193,15 @@ class Test_cloudwatch_log_metric_filter_root_usage: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group_with_metric(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) logs_client.put_metric_filter( logGroupName="/log-group/test", @@ -273,16 +270,16 @@ class Test_cloudwatch_log_metric_filter_root_usage: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group_with_metric_and_alarm(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - cloudwatch_client = client("cloudwatch", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + cloudwatch_client = client("cloudwatch", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) logs_client.put_metric_filter( logGroupName="/log-group/test", @@ -362,16 +359,16 @@ class Test_cloudwatch_log_metric_filter_root_usage: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group_with_metric_and_alarm_with_quotes(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - cloudwatch_client = client("cloudwatch", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + cloudwatch_client = client("cloudwatch", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) logs_client.put_metric_filter( logGroupName="/log-group/test", @@ -451,16 +448,16 @@ class Test_cloudwatch_log_metric_filter_root_usage: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group_with_metric_and_alarm_with_newlines(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - cloudwatch_client = client("cloudwatch", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + cloudwatch_client = client("cloudwatch", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) logs_client.put_metric_filter( logGroupName="/log-group/test", diff --git a/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_security_group_changes/cloudwatch_log_metric_filter_security_group_changes_test.py b/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_security_group_changes/cloudwatch_log_metric_filter_security_group_changes_test.py index 538016c1bc..a26ddfadfd 100644 --- a/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_security_group_changes/cloudwatch_log_metric_filter_security_group_changes_test.py +++ b/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_security_group_changes/cloudwatch_log_metric_filter_security_group_changes_test.py @@ -9,9 +9,6 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_cloudwatch_log_metric_filter_unauthorized_api_calls: @mock_logs @@ -72,8 +69,8 @@ class Test_cloudwatch_log_metric_filter_unauthorized_api_calls: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_no_log_group(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") cloudtrail_client.create_trail(Name="test_trail", S3BucketName="test") @@ -131,15 +128,15 @@ class Test_cloudwatch_log_metric_filter_unauthorized_api_calls: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) from prowler.providers.aws.services.cloudtrail.cloudtrail_service import ( @@ -196,15 +193,15 @@ class Test_cloudwatch_log_metric_filter_unauthorized_api_calls: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group_with_metric(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) logs_client.put_metric_filter( logGroupName="/log-group/test", @@ -273,16 +270,16 @@ class Test_cloudwatch_log_metric_filter_unauthorized_api_calls: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group_with_metric_and_alarm(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - cloudwatch_client = client("cloudwatch", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + cloudwatch_client = client("cloudwatch", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) logs_client.put_metric_filter( logGroupName="/log-group/test", @@ -362,16 +359,16 @@ class Test_cloudwatch_log_metric_filter_unauthorized_api_calls: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group_with_metric_and_alarm_with_quotes(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - cloudwatch_client = client("cloudwatch", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + cloudwatch_client = client("cloudwatch", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) logs_client.put_metric_filter( logGroupName="/log-group/test", @@ -451,16 +448,16 @@ class Test_cloudwatch_log_metric_filter_unauthorized_api_calls: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group_with_metric_and_alarm_with_newlines(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - cloudwatch_client = client("cloudwatch", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + cloudwatch_client = client("cloudwatch", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) logs_client.put_metric_filter( logGroupName="/log-group/test", diff --git a/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_sign_in_without_mfa/cloudwatch_log_metric_filter_sign_in_without_mfa_test.py b/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_sign_in_without_mfa/cloudwatch_log_metric_filter_sign_in_without_mfa_test.py index e079f78eba..bb1ab7548a 100644 --- a/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_sign_in_without_mfa/cloudwatch_log_metric_filter_sign_in_without_mfa_test.py +++ b/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_sign_in_without_mfa/cloudwatch_log_metric_filter_sign_in_without_mfa_test.py @@ -9,9 +9,6 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_cloudwatch_log_metric_filter_sign_in_without_mfa: @mock_logs @@ -72,8 +69,8 @@ class Test_cloudwatch_log_metric_filter_sign_in_without_mfa: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_no_log_group(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") cloudtrail_client.create_trail(Name="test_trail", S3BucketName="test") @@ -131,15 +128,15 @@ class Test_cloudwatch_log_metric_filter_sign_in_without_mfa: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) from prowler.providers.aws.services.cloudtrail.cloudtrail_service import ( @@ -196,15 +193,15 @@ class Test_cloudwatch_log_metric_filter_sign_in_without_mfa: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group_with_metric(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) logs_client.put_metric_filter( logGroupName="/log-group/test", @@ -273,16 +270,16 @@ class Test_cloudwatch_log_metric_filter_sign_in_without_mfa: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group_with_metric_and_alarm(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - cloudwatch_client = client("cloudwatch", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + cloudwatch_client = client("cloudwatch", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) logs_client.put_metric_filter( logGroupName="/log-group/test", @@ -362,16 +359,16 @@ class Test_cloudwatch_log_metric_filter_sign_in_without_mfa: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group_with_metric_and_alarm_with_quotes(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - cloudwatch_client = client("cloudwatch", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + cloudwatch_client = client("cloudwatch", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) logs_client.put_metric_filter( logGroupName="/log-group/test", @@ -451,16 +448,16 @@ class Test_cloudwatch_log_metric_filter_sign_in_without_mfa: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group_with_metric_and_alarm_with_newlines(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - cloudwatch_client = client("cloudwatch", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + cloudwatch_client = client("cloudwatch", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) logs_client.put_metric_filter( logGroupName="/log-group/test", diff --git a/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_unauthorized_api_calls/cloudwatch_log_metric_filter_unauthorized_api_calls_test.py b/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_unauthorized_api_calls/cloudwatch_log_metric_filter_unauthorized_api_calls_test.py index cdd4722598..f97bccf6cd 100644 --- a/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_unauthorized_api_calls/cloudwatch_log_metric_filter_unauthorized_api_calls_test.py +++ b/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_unauthorized_api_calls/cloudwatch_log_metric_filter_unauthorized_api_calls_test.py @@ -9,9 +9,6 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_cloudwatch_log_metric_filter_unauthorized_api_calls: @mock_logs @@ -72,8 +69,8 @@ class Test_cloudwatch_log_metric_filter_unauthorized_api_calls: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_no_log_group(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") cloudtrail_client.create_trail(Name="test_trail", S3BucketName="test") @@ -131,15 +128,15 @@ class Test_cloudwatch_log_metric_filter_unauthorized_api_calls: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) from prowler.providers.aws.services.cloudtrail.cloudtrail_service import ( @@ -196,15 +193,15 @@ class Test_cloudwatch_log_metric_filter_unauthorized_api_calls: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group_with_metric(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) logs_client.put_metric_filter( logGroupName="/log-group/test", @@ -273,16 +270,16 @@ class Test_cloudwatch_log_metric_filter_unauthorized_api_calls: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group_with_metric_and_alarm(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - cloudwatch_client = client("cloudwatch", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + cloudwatch_client = client("cloudwatch", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) logs_client.put_metric_filter( logGroupName="/log-group/test", @@ -362,16 +359,16 @@ class Test_cloudwatch_log_metric_filter_unauthorized_api_calls: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group_with_metric_and_alarm_with_quotes(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - cloudwatch_client = client("cloudwatch", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + cloudwatch_client = client("cloudwatch", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) logs_client.put_metric_filter( logGroupName="/log-group/test", @@ -451,16 +448,16 @@ class Test_cloudwatch_log_metric_filter_unauthorized_api_calls: @mock_cloudwatch @mock_s3 def test_cloudwatch_trail_with_log_group_with_metric_and_alarm_with_newlines(self): - cloudtrail_client = client("cloudtrail", region_name=AWS_REGION) - cloudwatch_client = client("cloudwatch", region_name=AWS_REGION) - logs_client = client("logs", region_name=AWS_REGION) - s3_client = client("s3", region_name=AWS_REGION) + cloudtrail_client = client("cloudtrail", region_name=AWS_REGION_EU_WEST_1) + cloudwatch_client = client("cloudwatch", region_name=AWS_REGION_EU_WEST_1) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket(Bucket="test") logs_client.create_log_group(logGroupName="/log-group/test") cloudtrail_client.create_trail( Name="test_trail", S3BucketName="test", - CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", + CloudWatchLogsLogGroupArn=f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:/log-group/test:*", ) logs_client.put_metric_filter( logGroupName="/log-group/test", diff --git a/tests/providers/aws/services/cloudwatch/cloudwatch_service_test.py b/tests/providers/aws/services/cloudwatch/cloudwatch_service_test.py index 774b45d11e..5f35a0536e 100644 --- a/tests/providers/aws/services/cloudwatch/cloudwatch_service_test.py +++ b/tests/providers/aws/services/cloudwatch/cloudwatch_service_test.py @@ -1,53 +1,18 @@ -from boto3 import client, session +from boto3 import client from moto import mock_cloudwatch, mock_logs -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info from prowler.providers.aws.services.cloudwatch.cloudwatch_service import ( CloudWatch, Logs, ) -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" -AWS_REGION = "us-east-1" - class Test_CloudWatch_Service: - 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=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=None, - organizations_metadata=None, - audit_resources=None, - mfa_enabled=False, - audit_metadata=Audit_Metadata( - services_scanned=0, - # We need to set this check to call __describe_log_groups__ - expected_checks=["cloudwatch_log_group_no_secrets_in_logs"], - completed_checks=0, - audit_progress=0, - ), - ) - return audit_info - # Test CloudWatch Service @mock_cloudwatch def test_service(self): @@ -118,7 +83,7 @@ class Test_CloudWatch_Service: @mock_cloudwatch def test__describe_alarms__(self): # CloudWatch client for this test class - cw_client = client("cloudwatch", region_name=AWS_REGION) + cw_client = client("cloudwatch", region_name=AWS_REGION_EU_WEST_1) cw_client.put_metric_alarm( AlarmActions=["arn:alarm"], AlarmDescription="A test", @@ -141,12 +106,12 @@ class Test_CloudWatch_Service: assert len(cloudwatch.metric_alarms) == 1 assert ( cloudwatch.metric_alarms[0].arn - == f"arn:aws:cloudwatch:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:alarm:test" + == f"arn:aws:cloudwatch:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:alarm:test" ) assert cloudwatch.metric_alarms[0].name == "test" assert cloudwatch.metric_alarms[0].metric == "test_metric" assert cloudwatch.metric_alarms[0].name_space == "test_namespace" - assert cloudwatch.metric_alarms[0].region == AWS_REGION + assert cloudwatch.metric_alarms[0].region == AWS_REGION_EU_WEST_1 assert cloudwatch.metric_alarms[0].tags == [ {"Key": "key-1", "Value": "value-1"} ] @@ -155,7 +120,7 @@ class Test_CloudWatch_Service: @mock_logs def test__describe_metric_filters__(self): # Logs client for this test class - logs_client = client("logs", region_name=AWS_REGION) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) logs_client.put_metric_filter( logGroupName="/log-group/test", filterName="test-filter", @@ -175,13 +140,13 @@ class Test_CloudWatch_Service: assert logs.metric_filters[0].name == "test-filter" assert logs.metric_filters[0].metric == "my-metric" assert logs.metric_filters[0].pattern == "test-pattern" - assert logs.metric_filters[0].region == AWS_REGION + assert logs.metric_filters[0].region == AWS_REGION_EU_WEST_1 # Test Logs Filters @mock_logs def test__describe_log_groups__(self): # Logs client for this test class - logs_client = client("logs", region_name=AWS_REGION) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) logs_client.create_log_group( logGroupName="/log-group/test", kmsKeyId="test_kms_id", @@ -195,13 +160,13 @@ class Test_CloudWatch_Service: assert len(logs.log_groups) == 1 assert ( logs.log_groups[0].arn - == f"arn:aws:logs:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:log-group:/log-group/test" + == f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:log-group:/log-group/test" ) assert logs.log_groups[0].name == "/log-group/test" assert logs.log_groups[0].retention_days == 400 assert logs.log_groups[0].kms_id == "test_kms_id" assert not logs.log_groups[0].never_expire - assert logs.log_groups[0].region == AWS_REGION + assert logs.log_groups[0].region == AWS_REGION_EU_WEST_1 assert logs.log_groups[0].tags == [ {"tag_key_1": "tag_value_1", "tag_key_2": "tag_value_2"} ] @@ -209,7 +174,7 @@ class Test_CloudWatch_Service: @mock_logs def test__describe_log_groups__never_expire(self): # Logs client for this test class - logs_client = client("logs", region_name=AWS_REGION) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) logs_client.create_log_group( logGroupName="/log-group/test", kmsKeyId="test_kms_id", @@ -221,14 +186,14 @@ class Test_CloudWatch_Service: assert len(logs.log_groups) == 1 assert ( logs.log_groups[0].arn - == f"arn:aws:logs:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:log-group:/log-group/test" + == f"arn:aws:logs:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:log-group:/log-group/test" ) assert logs.log_groups[0].name == "/log-group/test" assert logs.log_groups[0].never_expire # Since it never expires we don't use the retention_days assert logs.log_groups[0].retention_days == 9999 assert logs.log_groups[0].kms_id == "test_kms_id" - assert logs.log_groups[0].region == AWS_REGION + assert logs.log_groups[0].region == AWS_REGION_EU_WEST_1 assert logs.log_groups[0].tags == [ {"tag_key_1": "tag_value_1", "tag_key_2": "tag_value_2"} ] diff --git a/tests/providers/aws/services/codeartifact/codeartifact_packages_external_public_publishing_disabled/codeartifact_packages_external_public_publishing_disabled_test.py b/tests/providers/aws/services/codeartifact/codeartifact_packages_external_public_publishing_disabled/codeartifact_packages_external_public_publishing_disabled_test.py index 668f00e0a3..68fd4ce85d 100644 --- a/tests/providers/aws/services/codeartifact/codeartifact_packages_external_public_publishing_disabled/codeartifact_packages_external_public_publishing_disabled_test.py +++ b/tests/providers/aws/services/codeartifact/codeartifact_packages_external_public_publishing_disabled/codeartifact_packages_external_public_publishing_disabled_test.py @@ -13,8 +13,7 @@ from prowler.providers.aws.services.codeartifact.codeartifact_service import ( Restrictions, RestrictionValues, ) - -AWS_REGION = "eu-west-1" +from tests.providers.aws.audit_info_utils import AWS_REGION_EU_WEST_1 class Test_codeartifact_packages_external_public_publishing_disabled: @@ -43,7 +42,7 @@ class Test_codeartifact_packages_external_public_publishing_disabled: arn="", domain_name="", domain_owner="", - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, packages=[], ) } @@ -65,14 +64,14 @@ class Test_codeartifact_packages_external_public_publishing_disabled: codeartifact_client = mock.MagicMock package_name = "test-package" package_namespace = "test-namespace" - repository_arn = f"arn:aws:codebuild:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:repository/test-repository" + repository_arn = f"arn:aws:codebuild:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:repository/test-repository" codeartifact_client.repositories = { "test-repository": Repository( name="test-repository", arn=repository_arn, domain_name="", domain_owner="", - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, packages=[ Package( name=package_name, @@ -108,7 +107,7 @@ class Test_codeartifact_packages_external_public_publishing_disabled: result = check.execute() assert len(result) == 1 - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_id == "test-package" assert ( result[0].resource_arn @@ -125,14 +124,14 @@ class Test_codeartifact_packages_external_public_publishing_disabled: codeartifact_client = mock.MagicMock package_name = "test-package" package_namespace = "test-namespace" - repository_arn = f"arn:aws:codebuild:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:repository/test-repository" + repository_arn = f"arn:aws:codebuild:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:repository/test-repository" codeartifact_client.repositories = { "test-repository": Repository( name="test-repository", arn=repository_arn, domain_name="", domain_owner="", - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, packages=[ Package( name=package_name, @@ -168,7 +167,7 @@ class Test_codeartifact_packages_external_public_publishing_disabled: result = check.execute() assert len(result) == 1 - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_id == "test-package" assert ( result[0].resource_arn diff --git a/tests/providers/aws/services/codeartifact/codeartifact_service_test.py b/tests/providers/aws/services/codeartifact/codeartifact_service_test.py index 6fc99e4a17..7e770bdadd 100644 --- a/tests/providers/aws/services/codeartifact/codeartifact_service_test.py +++ b/tests/providers/aws/services/codeartifact/codeartifact_service_test.py @@ -14,17 +14,10 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -# Mock Test Region -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" - - # Mocking Access Analyzer Calls make_api_call = botocore.client.BaseClient._make_api_call -TEST_REPOSITORY_ARN = ( - f"arn:aws:codebuild:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:repository/test-repository" -) +TEST_REPOSITORY_ARN = f"arn:aws:codebuild:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:repository/test-repository" def mock_make_api_call(self, operation_name, kwarg): @@ -93,9 +86,11 @@ def mock_make_api_call(self, operation_name, kwarg): # Mock generate_regional_clients() 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_EU_WEST_1 + ) + regional_client.region = AWS_REGION_EU_WEST_1 + return {AWS_REGION_EU_WEST_1: regional_client} # Patch every AWS call using Boto3 and generate_regional_clients to have 1 client @@ -109,7 +104,7 @@ class Test_CodeArtifact_Service: def test__get_client__(self): codeartifact = CodeArtifact(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])) assert ( - codeartifact.regional_clients[AWS_REGION].__class__.__name__ + codeartifact.regional_clients[AWS_REGION_EU_WEST_1].__class__.__name__ == "CodeArtifact" ) @@ -130,11 +125,11 @@ class Test_CodeArtifact_Service: assert len(codeartifact.repositories) == 1 assert codeartifact.repositories assert codeartifact.repositories[ - f"arn:aws:codebuild:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:repository/test-repository" + f"arn:aws:codebuild:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:repository/test-repository" ] assert codeartifact.repositories[TEST_REPOSITORY_ARN].name == "test-repository" assert codeartifact.repositories[ - f"arn:aws:codebuild:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:repository/test-repository" + f"arn:aws:codebuild:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:repository/test-repository" ].tags == [ {"key": "test", "value": "test"}, ] @@ -146,10 +141,13 @@ class Test_CodeArtifact_Service: codeartifact.repositories[TEST_REPOSITORY_ARN].domain_owner == DEFAULT_ACCOUNT_ID ) - assert codeartifact.repositories[TEST_REPOSITORY_ARN].region == AWS_REGION + assert ( + codeartifact.repositories[TEST_REPOSITORY_ARN].region + == AWS_REGION_EU_WEST_1 + ) assert codeartifact.repositories[ - f"arn:aws:codebuild:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:repository/test-repository" + f"arn:aws:codebuild:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:repository/test-repository" ].packages assert len(codeartifact.repositories[TEST_REPOSITORY_ARN].packages) == 1 assert ( diff --git a/tests/providers/aws/services/codebuild/codebuild_project_older_90_days/codebuild_project_older_90_days_test.py b/tests/providers/aws/services/codebuild/codebuild_project_older_90_days/codebuild_project_older_90_days_test.py index fd13f0eae0..ee1c698356 100644 --- a/tests/providers/aws/services/codebuild/codebuild_project_older_90_days/codebuild_project_older_90_days_test.py +++ b/tests/providers/aws/services/codebuild/codebuild_project_older_90_days/codebuild_project_older_90_days_test.py @@ -3,16 +3,17 @@ from re import search from unittest import mock from prowler.providers.aws.services.codebuild.codebuild_service import Project - -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, + AWS_REGION_EU_WEST_1, +) class Test_codebuild_project_older_90_days: def test_project_not_built_in_last_90_days(self): codebuild_client = mock.MagicMock project_name = "test-project" - project_arn = f"arn:aws:codebuild:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:project/{project_name}" + project_arn = f"arn:aws:codebuild:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:project/{project_name}" codebuild_client.projects = [ Project( name=project_name, @@ -41,12 +42,12 @@ class Test_codebuild_project_older_90_days: assert result[0].resource_id == project_name assert result[0].resource_arn == project_arn assert result[0].resource_tags == [] - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 def test_project_not_built(self): codebuild_client = mock.MagicMock project_name = "test-project" - project_arn = f"arn:aws:codebuild:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:project/{project_name}" + project_arn = f"arn:aws:codebuild:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:project/{project_name}" codebuild_client.projects = [ Project( name=project_name, @@ -73,12 +74,12 @@ class Test_codebuild_project_older_90_days: assert result[0].resource_id == project_name assert result[0].resource_arn == project_arn assert result[0].resource_tags == [] - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 def test_project_built_in_last_90_days(self): codebuild_client = mock.MagicMock project_name = "test-project" - project_arn = f"arn:aws:codebuild:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:project/{project_name}" + project_arn = f"arn:aws:codebuild:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:project/{project_name}" codebuild_client.projects = [ Project( name=project_name, @@ -107,4 +108,4 @@ class Test_codebuild_project_older_90_days: assert result[0].resource_id == project_name assert result[0].resource_arn == project_arn assert result[0].resource_tags == [] - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 diff --git a/tests/providers/aws/services/codebuild/codebuild_project_user_controlled_buildspec/codebuild_project_user_controlled_buildspec_test.py b/tests/providers/aws/services/codebuild/codebuild_project_user_controlled_buildspec/codebuild_project_user_controlled_buildspec_test.py index d9a30a7e0a..725e48f833 100644 --- a/tests/providers/aws/services/codebuild/codebuild_project_user_controlled_buildspec/codebuild_project_user_controlled_buildspec_test.py +++ b/tests/providers/aws/services/codebuild/codebuild_project_user_controlled_buildspec/codebuild_project_user_controlled_buildspec_test.py @@ -2,16 +2,17 @@ from re import search from unittest import mock from prowler.providers.aws.services.codebuild.codebuild_service import Project - -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, + AWS_REGION_EU_WEST_1, +) class Test_codebuild_project_user_controlled_buildspec: def test_project_not_buildspec(self): codebuild_client = mock.MagicMock project_name = "test-project" - project_arn = f"arn:aws:codebuild:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:project/{project_name}" + project_arn = f"arn:aws:codebuild:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:project/{project_name}" codebuild_client.projects = [ Project( name=project_name, @@ -41,12 +42,12 @@ class Test_codebuild_project_user_controlled_buildspec: assert result[0].resource_id == project_name assert result[0].resource_arn == project_arn assert result[0].resource_tags == [] - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 def test_project_buildspec_not_yaml(self): codebuild_client = mock.MagicMock project_name = "test-project" - project_arn = f"arn:aws:codebuild:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:project/{project_name}" + project_arn = f"arn:aws:codebuild:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:project/{project_name}" codebuild_client.projects = [ Project( name=project_name, @@ -76,12 +77,12 @@ class Test_codebuild_project_user_controlled_buildspec: assert result[0].resource_id == project_name assert result[0].resource_arn == project_arn assert result[0].resource_tags == [] - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 def test_project_valid_buildspec(self): codebuild_client = mock.MagicMock project_name = "test-project" - project_arn = f"arn:aws:codebuild:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:project/{project_name}" + project_arn = f"arn:aws:codebuild:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:project/{project_name}" codebuild_client.projects = [ Project( name=project_name, @@ -110,12 +111,12 @@ class Test_codebuild_project_user_controlled_buildspec: assert result[0].resource_id == project_name assert result[0].resource_arn == project_arn assert result[0].resource_tags == [] - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 def test_project_invalid_buildspec_without_extension(self): codebuild_client = mock.MagicMock project_name = "test-project" - project_arn = f"arn:aws:codebuild:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:project/{project_name}" + project_arn = f"arn:aws:codebuild:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:project/{project_name}" codebuild_client.projects = [ Project( name=project_name, @@ -145,4 +146,4 @@ class Test_codebuild_project_user_controlled_buildspec: assert result[0].resource_id == project_name assert result[0].resource_arn == project_arn assert result[0].resource_tags == [] - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 diff --git a/tests/providers/aws/services/codebuild/codebuild_service_test.py b/tests/providers/aws/services/codebuild/codebuild_service_test.py index 0ded35cf87..f90b383e84 100644 --- a/tests/providers/aws/services/codebuild/codebuild_service_test.py +++ b/tests/providers/aws/services/codebuild/codebuild_service_test.py @@ -2,20 +2,13 @@ from datetime import datetime, timedelta from unittest.mock import patch import botocore -from boto3 import session -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info from prowler.providers.aws.services.codebuild.codebuild_service import Codebuild -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -# Mock Test Region -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" - # last time invoked time last_invoked_time = datetime.now() - timedelta(days=2) @@ -46,9 +39,11 @@ def mock_make_api_call(self, operation_name, kwarg): # Mock generate_regional_clients() 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_EU_WEST_1 + ) + regional_client.region = AWS_REGION_EU_WEST_1 + return {AWS_REGION_EU_WEST_1: regional_client} @patch("botocore.client.BaseClient._make_api_call", new=mock_make_api_call) @@ -57,36 +52,6 @@ def mock_generate_regional_clients(service, audit_info, _): new=mock_generate_regional_clients, ) class Test_Codebuild_Service: - 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=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=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 Codebuild Session def test__get_session__(self): codebuild = Codebuild(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])) @@ -101,13 +66,13 @@ class Test_Codebuild_Service: codebuild = Codebuild(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])) assert len(codebuild.projects) == 1 assert codebuild.projects[0].name == "test" - assert codebuild.projects[0].region == AWS_REGION + assert codebuild.projects[0].region == AWS_REGION_EU_WEST_1 def test__list_builds_for_project__(self): codebuild = Codebuild(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])) assert len(codebuild.projects) == 1 assert codebuild.projects[0].name == "test" - assert codebuild.projects[0].region == AWS_REGION + assert codebuild.projects[0].region == AWS_REGION_EU_WEST_1 assert codebuild.projects[0].last_invoked_time == last_invoked_time assert ( codebuild.projects[0].buildspec diff --git a/tests/providers/aws/services/config/config_recorder_all_regions_enabled/config_recorder_all_regions_enabled_test.py b/tests/providers/aws/services/config/config_recorder_all_regions_enabled/config_recorder_all_regions_enabled_test.py index ebc28fca97..789d78b088 100644 --- a/tests/providers/aws/services/config/config_recorder_all_regions_enabled/config_recorder_all_regions_enabled_test.py +++ b/tests/providers/aws/services/config/config_recorder_all_regions_enabled/config_recorder_all_regions_enabled_test.py @@ -4,12 +4,11 @@ from boto3 import client from moto import mock_config from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" -AWS_ACCOUNT_NUMBER = "123456789012" AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" @@ -49,7 +48,7 @@ class Test_config_recorder_all_regions_enabled: @mock_config def test_config_one_recoder_disabled(self): # Create Config Mocked Resources - config_client = client("config", region_name=AWS_REGION) + config_client = client("config", region_name=AWS_REGION_EU_WEST_1) # Create Config Recorder config_client.put_configuration_recorder( ConfigurationRecorder={"name": "default", "roleARN": "somearn"} @@ -57,7 +56,7 @@ class Test_config_recorder_all_regions_enabled: from prowler.providers.aws.services.config.config_service import Config current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) - current_audit_info.audited_regions = [AWS_REGION] + current_audit_info.audited_regions = [AWS_REGION_EU_WEST_1] with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -84,12 +83,12 @@ class Test_config_recorder_all_regions_enabled: ) assert recorder.resource_id == "default" assert recorder.resource_arn == AWS_ACCOUNT_ARN - assert recorder.region == AWS_REGION + assert recorder.region == AWS_REGION_EU_WEST_1 @mock_config def test_config_one_recoder_enabled(self): # Create Config Mocked Resources - config_client = client("config", region_name=AWS_REGION) + config_client = client("config", region_name=AWS_REGION_EU_WEST_1) # Create Config Recorder and start it config_client.put_configuration_recorder( ConfigurationRecorder={"name": "default", "roleARN": "somearn"} @@ -102,7 +101,7 @@ class Test_config_recorder_all_regions_enabled: from prowler.providers.aws.services.config.config_service import Config current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) - current_audit_info.audited_regions = [AWS_REGION] + current_audit_info.audited_regions = [AWS_REGION_EU_WEST_1] with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -129,12 +128,12 @@ class Test_config_recorder_all_regions_enabled: ) assert recorder.resource_id == "default" assert recorder.resource_arn == AWS_ACCOUNT_ARN - assert recorder.region == AWS_REGION + assert recorder.region == AWS_REGION_EU_WEST_1 @mock_config def test_config_one_recorder_disabled_allowlisted(self): # Create Config Mocked Resources - config_client = client("config", region_name=AWS_REGION) + config_client = client("config", region_name=AWS_REGION_EU_WEST_1) # Create Config Recorder config_client.put_configuration_recorder( ConfigurationRecorder={"name": AWS_ACCOUNT_NUMBER, "roleARN": "somearn"} @@ -143,7 +142,7 @@ class Test_config_recorder_all_regions_enabled: current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) current_audit_info.profile_region = "eu-south-2" - current_audit_info.audited_regions = ["eu-south-2", AWS_REGION] + current_audit_info.audited_regions = ["eu-south-2", AWS_REGION_EU_WEST_1] current_audit_info.audit_config = {"allowlist_non_default_regions": True} with mock.patch( @@ -163,7 +162,7 @@ class Test_config_recorder_all_regions_enabled: assert len(result) == 2 # Search for the recorder just created for recorder in result: - if recorder.region == AWS_REGION: + if recorder.region == AWS_REGION_EU_WEST_1: assert recorder.status == "WARNING" assert ( recorder.status_extended @@ -171,7 +170,7 @@ class Test_config_recorder_all_regions_enabled: ) assert recorder.resource_id == AWS_ACCOUNT_NUMBER assert recorder.resource_arn == AWS_ACCOUNT_ARN - assert recorder.region == AWS_REGION + assert recorder.region == AWS_REGION_EU_WEST_1 else: assert recorder.status == "FAIL" assert ( diff --git a/tests/providers/aws/services/config/config_service_test.py b/tests/providers/aws/services/config/config_service_test.py index 1ea3e63ea2..3ab04722c7 100644 --- a/tests/providers/aws/services/config/config_service_test.py +++ b/tests/providers/aws/services/config/config_service_test.py @@ -1,49 +1,15 @@ -from boto3 import client, session +from boto3 import client from moto import mock_config -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info from prowler.providers.aws.services.config.config_service import Config -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" -AWS_REGION = "us-east-1" - class Test_Config_Service: - 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=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=["eu-west-1", "us-east-1"], - 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 Config Service @mock_config def test_service(self): @@ -81,7 +47,7 @@ class Test_Config_Service: @mock_config def test__describe_configuration_recorder_status__(self): # Generate Config Client - config_client = client("config", region_name=AWS_REGION) + config_client = client("config", region_name=AWS_REGION_EU_WEST_1) # Create Config Recorder and start it config_client.put_configuration_recorder( ConfigurationRecorder={"name": "default", "roleARN": "somearn"} diff --git a/tests/providers/aws/services/directoryservice/directoryservice_directory_log_forwarding_enabled/directoryservice_directory_log_forwarding_enabled_test.py b/tests/providers/aws/services/directoryservice/directoryservice_directory_log_forwarding_enabled/directoryservice_directory_log_forwarding_enabled_test.py index ddbd26a14d..ef192f3942 100644 --- a/tests/providers/aws/services/directoryservice/directoryservice_directory_log_forwarding_enabled/directoryservice_directory_log_forwarding_enabled_test.py +++ b/tests/providers/aws/services/directoryservice/directoryservice_directory_log_forwarding_enabled/directoryservice_directory_log_forwarding_enabled_test.py @@ -6,9 +6,10 @@ from prowler.providers.aws.services.directoryservice.directoryservice_service im DirectoryType, LogSubscriptions, ) - -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, + AWS_REGION_EU_WEST_1, +) class Test_directoryservice_directory_log_forwarding_enabled: @@ -33,16 +34,14 @@ class Test_directoryservice_directory_log_forwarding_enabled: directoryservice_client = mock.MagicMock directory_name = "test-directory" directory_id = "d-12345a1b2" - directory_arn = ( - f"arn:aws:ds:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:directory/d-12345a1b2" - ) + directory_arn = f"arn:aws:ds:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:directory/d-12345a1b2" directoryservice_client.directories = { directory_name: Directory( name=directory_name, arn=directory_arn, id=directory_id, type=DirectoryType.MicrosoftAD, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, log_subscriptions=[], ) } @@ -62,7 +61,7 @@ class Test_directoryservice_directory_log_forwarding_enabled: assert result[0].resource_id == directory_id assert result[0].resource_arn == directory_arn assert result[0].resource_tags == [] - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].status == "FAIL" assert ( result[0].status_extended @@ -73,16 +72,14 @@ class Test_directoryservice_directory_log_forwarding_enabled: directoryservice_client = mock.MagicMock directory_name = "test-directory" directory_id = "d-12345a1b2" - directory_arn = ( - f"arn:aws:ds:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:directory/d-12345a1b2" - ) + directory_arn = f"arn:aws:ds:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:directory/d-12345a1b2" directoryservice_client.directories = { directory_name: Directory( name=directory_name, arn=directory_arn, id=directory_id, type=DirectoryType.MicrosoftAD, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, log_subscriptions=[ LogSubscriptions( log_group_name="test-log-group", @@ -108,7 +105,7 @@ class Test_directoryservice_directory_log_forwarding_enabled: assert result[0].resource_id == directory_id assert result[0].resource_arn == directory_arn assert result[0].resource_tags == [] - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].status == "PASS" assert ( result[0].status_extended diff --git a/tests/providers/aws/services/directoryservice/directoryservice_directory_monitor_notifications/directoryservice_directory_monitor_notifications_test.py b/tests/providers/aws/services/directoryservice/directoryservice_directory_monitor_notifications/directoryservice_directory_monitor_notifications_test.py index d4d132e99f..f647db5891 100644 --- a/tests/providers/aws/services/directoryservice/directoryservice_directory_monitor_notifications/directoryservice_directory_monitor_notifications_test.py +++ b/tests/providers/aws/services/directoryservice/directoryservice_directory_monitor_notifications/directoryservice_directory_monitor_notifications_test.py @@ -9,9 +9,10 @@ from prowler.providers.aws.services.directoryservice.directoryservice_service im EventTopics, EventTopicStatus, ) - -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, + AWS_REGION_EU_WEST_1, +) class Test_directoryservice_directory_monitor_notifications: @@ -36,16 +37,14 @@ class Test_directoryservice_directory_monitor_notifications: directoryservice_client = mock.MagicMock directory_name = "test-directory" directory_id = "d-12345a1b2" - directory_arn = ( - f"arn:aws:ds:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:directory/d-12345a1b2" - ) + directory_arn = f"arn:aws:ds:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:directory/d-12345a1b2" directoryservice_client.directories = { directory_name: Directory( id=directory_id, arn=directory_arn, type=DirectoryType.MicrosoftAD, name=directory_name, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, event_topics=[], ) } @@ -65,7 +64,7 @@ class Test_directoryservice_directory_monitor_notifications: assert result[0].resource_id == directory_id assert result[0].resource_arn == directory_arn assert result[0].resource_tags == [] - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].status == "FAIL" assert ( result[0].status_extended @@ -76,19 +75,17 @@ class Test_directoryservice_directory_monitor_notifications: directoryservice_client = mock.MagicMock directory_name = "test-directory" directory_id = "d-12345a1b2" - directory_arn = ( - f"arn:aws:ds:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:directory/d-12345a1b2" - ) + directory_arn = f"arn:aws:ds:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:directory/d-12345a1b2" directoryservice_client.directories = { directory_name: Directory( name=directory_name, id=directory_id, arn=directory_arn, type=DirectoryType.MicrosoftAD, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, event_topics=[ EventTopics( - topic_arn=f"arn:aws:sns:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:test-topic", + topic_arn=f"arn:aws:sns:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:test-topic", topic_name="test-topic", status=EventTopicStatus.Registered, created_date_time=datetime(2022, 1, 1), @@ -112,7 +109,7 @@ class Test_directoryservice_directory_monitor_notifications: assert result[0].resource_id == directory_id assert result[0].resource_arn == directory_arn assert result[0].resource_tags == [] - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].status == "PASS" assert ( result[0].status_extended diff --git a/tests/providers/aws/services/directoryservice/directoryservice_directory_snapshots_limit/directoryservice_directory_snapshots_limit_test.py b/tests/providers/aws/services/directoryservice/directoryservice_directory_snapshots_limit/directoryservice_directory_snapshots_limit_test.py index 59f79450c4..14750c1e4f 100644 --- a/tests/providers/aws/services/directoryservice/directoryservice_directory_snapshots_limit/directoryservice_directory_snapshots_limit_test.py +++ b/tests/providers/aws/services/directoryservice/directoryservice_directory_snapshots_limit/directoryservice_directory_snapshots_limit_test.py @@ -5,9 +5,10 @@ from prowler.providers.aws.services.directoryservice.directoryservice_service im DirectoryType, SnapshotLimit, ) - -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, + AWS_REGION_EU_WEST_1, +) class Test_directoryservice_directory_snapshots_limit: @@ -32,9 +33,7 @@ class Test_directoryservice_directory_snapshots_limit: directoryservice_client = mock.MagicMock directory_name = "test-directory" directory_id = "d-12345a1b2" - directory_arn = ( - f"arn:aws:ds:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:directory/d-12345a1b2" - ) + directory_arn = f"arn:aws:ds:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:directory/d-12345a1b2" manual_snapshots_current_count = 5 manual_snapshots_limit = 5 manual_snapshots_limit_reached = True @@ -44,7 +43,7 @@ class Test_directoryservice_directory_snapshots_limit: id=directory_id, arn=directory_arn, type=DirectoryType.MicrosoftAD, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, snapshots_limits=SnapshotLimit( manual_snapshots_current_count=manual_snapshots_current_count, manual_snapshots_limit=manual_snapshots_limit, @@ -68,7 +67,7 @@ class Test_directoryservice_directory_snapshots_limit: assert result[0].resource_id == directory_id assert result[0].resource_arn == directory_arn assert result[0].resource_tags == [] - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].status == "FAIL" assert ( result[0].status_extended @@ -79,9 +78,7 @@ class Test_directoryservice_directory_snapshots_limit: directoryservice_client = mock.MagicMock directory_name = "test-directory" directory_id = "d-12345a1b2" - directory_arn = ( - f"arn:aws:ds:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:directory/d-12345a1b2" - ) + directory_arn = f"arn:aws:ds:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:directory/d-12345a1b2" manual_snapshots_current_count = 4 manual_snapshots_limit = 5 manual_snapshots_limit_reached = False @@ -91,7 +88,7 @@ class Test_directoryservice_directory_snapshots_limit: id=directory_id, arn=directory_arn, type=DirectoryType.MicrosoftAD, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, snapshots_limits=SnapshotLimit( manual_snapshots_current_count=manual_snapshots_current_count, manual_snapshots_limit=manual_snapshots_limit, @@ -115,7 +112,7 @@ class Test_directoryservice_directory_snapshots_limit: assert result[0].resource_id == directory_id assert result[0].resource_arn == directory_arn assert result[0].resource_tags == [] - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].status == "FAIL" assert ( result[0].status_extended @@ -126,9 +123,7 @@ class Test_directoryservice_directory_snapshots_limit: directoryservice_client = mock.MagicMock directory_name = "test-directory" directory_id = "d-12345a1b2" - directory_arn = ( - f"arn:aws:ds:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:directory/d-12345a1b2" - ) + directory_arn = f"arn:aws:ds:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:directory/d-12345a1b2" manual_snapshots_current_count = 3 manual_snapshots_limit = 5 manual_snapshots_limit_reached = False @@ -138,7 +133,7 @@ class Test_directoryservice_directory_snapshots_limit: id=directory_id, arn=directory_arn, type=DirectoryType.MicrosoftAD, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, snapshots_limits=SnapshotLimit( manual_snapshots_current_count=manual_snapshots_current_count, manual_snapshots_limit=manual_snapshots_limit, @@ -162,7 +157,7 @@ class Test_directoryservice_directory_snapshots_limit: assert result[0].resource_id == directory_id assert result[0].resource_arn == directory_arn assert result[0].resource_tags == [] - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].status == "FAIL" assert ( result[0].status_extended @@ -173,9 +168,7 @@ class Test_directoryservice_directory_snapshots_limit: directoryservice_client = mock.MagicMock directory_name = "test-directory" directory_id = "d-12345a1b2" - directory_arn = ( - f"arn:aws:ds:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:directory/d-12345a1b2" - ) + directory_arn = f"arn:aws:ds:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:directory/d-12345a1b2" manual_snapshots_current_count = 1 manual_snapshots_limit = 5 manual_snapshots_limit_reached = False @@ -185,7 +178,7 @@ class Test_directoryservice_directory_snapshots_limit: id=directory_id, arn=directory_arn, type=DirectoryType.MicrosoftAD, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, snapshots_limits=SnapshotLimit( manual_snapshots_current_count=manual_snapshots_current_count, manual_snapshots_limit=manual_snapshots_limit, @@ -209,7 +202,7 @@ class Test_directoryservice_directory_snapshots_limit: assert result[0].resource_id == directory_id assert result[0].resource_arn == directory_arn assert result[0].resource_tags == [] - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].status == "PASS" assert ( result[0].status_extended diff --git a/tests/providers/aws/services/directoryservice/directoryservice_ldap_certificate_expiration/directoryservice_ldap_certificate_expiration_test.py b/tests/providers/aws/services/directoryservice/directoryservice_ldap_certificate_expiration/directoryservice_ldap_certificate_expiration_test.py index d1e1ebf0c8..9b8f94865c 100644 --- a/tests/providers/aws/services/directoryservice/directoryservice_ldap_certificate_expiration/directoryservice_ldap_certificate_expiration_test.py +++ b/tests/providers/aws/services/directoryservice/directoryservice_ldap_certificate_expiration/directoryservice_ldap_certificate_expiration_test.py @@ -10,9 +10,10 @@ from prowler.providers.aws.services.directoryservice.directoryservice_service im Directory, DirectoryType, ) - -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, + AWS_REGION_EU_WEST_1, +) # Always use a mocked date to test the certificates expiration @@ -39,16 +40,14 @@ class Test_directoryservice_ldap_certificate_expiration: directoryservice_client = mock.MagicMock directory_name = "test-directory" directory_id = "d-12345a1b2" - directory_arn = ( - f"arn:aws:ds:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:directory/d-12345a1b2" - ) + directory_arn = f"arn:aws:ds:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:directory/d-12345a1b2" directoryservice_client.directories = { directory_name: Directory( id=directory_id, arn=directory_arn, type=DirectoryType.MicrosoftAD, name=directory_name, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, certificates=[], ) } @@ -73,16 +72,14 @@ class Test_directoryservice_ldap_certificate_expiration: directory_name = "test-directory" certificate_id = "test-certificate" directory_id = "d-12345a1b2" - directory_arn = ( - f"arn:aws:ds:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:directory/d-12345a1b2" - ) + directory_arn = f"arn:aws:ds:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:directory/d-12345a1b2" directoryservice_client.directories = { directory_name: Directory( name=directory_name, id=directory_id, arn=directory_arn, type=DirectoryType.MicrosoftAD, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, certificates=[ Certificate( id=certificate_id, @@ -111,7 +108,7 @@ class Test_directoryservice_ldap_certificate_expiration: assert result[0].resource_id == certificate_id assert result[0].resource_arn == directory_arn assert result[0].resource_tags == [] - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].status == "PASS" assert ( result[0].status_extended @@ -125,16 +122,14 @@ class Test_directoryservice_ldap_certificate_expiration: directory_name = "test-directory" certificate_id = "test-certificate" directory_id = "d-12345a1b2" - directory_arn = ( - f"arn:aws:ds:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:directory/d-12345a1b2" - ) + directory_arn = f"arn:aws:ds:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:directory/d-12345a1b2" directoryservice_client.directories = { directory_name: Directory( name=directory_name, id=directory_id, arn=directory_arn, type=DirectoryType.MicrosoftAD, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, certificates=[ Certificate( id=certificate_id, @@ -163,7 +158,7 @@ class Test_directoryservice_ldap_certificate_expiration: assert result[0].resource_id == certificate_id assert result[0].resource_arn == directory_arn assert result[0].resource_tags == [] - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].status == "FAIL" assert ( result[0].status_extended @@ -177,16 +172,14 @@ class Test_directoryservice_ldap_certificate_expiration: directory_name = "test-directory" certificate_id = "test-certificate" directory_id = "d-12345a1b2" - directory_arn = ( - f"arn:aws:ds:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:directory/d-12345a1b2" - ) + directory_arn = f"arn:aws:ds:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:directory/d-12345a1b2" directoryservice_client.directories = { directory_name: Directory( name=directory_name, id=directory_id, arn=directory_arn, type=DirectoryType.MicrosoftAD, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, certificates=[ Certificate( id=certificate_id, @@ -215,7 +208,7 @@ class Test_directoryservice_ldap_certificate_expiration: assert result[0].resource_id == certificate_id assert result[0].resource_arn == directory_arn assert result[0].resource_tags == [] - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].status == "FAIL" assert ( result[0].status_extended diff --git a/tests/providers/aws/services/directoryservice/directoryservice_radius_server_security_protocol/directoryservice_radius_server_security_protocol_test.py b/tests/providers/aws/services/directoryservice/directoryservice_radius_server_security_protocol/directoryservice_radius_server_security_protocol_test.py index 11b7c37523..be5fbe8452 100644 --- a/tests/providers/aws/services/directoryservice/directoryservice_radius_server_security_protocol/directoryservice_radius_server_security_protocol_test.py +++ b/tests/providers/aws/services/directoryservice/directoryservice_radius_server_security_protocol/directoryservice_radius_server_security_protocol_test.py @@ -7,9 +7,10 @@ from prowler.providers.aws.services.directoryservice.directoryservice_service im RadiusSettings, RadiusStatus, ) - -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, + AWS_REGION_EU_WEST_1, +) class Test_directoryservice_radius_server_security_protocol: @@ -34,16 +35,14 @@ class Test_directoryservice_radius_server_security_protocol: directoryservice_client = mock.MagicMock directory_name = "test-directory" directory_id = "d-12345a1b2" - directory_arn = ( - f"arn:aws:ds:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:directory/d-12345a1b2" - ) + directory_arn = f"arn:aws:ds:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:directory/d-12345a1b2" directoryservice_client.directories = { directory_name: Directory( name=directory_name, id=directory_id, arn=directory_arn, type=DirectoryType.MicrosoftAD, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, radius_settings=None, ) } @@ -65,16 +64,14 @@ class Test_directoryservice_radius_server_security_protocol: directoryservice_client = mock.MagicMock directory_name = "test-directory" directory_id = "d-12345a1b2" - directory_arn = ( - f"arn:aws:ds:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:directory/d-12345a1b2" - ) + directory_arn = f"arn:aws:ds:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:directory/d-12345a1b2" directoryservice_client.directories = { directory_name: Directory( name=directory_name, id=directory_id, arn=directory_arn, type=DirectoryType.MicrosoftAD, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, radius_settings=RadiusSettings( authentication_protocol=AuthenticationProtocol.MS_CHAPv1, status=RadiusStatus.Completed, @@ -97,7 +94,7 @@ class Test_directoryservice_radius_server_security_protocol: assert result[0].resource_id == directory_id assert result[0].resource_arn == directory_arn assert result[0].resource_tags == [] - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].status == "FAIL" assert ( result[0].status_extended @@ -108,16 +105,14 @@ class Test_directoryservice_radius_server_security_protocol: directoryservice_client = mock.MagicMock directory_name = "test-directory" directory_id = "d-12345a1b2" - directory_arn = ( - f"arn:aws:ds:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:directory/d-12345a1b2" - ) + directory_arn = f"arn:aws:ds:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:directory/d-12345a1b2" directoryservice_client.directories = { directory_name: Directory( name=directory_name, id=directory_id, arn=directory_arn, type=DirectoryType.MicrosoftAD, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, radius_settings=RadiusSettings( authentication_protocol=AuthenticationProtocol.MS_CHAPv2, status=RadiusStatus.Completed, @@ -140,7 +135,7 @@ class Test_directoryservice_radius_server_security_protocol: assert result[0].resource_id == directory_id assert result[0].resource_arn == directory_arn assert result[0].resource_tags == [] - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].status == "PASS" assert ( result[0].status_extended diff --git a/tests/providers/aws/services/directoryservice/directoryservice_service_test.py b/tests/providers/aws/services/directoryservice/directoryservice_service_test.py index 87cae0ffa8..879beaf369 100644 --- a/tests/providers/aws/services/directoryservice/directoryservice_service_test.py +++ b/tests/providers/aws/services/directoryservice/directoryservice_service_test.py @@ -15,15 +15,11 @@ from prowler.providers.aws.services.directoryservice.directoryservice_service im RadiusStatus, ) from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -# Mock Test Region -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" - - # Mocking Access Analyzer Calls make_api_call = botocore.client.BaseClient._make_api_call @@ -70,7 +66,7 @@ def mock_make_api_call(self, operation_name, kwarg): { "DirectoryId": "d-12345a1b2", "TopicName": "test-topic", - "TopicArn": f"arn:aws:sns:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:test-topic", + "TopicArn": f"arn:aws:sns:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:test-topic", "CreatedDateTime": datetime(2022, 1, 1), "Status": "Registered", }, @@ -108,9 +104,11 @@ def mock_make_api_call(self, operation_name, kwarg): # Mock generate_regional_clients() 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_EU_WEST_1 + ) + regional_client.region = AWS_REGION_EU_WEST_1 + return {AWS_REGION_EU_WEST_1: regional_client} # Patch every AWS call using Boto3 and generate_regional_clients to have 1 client @@ -127,7 +125,7 @@ class Test_DirectoryService_Service: set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) ) assert ( - directoryservice.regional_clients[AWS_REGION].__class__.__name__ + directoryservice.regional_clients[AWS_REGION_EU_WEST_1].__class__.__name__ == "DirectoryService" ) @@ -158,14 +156,16 @@ class Test_DirectoryService_Service: assert directoryservice.directories["d-12345a1b2"].id == "d-12345a1b2" assert ( directoryservice.directories["d-12345a1b2"].arn - == f"arn:aws:ds:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:directory/d-12345a1b2" + == f"arn:aws:ds:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:directory/d-12345a1b2" ) assert ( directoryservice.directories["d-12345a1b2"].type == DirectoryType.MicrosoftAD ) assert directoryservice.directories["d-12345a1b2"].name == "test-directory" - assert directoryservice.directories["d-12345a1b2"].region == AWS_REGION + assert ( + directoryservice.directories["d-12345a1b2"].region == AWS_REGION_EU_WEST_1 + ) assert directoryservice.directories["d-12345a1b2"].tags == [ {"Key": "string", "Value": "string"}, ] @@ -200,7 +200,7 @@ class Test_DirectoryService_Service: ) assert ( directoryservice.directories["d-12345a1b2"].event_topics[0].topic_arn - == f"arn:aws:sns:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:test-topic" + == f"arn:aws:sns:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:test-topic" ) assert ( directoryservice.directories["d-12345a1b2"].event_topics[0].status diff --git a/tests/providers/aws/services/directoryservice/directoryservice_supported_mfa_radius_enabled/directoryservice_supported_mfa_radius_enabled_test.py b/tests/providers/aws/services/directoryservice/directoryservice_supported_mfa_radius_enabled/directoryservice_supported_mfa_radius_enabled_test.py index a323d8436f..354e7899f3 100644 --- a/tests/providers/aws/services/directoryservice/directoryservice_supported_mfa_radius_enabled/directoryservice_supported_mfa_radius_enabled_test.py +++ b/tests/providers/aws/services/directoryservice/directoryservice_supported_mfa_radius_enabled/directoryservice_supported_mfa_radius_enabled_test.py @@ -7,9 +7,10 @@ from prowler.providers.aws.services.directoryservice.directoryservice_service im RadiusSettings, RadiusStatus, ) - -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, + AWS_REGION_EU_WEST_1, +) class Test_directoryservice_supported_mfa_radius_enabled: @@ -34,16 +35,14 @@ class Test_directoryservice_supported_mfa_radius_enabled: directoryservice_client = mock.MagicMock directory_name = "test-directory" directory_id = "d-12345a1b2" - directory_arn = ( - f"arn:aws:ds:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:directory/d-12345a1b2" - ) + directory_arn = f"arn:aws:ds:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:directory/d-12345a1b2" directoryservice_client.directories = { directory_name: Directory( name=directory_name, id=directory_id, arn=directory_arn, type=DirectoryType.MicrosoftAD, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, radius_settings=None, ) } @@ -65,16 +64,14 @@ class Test_directoryservice_supported_mfa_radius_enabled: directoryservice_client = mock.MagicMock directory_name = "test-directory" directory_id = "d-12345a1b2" - directory_arn = ( - f"arn:aws:ds:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:directory/d-12345a1b2" - ) + directory_arn = f"arn:aws:ds:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:directory/d-12345a1b2" directoryservice_client.directories = { directory_name: Directory( name=directory_name, id=directory_id, arn=directory_arn, type=DirectoryType.MicrosoftAD, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, radius_settings=RadiusSettings( authentication_protocol=AuthenticationProtocol.MS_CHAPv1, status=RadiusStatus.Failed, @@ -97,7 +94,7 @@ class Test_directoryservice_supported_mfa_radius_enabled: assert result[0].resource_id == directory_id assert result[0].resource_arn == directory_arn assert result[0].resource_tags == [] - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].status == "FAIL" assert ( result[0].status_extended @@ -108,16 +105,14 @@ class Test_directoryservice_supported_mfa_radius_enabled: directoryservice_client = mock.MagicMock directory_name = "test-directory" directory_id = "d-12345a1b2" - directory_arn = ( - f"arn:aws:ds:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:directory/d-12345a1b2" - ) + directory_arn = f"arn:aws:ds:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:directory/d-12345a1b2" directoryservice_client.directories = { directory_name: Directory( name=directory_name, id=directory_id, arn=directory_arn, type=DirectoryType.MicrosoftAD, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, radius_settings=RadiusSettings( authentication_protocol=AuthenticationProtocol.MS_CHAPv2, status=RadiusStatus.Creating, @@ -140,7 +135,7 @@ class Test_directoryservice_supported_mfa_radius_enabled: assert result[0].resource_id == directory_id assert result[0].resource_arn == directory_arn assert result[0].resource_tags == [] - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].status == "FAIL" assert ( result[0].status_extended @@ -151,16 +146,14 @@ class Test_directoryservice_supported_mfa_radius_enabled: directoryservice_client = mock.MagicMock directory_name = "test-directory" directory_id = "d-12345a1b2" - directory_arn = ( - f"arn:aws:ds:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:directory/d-12345a1b2" - ) + directory_arn = f"arn:aws:ds:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:directory/d-12345a1b2" directoryservice_client.directories = { directory_name: Directory( name=directory_name, id=directory_id, arn=directory_arn, type=DirectoryType.MicrosoftAD, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, radius_settings=RadiusSettings( authentication_protocol=AuthenticationProtocol.MS_CHAPv2, status=RadiusStatus.Completed, @@ -183,7 +176,7 @@ class Test_directoryservice_supported_mfa_radius_enabled: assert result[0].resource_id == directory_id assert result[0].resource_arn == directory_arn assert result[0].resource_tags == [] - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].status == "PASS" assert ( result[0].status_extended 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 4e86d65584..423bb8a5f1 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,54 +1,22 @@ 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 from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" -AWS_REGION = "us-east-1" + 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 @@ -85,8 +53,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_EU_WEST_1) + ec2_resource = resource("ec2", region_name=AWS_REGION_EU_WEST_1) # Create EC2 Volume and Snapshot volume_id = ec2_resource.create_volume( AvailabilityZone="us-east-1a", @@ -110,7 +78,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_EU_WEST_1: { LIFECYCLE_POLICY_ID: LifecyclePolicy( id=LIFECYCLE_POLICY_ID, state="ENABLED", @@ -143,15 +111,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_EU_WEST_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_EU_WEST_1) + ec2_resource = resource("ec2", region_name=AWS_REGION_EU_WEST_1) # Create EC2 Volume and Snapshot volume_id = ec2_resource.create_volume( AvailabilityZone="us-east-1a", @@ -207,7 +175,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_EU_WEST_1: { LIFECYCLE_POLICY_ID: LifecyclePolicy( id=LIFECYCLE_POLICY_ID, state="ENABLED", diff --git a/tests/providers/aws/services/dlm/dlm_service_test.py b/tests/providers/aws/services/dlm/dlm_service_test.py index ba12080ef1..4c247641c7 100644 --- a/tests/providers/aws/services/dlm/dlm_service_test.py +++ b/tests/providers/aws/services/dlm/dlm_service_test.py @@ -1,18 +1,15 @@ 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 from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" -AWS_REGION = "us-east-1" + LIFECYCLE_POLICY_ID = "policy-XXXXXXXXXXXX" @@ -45,9 +42,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_EU_WEST_1 + ) + regional_client.region = AWS_REGION_EU_WEST_1 + return {AWS_REGION_EU_WEST_1: regional_client} @patch( @@ -57,36 +56,6 @@ 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: - 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 = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) @@ -117,7 +86,7 @@ class Test_DLM_Service: audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) dlm = DLM(audit_info) assert dlm.lifecycle_policies == { - AWS_REGION: { + AWS_REGION_EU_WEST_1: { LIFECYCLE_POLICY_ID: LifecyclePolicy( id=LIFECYCLE_POLICY_ID, state="ENABLED", diff --git a/tests/providers/aws/services/documentdb/documentdb_instance_storage_encrypted/documentdb_instance_storage_encrypted_test.py b/tests/providers/aws/services/documentdb/documentdb_instance_storage_encrypted/documentdb_instance_storage_encrypted_test.py index 3556482a78..ee07a3579c 100644 --- a/tests/providers/aws/services/documentdb/documentdb_instance_storage_encrypted/documentdb_instance_storage_encrypted_test.py +++ b/tests/providers/aws/services/documentdb/documentdb_instance_storage_encrypted/documentdb_instance_storage_encrypted_test.py @@ -1,13 +1,14 @@ from unittest import mock from prowler.providers.aws.services.documentdb.documentdb_service import Instance - -AWS_ACCOUNT_NUMBER = "123456789012" -AWS_REGION = "us-east-1" +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, + AWS_REGION_EU_WEST_1, +) DOC_DB_INSTANCE_NAME = "test-db" DOC_DB_INSTANCE_ARN = ( - f"arn:aws:rds:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:db:{DOC_DB_INSTANCE_NAME}" + f"arn:aws:rds:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:db:{DOC_DB_INSTANCE_NAME}" ) DOC_DB_ENGINE_VERSION = "5.0.0" @@ -41,7 +42,7 @@ class Test_documentdb_instance_storage_encrypted: public=False, encrypted=False, auto_minor_version_upgrade=False, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) } @@ -61,7 +62,7 @@ class Test_documentdb_instance_storage_encrypted: result[0].status_extended == f"DocumentDB Instance {DOC_DB_INSTANCE_NAME} is not encrypted." ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_id == DOC_DB_INSTANCE_NAME assert result[0].resource_arn == DOC_DB_INSTANCE_ARN @@ -77,7 +78,7 @@ class Test_documentdb_instance_storage_encrypted: public=False, encrypted=True, auto_minor_version_upgrade=False, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) } with mock.patch( @@ -95,6 +96,6 @@ class Test_documentdb_instance_storage_encrypted: result[0].status_extended == f"DocumentDB Instance {DOC_DB_INSTANCE_NAME} is encrypted." ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_id == DOC_DB_INSTANCE_NAME assert result[0].resource_arn == DOC_DB_INSTANCE_ARN diff --git a/tests/providers/aws/services/documentdb/documentdb_service_test.py b/tests/providers/aws/services/documentdb/documentdb_service_test.py index eb5446e0a0..b8c5cf28f3 100644 --- a/tests/providers/aws/services/documentdb/documentdb_service_test.py +++ b/tests/providers/aws/services/documentdb/documentdb_service_test.py @@ -1,26 +1,23 @@ 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.documentdb.documentdb_service import ( DocumentDB, Instance, ) -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" -AWS_REGION = "us-east-1" + DOC_DB_CLUSTER_ID = "test-cluster" DOC_DB_INSTANCE_NAME = "test-db" DOC_DB_INSTANCE_ARN = ( - f"arn:aws:rds:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:db:{DOC_DB_INSTANCE_NAME}" + f"arn:aws:rds:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:db:{DOC_DB_INSTANCE_NAME}" ) DOC_DB_ENGINE_VERSION = "5.0.0" @@ -65,9 +62,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_EU_WEST_1 + ) + regional_client.region = AWS_REGION_EU_WEST_1 + return {AWS_REGION_EU_WEST_1: regional_client} @patch( @@ -77,36 +76,6 @@ 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_DocumentDB_Service: - 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 DocumentDB Service def test_service(self): audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) @@ -145,7 +114,7 @@ class Test_DocumentDB_Service: public=False, encrypted=False, cluster_id=DOC_DB_CLUSTER_ID, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, tags=[{"Key": "environment", "Value": "test"}], ) } diff --git a/tests/providers/aws/services/drs/drs_job_exist/drs_job_exist_test.py b/tests/providers/aws/services/drs/drs_job_exist/drs_job_exist_test.py index 4fad6112cc..7a244e0906 100644 --- a/tests/providers/aws/services/drs/drs_job_exist/drs_job_exist_test.py +++ b/tests/providers/aws/services/drs/drs_job_exist/drs_job_exist_test.py @@ -1,10 +1,12 @@ from unittest import mock from prowler.providers.aws.services.drs.drs_service import DRSservice, Job +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, + AWS_REGION_EU_WEST_1, +) -AWS_REGION = "eu-west-1" JOB_ARN = "arn:aws:drs:eu-west-1:123456789012:job/12345678901234567890123456789012" -AWS_ACCOUNT_NUMBER = "123456789012" class Test_drs_job_exist: @@ -12,18 +14,18 @@ class Test_drs_job_exist: drs_client = mock.MagicMock drs_client.audited_account = AWS_ACCOUNT_NUMBER drs_client.audited_account_arn = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" - drs_client.region = AWS_REGION + drs_client.region = AWS_REGION_EU_WEST_1 drs_client.drs_services = [ DRSservice( id="DRS", status="ENABLED", - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, jobs=[ Job( arn=JOB_ARN, id="12345678901234567890123456789012", status="COMPLETED", - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, tags=[{"Key": "Name", "Value": "test"}], ) ], @@ -48,19 +50,19 @@ class Test_drs_job_exist: ) assert result[0].resource_id == AWS_ACCOUNT_NUMBER assert result[0].resource_arn == f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_tags == [] def test_drs_no_jobs(self): drs_client = mock.MagicMock drs_client.audited_account = AWS_ACCOUNT_NUMBER drs_client.audited_account_arn = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" - drs_client.region = AWS_REGION + drs_client.region = AWS_REGION_EU_WEST_1 drs_client.drs_services = [ DRSservice( id="DRS", status="ENABLED", - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, jobs=[], ) ] @@ -84,19 +86,19 @@ class Test_drs_job_exist: ) assert result[0].resource_id == AWS_ACCOUNT_NUMBER assert result[0].resource_arn == f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_tags == [] def test_drs_disabled(self): drs_client = mock.MagicMock drs_client.audited_account = AWS_ACCOUNT_NUMBER drs_client.audited_account_arn = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" - drs_client.region = AWS_REGION + drs_client.region = AWS_REGION_EU_WEST_1 drs_client.drs_services = [ DRSservice( id="DRS", status="DISABLED", - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, jobs=[], ) ] @@ -117,7 +119,7 @@ class Test_drs_job_exist: assert result[0].status_extended == "DRS is not enabled for this region." assert result[0].resource_id == AWS_ACCOUNT_NUMBER assert result[0].resource_arn == f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_tags == [] def test_drs_disabled_allowlisted(self): @@ -130,7 +132,7 @@ class Test_drs_job_exist: DRSservice( id="DRS", status="DISABLED", - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, jobs=[], ) ] @@ -151,5 +153,5 @@ class Test_drs_job_exist: assert result[0].status_extended == "DRS is not enabled for this region." assert result[0].resource_id == AWS_ACCOUNT_NUMBER assert result[0].resource_arn == f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_tags == [] diff --git a/tests/providers/aws/services/drs/drs_service_test.py b/tests/providers/aws/services/drs/drs_service_test.py index ead739e14c..3eaafaa448 100644 --- a/tests/providers/aws/services/drs/drs_service_test.py +++ b/tests/providers/aws/services/drs/drs_service_test.py @@ -2,18 +2,15 @@ from datetime import datetime from unittest.mock import patch import botocore -from boto3 import session -from prowler.providers.aws.lib.audit_info.audit_info import AWS_Audit_Info from prowler.providers.aws.services.drs.drs_service import DRS -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) # Mock Test Region -AWS_REGION = "us-east-1" + # Mocking Calls make_api_call = botocore.client.BaseClient._make_api_call @@ -48,9 +45,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_EU_WEST_1 + ) + regional_client.region = AWS_REGION_EU_WEST_1 + return {AWS_REGION_EU_WEST_1: regional_client} # Patch every AWS call using Boto3 and generate_regional_clients to have 1 client @@ -60,40 +59,10 @@ def mock_generate_regional_clients(service, audit_info, _): new=mock_generate_regional_clients, ) class Test_DRS_Service: - 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=None, - audited_account_arn=None, - 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 - def test__get_client__(self): audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) drs = DRS(audit_info) - assert drs.regional_clients[AWS_REGION].__class__.__name__ == "drs" + assert drs.regional_clients[AWS_REGION_EU_WEST_1].__class__.__name__ == "drs" def test__get_service__(self): audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) @@ -105,5 +74,5 @@ class Test_DRS_Service: drs = DRS(audit_info) assert len(drs.drs_services) == 1 assert drs.drs_services[0].id == "DRS" - assert drs.drs_services[0].region == AWS_REGION + assert drs.drs_services[0].region == AWS_REGION_EU_WEST_1 assert drs.drs_services[0].status == "ENABLED" diff --git a/tests/providers/aws/services/dynamodb/dynamodb_accelerator_cluster_encryption_enabled/dynamodb_accelerator_cluster_encryption_enabled_test.py b/tests/providers/aws/services/dynamodb/dynamodb_accelerator_cluster_encryption_enabled/dynamodb_accelerator_cluster_encryption_enabled_test.py index 1191b5360f..ec56f195dc 100644 --- a/tests/providers/aws/services/dynamodb/dynamodb_accelerator_cluster_encryption_enabled/dynamodb_accelerator_cluster_encryption_enabled_test.py +++ b/tests/providers/aws/services/dynamodb/dynamodb_accelerator_cluster_encryption_enabled/dynamodb_accelerator_cluster_encryption_enabled_test.py @@ -1,52 +1,17 @@ from re import search from unittest import mock -from boto3 import client, session +from boto3 import client from moto import mock_dax from moto.core import DEFAULT_ACCOUNT_ID -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" - class Test_dynamodb_accelerator_cluster_encryption_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=DEFAULT_ACCOUNT_ID, - audited_account_arn=f"arn:aws:iam::{DEFAULT_ACCOUNT_ID}: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=["us-east-1", "eu-west-1"], - 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 - @mock_dax def test_dax_no_clusters(self): from prowler.providers.aws.services.dynamodb.dynamodb_service import DAX @@ -72,7 +37,7 @@ class Test_dynamodb_accelerator_cluster_encryption_enabled: @mock_dax def test_dax_cluster_no_encryption(self): - dax_client = client("dax", region_name=AWS_REGION) + dax_client = client("dax", region_name=AWS_REGION_EU_WEST_1) iam_role_arn = f"arn:aws:iam::{DEFAULT_ACCOUNT_ID}:role/aws-service-role/dax.amazonaws.com/AWSServiceRoleForDAX" cluster = dax_client.create_cluster( ClusterName="daxcluster", @@ -107,12 +72,12 @@ class Test_dynamodb_accelerator_cluster_encryption_enabled: ) assert result[0].resource_id == cluster["ClusterName"] assert result[0].resource_arn == cluster["ClusterArn"] - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_tags == [] @mock_dax def test_dax_cluster_with_encryption(self): - dax_client = client("dax", region_name=AWS_REGION) + dax_client = client("dax", region_name=AWS_REGION_EU_WEST_1) iam_role_arn = f"arn:aws:iam::{DEFAULT_ACCOUNT_ID}:role/aws-service-role/dax.amazonaws.com/AWSServiceRoleForDAX" cluster = dax_client.create_cluster( ClusterName="daxcluster", @@ -145,5 +110,5 @@ class Test_dynamodb_accelerator_cluster_encryption_enabled: assert search("has encryption at rest enabled", result[0].status_extended) assert result[0].resource_id == cluster["ClusterName"] assert result[0].resource_arn == cluster["ClusterArn"] - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_tags == [] diff --git a/tests/providers/aws/services/dynamodb/dynamodb_service_test.py b/tests/providers/aws/services/dynamodb/dynamodb_service_test.py index d45d6fae8b..b79891b55a 100644 --- a/tests/providers/aws/services/dynamodb/dynamodb_service_test.py +++ b/tests/providers/aws/services/dynamodb/dynamodb_service_test.py @@ -1,49 +1,15 @@ -from boto3 import client, session +from boto3 import client from moto import mock_dax, mock_dynamodb -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info from prowler.providers.aws.services.dynamodb.dynamodb_service import DAX, DynamoDB -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" -AWS_REGION = "us-east-1" - class Test_DynamoDB_Service: - 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=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=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 Dynamo Service @mock_dynamodb def test_service(self): @@ -81,7 +47,7 @@ class Test_DynamoDB_Service: @mock_dynamodb def test__list_tables__(self): # Generate DynamoDB Client - dynamodb_client = client("dynamodb", region_name=AWS_REGION) + dynamodb_client = client("dynamodb", region_name=AWS_REGION_EU_WEST_1) # Create DynamoDB Tables dynamodb_client.create_table( TableName="test1", @@ -113,14 +79,14 @@ class Test_DynamoDB_Service: assert len(dynamo.tables) == 2 assert dynamo.tables[0].name == "test1" assert dynamo.tables[1].name == "test2" - assert dynamo.tables[0].region == AWS_REGION - assert dynamo.tables[1].region == AWS_REGION + assert dynamo.tables[0].region == AWS_REGION_EU_WEST_1 + assert dynamo.tables[1].region == AWS_REGION_EU_WEST_1 # Test DynamoDB Describe Table @mock_dynamodb def test__describe_table__(self): # Generate DynamoDB Client - dynamodb_client = client("dynamodb", region_name=AWS_REGION) + dynamodb_client = client("dynamodb", region_name=AWS_REGION_EU_WEST_1) # Create DynamoDB Table table = dynamodb_client.create_table( TableName="test1", @@ -143,7 +109,7 @@ class Test_DynamoDB_Service: assert len(dynamo.tables) == 1 assert dynamo.tables[0].arn == table["TableArn"] assert dynamo.tables[0].name == "test1" - assert dynamo.tables[0].region == AWS_REGION + assert dynamo.tables[0].region == AWS_REGION_EU_WEST_1 assert dynamo.tables[0].tags == [ {"Key": "test", "Value": "test"}, ] @@ -152,7 +118,7 @@ class Test_DynamoDB_Service: @mock_dynamodb def test__describe_continuous_backups__(self): # Generate DynamoDB Client - dynamodb_client = client("dynamodb", region_name=AWS_REGION) + dynamodb_client = client("dynamodb", region_name=AWS_REGION_EU_WEST_1) # Create DynamoDB Table table = dynamodb_client.create_table( TableName="test1", @@ -177,13 +143,13 @@ class Test_DynamoDB_Service: assert dynamo.tables[0].arn == table["TableArn"] assert dynamo.tables[0].name == "test1" assert dynamo.tables[0].pitr - assert dynamo.tables[0].region == AWS_REGION + assert dynamo.tables[0].region == AWS_REGION_EU_WEST_1 # Test DAX Describe Clusters @mock_dax def test__describe_clusters__(self): # Generate DAX Client - dax_client = client("dax", region_name=AWS_REGION) + dax_client = client("dax", region_name=AWS_REGION_EU_WEST_1) # Create DAX Clusters iam_role_arn = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:role/aws-service-role/dax.amazonaws.com/AWSServiceRoleForDAX" dax_client.create_cluster( @@ -212,14 +178,14 @@ class Test_DynamoDB_Service: assert len(dax.clusters) == 2 assert dax.clusters[0].name == "daxcluster1" - assert dax.clusters[0].region == AWS_REGION + assert dax.clusters[0].region == AWS_REGION_EU_WEST_1 assert dax.clusters[0].encryption assert dax.clusters[0].tags == [ {"Key": "test", "Value": "test"}, ] assert dax.clusters[1].name == "daxcluster2" - assert dax.clusters[1].region == AWS_REGION + assert dax.clusters[1].region == AWS_REGION_EU_WEST_1 assert dax.clusters[1].encryption assert dax.clusters[1].tags == [ {"Key": "test", "Value": "test"}, diff --git a/tests/providers/aws/services/dynamodb/dynamodb_tables_kms_cmk_encryption_enabled/dynamodb_tables_kms_cmk_encryption_enabled_test.py b/tests/providers/aws/services/dynamodb/dynamodb_tables_kms_cmk_encryption_enabled/dynamodb_tables_kms_cmk_encryption_enabled_test.py index 18eaf38158..5648889a9d 100644 --- a/tests/providers/aws/services/dynamodb/dynamodb_tables_kms_cmk_encryption_enabled/dynamodb_tables_kms_cmk_encryption_enabled_test.py +++ b/tests/providers/aws/services/dynamodb/dynamodb_tables_kms_cmk_encryption_enabled/dynamodb_tables_kms_cmk_encryption_enabled_test.py @@ -9,9 +9,6 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_dynamodb_tables_kms_cmk_encryption_enabled: @mock_dynamodb @@ -39,7 +36,7 @@ class Test_dynamodb_tables_kms_cmk_encryption_enabled: @mock_dynamodb def test_dynamodb_table_kms_encryption(self): - dynamodb_client = client("dynamodb", region_name=AWS_REGION) + dynamodb_client = client("dynamodb", region_name=AWS_REGION_EU_WEST_1) table = dynamodb_client.create_table( TableName="test1", AttributeDefinitions=[ @@ -77,12 +74,12 @@ class Test_dynamodb_tables_kms_cmk_encryption_enabled: assert search("KMS encryption enabled", result[0].status_extended) assert result[0].resource_id == table["TableName"] assert result[0].resource_arn == table["TableArn"] - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_tags == [] @mock_dynamodb def test_dynamodb_table_default_encryption(self): - dynamodb_client = client("dynamodb", region_name=AWS_REGION) + dynamodb_client = client("dynamodb", region_name=AWS_REGION_EU_WEST_1) table = dynamodb_client.create_table( TableName="test1", AttributeDefinitions=[ @@ -119,5 +116,5 @@ class Test_dynamodb_tables_kms_cmk_encryption_enabled: assert search("DEFAULT encryption enabled", result[0].status_extended) assert result[0].resource_id == table["TableName"] assert result[0].resource_arn == table["TableArn"] - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_tags == [] diff --git a/tests/providers/aws/services/dynamodb/dynamodb_tables_pitr_enabled/dynamodb_tables_pitr_enabled_test.py b/tests/providers/aws/services/dynamodb/dynamodb_tables_pitr_enabled/dynamodb_tables_pitr_enabled_test.py index 793a8d8980..2cf9a0be25 100644 --- a/tests/providers/aws/services/dynamodb/dynamodb_tables_pitr_enabled/dynamodb_tables_pitr_enabled_test.py +++ b/tests/providers/aws/services/dynamodb/dynamodb_tables_pitr_enabled/dynamodb_tables_pitr_enabled_test.py @@ -9,9 +9,6 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_dynamodb_tables_pitr_enabled: @mock_dynamodb @@ -39,7 +36,7 @@ class Test_dynamodb_tables_pitr_enabled: @mock_dynamodb def test_dynamodb_table_no_pitr(self): - dynamodb_client = client("dynamodb", region_name=AWS_REGION) + dynamodb_client = client("dynamodb", region_name=AWS_REGION_EU_WEST_1) table = dynamodb_client.create_table( TableName="test1", AttributeDefinitions=[ @@ -79,12 +76,12 @@ class Test_dynamodb_tables_pitr_enabled: ) assert result[0].resource_id == table["TableName"] assert result[0].resource_arn == table["TableArn"] - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_tags == [] @mock_dynamodb def test_dynamodb_table_with_pitr(self): - dynamodb_client = client("dynamodb", region_name=AWS_REGION) + dynamodb_client = client("dynamodb", region_name=AWS_REGION_EU_WEST_1) table = dynamodb_client.create_table( TableName="test1", AttributeDefinitions=[ @@ -127,5 +124,5 @@ class Test_dynamodb_tables_pitr_enabled: ) assert result[0].resource_id == table["TableName"] assert result[0].resource_arn == table["TableArn"] - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_tags == [] diff --git a/tests/providers/aws/services/ec2/ec2_ami_public/ec2_ami_public_test.py b/tests/providers/aws/services/ec2/ec2_ami_public/ec2_ami_public_test.py index 1bcefe8dd2..99d534ab46 100644 --- a/tests/providers/aws/services/ec2/ec2_ami_public/ec2_ami_public_test.py +++ b/tests/providers/aws/services/ec2/ec2_ami_public/ec2_ami_public_test.py @@ -8,9 +8,7 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" EXAMPLE_AMI_ID = "ami-12c6146b" -AWS_ACCOUNT_NUMBER = "123456789012" class Test_ec2_ami_public: @@ -39,7 +37,7 @@ class Test_ec2_ami_public: @mock_ec2 def test_one_private_ami(self): - ec2 = client("ec2", region_name=AWS_REGION) + ec2 = client("ec2", region_name=AWS_REGION_EU_WEST_1) reservation = ec2.run_instances(ImageId=EXAMPLE_AMI_ID, MinCount=1, MaxCount=1) instance = reservation["Instances"][0] @@ -73,14 +71,14 @@ class Test_ec2_ami_public: assert result[0].resource_id == image_id assert ( result[0].resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:image/{image_id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:image/{image_id}" ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_tags == [] @mock_ec2 def test_one_public_ami(self): - ec2 = client("ec2", region_name=AWS_REGION) + ec2 = client("ec2", region_name=AWS_REGION_EU_WEST_1) reservation = ec2.run_instances(ImageId=EXAMPLE_AMI_ID, MinCount=1, MaxCount=1) instance = reservation["Instances"][0] @@ -125,7 +123,7 @@ class Test_ec2_ami_public: assert result[0].resource_id == image_id assert ( result[0].resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:image/{image_id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:image/{image_id}" ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_tags == [] diff --git a/tests/providers/aws/services/ec2/ec2_ebs_default_encryption/ec2_ebs_default_encryption_test.py b/tests/providers/aws/services/ec2/ec2_ebs_default_encryption/ec2_ebs_default_encryption_test.py index b2778f77c6..9325f02b71 100644 --- a/tests/providers/aws/services/ec2/ec2_ebs_default_encryption/ec2_ebs_default_encryption_test.py +++ b/tests/providers/aws/services/ec2/ec2_ebs_default_encryption/ec2_ebs_default_encryption_test.py @@ -4,20 +4,19 @@ from boto3 import client, resource from moto import mock_ec2 from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" EXAMPLE_AMI_ID = "ami-12c6146b" -AWS_ACCOUNT_NUMBER = "123456789012" class Test_ec2_ebs_default_encryption: @mock_ec2 def test_ec2_ebs_encryption_enabled(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.enable_ebs_encryption_by_default() from prowler.providers.aws.services.ec2.ec2_service import EC2 @@ -42,7 +41,7 @@ class Test_ec2_ebs_default_encryption: # One result per region assert len(results) == 2 for result in results: - if result.region == AWS_REGION: + if result.region == AWS_REGION_EU_WEST_1: assert result.status == "PASS" assert ( result.status_extended == "EBS Default Encryption is activated." @@ -110,8 +109,8 @@ class Test_ec2_ebs_default_encryption: @mock_ec2 def test_ec2_ebs_encryption_disabled_ignoring_with_volumes(self): # Create EC2 Mocked Resources - ec2 = resource("ec2", region_name=AWS_REGION) - ec2.create_volume(Size=36, AvailabilityZone=f"{AWS_REGION}a") + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) + ec2.create_volume(Size=36, AvailabilityZone=f"{AWS_REGION_EU_WEST_1}a") from prowler.providers.aws.services.ec2.ec2_service import EC2 current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) @@ -134,7 +133,7 @@ class Test_ec2_ebs_default_encryption: # One result per region assert len(result) == 1 - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].status == "FAIL" assert ( result[0].status_extended == "EBS Default Encryption is not activated." diff --git a/tests/providers/aws/services/ec2/ec2_ebs_public_snapshot/ec2_ebs_public_snapshot_test.py b/tests/providers/aws/services/ec2/ec2_ebs_public_snapshot/ec2_ebs_public_snapshot_test.py index 373ca6dfe4..5da27bca7c 100644 --- a/tests/providers/aws/services/ec2/ec2_ebs_public_snapshot/ec2_ebs_public_snapshot_test.py +++ b/tests/providers/aws/services/ec2/ec2_ebs_public_snapshot/ec2_ebs_public_snapshot_test.py @@ -9,14 +9,13 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" -AWS_ACCOUNT_NUMBER = "123456789012" - 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_EU_WEST_1 + ) + regional_client.region = AWS_REGION_EU_WEST_1 + return {AWS_REGION_EU_WEST_1: regional_client} @patch( @@ -51,9 +50,9 @@ class Test_ec2_ebs_public_snapshot: @mock_ec2 def test_ec2_public_snapshot(self): # Create EC2 Mocked Resources - ec2 = resource("ec2", region_name=AWS_REGION) - ec2_client = client("ec2", region_name=AWS_REGION) - volume = ec2.create_volume(Size=80, AvailabilityZone=f"{AWS_REGION}a") + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) + volume = ec2.create_volume(Size=80, AvailabilityZone=f"{AWS_REGION_EU_WEST_1}a") snapshot = volume.create_snapshot(Description="testsnap") ec2_client.modify_snapshot_attribute( SnapshotId=snapshot.id, @@ -86,7 +85,7 @@ class Test_ec2_ebs_public_snapshot: for snap in results: if snap.resource_id == snapshot.id: - assert snap.region == AWS_REGION + assert snap.region == AWS_REGION_EU_WEST_1 assert snap.resource_tags == [] assert snap.status == "FAIL" assert ( @@ -95,15 +94,15 @@ class Test_ec2_ebs_public_snapshot: ) assert ( snap.resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:snapshot/{snapshot.id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:snapshot/{snapshot.id}" ) @mock_ec2 def test_ec2_private_snapshot(self): # Create EC2 Mocked Resources - ec2 = resource("ec2", region_name=AWS_REGION) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) snapshot = volume = ec2.create_volume( - Size=80, AvailabilityZone=f"{AWS_REGION}a", Encrypted=True + Size=80, AvailabilityZone=f"{AWS_REGION_EU_WEST_1}a", Encrypted=True ) snapshot = volume.create_snapshot(Description="testsnap") @@ -131,7 +130,7 @@ class Test_ec2_ebs_public_snapshot: for snap in results: if snap.resource_id == snapshot.id: - assert snap.region == AWS_REGION + assert snap.region == AWS_REGION_EU_WEST_1 assert snap.resource_tags == [] assert snap.status == "PASS" assert ( @@ -140,5 +139,5 @@ class Test_ec2_ebs_public_snapshot: ) assert ( snap.resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:snapshot/{snapshot.id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:snapshot/{snapshot.id}" ) diff --git a/tests/providers/aws/services/ec2/ec2_ebs_snapshots_encrypted/ec2_ebs_snapshots_encrypted_test.py b/tests/providers/aws/services/ec2/ec2_ebs_snapshots_encrypted/ec2_ebs_snapshots_encrypted_test.py index 08fb69db0a..c64b7c42ef 100644 --- a/tests/providers/aws/services/ec2/ec2_ebs_snapshots_encrypted/ec2_ebs_snapshots_encrypted_test.py +++ b/tests/providers/aws/services/ec2/ec2_ebs_snapshots_encrypted/ec2_ebs_snapshots_encrypted_test.py @@ -9,14 +9,13 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" -AWS_ACCOUNT_NUMBER = "123456789012" - 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_EU_WEST_1 + ) + regional_client.region = AWS_REGION_EU_WEST_1 + return {AWS_REGION_EU_WEST_1: regional_client} @patch( @@ -51,8 +50,8 @@ class Test_ec2_ebs_snapshots_encrypted: @mock_ec2 def test_ec2_unencrypted_snapshot(self): # Create EC2 Mocked Resources - ec2 = resource("ec2", region_name=AWS_REGION) - volume = ec2.create_volume(Size=80, AvailabilityZone=f"{AWS_REGION}a") + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) + volume = ec2.create_volume(Size=80, AvailabilityZone=f"{AWS_REGION_EU_WEST_1}a") snapshot = volume.create_snapshot(Description="testsnap") from prowler.providers.aws.services.ec2.ec2_service import EC2 @@ -79,7 +78,7 @@ class Test_ec2_ebs_snapshots_encrypted: for snap in results: if snap.resource_id == snapshot.id: - assert snap.region == AWS_REGION + assert snap.region == AWS_REGION_EU_WEST_1 assert snap.resource_tags == [] assert snap.status == "FAIL" assert ( @@ -88,15 +87,15 @@ class Test_ec2_ebs_snapshots_encrypted: ) assert ( snap.resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:snapshot/{snapshot.id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:snapshot/{snapshot.id}" ) @mock_ec2 def test_ec2_encrypted_snapshot(self): # Create EC2 Mocked Resources - ec2 = resource("ec2", region_name=AWS_REGION) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) snapshot = volume = ec2.create_volume( - Size=80, AvailabilityZone=f"{AWS_REGION}a", Encrypted=True + Size=80, AvailabilityZone=f"{AWS_REGION_EU_WEST_1}a", Encrypted=True ) snapshot = volume.create_snapshot(Description="testsnap") @@ -124,7 +123,7 @@ class Test_ec2_ebs_snapshots_encrypted: for snap in results: if snap.resource_id == snapshot.id: - assert snap.region == AWS_REGION + assert snap.region == AWS_REGION_EU_WEST_1 assert snap.resource_tags == [] assert snap.status == "PASS" assert ( @@ -133,5 +132,5 @@ class Test_ec2_ebs_snapshots_encrypted: ) assert ( snap.resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:snapshot/{snapshot.id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:snapshot/{snapshot.id}" ) diff --git a/tests/providers/aws/services/ec2/ec2_ebs_volume_encryption/ec2_ebs_volume_encryption_test.py b/tests/providers/aws/services/ec2/ec2_ebs_volume_encryption/ec2_ebs_volume_encryption_test.py index ea60fba19e..843273273e 100644 --- a/tests/providers/aws/services/ec2/ec2_ebs_volume_encryption/ec2_ebs_volume_encryption_test.py +++ b/tests/providers/aws/services/ec2/ec2_ebs_volume_encryption/ec2_ebs_volume_encryption_test.py @@ -8,9 +8,6 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_ec2_ebs_volume_encryption: @mock_ec2 @@ -39,8 +36,8 @@ class Test_ec2_ebs_volume_encryption: @mock_ec2 def test_ec2_unencrypted_volume(self): # Create EC2 Mocked Resources - ec2 = resource("ec2", region_name=AWS_REGION) - volume = ec2.create_volume(Size=80, AvailabilityZone=f"{AWS_REGION}a") + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) + volume = ec2.create_volume(Size=80, AvailabilityZone=f"{AWS_REGION_EU_WEST_1}a") from prowler.providers.aws.services.ec2.ec2_service import EC2 @@ -64,7 +61,7 @@ class Test_ec2_ebs_volume_encryption: assert len(result) == 1 assert result[0].status == "FAIL" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 # Moto creates the volume with None in the tags attribute assert result[0].resource_tags is None assert ( @@ -72,15 +69,15 @@ class Test_ec2_ebs_volume_encryption: ) assert ( result[0].resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:volume/{volume.id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:volume/{volume.id}" ) @mock_ec2 def test_ec2_encrypted_volume(self): # Create EC2 Mocked Resources - ec2 = resource("ec2", region_name=AWS_REGION) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) volume = ec2.create_volume( - Size=80, AvailabilityZone=f"{AWS_REGION}a", Encrypted=True + Size=80, AvailabilityZone=f"{AWS_REGION_EU_WEST_1}a", Encrypted=True ) from prowler.providers.aws.services.ec2.ec2_service import EC2 @@ -105,7 +102,7 @@ class Test_ec2_ebs_volume_encryption: assert len(result) == 1 assert result[0].status == "PASS" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 # Moto creates the volume with None in the tags attribute assert result[0].resource_tags is None assert ( @@ -113,5 +110,5 @@ class Test_ec2_ebs_volume_encryption: ) assert ( result[0].resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:volume/{volume.id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:volume/{volume.id}" ) diff --git a/tests/providers/aws/services/ec2/ec2_ebs_volume_snapshots_exists/ec2_ebs_volume_snapshots_exists_test.py b/tests/providers/aws/services/ec2/ec2_ebs_volume_snapshots_exists/ec2_ebs_volume_snapshots_exists_test.py index a1b30139aa..aa775fa471 100644 --- a/tests/providers/aws/services/ec2/ec2_ebs_volume_snapshots_exists/ec2_ebs_volume_snapshots_exists_test.py +++ b/tests/providers/aws/services/ec2/ec2_ebs_volume_snapshots_exists/ec2_ebs_volume_snapshots_exists_test.py @@ -1,26 +1,26 @@ from unittest import mock -from boto3 import resource, session +from boto3 import resource from mock import patch from moto import mock_ec2 -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" AWS_REGION_AZ = "us-east-1a" -AWS_ACCOUNT_NUMBER = "123456789012" + AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" 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_EU_WEST_1 + ) + regional_client.region = AWS_REGION_EU_WEST_1 + return {AWS_REGION_EU_WEST_1: regional_client} @patch( @@ -28,37 +28,6 @@ def mock_generate_regional_clients(service, audit_info, _): new=mock_generate_regional_clients, ) class Test_ec2_ebs_volume_snapshots_exists: - 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=[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, - ), - ) - - return audit_info - @mock_ec2 def test_no_volumes(self): from prowler.providers.aws.services.ec2.ec2_service import EC2 @@ -84,9 +53,9 @@ class Test_ec2_ebs_volume_snapshots_exists: @mock_ec2 def test_ec2_volume_without_snapshots(self): - ec2 = resource("ec2", region_name=AWS_REGION) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) volume = ec2.create_volume(Size=80, AvailabilityZone=AWS_REGION_AZ) - volume_arn = f"arn:aws:ec2:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:volume/{volume.id}" + volume_arn = f"arn:aws:ec2:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:volume/{volume.id}" from prowler.providers.aws.services.ec2.ec2_service import EC2 current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) @@ -115,14 +84,14 @@ class Test_ec2_ebs_volume_snapshots_exists: assert result[0].resource_id == volume.id assert result[0].resource_arn == volume_arn assert result[0].resource_tags is None - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_ec2 def test_ec2_volume_with_snapshot(self): # Create EC2 Mocked Resources - ec2 = resource("ec2", region_name=AWS_REGION) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) volume = ec2.create_volume(Size=80, AvailabilityZone=AWS_REGION_AZ) - volume_arn = f"arn:aws:ec2:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:volume/{volume.id}" + volume_arn = f"arn:aws:ec2:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:volume/{volume.id}" _ = volume.create_snapshot(Description="testsnap") from prowler.providers.aws.services.ec2.ec2_service import EC2 @@ -153,23 +122,19 @@ class Test_ec2_ebs_volume_snapshots_exists: assert result[0].resource_id == volume.id assert result[0].resource_arn == volume_arn assert result[0].resource_tags is None - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_ec2 def test_ec2_volume_with_and_without_snapshot(self): # Create EC2 Mocked Resources - ec2 = resource("ec2", region_name=AWS_REGION) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) volume1 = ec2.create_volume(Size=80, AvailabilityZone=AWS_REGION_AZ) - volume1_arn = ( - f"arn:aws:ec2:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:volume/{volume1.id}" - ) + volume1_arn = f"arn:aws:ec2:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:volume/{volume1.id}" _ = volume1.create_snapshot(Description="test-snap") volume2 = ec2.create_volume(Size=80, AvailabilityZone=AWS_REGION_AZ) - volume2_arn = ( - f"arn:aws:ec2:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:volume/{volume2.id}" - ) + volume2_arn = f"arn:aws:ec2:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:volume/{volume2.id}" from prowler.providers.aws.services.ec2.ec2_service import EC2 @@ -201,7 +166,7 @@ class Test_ec2_ebs_volume_snapshots_exists: assert res.resource_id == volume1.id assert res.resource_arn == volume1_arn assert res.resource_tags is None - assert res.region == AWS_REGION + assert res.region == AWS_REGION_EU_WEST_1 if res.resource_id == volume2.id: assert res.status == "FAIL" assert ( @@ -211,4 +176,4 @@ class Test_ec2_ebs_volume_snapshots_exists: assert res.resource_id == volume2.id assert res.resource_arn == volume2_arn assert res.resource_tags is None - assert res.region == AWS_REGION + assert res.region == AWS_REGION_EU_WEST_1 diff --git a/tests/providers/aws/services/ec2/ec2_elastic_ip_shodan/ec2_elastic_ip_shodan_test.py b/tests/providers/aws/services/ec2/ec2_elastic_ip_shodan/ec2_elastic_ip_shodan_test.py index b6f01ec079..c7ef437284 100644 --- a/tests/providers/aws/services/ec2/ec2_elastic_ip_shodan/ec2_elastic_ip_shodan_test.py +++ b/tests/providers/aws/services/ec2/ec2_elastic_ip_shodan/ec2_elastic_ip_shodan_test.py @@ -1,63 +1,30 @@ from unittest import mock -from boto3 import client, session +from boto3 import client from moto import mock_ec2 -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) EXAMPLE_AMI_ID = "ami-12c6146b" -AWS_ACCOUNT_NUMBER = "123456789012" -AWS_REGION = "eu-west-1" class Test_ec2_elastic_ip_shodan: - 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=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=["us-east-1", "eu-west-1"], - organizations_metadata=None, - audit_resources=None, - mfa_enabled=False, - audit_metadata=Audit_Metadata( - services_scanned=0, - expected_checks=[], - completed_checks=0, - audit_progress=0, - ), - audit_config={"shodan_api_key": ""}, - ) - - return audit_info - @mock_ec2 def test_ec2_one_instances_no_public_ip(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", AWS_REGION) + ec2_client = client("ec2", AWS_REGION_EU_WEST_1) # Create EC2 Instance ec2_client.run_instances(ImageId=EXAMPLE_AMI_ID, MinCount=1, MaxCount=1) from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) + current_audit_info = set_mocked_aws_audit_info( + [AWS_REGION_EU_WEST_1], audit_config={"shodan_api_key": ""} + ) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -79,13 +46,15 @@ class Test_ec2_elastic_ip_shodan: @mock_ec2 def test_ec2_one_unattached_eip(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", AWS_REGION) + ec2_client = client("ec2", AWS_REGION_EU_WEST_1) # Create EC2 Instance ec2_client.allocate_address(Domain="vpc") from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) + current_audit_info = set_mocked_aws_audit_info( + [AWS_REGION_EU_WEST_1], audit_config={"shodan_api_key": ""} + ) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -107,7 +76,7 @@ class Test_ec2_elastic_ip_shodan: @mock_ec2 def test_ec2_one_attached_eip_no_shodan_api_key(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", AWS_REGION) + ec2_client = client("ec2", AWS_REGION_EU_WEST_1) # Create EC2 Instance instance = ec2_client.run_instances( ImageId=EXAMPLE_AMI_ID, MinCount=1, MaxCount=1 @@ -120,7 +89,9 @@ class Test_ec2_elastic_ip_shodan: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) + current_audit_info = set_mocked_aws_audit_info( + [AWS_REGION_EU_WEST_1], audit_config={"shodan_api_key": ""} + ) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -142,7 +113,7 @@ class Test_ec2_elastic_ip_shodan: @mock_ec2 def test_ec2_one_attached_eip_shodan_api_key(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", AWS_REGION) + ec2_client = client("ec2", AWS_REGION_EU_WEST_1) # Create EC2 Instance instance = ec2_client.run_instances( ImageId=EXAMPLE_AMI_ID, MinCount=1, MaxCount=1 @@ -158,7 +129,9 @@ class Test_ec2_elastic_ip_shodan: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) + current_audit_info = set_mocked_aws_audit_info( + [AWS_REGION_EU_WEST_1], audit_config={"shodan_api_key": ""} + ) current_audit_info.audit_config = {"shodan_api_key": "XXXXXXX"} ports = ["22", "443"] @@ -187,9 +160,9 @@ class Test_ec2_elastic_ip_shodan: assert result[0].resource_id == public_ip assert ( result[0].resource_arn - == f"arn:aws:ec2:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:eip-allocation/{allocation_id}" + == f"arn:aws:ec2:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:eip-allocation/{allocation_id}" ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_tags == [] assert result[0].status == "FAIL" assert ( diff --git a/tests/providers/aws/services/ec2/ec2_elastic_ip_unassigned/ec2_elastic_ip_unassigned_test.py b/tests/providers/aws/services/ec2/ec2_elastic_ip_unassigned/ec2_elastic_ip_unassigned_test.py index f1d0144b38..8929792139 100644 --- a/tests/providers/aws/services/ec2/ec2_elastic_ip_unassigned/ec2_elastic_ip_unassigned_test.py +++ b/tests/providers/aws/services/ec2/ec2_elastic_ip_unassigned/ec2_elastic_ip_unassigned_test.py @@ -9,9 +9,7 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" EXAMPLE_AMI_ID = "ami-12c6146b" -AWS_ACCOUNT_NUMBER = "123456789012" class Test_ec2_elastic_ip_unassigned: @@ -41,7 +39,7 @@ class Test_ec2_elastic_ip_unassigned: @mock_ec2 def test_eip_unassociated(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) allocation_id = ec2_client.allocate_address( Domain="vpc", Address="127.38.43.222" )["AllocationId"] @@ -67,7 +65,7 @@ class Test_ec2_elastic_ip_unassigned: assert len(results) == 1 assert results[0].status == "FAIL" - assert results[0].region == AWS_REGION + assert results[0].region == AWS_REGION_EU_WEST_1 assert results[0].resource_tags == [] assert search( "is not associated", @@ -75,14 +73,14 @@ class Test_ec2_elastic_ip_unassigned: ) assert ( results[0].resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:eip-allocation/{allocation_id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:eip-allocation/{allocation_id}" ) @mock_ec2 def test_eip_associated(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) - ec2_resource = resource("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) + ec2_resource = resource("ec2", region_name=AWS_REGION_EU_WEST_1) reservation = ec2_client.run_instances( ImageId=EXAMPLE_AMI_ID, MinCount=1, MaxCount=1 @@ -118,7 +116,7 @@ class Test_ec2_elastic_ip_unassigned: assert len(results) == 1 assert results[0].status == "PASS" - assert results[0].region == AWS_REGION + assert results[0].region == AWS_REGION_EU_WEST_1 assert results[0].resource_tags == [] assert search( "is associated", @@ -126,5 +124,5 @@ class Test_ec2_elastic_ip_unassigned: ) assert ( results[0].resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:eip-allocation/{eip.allocation_id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:eip-allocation/{eip.allocation_id}" ) diff --git a/tests/providers/aws/services/ec2/ec2_instance_detailed_monitoring_enabled/ec2_instance_detailed_monitoring_enabled_test.py b/tests/providers/aws/services/ec2/ec2_instance_detailed_monitoring_enabled/ec2_instance_detailed_monitoring_enabled_test.py index 989106b572..ef11f1610e 100644 --- a/tests/providers/aws/services/ec2/ec2_instance_detailed_monitoring_enabled/ec2_instance_detailed_monitoring_enabled_test.py +++ b/tests/providers/aws/services/ec2/ec2_instance_detailed_monitoring_enabled/ec2_instance_detailed_monitoring_enabled_test.py @@ -8,9 +8,7 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" EXAMPLE_AMI_ID = "ami-12c6146b" -AWS_ACCOUNT_NUMBER = "123456789012" class Test_ec2_instance_detailed_monitoring_enabled: @@ -39,7 +37,7 @@ class Test_ec2_instance_detailed_monitoring_enabled: @mock_ec2 def test_instance_with_enhanced_monitoring_disabled(self): - ec2 = resource("ec2", region_name=AWS_REGION) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) instance = ec2.create_instances( ImageId=EXAMPLE_AMI_ID, MinCount=1, @@ -67,7 +65,7 @@ class Test_ec2_instance_detailed_monitoring_enabled: assert len(result) == 1 assert result[0].status == "FAIL" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 # Moto fills instance tags with None assert result[0].resource_tags is None assert ( @@ -77,12 +75,12 @@ class Test_ec2_instance_detailed_monitoring_enabled: assert result[0].resource_id == instance.id assert ( result[0].resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:instance/{instance.id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:instance/{instance.id}" ) @mock_ec2 def test_instance_with_enhanced_monitoring_enabled(self): - ec2 = resource("ec2", region_name=AWS_REGION) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) instance = ec2.create_instances( ImageId=EXAMPLE_AMI_ID, MinCount=1, @@ -113,7 +111,7 @@ class Test_ec2_instance_detailed_monitoring_enabled: assert len(result) == 1 assert result[0].status == "PASS" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 # Moto fills instance tags with None assert result[0].resource_tags is None assert ( @@ -123,5 +121,5 @@ class Test_ec2_instance_detailed_monitoring_enabled: assert result[0].resource_id == instance.id assert ( result[0].resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:instance/{instance.id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:instance/{instance.id}" ) diff --git a/tests/providers/aws/services/ec2/ec2_instance_imdsv2_enabled/ec2_instance_imdsv2_enabled_test.py b/tests/providers/aws/services/ec2/ec2_instance_imdsv2_enabled/ec2_instance_imdsv2_enabled_test.py index 1aeddeea47..9fb8662388 100644 --- a/tests/providers/aws/services/ec2/ec2_instance_imdsv2_enabled/ec2_instance_imdsv2_enabled_test.py +++ b/tests/providers/aws/services/ec2/ec2_instance_imdsv2_enabled/ec2_instance_imdsv2_enabled_test.py @@ -9,9 +9,7 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" EXAMPLE_AMI_ID = "ami-12c6146b" -AWS_ACCOUNT_NUMBER = "123456789012" class Test_ec2_instance_imdsv2_enabled: @@ -40,7 +38,7 @@ class Test_ec2_instance_imdsv2_enabled: @mock_ec2 def test_one_compliant_ec2(self): - ec2 = resource("ec2", region_name=AWS_REGION) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) instance = ec2.create_instances( ImageId=EXAMPLE_AMI_ID, MinCount=1, @@ -74,7 +72,7 @@ class Test_ec2_instance_imdsv2_enabled: assert len(result) == 1 assert result[0].status == "PASS" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 # Moto fills instance tags with None assert result[0].resource_tags is None assert search( @@ -84,12 +82,12 @@ class Test_ec2_instance_imdsv2_enabled: assert result[0].resource_id == instance.id assert ( result[0].resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:instance/{instance.id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:instance/{instance.id}" ) @mock_ec2 def test_one_uncompliant_ec2_metadata_server_disabled(self): - ec2 = resource("ec2", region_name=AWS_REGION) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) instance = ec2.create_instances( ImageId=EXAMPLE_AMI_ID, MinCount=1, @@ -123,7 +121,7 @@ class Test_ec2_instance_imdsv2_enabled: assert len(result) == 1 assert result[0].status == "PASS" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 # Moto fills instance tags with None assert result[0].resource_tags is None assert ( @@ -133,12 +131,12 @@ class Test_ec2_instance_imdsv2_enabled: assert result[0].resource_id == instance.id assert ( result[0].resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:instance/{instance.id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:instance/{instance.id}" ) @mock_ec2 def test_one_uncompliant_ec2_metadata_server_enabled(self): - ec2 = resource("ec2", region_name=AWS_REGION) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) instance = ec2.create_instances( ImageId=EXAMPLE_AMI_ID, MinCount=1, @@ -172,7 +170,7 @@ class Test_ec2_instance_imdsv2_enabled: assert len(result) == 1 assert result[0].status == "FAIL" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 # Moto fills instance tags with None assert result[0].resource_tags is None assert ( @@ -182,5 +180,5 @@ class Test_ec2_instance_imdsv2_enabled: assert result[0].resource_id == instance.id assert ( result[0].resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:instance/{instance.id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:instance/{instance.id}" ) diff --git a/tests/providers/aws/services/ec2/ec2_instance_internet_facing_with_instance_profile/ec2_instance_internet_facing_with_instance_profile_test.py b/tests/providers/aws/services/ec2/ec2_instance_internet_facing_with_instance_profile/ec2_instance_internet_facing_with_instance_profile_test.py index 398a001eea..ab874dd0fe 100644 --- a/tests/providers/aws/services/ec2/ec2_instance_internet_facing_with_instance_profile/ec2_instance_internet_facing_with_instance_profile_test.py +++ b/tests/providers/aws/services/ec2/ec2_instance_internet_facing_with_instance_profile/ec2_instance_internet_facing_with_instance_profile_test.py @@ -9,9 +9,7 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" EXAMPLE_AMI_ID = "ami-12c6146b" -AWS_ACCOUNT_NUMBER = "123456789012" class Test_ec2_instance_internet_facing_with_instance_profile: @@ -46,7 +44,7 @@ class Test_ec2_instance_internet_facing_with_instance_profile: _ = iam.create_instance_profile( InstanceProfileName=profile_name, ) - ec2 = resource("ec2", region_name=AWS_REGION) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) vpc = ec2.create_vpc(CidrBlock="10.0.0.0/16") subnet = ec2.create_subnet(VpcId=vpc.id, CidrBlock="10.0.0.0/18") instance = ec2.create_instances( @@ -83,7 +81,7 @@ class Test_ec2_instance_internet_facing_with_instance_profile: assert len(result) == 1 assert result[0].status == "PASS" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_tags is None assert result[0].status_extended == ( f"EC2 Instance {instance.id} is not internet facing with an instance profile." @@ -91,7 +89,7 @@ class Test_ec2_instance_internet_facing_with_instance_profile: assert result[0].resource_id == instance.id assert ( result[0].resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:instance/{instance.id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:instance/{instance.id}" ) @mock_iam @@ -102,7 +100,7 @@ class Test_ec2_instance_internet_facing_with_instance_profile: _ = iam.create_instance_profile( InstanceProfileName=profile_name, ) - ec2 = resource("ec2", region_name=AWS_REGION) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) vpc = ec2.create_vpc(CidrBlock="10.0.0.0/16") subnet = ec2.create_subnet(VpcId=vpc.id, CidrBlock="10.0.0.0/18") instance = ec2.create_instances( @@ -139,7 +137,7 @@ class Test_ec2_instance_internet_facing_with_instance_profile: assert len(result) == 1 assert result[0].status == "FAIL" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_tags is None assert search( "is internet-facing with Instance Profile", result[0].status_extended @@ -147,5 +145,5 @@ class Test_ec2_instance_internet_facing_with_instance_profile: assert result[0].resource_id == instance.id assert ( result[0].resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:instance/{instance.id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:instance/{instance.id}" ) diff --git a/tests/providers/aws/services/ec2/ec2_instance_managed_by_ssm/ec2_instance_managed_by_ssm_test.py b/tests/providers/aws/services/ec2/ec2_instance_managed_by_ssm/ec2_instance_managed_by_ssm_test.py index 053f230445..273899ae4b 100644 --- a/tests/providers/aws/services/ec2/ec2_instance_managed_by_ssm/ec2_instance_managed_by_ssm_test.py +++ b/tests/providers/aws/services/ec2/ec2_instance_managed_by_ssm/ec2_instance_managed_by_ssm_test.py @@ -5,13 +5,12 @@ from moto import mock_ec2 from prowler.providers.aws.services.ssm.ssm_service import ManagedInstance from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" EXAMPLE_AMI_ID = "ami-12c6146b" -AWS_ACCOUNT_NUMBER = "123456789012" class Test_ec2_instance_managed_by_ssm_test: @@ -52,7 +51,7 @@ class Test_ec2_instance_managed_by_ssm_test: ssm_client = mock.MagicMock ssm_client.managed_instances = {} - ec2 = resource("ec2", region_name=AWS_REGION) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) instance = ec2.create_instances( ImageId=EXAMPLE_AMI_ID, MinCount=1, @@ -90,7 +89,7 @@ class Test_ec2_instance_managed_by_ssm_test: assert len(result) == 1 assert result[0].status == "FAIL" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_tags is None assert ( result[0].status_extended @@ -100,7 +99,7 @@ class Test_ec2_instance_managed_by_ssm_test: @mock_ec2 def test_ec2_instance_managed_by_ssm_compliance_instance(self): - ec2 = resource("ec2", region_name=AWS_REGION) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) instance = ec2.create_instances( ImageId=EXAMPLE_AMI_ID, MinCount=1, @@ -111,9 +110,9 @@ class Test_ec2_instance_managed_by_ssm_test: ssm_client = mock.MagicMock ssm_client.managed_instances = { instance.id: ManagedInstance( - arn=f"arn:aws:ec2:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:instance/{instance.id}", + arn=f"arn:aws:ec2:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:instance/{instance.id}", id=instance.id, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) } @@ -144,7 +143,7 @@ class Test_ec2_instance_managed_by_ssm_test: assert len(result) == 1 assert result[0].status == "PASS" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_tags is None assert ( result[0].status_extended diff --git a/tests/providers/aws/services/ec2/ec2_instance_older_than_specific_days/ec2_instance_older_than_specific_days_test.py b/tests/providers/aws/services/ec2/ec2_instance_older_than_specific_days/ec2_instance_older_than_specific_days_test.py index bb8e7b7621..7a6ee3b137 100644 --- a/tests/providers/aws/services/ec2/ec2_instance_older_than_specific_days/ec2_instance_older_than_specific_days_test.py +++ b/tests/providers/aws/services/ec2/ec2_instance_older_than_specific_days/ec2_instance_older_than_specific_days_test.py @@ -11,9 +11,7 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" EXAMPLE_AMI_ID = "ami-12c6146b" -AWS_ACCOUNT_NUMBER = "123456789012" class Test_ec2_instance_older_than_specific_days: @@ -43,7 +41,7 @@ class Test_ec2_instance_older_than_specific_days: @mock_ec2 def test_one_compliant_ec2(self): - ec2 = resource("ec2", region_name=AWS_REGION) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) instance = ec2.create_instances( ImageId=EXAMPLE_AMI_ID, MinCount=1, @@ -72,7 +70,7 @@ class Test_ec2_instance_older_than_specific_days: assert len(result) == 1 assert result[0].status == "PASS" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_tags is None assert search( f"EC2 Instance {instance.id} is not older", result[0].status_extended @@ -80,12 +78,12 @@ class Test_ec2_instance_older_than_specific_days: assert result[0].resource_id == instance.id assert ( result[0].resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:instance/{instance.id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:instance/{instance.id}" ) @mock_ec2 def test_one_old_ec2(self): - ec2 = resource("ec2", region_name=AWS_REGION) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) instance = ec2.create_instances( ImageId=EXAMPLE_AMI_ID, MinCount=1, @@ -118,7 +116,7 @@ class Test_ec2_instance_older_than_specific_days: assert len(result) == 1 assert result[0].status == "FAIL" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_tags is None assert search( f"EC2 Instance {instance.id} is older", result[0].status_extended @@ -126,5 +124,5 @@ class Test_ec2_instance_older_than_specific_days: assert result[0].resource_id == instance.id assert ( result[0].resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:instance/{instance.id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:instance/{instance.id}" ) diff --git a/tests/providers/aws/services/ec2/ec2_instance_profile_attached/ec2_instance_profile_attached_test.py b/tests/providers/aws/services/ec2/ec2_instance_profile_attached/ec2_instance_profile_attached_test.py index 24eab39624..4adffe9c7c 100644 --- a/tests/providers/aws/services/ec2/ec2_instance_profile_attached/ec2_instance_profile_attached_test.py +++ b/tests/providers/aws/services/ec2/ec2_instance_profile_attached/ec2_instance_profile_attached_test.py @@ -9,9 +9,7 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" EXAMPLE_AMI_ID = "ami-12c6146b" -AWS_ACCOUNT_NUMBER = "123456789012" class Test_ec2_instance_profile_attached: @@ -46,7 +44,7 @@ class Test_ec2_instance_profile_attached: _ = iam.create_instance_profile( InstanceProfileName=profile_name, ) - ec2 = resource("ec2", region_name=AWS_REGION) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) vpc = ec2.create_vpc(CidrBlock="10.0.0.0/16") subnet = ec2.create_subnet(VpcId=vpc.id, CidrBlock="10.0.0.0/18") instance = ec2.create_instances( @@ -83,7 +81,7 @@ class Test_ec2_instance_profile_attached: assert len(result) == 1 assert result[0].status == "PASS" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_tags is None assert search( "associated with Instance Profile Role", @@ -92,12 +90,12 @@ class Test_ec2_instance_profile_attached: assert result[0].resource_id == instance.id assert ( result[0].resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:instance/{instance.id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:instance/{instance.id}" ) @mock_ec2 def test_one_non_compliant_ec2(self): - ec2 = resource("ec2", region_name=AWS_REGION) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) vpc = ec2.create_vpc(CidrBlock="10.0.0.0/16") subnet = ec2.create_subnet(VpcId=vpc.id, CidrBlock="10.0.0.0/18") instance = ec2.create_instances( @@ -133,7 +131,7 @@ class Test_ec2_instance_profile_attached: assert len(result) == 1 assert result[0].status == "FAIL" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_tags is None assert search( "not associated with an Instance Profile", result[0].status_extended @@ -141,5 +139,5 @@ class Test_ec2_instance_profile_attached: assert result[0].resource_id == instance.id assert ( result[0].resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:instance/{instance.id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:instance/{instance.id}" ) diff --git a/tests/providers/aws/services/ec2/ec2_instance_public_ip/ec2_instance_public_ip_test.py b/tests/providers/aws/services/ec2/ec2_instance_public_ip/ec2_instance_public_ip_test.py index 043b9c46a5..96970f6f88 100644 --- a/tests/providers/aws/services/ec2/ec2_instance_public_ip/ec2_instance_public_ip_test.py +++ b/tests/providers/aws/services/ec2/ec2_instance_public_ip/ec2_instance_public_ip_test.py @@ -9,9 +9,7 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" EXAMPLE_AMI_ID = "ami-12c6146b" -AWS_ACCOUNT_NUMBER = "123456789012" class Test_ec2_instance_public_ip: @@ -40,7 +38,7 @@ class Test_ec2_instance_public_ip: @mock_ec2 def test_one_compliant_ec2(self): - ec2 = resource("ec2", region_name=AWS_REGION) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) vpc = ec2.create_vpc(CidrBlock="10.0.0.0/16") subnet = ec2.create_subnet(VpcId=vpc.id, CidrBlock="10.0.0.0/18") instance = ec2.create_instances( @@ -76,7 +74,7 @@ class Test_ec2_instance_public_ip: assert len(result) == 1 assert result[0].status == "PASS" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_tags is None assert search( f"EC2 Instance {instance.id} does not have a Public IP.", @@ -85,12 +83,12 @@ class Test_ec2_instance_public_ip: assert result[0].resource_id == instance.id assert ( result[0].resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:instance/{instance.id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:instance/{instance.id}" ) @mock_ec2 def test_one_ec2_with_public_ip(self): - ec2 = resource("ec2", region_name=AWS_REGION) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) vpc = ec2.create_vpc(CidrBlock="10.0.0.0/16") subnet = ec2.create_subnet(VpcId=vpc.id, CidrBlock="10.0.0.0/18") instance = ec2.create_instances( @@ -126,7 +124,7 @@ class Test_ec2_instance_public_ip: assert len(result) == 1 assert result[0].status == "FAIL" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_tags is None assert search( f"EC2 Instance {instance.id} has a Public IP.", @@ -135,5 +133,5 @@ class Test_ec2_instance_public_ip: assert result[0].resource_id == instance.id assert ( result[0].resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:instance/{instance.id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:instance/{instance.id}" ) diff --git a/tests/providers/aws/services/ec2/ec2_instance_secrets_user_data/ec2_instance_secrets_user_data_test.py b/tests/providers/aws/services/ec2/ec2_instance_secrets_user_data/ec2_instance_secrets_user_data_test.py index abc787c9f8..334ec9042d 100644 --- a/tests/providers/aws/services/ec2/ec2_instance_secrets_user_data/ec2_instance_secrets_user_data_test.py +++ b/tests/providers/aws/services/ec2/ec2_instance_secrets_user_data/ec2_instance_secrets_user_data_test.py @@ -10,9 +10,8 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" EXAMPLE_AMI_ID = "ami-12c6146b" -AWS_ACCOUNT_NUMBER = "123456789012" + ACTUAL_DIRECTORY = Path(path.dirname(path.realpath(__file__))) FIXTURES_DIR_NAME = "fixtures" @@ -44,7 +43,7 @@ class Test_ec2_instance_secrets_user_data: @mock_ec2 def test_one_ec2_with_no_secrets(self): - ec2 = resource("ec2", region_name=AWS_REGION) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) instance = ec2.create_instances( ImageId=EXAMPLE_AMI_ID, MinCount=1, @@ -79,14 +78,14 @@ class Test_ec2_instance_secrets_user_data: assert result[0].resource_id == instance.id assert ( result[0].resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:instance/{instance.id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:instance/{instance.id}" ) assert result[0].resource_tags is None - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_ec2 def test_one_ec2_with_secrets(self): - ec2 = resource("ec2", region_name=AWS_REGION) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) instance = ec2.create_instances( ImageId=EXAMPLE_AMI_ID, MinCount=1, @@ -121,10 +120,10 @@ class Test_ec2_instance_secrets_user_data: assert result[0].resource_id == instance.id assert ( result[0].resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:instance/{instance.id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:instance/{instance.id}" ) assert result[0].resource_tags is None - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_ec2 def test_one_ec2_file_with_secrets(self): @@ -134,7 +133,7 @@ class Test_ec2_instance_secrets_user_data: "r", ) secrets = f.read() - ec2 = resource("ec2", region_name=AWS_REGION) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) instance = ec2.create_instances( ImageId=EXAMPLE_AMI_ID, MinCount=1, MaxCount=1, UserData=secrets )[0] @@ -166,14 +165,14 @@ class Test_ec2_instance_secrets_user_data: assert result[0].resource_id == instance.id assert ( result[0].resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:instance/{instance.id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:instance/{instance.id}" ) assert result[0].resource_tags is None - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_ec2 def test_one_launch_configurations_without_user_data(self): - ec2 = resource("ec2", region_name=AWS_REGION) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) instance = ec2.create_instances( ImageId=EXAMPLE_AMI_ID, MinCount=1, MaxCount=1, UserData="" )[0] @@ -205,10 +204,10 @@ class Test_ec2_instance_secrets_user_data: assert result[0].resource_id == instance.id assert ( result[0].resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:instance/{instance.id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:instance/{instance.id}" ) assert result[0].resource_tags is None - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_ec2 def test_one_ec2_file_with_secrets_gzip(self): @@ -218,7 +217,7 @@ class Test_ec2_instance_secrets_user_data: "rb", ) secrets = f.read() - ec2 = resource("ec2", region_name=AWS_REGION) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) instance = ec2.create_instances( ImageId=EXAMPLE_AMI_ID, MinCount=1, MaxCount=1, UserData=secrets )[0] @@ -250,7 +249,7 @@ class Test_ec2_instance_secrets_user_data: assert result[0].resource_id == instance.id assert ( result[0].resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:instance/{instance.id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:instance/{instance.id}" ) assert result[0].resource_tags is None - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 diff --git a/tests/providers/aws/services/ec2/ec2_networkacl_allow_ingress_any_port/ec2_networkacl_allow_ingress_any_port_test.py b/tests/providers/aws/services/ec2/ec2_networkacl_allow_ingress_any_port/ec2_networkacl_allow_ingress_any_port_test.py index bf01555003..2bb6be5bde 100644 --- a/tests/providers/aws/services/ec2/ec2_networkacl_allow_ingress_any_port/ec2_networkacl_allow_ingress_any_port_test.py +++ b/tests/providers/aws/services/ec2/ec2_networkacl_allow_ingress_any_port/ec2_networkacl_allow_ingress_any_port_test.py @@ -8,9 +8,6 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_ec2_networkacl_allow_ingress_any_port: @mock_ec2 @@ -63,7 +60,7 @@ class Test_ec2_networkacl_allow_ingress_any_port: # by default nacls are public assert result[0].status == "FAIL" - assert result[0].region in (AWS_REGION, "eu-west-1") + assert result[0].region in (AWS_REGION_EU_WEST_1, "eu-west-1") assert result[0].resource_tags == [] assert ( result[0].status_extended @@ -73,7 +70,7 @@ class Test_ec2_networkacl_allow_ingress_any_port: @mock_ec2 def test_ec2_non_compliant_nacl(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) vpc_id = ec2_client.create_vpc(CidrBlock="10.0.0.0/16")["Vpc"]["VpcId"] nacl_id = ec2_client.create_network_acl(VpcId=vpc_id)["NetworkAcl"][ "NetworkAclId" @@ -112,7 +109,7 @@ class Test_ec2_networkacl_allow_ingress_any_port: for nacl in result: if nacl.resource_id == nacl_id: assert nacl.status == "FAIL" - assert result[0].region in (AWS_REGION, "eu-west-1") + assert result[0].region in (AWS_REGION_EU_WEST_1, "eu-west-1") assert result[0].resource_tags == [] assert ( nacl.status_extended @@ -120,13 +117,13 @@ class Test_ec2_networkacl_allow_ingress_any_port: ) assert ( nacl.resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:network-acl/{nacl_id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:network-acl/{nacl_id}" ) @mock_ec2 def test_ec2_compliant_nacl(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) vpc_id = ec2_client.create_vpc(CidrBlock="10.0.0.0/16")["Vpc"]["VpcId"] nacl_id = ec2_client.create_network_acl(VpcId=vpc_id)["NetworkAcl"][ "NetworkAclId" @@ -165,7 +162,7 @@ class Test_ec2_networkacl_allow_ingress_any_port: for nacl in result: if nacl.resource_id == nacl_id: assert nacl.status == "PASS" - assert result[0].region in (AWS_REGION, "eu-west-1") + assert result[0].region in (AWS_REGION_EU_WEST_1, "eu-west-1") assert result[0].resource_tags == [] assert ( nacl.status_extended @@ -173,13 +170,13 @@ class Test_ec2_networkacl_allow_ingress_any_port: ) assert ( nacl.resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:network-acl/{nacl_id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:network-acl/{nacl_id}" ) @mock_ec2 def test_ec2_non_compliant_nacl_ignoring(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) vpc_id = ec2_client.create_vpc(CidrBlock="10.0.0.0/16")["Vpc"]["VpcId"] nacl_id = ec2_client.create_network_acl(VpcId=vpc_id)["NetworkAcl"][ "NetworkAclId" @@ -218,7 +215,7 @@ class Test_ec2_networkacl_allow_ingress_any_port: @mock_ec2 def test_ec2_non_compliant_nacl_ignoring_with_sgs(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) vpc_id = ec2_client.create_vpc(CidrBlock="10.0.0.0/16")["Vpc"]["VpcId"] nacl_id = ec2_client.create_network_acl(VpcId=vpc_id)["NetworkAcl"][ "NetworkAclId" @@ -259,7 +256,7 @@ class Test_ec2_networkacl_allow_ingress_any_port: for nacl in result: if nacl.resource_id == nacl_id: assert nacl.status == "FAIL" - assert result[0].region in (AWS_REGION, "eu-west-1") + assert result[0].region in (AWS_REGION_EU_WEST_1, "eu-west-1") assert result[0].resource_tags == [] assert ( nacl.status_extended @@ -267,5 +264,5 @@ class Test_ec2_networkacl_allow_ingress_any_port: ) assert ( nacl.resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:network-acl/{nacl_id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:network-acl/{nacl_id}" ) diff --git a/tests/providers/aws/services/ec2/ec2_networkacl_allow_ingress_tcp_port_22/ec2_networkacl_allow_ingress_tcp_port_22_test.py b/tests/providers/aws/services/ec2/ec2_networkacl_allow_ingress_tcp_port_22/ec2_networkacl_allow_ingress_tcp_port_22_test.py index d555cebc44..a1e462920f 100644 --- a/tests/providers/aws/services/ec2/ec2_networkacl_allow_ingress_tcp_port_22/ec2_networkacl_allow_ingress_tcp_port_22_test.py +++ b/tests/providers/aws/services/ec2/ec2_networkacl_allow_ingress_tcp_port_22/ec2_networkacl_allow_ingress_tcp_port_22_test.py @@ -8,9 +8,6 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_ec2_networkacl_allow_ingress_tcp_port_22: @mock_ec2 @@ -63,7 +60,7 @@ class Test_ec2_networkacl_allow_ingress_tcp_port_22: # by default nacls are public assert result[0].status == "FAIL" - assert result[0].region in (AWS_REGION, "eu-west-1") + assert result[0].region in (AWS_REGION_EU_WEST_1, "eu-west-1") assert result[0].resource_tags == [] assert ( result[0].status_extended @@ -73,7 +70,7 @@ class Test_ec2_networkacl_allow_ingress_tcp_port_22: @mock_ec2 def test_ec2_non_compliant_nacl(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) vpc_id = ec2_client.create_vpc(CidrBlock="10.0.0.0/16")["Vpc"]["VpcId"] nacl_id = ec2_client.create_network_acl(VpcId=vpc_id)["NetworkAcl"][ "NetworkAclId" @@ -113,7 +110,7 @@ class Test_ec2_networkacl_allow_ingress_tcp_port_22: for nacl in result: if nacl.resource_id == nacl_id: assert nacl.status == "FAIL" - assert result[0].region in (AWS_REGION, "eu-west-1") + assert result[0].region in (AWS_REGION_EU_WEST_1, "eu-west-1") assert result[0].resource_tags == [] assert ( nacl.status_extended @@ -121,13 +118,13 @@ class Test_ec2_networkacl_allow_ingress_tcp_port_22: ) assert ( nacl.resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:network-acl/{nacl_id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:network-acl/{nacl_id}" ) @mock_ec2 def test_ec2_compliant_nacl(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) vpc_id = ec2_client.create_vpc(CidrBlock="10.0.0.0/16")["Vpc"]["VpcId"] nacl_id = ec2_client.create_network_acl(VpcId=vpc_id)["NetworkAcl"][ "NetworkAclId" @@ -167,7 +164,7 @@ class Test_ec2_networkacl_allow_ingress_tcp_port_22: for nacl in result: if nacl.resource_id == nacl_id: assert nacl.status == "PASS" - assert result[0].region in (AWS_REGION, "eu-west-1") + assert result[0].region in (AWS_REGION_EU_WEST_1, "eu-west-1") assert result[0].resource_tags == [] assert ( nacl.status_extended @@ -175,13 +172,13 @@ class Test_ec2_networkacl_allow_ingress_tcp_port_22: ) assert ( nacl.resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:network-acl/{nacl_id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:network-acl/{nacl_id}" ) @mock_ec2 def test_ec2_non_compliant_nacl_ignoring(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) vpc_id = ec2_client.create_vpc(CidrBlock="10.0.0.0/16")["Vpc"]["VpcId"] nacl_id = ec2_client.create_network_acl(VpcId=vpc_id)["NetworkAcl"][ "NetworkAclId" @@ -220,7 +217,7 @@ class Test_ec2_networkacl_allow_ingress_tcp_port_22: @mock_ec2 def test_ec2_non_compliant_nacl_ignoring_with_sgs(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) vpc_id = ec2_client.create_vpc(CidrBlock="10.0.0.0/16")["Vpc"]["VpcId"] nacl_id = ec2_client.create_network_acl(VpcId=vpc_id)["NetworkAcl"][ "NetworkAclId" @@ -261,7 +258,7 @@ class Test_ec2_networkacl_allow_ingress_tcp_port_22: for nacl in result: if nacl.resource_id == nacl_id: assert nacl.status == "FAIL" - assert result[0].region in (AWS_REGION, "eu-west-1") + assert result[0].region in (AWS_REGION_EU_WEST_1, "eu-west-1") assert result[0].resource_tags == [] assert ( nacl.status_extended @@ -269,5 +266,5 @@ class Test_ec2_networkacl_allow_ingress_tcp_port_22: ) assert ( nacl.resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:network-acl/{nacl_id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:network-acl/{nacl_id}" ) diff --git a/tests/providers/aws/services/ec2/ec2_networkacl_allow_ingress_tcp_port_3389/ec2_networkacl_allow_ingress_tcp_port_3389_test.py b/tests/providers/aws/services/ec2/ec2_networkacl_allow_ingress_tcp_port_3389/ec2_networkacl_allow_ingress_tcp_port_3389_test.py index 55c4545a5b..157ddbc4b0 100644 --- a/tests/providers/aws/services/ec2/ec2_networkacl_allow_ingress_tcp_port_3389/ec2_networkacl_allow_ingress_tcp_port_3389_test.py +++ b/tests/providers/aws/services/ec2/ec2_networkacl_allow_ingress_tcp_port_3389/ec2_networkacl_allow_ingress_tcp_port_3389_test.py @@ -8,9 +8,6 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_ec2_networkacl_allow_ingress_tcp_port_3389: @mock_ec2 @@ -63,7 +60,7 @@ class Test_ec2_networkacl_allow_ingress_tcp_port_3389: # by default nacls are public assert result[0].status == "FAIL" - assert result[0].region in (AWS_REGION, "eu-west-1") + assert result[0].region in (AWS_REGION_EU_WEST_1, "eu-west-1") assert result[0].resource_tags == [] assert ( result[0].status_extended @@ -73,7 +70,7 @@ class Test_ec2_networkacl_allow_ingress_tcp_port_3389: @mock_ec2 def test_ec2_non_compliant_nacl(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) vpc_id = ec2_client.create_vpc(CidrBlock="10.0.0.0/16")["Vpc"]["VpcId"] nacl_id = ec2_client.create_network_acl(VpcId=vpc_id)["NetworkAcl"][ "NetworkAclId" @@ -113,7 +110,7 @@ class Test_ec2_networkacl_allow_ingress_tcp_port_3389: for nacl in result: if nacl.resource_id == nacl_id: assert nacl.status == "FAIL" - assert result[0].region in (AWS_REGION, "eu-west-1") + assert result[0].region in (AWS_REGION_EU_WEST_1, "eu-west-1") assert result[0].resource_tags == [] assert ( nacl.status_extended @@ -121,13 +118,13 @@ class Test_ec2_networkacl_allow_ingress_tcp_port_3389: ) assert ( nacl.resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:network-acl/{nacl_id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:network-acl/{nacl_id}" ) @mock_ec2 def test_ec2_compliant_nacl(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) vpc_id = ec2_client.create_vpc(CidrBlock="10.0.0.0/16")["Vpc"]["VpcId"] nacl_id = ec2_client.create_network_acl(VpcId=vpc_id)["NetworkAcl"][ "NetworkAclId" @@ -167,7 +164,7 @@ class Test_ec2_networkacl_allow_ingress_tcp_port_3389: for nacl in result: if nacl.resource_id == nacl_id: assert nacl.status == "PASS" - assert result[0].region in (AWS_REGION, "eu-west-1") + assert result[0].region in (AWS_REGION_EU_WEST_1, "eu-west-1") assert result[0].resource_tags == [] assert ( nacl.status_extended @@ -175,13 +172,13 @@ class Test_ec2_networkacl_allow_ingress_tcp_port_3389: ) assert ( nacl.resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:network-acl/{nacl_id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:network-acl/{nacl_id}" ) @mock_ec2 def test_ec2_non_compliant_nacl_ignoring(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) vpc_id = ec2_client.create_vpc(CidrBlock="10.0.0.0/16")["Vpc"]["VpcId"] nacl_id = ec2_client.create_network_acl(VpcId=vpc_id)["NetworkAcl"][ "NetworkAclId" @@ -220,7 +217,7 @@ class Test_ec2_networkacl_allow_ingress_tcp_port_3389: @mock_ec2 def test_ec2_non_compliant_nacl_ignoring_with_sgs(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) vpc_id = ec2_client.create_vpc(CidrBlock="10.0.0.0/16")["Vpc"]["VpcId"] nacl_id = ec2_client.create_network_acl(VpcId=vpc_id)["NetworkAcl"][ "NetworkAclId" @@ -261,7 +258,7 @@ class Test_ec2_networkacl_allow_ingress_tcp_port_3389: for nacl in result: if nacl.resource_id == nacl_id: assert nacl.status == "FAIL" - assert result[0].region in (AWS_REGION, "eu-west-1") + assert result[0].region in (AWS_REGION_EU_WEST_1, "eu-west-1") assert result[0].resource_tags == [] assert ( nacl.status_extended @@ -269,5 +266,5 @@ class Test_ec2_networkacl_allow_ingress_tcp_port_3389: ) assert ( nacl.resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:network-acl/{nacl_id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:network-acl/{nacl_id}" ) diff --git a/tests/providers/aws/services/ec2/ec2_securitygroup_allow_ingress_from_internet_to_any_port/ec2_securitygroup_allow_ingress_from_internet_to_any_port_test.py b/tests/providers/aws/services/ec2/ec2_securitygroup_allow_ingress_from_internet_to_any_port/ec2_securitygroup_allow_ingress_from_internet_to_any_port_test.py index 4cf1009994..c6d8e8171d 100644 --- a/tests/providers/aws/services/ec2/ec2_securitygroup_allow_ingress_from_internet_to_any_port/ec2_securitygroup_allow_ingress_from_internet_to_any_port_test.py +++ b/tests/providers/aws/services/ec2/ec2_securitygroup_allow_ingress_from_internet_to_any_port/ec2_securitygroup_allow_ingress_from_internet_to_any_port_test.py @@ -1,63 +1,30 @@ 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.vpc.vpc_service import VPC -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_ec2_securitygroup_allow_ingress_from_internet_to_any_port: - 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=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=["us-east-1", "eu-west-1"], - organizations_metadata=None, - audit_resources=None, - mfa_enabled=False, - audit_metadata=Audit_Metadata( - services_scanned=0, - expected_checks=[ - "ec2_securitygroup_allow_ingress_from_internet_to_any_port" - ], - completed_checks=0, - audit_progress=0, - ), - ) - - return audit_info - @mock_ec2 def test_ec2_default_sgs(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.create_vpc(CidrBlock="10.0.0.0/16") from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) + current_audit_info = set_mocked_aws_audit_info( + [AWS_REGION_EU_WEST_1], + expected_checks=[ + "ec2_securitygroup_allow_ingress_from_internet_to_any_port" + ], + ) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -87,7 +54,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_any_port: @mock_ec2 def test_ec2_non_compliant_default_sg(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.create_vpc(CidrBlock="10.0.0.0/16") default_sg = ec2_client.describe_security_groups(GroupNames=["default"])[ "SecurityGroups" @@ -106,7 +73,12 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_any_port: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) + current_audit_info = set_mocked_aws_audit_info( + [AWS_REGION_EU_WEST_1], + expected_checks=[ + "ec2_securitygroup_allow_ingress_from_internet_to_any_port" + ], + ) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -132,14 +104,14 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_any_port: for sg in result: if sg.resource_id == default_sg_id: assert sg.status == "FAIL" - assert sg.region == AWS_REGION + assert sg.region == AWS_REGION_EU_WEST_1 assert ( sg.status_extended == f"Security group {default_sg_name} ({default_sg_id}) has all ports open to the Internet." ) assert ( sg.resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:security-group/{default_sg_id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:security-group/{default_sg_id}" ) assert sg.resource_details == default_sg_name assert sg.resource_tags == [] @@ -147,7 +119,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_any_port: @mock_ec2 def test_ec2_compliant_default_sg(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.create_vpc(CidrBlock="10.0.0.0/16") default_sg = ec2_client.describe_security_groups(GroupNames=["default"])[ "SecurityGroups" @@ -166,7 +138,12 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_any_port: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) + current_audit_info = set_mocked_aws_audit_info( + [AWS_REGION_EU_WEST_1], + expected_checks=[ + "ec2_securitygroup_allow_ingress_from_internet_to_any_port" + ], + ) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -192,14 +169,14 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_any_port: for sg in result: if sg.resource_id == default_sg_id: assert sg.status == "PASS" - assert sg.region == AWS_REGION + assert sg.region == AWS_REGION_EU_WEST_1 assert ( sg.status_extended == f"Security group {default_sg_name} ({default_sg_id}) does not have all ports open to the Internet." ) assert ( sg.resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:security-group/{default_sg_id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:security-group/{default_sg_id}" ) assert sg.resource_details == default_sg_name assert sg.resource_tags == [] @@ -207,7 +184,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_any_port: @mock_ec2 def test_ec2_compliant_default_sg_only_open_to_one_port(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.create_vpc(CidrBlock="10.0.0.0/16") default_sg = ec2_client.describe_security_groups(GroupNames=["default"])[ "SecurityGroups" @@ -231,7 +208,12 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_any_port: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) + current_audit_info = set_mocked_aws_audit_info( + [AWS_REGION_EU_WEST_1], + expected_checks=[ + "ec2_securitygroup_allow_ingress_from_internet_to_any_port" + ], + ) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -257,14 +239,14 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_any_port: for sg in result: if sg.resource_id == default_sg_id: assert sg.status == "PASS" - assert sg.region == AWS_REGION + assert sg.region == AWS_REGION_EU_WEST_1 assert ( sg.status_extended == f"Security group {default_sg_name} ({default_sg_id}) does not have all ports open to the Internet." ) assert ( sg.resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:security-group/{default_sg_id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:security-group/{default_sg_id}" ) assert sg.resource_details == default_sg_name assert sg.resource_tags == [] @@ -272,12 +254,17 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_any_port: @mock_ec2 def test_ec2_default_sgs_ignoring(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.create_vpc(CidrBlock="10.0.0.0/16") from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) + current_audit_info = set_mocked_aws_audit_info( + [AWS_REGION_EU_WEST_1], + expected_checks=[ + "ec2_securitygroup_allow_ingress_from_internet_to_any_port" + ], + ) current_audit_info.ignore_unused_services = True with mock.patch( @@ -303,11 +290,11 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_any_port: @mock_ec2 def test_ec2_default_sgs_ignoring_vpc_in_use(self): # Create EC2 Mocked Resources - ec2 = resource("ec2", region_name=AWS_REGION) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) vpc = ec2.create_vpc(CidrBlock="10.0.0.0/16") subnet = ec2.create_subnet(VpcId=vpc.id, CidrBlock="10.0.0.0/18") ec2.create_network_interface(SubnetId=subnet.id) - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) default_sg = ec2_client.describe_security_groups(GroupNames=["default"])[ "SecurityGroups" ][0] @@ -315,7 +302,12 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_any_port: default_sg["GroupName"] from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) + current_audit_info = set_mocked_aws_audit_info( + [AWS_REGION_EU_WEST_1], + expected_checks=[ + "ec2_securitygroup_allow_ingress_from_internet_to_any_port" + ], + ) current_audit_info.ignore_unused_services = True with mock.patch( @@ -338,4 +330,4 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_any_port: assert len(result) == 1 assert result[0].status == "PASS" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 diff --git a/tests/providers/aws/services/ec2/ec2_securitygroup_allow_ingress_from_internet_to_port_mongodb_27017_27018/ec2_securitygroup_allow_ingress_from_internet_to_port_mongodb_27017_27018_test.py b/tests/providers/aws/services/ec2/ec2_securitygroup_allow_ingress_from_internet_to_port_mongodb_27017_27018/ec2_securitygroup_allow_ingress_from_internet_to_port_mongodb_27017_27018_test.py index cf4a13da5c..19f3f4e4f8 100644 --- a/tests/providers/aws/services/ec2/ec2_securitygroup_allow_ingress_from_internet_to_port_mongodb_27017_27018/ec2_securitygroup_allow_ingress_from_internet_to_port_mongodb_27017_27018_test.py +++ b/tests/providers/aws/services/ec2/ec2_securitygroup_allow_ingress_from_internet_to_port_mongodb_27017_27018/ec2_securitygroup_allow_ingress_from_internet_to_port_mongodb_27017_27018_test.py @@ -9,15 +9,12 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_ec2_securitygroup_allow_ingress_from_internet_to_port_mongodb_27017_27018: @mock_ec2 def test_ec2_default_sgs(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.create_vpc(CidrBlock="10.0.0.0/16") from prowler.providers.aws.services.ec2.ec2_service import EC2 @@ -54,7 +51,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_port_mongodb_27017_2 @mock_ec2 def test_ec2_non_compliant_default_sg(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.create_vpc(CidrBlock="10.0.0.0/16") default_sg = ec2_client.describe_security_groups(GroupNames=["default"])[ "SecurityGroups" @@ -103,14 +100,14 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_port_mongodb_27017_2 for sg in result: if sg.resource_id == default_sg_id: assert sg.status == "FAIL" - assert sg.region == AWS_REGION + assert sg.region == AWS_REGION_EU_WEST_1 assert ( sg.status_extended == f"Security group {default_sg_name} ({default_sg_id}) has MongoDB ports 27017 and 27018 open to the Internet." ) assert ( sg.resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:security-group/{default_sg_id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:security-group/{default_sg_id}" ) assert sg.resource_details == default_sg_name assert sg.resource_tags == [] @@ -118,7 +115,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_port_mongodb_27017_2 @mock_ec2 def test_ec2_compliant_default_sg(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.create_vpc(CidrBlock="10.0.0.0/16") default_sg = ec2_client.describe_security_groups(GroupNames=["default"])[ "SecurityGroups" @@ -167,14 +164,14 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_port_mongodb_27017_2 for sg in result: if sg.resource_id == default_sg_id: assert sg.status == "PASS" - assert sg.region == AWS_REGION + assert sg.region == AWS_REGION_EU_WEST_1 assert ( sg.status_extended == f"Security group {default_sg_name} ({default_sg_id}) does not have MongoDB ports 27017 and 27018 open to the Internet." ) assert ( sg.resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:security-group/{default_sg_id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:security-group/{default_sg_id}" ) assert sg.resource_details == default_sg_name assert sg.resource_tags == [] @@ -182,7 +179,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_port_mongodb_27017_2 @mock_ec2 def test_ec2_default_sgs_ignoring(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.create_vpc(CidrBlock="10.0.0.0/16") from prowler.providers.aws.services.ec2.ec2_service import EC2 @@ -215,11 +212,11 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_port_mongodb_27017_2 @mock_ec2 def test_ec2_default_sgs_ignoring_vpc_in_use(self): # Create EC2 Mocked Resources - ec2 = resource("ec2", region_name=AWS_REGION) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) vpc = ec2.create_vpc(CidrBlock="10.0.0.0/16") subnet = ec2.create_subnet(VpcId=vpc.id, CidrBlock="10.0.0.0/18") ec2.create_network_interface(SubnetId=subnet.id) - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) default_sg = ec2_client.describe_security_groups(GroupNames=["default"])[ "SecurityGroups" ][0] @@ -252,4 +249,4 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_port_mongodb_27017_2 assert len(result) == 1 assert result[0].status == "PASS" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 diff --git a/tests/providers/aws/services/ec2/ec2_securitygroup_allow_ingress_from_internet_to_tcp_ftp_port_20_21/ec2_securitygroup_allow_ingress_from_internet_to_tcp_ftp_port_20_21_test.py b/tests/providers/aws/services/ec2/ec2_securitygroup_allow_ingress_from_internet_to_tcp_ftp_port_20_21/ec2_securitygroup_allow_ingress_from_internet_to_tcp_ftp_port_20_21_test.py index a82c750b44..e217b2460d 100644 --- a/tests/providers/aws/services/ec2/ec2_securitygroup_allow_ingress_from_internet_to_tcp_ftp_port_20_21/ec2_securitygroup_allow_ingress_from_internet_to_tcp_ftp_port_20_21_test.py +++ b/tests/providers/aws/services/ec2/ec2_securitygroup_allow_ingress_from_internet_to_tcp_ftp_port_20_21/ec2_securitygroup_allow_ingress_from_internet_to_tcp_ftp_port_20_21_test.py @@ -9,15 +9,12 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_ftp_port_20_21: @mock_ec2 def test_ec2_default_sgs(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.create_vpc(CidrBlock="10.0.0.0/16") from prowler.providers.aws.services.ec2.ec2_service import EC2 @@ -54,7 +51,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_ftp_port_20_21: @mock_ec2 def test_ec2_non_compliant_default_sg(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.create_vpc(CidrBlock="10.0.0.0/16") default_sg = ec2_client.describe_security_groups(GroupNames=["default"])[ "SecurityGroups" @@ -103,14 +100,14 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_ftp_port_20_21: for sg in result: if sg.resource_id == default_sg_id: assert sg.status == "FAIL" - assert sg.region == AWS_REGION + assert sg.region == AWS_REGION_EU_WEST_1 assert ( sg.status_extended == f"Security group {default_sg_name} ({default_sg_id}) has FTP ports 20 and 21 open to the Internet." ) assert ( sg.resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:security-group/{default_sg_id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:security-group/{default_sg_id}" ) assert sg.resource_details == default_sg_name assert sg.resource_tags == [] @@ -118,7 +115,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_ftp_port_20_21: @mock_ec2 def test_ec2_compliant_default_sg(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.create_vpc(CidrBlock="10.0.0.0/16") default_sg = ec2_client.describe_security_groups(GroupNames=["default"])[ "SecurityGroups" @@ -167,14 +164,14 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_ftp_port_20_21: for sg in result: if sg.resource_id == default_sg_id: assert sg.status == "PASS" - assert sg.region == AWS_REGION + assert sg.region == AWS_REGION_EU_WEST_1 assert ( sg.status_extended == f"Security group {default_sg_name} ({default_sg_id}) does not have FTP ports 20 and 21 open to the Internet." ) assert ( sg.resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:security-group/{default_sg_id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:security-group/{default_sg_id}" ) assert sg.resource_details == default_sg_name assert sg.resource_tags == [] @@ -182,7 +179,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_ftp_port_20_21: @mock_ec2 def test_ec2_default_sgs_ignoring(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.create_vpc(CidrBlock="10.0.0.0/16") from prowler.providers.aws.services.ec2.ec2_service import EC2 @@ -215,11 +212,11 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_ftp_port_20_21: @mock_ec2 def test_ec2_default_sgs_ignoring_vpc_in_use(self): # Create EC2 Mocked Resources - ec2 = resource("ec2", region_name=AWS_REGION) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) vpc = ec2.create_vpc(CidrBlock="10.0.0.0/16") subnet = ec2.create_subnet(VpcId=vpc.id, CidrBlock="10.0.0.0/18") ec2.create_network_interface(SubnetId=subnet.id) - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) default_sg = ec2_client.describe_security_groups(GroupNames=["default"])[ "SecurityGroups" ][0] @@ -252,4 +249,4 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_ftp_port_20_21: assert len(result) == 1 assert result[0].status == "PASS" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 diff --git a/tests/providers/aws/services/ec2/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_22/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_22_test.py b/tests/providers/aws/services/ec2/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_22/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_22_test.py index 112119c8a1..3e372a0750 100644 --- a/tests/providers/aws/services/ec2/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_22/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_22_test.py +++ b/tests/providers/aws/services/ec2/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_22/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_22_test.py @@ -10,15 +10,12 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_22: @mock_ec2 def test_ec2_default_sgs(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.create_vpc(CidrBlock="10.0.0.0/16") from prowler.providers.aws.services.ec2.ec2_service import EC2 @@ -53,7 +50,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_22: @mock_ec2 def test_ec2_non_compliant_default_sg(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.create_vpc(CidrBlock="10.0.0.0/16") default_sg = ec2_client.describe_security_groups(GroupNames=["default"])[ "SecurityGroups" @@ -100,7 +97,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_22: for sg in result: if sg.resource_id == default_sg_id: assert sg.status == "FAIL" - assert sg.region == AWS_REGION + assert sg.region == AWS_REGION_EU_WEST_1 assert ( sg.status_extended == f"Security group {default_sg_name} ({default_sg_id}) has SSH port 22 open to the Internet." @@ -111,7 +108,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_22: ) assert ( sg.resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:security-group/{default_sg_id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:security-group/{default_sg_id}" ) assert sg.resource_details == default_sg_name assert sg.resource_tags == [] @@ -119,7 +116,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_22: @mock_ec2 def test_ec2_compliant_default_sg(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.create_vpc(CidrBlock="10.0.0.0/16") default_sg = ec2_client.describe_security_groups(GroupNames=["default"])[ "SecurityGroups" @@ -166,14 +163,14 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_22: for sg in result: if sg.resource_id == default_sg_id: assert sg.status == "PASS" - assert sg.region == AWS_REGION + assert sg.region == AWS_REGION_EU_WEST_1 assert ( sg.status_extended == f"Security group {default_sg_name} ({default_sg_id}) does not have SSH port 22 open to the Internet." ) assert ( sg.resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:security-group/{default_sg_id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:security-group/{default_sg_id}" ) assert sg.resource_details == default_sg_name assert sg.resource_tags == [] @@ -181,7 +178,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_22: @mock_ec2 def test_ec2_default_sgs_ignoring(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.create_vpc(CidrBlock="10.0.0.0/16") from prowler.providers.aws.services.ec2.ec2_service import EC2 @@ -212,11 +209,11 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_22: @mock_ec2 def test_ec2_default_sgs_ignoring_vpc_in_use(self): # Create EC2 Mocked Resources - ec2 = resource("ec2", region_name=AWS_REGION) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) vpc = ec2.create_vpc(CidrBlock="10.0.0.0/16") subnet = ec2.create_subnet(VpcId=vpc.id, CidrBlock="10.0.0.0/18") ec2.create_network_interface(SubnetId=subnet.id) - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) default_sg = ec2_client.describe_security_groups(GroupNames=["default"])[ "SecurityGroups" ][0] @@ -247,4 +244,4 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_22: assert len(result) == 1 assert result[0].status == "PASS" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 diff --git a/tests/providers/aws/services/ec2/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_3389/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_3389_test.py b/tests/providers/aws/services/ec2/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_3389/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_3389_test.py index 45074eb37a..85380d0c5e 100644 --- a/tests/providers/aws/services/ec2/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_3389/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_3389_test.py +++ b/tests/providers/aws/services/ec2/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_3389/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_3389_test.py @@ -9,15 +9,12 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_3389: @mock_ec2 def test_ec2_default_sgs(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.create_vpc(CidrBlock="10.0.0.0/16") from prowler.providers.aws.services.ec2.ec2_service import EC2 @@ -52,7 +49,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_3389: @mock_ec2 def test_ec2_default_sgs_ignoring(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.create_vpc(CidrBlock="10.0.0.0/16") from prowler.providers.aws.services.ec2.ec2_service import EC2 @@ -83,11 +80,11 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_3389: @mock_ec2 def test_ec2_default_sgs_ignoring_vpc_in_use(self): # Create EC2 Mocked Resources - ec2 = resource("ec2", region_name=AWS_REGION) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) vpc = ec2.create_vpc(CidrBlock="10.0.0.0/16") subnet = ec2.create_subnet(VpcId=vpc.id, CidrBlock="10.0.0.0/18") ec2.create_network_interface(SubnetId=subnet.id) - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) default_sg = ec2_client.describe_security_groups(GroupNames=["default"])[ "SecurityGroups" ][0] @@ -118,12 +115,12 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_3389: assert len(result) == 1 assert result[0].status == "PASS" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_ec2 def test_ec2_non_compliant_default_sg(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.create_vpc(CidrBlock="10.0.0.0/16") default_sg = ec2_client.describe_security_groups(GroupNames=["default"])[ "SecurityGroups" @@ -170,14 +167,14 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_3389: for sg in result: if sg.resource_id == default_sg_id: assert sg.status == "FAIL" - assert sg.region == AWS_REGION + assert sg.region == AWS_REGION_EU_WEST_1 assert ( sg.status_extended == f"Security group {default_sg_name} ({default_sg_id}) has Microsoft RDP port 3389 open to the Internet." ) assert ( sg.resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:security-group/{default_sg_id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:security-group/{default_sg_id}" ) assert sg.resource_details == default_sg_name assert sg.resource_tags == [] @@ -185,7 +182,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_3389: @mock_ec2 def test_ec2_compliant_default_sg(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.create_vpc(CidrBlock="10.0.0.0/16") default_sg = ec2_client.describe_security_groups(GroupNames=["default"])[ "SecurityGroups" @@ -232,14 +229,14 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_3389: for sg in result: if sg.resource_id == default_sg_id: assert sg.status == "PASS" - assert sg.region == AWS_REGION + assert sg.region == AWS_REGION_EU_WEST_1 assert ( sg.status_extended == f"Security group {default_sg_name} ({default_sg_id}) does not have Microsoft RDP port 3389 open to the Internet." ) assert ( sg.resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:security-group/{default_sg_id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:security-group/{default_sg_id}" ) assert sg.resource_details == default_sg_name assert sg.resource_tags == [] diff --git a/tests/providers/aws/services/ec2/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_cassandra_7199_9160_8888/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_cassandra_7199_9160_8888_test.py b/tests/providers/aws/services/ec2/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_cassandra_7199_9160_8888/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_cassandra_7199_9160_8888_test.py index 2553828c0f..a86a685579 100644 --- a/tests/providers/aws/services/ec2/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_cassandra_7199_9160_8888/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_cassandra_7199_9160_8888_test.py +++ b/tests/providers/aws/services/ec2/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_cassandra_7199_9160_8888/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_cassandra_7199_9160_8888_test.py @@ -9,15 +9,12 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_cassandra_7199_9160_8888: @mock_ec2 def test_ec2_default_sgs(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.create_vpc(CidrBlock="10.0.0.0/16") from prowler.providers.aws.services.ec2.ec2_service import EC2 @@ -54,7 +51,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_cassandra_7 @mock_ec2 def test_ec2_non_compliant_default_sg(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.create_vpc(CidrBlock="10.0.0.0/16") default_sg = ec2_client.describe_security_groups(GroupNames=["default"])[ "SecurityGroups" @@ -103,14 +100,14 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_cassandra_7 for sg in result: if sg.resource_id == default_sg_id: assert sg.status == "FAIL" - assert sg.region == AWS_REGION + assert sg.region == AWS_REGION_EU_WEST_1 assert ( sg.status_extended == f"Security group {default_sg_name} ({default_sg_id}) has Casandra ports 7199, 8888 and 9160 open to the Internet." ) assert ( sg.resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:security-group/{default_sg_id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:security-group/{default_sg_id}" ) assert sg.resource_details == default_sg_name assert sg.resource_tags == [] @@ -118,7 +115,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_cassandra_7 @mock_ec2 def test_ec2_compliant_default_sg(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.create_vpc(CidrBlock="10.0.0.0/16") default_sg = ec2_client.describe_security_groups(GroupNames=["default"])[ "SecurityGroups" @@ -167,14 +164,14 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_cassandra_7 for sg in result: if sg.resource_id == default_sg_id: assert sg.status == "PASS" - assert sg.region == AWS_REGION + assert sg.region == AWS_REGION_EU_WEST_1 assert ( sg.status_extended == f"Security group {default_sg_name} ({default_sg_id}) does not have Casandra ports 7199, 8888 and 9160 open to the Internet." ) assert ( sg.resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:security-group/{default_sg_id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:security-group/{default_sg_id}" ) assert sg.resource_details == default_sg_name assert sg.resource_tags == [] @@ -182,7 +179,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_cassandra_7 @mock_ec2 def test_ec2_default_sgs_ignoring(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.create_vpc(CidrBlock="10.0.0.0/16") from prowler.providers.aws.services.ec2.ec2_service import EC2 @@ -215,11 +212,11 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_cassandra_7 @mock_ec2 def test_ec2_default_sgs_ignoring_vpc_in_use(self): # Create EC2 Mocked Resources - ec2 = resource("ec2", region_name=AWS_REGION) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) vpc = ec2.create_vpc(CidrBlock="10.0.0.0/16") subnet = ec2.create_subnet(VpcId=vpc.id, CidrBlock="10.0.0.0/18") ec2.create_network_interface(SubnetId=subnet.id) - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) default_sg = ec2_client.describe_security_groups(GroupNames=["default"])[ "SecurityGroups" ][0] @@ -252,4 +249,4 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_cassandra_7 assert len(result) == 1 assert result[0].status == "PASS" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 diff --git a/tests/providers/aws/services/ec2/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_elasticsearch_kibana_9200_9300_5601/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_elasticsearch_kibana_9200_9300_5601_test.py b/tests/providers/aws/services/ec2/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_elasticsearch_kibana_9200_9300_5601/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_elasticsearch_kibana_9200_9300_5601_test.py index bb00f705b6..ea6ba84b33 100644 --- a/tests/providers/aws/services/ec2/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_elasticsearch_kibana_9200_9300_5601/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_elasticsearch_kibana_9200_9300_5601_test.py +++ b/tests/providers/aws/services/ec2/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_elasticsearch_kibana_9200_9300_5601/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_elasticsearch_kibana_9200_9300_5601_test.py @@ -9,15 +9,12 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_elasticsearch_kibana_9200_9300_5601: @mock_ec2 def test_ec2_default_sgs(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.create_vpc(CidrBlock="10.0.0.0/16") from prowler.providers.aws.services.ec2.ec2_service import EC2 @@ -54,7 +51,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_elasticsear @mock_ec2 def test_ec2_non_compliant_default_sg(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.create_vpc(CidrBlock="10.0.0.0/16") default_sg = ec2_client.describe_security_groups(GroupNames=["default"])[ "SecurityGroups" @@ -103,14 +100,14 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_elasticsear for sg in result: if sg.resource_id == default_sg_id: assert sg.status == "FAIL" - assert sg.region == AWS_REGION + assert sg.region == AWS_REGION_EU_WEST_1 assert ( sg.status_extended == f"Security group {default_sg_name} ({default_sg_id}) has Elasticsearch/Kibana ports 9200, 9300 and 5601 open to the Internet." ) assert ( sg.resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:security-group/{default_sg_id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:security-group/{default_sg_id}" ) assert sg.resource_details == default_sg_name assert sg.resource_tags == [] @@ -118,7 +115,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_elasticsear @mock_ec2 def test_ec2_compliant_default_sg(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.create_vpc(CidrBlock="10.0.0.0/16") default_sg = ec2_client.describe_security_groups(GroupNames=["default"])[ "SecurityGroups" @@ -167,14 +164,14 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_elasticsear for sg in result: if sg.resource_id == default_sg_id: assert sg.status == "PASS" - assert sg.region == AWS_REGION + assert sg.region == AWS_REGION_EU_WEST_1 assert ( sg.status_extended == f"Security group {default_sg_name} ({default_sg_id}) does not have Elasticsearch/Kibana ports 9200, 9300 and 5601 open to the Internet." ) assert ( sg.resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:security-group/{default_sg_id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:security-group/{default_sg_id}" ) assert sg.resource_details == default_sg_name assert sg.resource_tags == [] @@ -182,7 +179,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_elasticsear @mock_ec2 def test_ec2_default_sgs_ignoring(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.create_vpc(CidrBlock="10.0.0.0/16") from prowler.providers.aws.services.ec2.ec2_service import EC2 @@ -215,11 +212,11 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_elasticsear @mock_ec2 def test_ec2_default_sgs_ignoring_vpc_in_use(self): # Create EC2 Mocked Resources - ec2 = resource("ec2", region_name=AWS_REGION) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) vpc = ec2.create_vpc(CidrBlock="10.0.0.0/16") subnet = ec2.create_subnet(VpcId=vpc.id, CidrBlock="10.0.0.0/18") ec2.create_network_interface(SubnetId=subnet.id) - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) default_sg = ec2_client.describe_security_groups(GroupNames=["default"])[ "SecurityGroups" ][0] @@ -252,4 +249,4 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_elasticsear assert len(result) == 1 assert result[0].status == "PASS" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 diff --git a/tests/providers/aws/services/ec2/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_kafka_9092/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_kafka_9092_test.py b/tests/providers/aws/services/ec2/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_kafka_9092/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_kafka_9092_test.py index 9de0938c17..8b68ba89f6 100644 --- a/tests/providers/aws/services/ec2/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_kafka_9092/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_kafka_9092_test.py +++ b/tests/providers/aws/services/ec2/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_kafka_9092/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_kafka_9092_test.py @@ -9,15 +9,12 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_kafka_9092: @mock_ec2 def test_ec2_default_sgs(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.create_vpc(CidrBlock="10.0.0.0/16") from prowler.providers.aws.services.ec2.ec2_service import EC2 @@ -54,7 +51,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_kafka_9092: @mock_ec2 def test_ec2_non_compliant_default_sg(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.create_vpc(CidrBlock="10.0.0.0/16") default_sg = ec2_client.describe_security_groups(GroupNames=["default"])[ "SecurityGroups" @@ -103,14 +100,14 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_kafka_9092: for sg in result: if sg.resource_id == default_sg_id: assert sg.status == "FAIL" - assert sg.region == AWS_REGION + assert sg.region == AWS_REGION_EU_WEST_1 assert ( sg.status_extended == f"Security group {default_sg_name} ({default_sg_id}) has Kafka port 9092 open to the Internet." ) assert ( sg.resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:security-group/{default_sg_id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:security-group/{default_sg_id}" ) assert sg.resource_details == default_sg_name assert sg.resource_tags == [] @@ -118,7 +115,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_kafka_9092: @mock_ec2 def test_ec2_compliant_default_sg(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.create_vpc(CidrBlock="10.0.0.0/16") default_sg = ec2_client.describe_security_groups(GroupNames=["default"])[ "SecurityGroups" @@ -167,14 +164,14 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_kafka_9092: for sg in result: if sg.resource_id == default_sg_id: assert sg.status == "PASS" - assert sg.region == AWS_REGION + assert sg.region == AWS_REGION_EU_WEST_1 assert ( sg.status_extended == f"Security group {default_sg_name} ({default_sg_id}) does not have Kafka port 9092 open to the Internet." ) assert ( sg.resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:security-group/{default_sg_id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:security-group/{default_sg_id}" ) assert sg.resource_details == default_sg_name assert sg.resource_tags == [] @@ -182,7 +179,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_kafka_9092: @mock_ec2 def test_ec2_default_sgs_ignoring(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.create_vpc(CidrBlock="10.0.0.0/16") from prowler.providers.aws.services.ec2.ec2_service import EC2 @@ -215,11 +212,11 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_kafka_9092: @mock_ec2 def test_ec2_default_sgs_ignoring_vpc_in_use(self): # Create EC2 Mocked Resources - ec2 = resource("ec2", region_name=AWS_REGION) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) vpc = ec2.create_vpc(CidrBlock="10.0.0.0/16") subnet = ec2.create_subnet(VpcId=vpc.id, CidrBlock="10.0.0.0/18") ec2.create_network_interface(SubnetId=subnet.id) - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) default_sg = ec2_client.describe_security_groups(GroupNames=["default"])[ "SecurityGroups" ][0] @@ -252,4 +249,4 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_kafka_9092: assert len(result) == 1 assert result[0].status == "PASS" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 diff --git a/tests/providers/aws/services/ec2/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_memcached_11211/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_memcached_11211_test.py b/tests/providers/aws/services/ec2/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_memcached_11211/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_memcached_11211_test.py index e5f2967590..735a1b1764 100644 --- a/tests/providers/aws/services/ec2/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_memcached_11211/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_memcached_11211_test.py +++ b/tests/providers/aws/services/ec2/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_memcached_11211/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_memcached_11211_test.py @@ -9,15 +9,12 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_memcached_11211: @mock_ec2 def test_ec2_default_sgs(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.create_vpc(CidrBlock="10.0.0.0/16") from prowler.providers.aws.services.ec2.ec2_service import EC2 @@ -54,7 +51,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_memcached_1 @mock_ec2 def test_ec2_non_compliant_default_sg(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.create_vpc(CidrBlock="10.0.0.0/16") default_sg = ec2_client.describe_security_groups(GroupNames=["default"])[ "SecurityGroups" @@ -103,14 +100,14 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_memcached_1 for sg in result: if sg.resource_id == default_sg_id: assert sg.status == "FAIL" - assert sg.region == AWS_REGION + assert sg.region == AWS_REGION_EU_WEST_1 assert ( sg.status_extended == f"Security group {default_sg_name} ({default_sg_id}) has Memcached port 11211 open to the Internet." ) assert ( sg.resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:security-group/{default_sg_id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:security-group/{default_sg_id}" ) assert sg.resource_details == default_sg_name assert sg.resource_tags == [] @@ -118,7 +115,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_memcached_1 @mock_ec2 def test_ec2_compliant_default_sg(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.create_vpc(CidrBlock="10.0.0.0/16") default_sg = ec2_client.describe_security_groups(GroupNames=["default"])[ "SecurityGroups" @@ -167,14 +164,14 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_memcached_1 for sg in result: if sg.resource_id == default_sg_id: assert sg.status == "PASS" - assert sg.region == AWS_REGION + assert sg.region == AWS_REGION_EU_WEST_1 assert ( sg.status_extended == f"Security group {default_sg_name} ({default_sg_id}) does not have Memcached port 11211 open to the Internet." ) assert ( sg.resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:security-group/{default_sg_id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:security-group/{default_sg_id}" ) assert sg.resource_details == default_sg_name assert sg.resource_tags == [] @@ -182,7 +179,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_memcached_1 @mock_ec2 def test_ec2_default_sgs_ignoring(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.create_vpc(CidrBlock="10.0.0.0/16") from prowler.providers.aws.services.ec2.ec2_service import EC2 @@ -215,11 +212,11 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_memcached_1 @mock_ec2 def test_ec2_default_sgs_ignoring_vpc_in_use(self): # Create EC2 Mocked Resources - ec2 = resource("ec2", region_name=AWS_REGION) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) vpc = ec2.create_vpc(CidrBlock="10.0.0.0/16") subnet = ec2.create_subnet(VpcId=vpc.id, CidrBlock="10.0.0.0/18") ec2.create_network_interface(SubnetId=subnet.id) - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) default_sg = ec2_client.describe_security_groups(GroupNames=["default"])[ "SecurityGroups" ][0] @@ -252,4 +249,4 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_memcached_1 assert len(result) == 1 assert result[0].status == "PASS" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 diff --git a/tests/providers/aws/services/ec2/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_mysql_3306/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_mysql_3306_test.py b/tests/providers/aws/services/ec2/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_mysql_3306/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_mysql_3306_test.py index f12ec65629..f10876d4f1 100644 --- a/tests/providers/aws/services/ec2/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_mysql_3306/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_mysql_3306_test.py +++ b/tests/providers/aws/services/ec2/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_mysql_3306/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_mysql_3306_test.py @@ -9,15 +9,12 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_mysql_3306: @mock_ec2 def test_ec2_default_sgs(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.create_vpc(CidrBlock="10.0.0.0/16") from prowler.providers.aws.services.ec2.ec2_service import EC2 @@ -54,7 +51,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_mysql_3306: @mock_ec2 def test_ec2_non_compliant_default_sg(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.create_vpc(CidrBlock="10.0.0.0/16") default_sg = ec2_client.describe_security_groups(GroupNames=["default"])[ "SecurityGroups" @@ -103,14 +100,14 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_mysql_3306: for sg in result: if sg.resource_id == default_sg_id: assert sg.status == "FAIL" - assert sg.region == AWS_REGION + assert sg.region == AWS_REGION_EU_WEST_1 assert ( sg.status_extended == f"Security group {default_sg_name} ({default_sg_id}) has MySQL port 3306 open to the Internet." ) assert ( sg.resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:security-group/{default_sg_id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:security-group/{default_sg_id}" ) assert sg.resource_details == default_sg_name assert sg.resource_tags == [] @@ -118,7 +115,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_mysql_3306: @mock_ec2 def test_ec2_compliant_default_sg(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.create_vpc(CidrBlock="10.0.0.0/16") default_sg = ec2_client.describe_security_groups(GroupNames=["default"])[ "SecurityGroups" @@ -167,14 +164,14 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_mysql_3306: for sg in result: if sg.resource_id == default_sg_id: assert sg.status == "PASS" - assert sg.region == AWS_REGION + assert sg.region == AWS_REGION_EU_WEST_1 assert ( sg.status_extended == f"Security group {default_sg_name} ({default_sg_id}) does not have MySQL port 3306 open to the Internet." ) assert ( sg.resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:security-group/{default_sg_id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:security-group/{default_sg_id}" ) assert sg.resource_details == default_sg_name assert sg.resource_tags == [] @@ -182,7 +179,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_mysql_3306: @mock_ec2 def test_ec2_default_sgs_ignoring(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.create_vpc(CidrBlock="10.0.0.0/16") from prowler.providers.aws.services.ec2.ec2_service import EC2 @@ -215,11 +212,11 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_mysql_3306: @mock_ec2 def test_ec2_default_sgs_ignoring_vpc_in_use(self): # Create EC2 Mocked Resources - ec2 = resource("ec2", region_name=AWS_REGION) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) vpc = ec2.create_vpc(CidrBlock="10.0.0.0/16") subnet = ec2.create_subnet(VpcId=vpc.id, CidrBlock="10.0.0.0/18") ec2.create_network_interface(SubnetId=subnet.id) - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) default_sg = ec2_client.describe_security_groups(GroupNames=["default"])[ "SecurityGroups" ][0] @@ -252,4 +249,4 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_mysql_3306: assert len(result) == 1 assert result[0].status == "PASS" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 diff --git a/tests/providers/aws/services/ec2/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_oracle_1521_2483/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_oracle_1521_2483_test.py b/tests/providers/aws/services/ec2/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_oracle_1521_2483/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_oracle_1521_2483_test.py index 310f8be7c3..26baf1c068 100644 --- a/tests/providers/aws/services/ec2/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_oracle_1521_2483/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_oracle_1521_2483_test.py +++ b/tests/providers/aws/services/ec2/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_oracle_1521_2483/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_oracle_1521_2483_test.py @@ -9,15 +9,12 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_oracle_1521_2483: @mock_ec2 def test_ec2_default_sgs(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.create_vpc(CidrBlock="10.0.0.0/16") from prowler.providers.aws.services.ec2.ec2_service import EC2 @@ -54,7 +51,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_oracle_1521 @mock_ec2 def test_ec2_non_compliant_default_sg(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.create_vpc(CidrBlock="10.0.0.0/16") default_sg = ec2_client.describe_security_groups(GroupNames=["default"])[ "SecurityGroups" @@ -103,14 +100,14 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_oracle_1521 for sg in result: if sg.resource_id == default_sg_id: assert sg.status == "FAIL" - assert sg.region == AWS_REGION + assert sg.region == AWS_REGION_EU_WEST_1 assert ( sg.status_extended == f"Security group {default_sg_name} ({default_sg_id}) has Oracle ports 1521 and 2483 open to the Internet." ) assert ( sg.resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:security-group/{default_sg_id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:security-group/{default_sg_id}" ) assert sg.resource_details == default_sg_name assert sg.resource_tags == [] @@ -118,7 +115,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_oracle_1521 @mock_ec2 def test_ec2_compliant_default_sg(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.create_vpc(CidrBlock="10.0.0.0/16") default_sg = ec2_client.describe_security_groups(GroupNames=["default"])[ "SecurityGroups" @@ -167,14 +164,14 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_oracle_1521 for sg in result: if sg.resource_id == default_sg_id: assert sg.status == "PASS" - assert sg.region == AWS_REGION + assert sg.region == AWS_REGION_EU_WEST_1 assert ( sg.status_extended == f"Security group {default_sg_name} ({default_sg_id}) does not have Oracle ports 1521 and 2483 open to the Internet." ) assert ( sg.resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:security-group/{default_sg_id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:security-group/{default_sg_id}" ) assert sg.resource_details == default_sg_name assert sg.resource_tags == [] @@ -182,7 +179,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_oracle_1521 @mock_ec2 def test_ec2_default_sgs_ignoring(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.create_vpc(CidrBlock="10.0.0.0/16") from prowler.providers.aws.services.ec2.ec2_service import EC2 @@ -215,11 +212,11 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_oracle_1521 @mock_ec2 def test_ec2_default_sgs_ignoring_vpc_in_use(self): # Create EC2 Mocked Resources - ec2 = resource("ec2", region_name=AWS_REGION) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) vpc = ec2.create_vpc(CidrBlock="10.0.0.0/16") subnet = ec2.create_subnet(VpcId=vpc.id, CidrBlock="10.0.0.0/18") ec2.create_network_interface(SubnetId=subnet.id) - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) default_sg = ec2_client.describe_security_groups(GroupNames=["default"])[ "SecurityGroups" ][0] @@ -252,4 +249,4 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_oracle_1521 assert len(result) == 1 assert result[0].status == "PASS" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 diff --git a/tests/providers/aws/services/ec2/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_postgres_5432/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_postgres_5432_test.py b/tests/providers/aws/services/ec2/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_postgres_5432/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_postgres_5432_test.py index 13805ff041..c4491c1f99 100644 --- a/tests/providers/aws/services/ec2/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_postgres_5432/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_postgres_5432_test.py +++ b/tests/providers/aws/services/ec2/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_postgres_5432/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_postgres_5432_test.py @@ -9,15 +9,12 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_postgres_5432: @mock_ec2 def test_ec2_default_sgs(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.create_vpc(CidrBlock="10.0.0.0/16") from prowler.providers.aws.services.ec2.ec2_service import EC2 @@ -54,7 +51,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_postgres_54 @mock_ec2 def test_ec2_non_compliant_default_sg(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.create_vpc(CidrBlock="10.0.0.0/16") default_sg = ec2_client.describe_security_groups(GroupNames=["default"])[ "SecurityGroups" @@ -103,14 +100,14 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_postgres_54 for sg in result: if sg.resource_id == default_sg_id: assert sg.status == "FAIL" - assert sg.region == AWS_REGION + assert sg.region == AWS_REGION_EU_WEST_1 assert ( sg.status_extended == f"Security group {default_sg_name} ({default_sg_id}) has Postgres port 5432 open to the Internet." ) assert ( sg.resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:security-group/{default_sg_id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:security-group/{default_sg_id}" ) assert sg.resource_details == default_sg_name assert sg.resource_tags == [] @@ -118,7 +115,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_postgres_54 @mock_ec2 def test_ec2_compliant_default_sg(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.create_vpc(CidrBlock="10.0.0.0/16") default_sg = ec2_client.describe_security_groups(GroupNames=["default"])[ "SecurityGroups" @@ -167,14 +164,14 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_postgres_54 for sg in result: if sg.resource_id == default_sg_id: assert sg.status == "PASS" - assert sg.region == AWS_REGION + assert sg.region == AWS_REGION_EU_WEST_1 assert ( sg.status_extended == f"Security group {default_sg_name} ({default_sg_id}) does not have Postgres port 5432 open to the Internet." ) assert ( sg.resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:security-group/{default_sg_id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:security-group/{default_sg_id}" ) assert sg.resource_details == default_sg_name assert sg.resource_tags == [] @@ -182,7 +179,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_postgres_54 @mock_ec2 def test_ec2_compliant_default_sg_ipv4_and_ipv6(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.create_vpc(CidrBlock="10.0.0.0/16") default_sg = ec2_client.describe_security_groups(GroupNames=["default"])[ "SecurityGroups" @@ -236,14 +233,14 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_postgres_54 for sg in result: if sg.resource_id == default_sg_id: assert sg.status == "PASS" - assert sg.region == AWS_REGION + assert sg.region == AWS_REGION_EU_WEST_1 assert ( sg.status_extended == f"Security group {default_sg_name} ({default_sg_id}) does not have Postgres port 5432 open to the Internet." ) assert ( sg.resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:security-group/{default_sg_id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:security-group/{default_sg_id}" ) assert sg.resource_details == default_sg_name assert sg.resource_tags == [] @@ -251,7 +248,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_postgres_54 @mock_ec2 def test_ec2_default_sgs_ignoring(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.create_vpc(CidrBlock="10.0.0.0/16") from prowler.providers.aws.services.ec2.ec2_service import EC2 @@ -284,11 +281,11 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_postgres_54 @mock_ec2 def test_ec2_default_sgs_ignoring_vpc_in_use(self): # Create EC2 Mocked Resources - ec2 = resource("ec2", region_name=AWS_REGION) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) vpc = ec2.create_vpc(CidrBlock="10.0.0.0/16") subnet = ec2.create_subnet(VpcId=vpc.id, CidrBlock="10.0.0.0/18") ec2.create_network_interface(SubnetId=subnet.id) - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) default_sg = ec2_client.describe_security_groups(GroupNames=["default"])[ "SecurityGroups" ][0] @@ -321,4 +318,4 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_postgres_54 assert len(result) == 1 assert result[0].status == "PASS" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 diff --git a/tests/providers/aws/services/ec2/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_sql_server_1433_1434/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_sql_server_1433_1434_test.py b/tests/providers/aws/services/ec2/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_sql_server_1433_1434/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_sql_server_1433_1434_test.py index 5a96aaa6cd..8442ec4620 100644 --- a/tests/providers/aws/services/ec2/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_sql_server_1433_1434/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_sql_server_1433_1434_test.py +++ b/tests/providers/aws/services/ec2/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_sql_server_1433_1434/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_sql_server_1433_1434_test.py @@ -9,15 +9,12 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_sql_server_1433_1434: @mock_ec2 def test_ec2_default_sgs(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.create_vpc(CidrBlock="10.0.0.0/16") from prowler.providers.aws.services.ec2.ec2_service import EC2 @@ -54,7 +51,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_sql_server_ @mock_ec2 def test_ec2_non_compliant_default_sg(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.create_vpc(CidrBlock="10.0.0.0/16") default_sg = ec2_client.describe_security_groups(GroupNames=["default"])[ "SecurityGroups" @@ -103,14 +100,14 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_sql_server_ for sg in result: if sg.resource_id == default_sg_id: assert sg.status == "FAIL" - assert sg.region == AWS_REGION + assert sg.region == AWS_REGION_EU_WEST_1 assert ( sg.status_extended == f"Security group {default_sg_name} ({default_sg_id}) has Microsoft SQL Server ports 1433 and 1434 open to the Internet." ) assert ( sg.resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:security-group/{default_sg_id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:security-group/{default_sg_id}" ) assert sg.resource_details == default_sg_name assert sg.resource_tags == [] @@ -118,7 +115,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_sql_server_ @mock_ec2 def test_ec2_compliant_default_sg(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.create_vpc(CidrBlock="10.0.0.0/16") default_sg = ec2_client.describe_security_groups(GroupNames=["default"])[ "SecurityGroups" @@ -167,14 +164,14 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_sql_server_ for sg in result: if sg.resource_id == default_sg_id: assert sg.status == "PASS" - assert sg.region == AWS_REGION + assert sg.region == AWS_REGION_EU_WEST_1 assert ( sg.status_extended == f"Security group {default_sg_name} ({default_sg_id}) does not have Microsoft SQL Server ports 1433 and 1434 open to the Internet." ) assert ( sg.resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:security-group/{default_sg_id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:security-group/{default_sg_id}" ) assert sg.resource_details == default_sg_name assert sg.resource_tags == [] @@ -182,7 +179,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_sql_server_ @mock_ec2 def test_ec2_default_sgs_ignoring(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.create_vpc(CidrBlock="10.0.0.0/16") from prowler.providers.aws.services.ec2.ec2_service import EC2 @@ -215,11 +212,11 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_sql_server_ @mock_ec2 def test_ec2_default_sgs_ignoring_vpc_in_use(self): # Create EC2 Mocked Resources - ec2 = resource("ec2", region_name=AWS_REGION) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) vpc = ec2.create_vpc(CidrBlock="10.0.0.0/16") subnet = ec2.create_subnet(VpcId=vpc.id, CidrBlock="10.0.0.0/18") ec2.create_network_interface(SubnetId=subnet.id) - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) default_sg = ec2_client.describe_security_groups(GroupNames=["default"])[ "SecurityGroups" ][0] @@ -252,4 +249,4 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_sql_server_ assert len(result) == 1 assert result[0].status == "PASS" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 diff --git a/tests/providers/aws/services/ec2/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_telnet_23/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_telnet_23_test.py b/tests/providers/aws/services/ec2/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_telnet_23/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_telnet_23_test.py index 771be6a99c..8b52fc8b60 100644 --- a/tests/providers/aws/services/ec2/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_telnet_23/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_telnet_23_test.py +++ b/tests/providers/aws/services/ec2/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_telnet_23/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_telnet_23_test.py @@ -9,15 +9,12 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_telnet_23: @mock_ec2 def test_ec2_default_sgs(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.create_vpc(CidrBlock="10.0.0.0/16") from prowler.providers.aws.services.ec2.ec2_service import EC2 @@ -54,7 +51,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_telnet_23: @mock_ec2 def test_ec2_non_compliant_default_sg(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.create_vpc(CidrBlock="10.0.0.0/16") default_sg = ec2_client.describe_security_groups(GroupNames=["default"])[ "SecurityGroups" @@ -103,14 +100,14 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_telnet_23: for sg in result: if sg.resource_id == default_sg_id: assert sg.status == "FAIL" - assert sg.region == AWS_REGION + assert sg.region == AWS_REGION_EU_WEST_1 assert ( sg.status_extended == f"Security group {default_sg_name} ({default_sg_id}) has Telnet port 23 open to the Internet." ) assert ( sg.resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:security-group/{default_sg_id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:security-group/{default_sg_id}" ) assert sg.resource_details == default_sg_name assert sg.resource_tags == [] @@ -118,7 +115,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_telnet_23: @mock_ec2 def test_ec2_compliant_default_sg(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.create_vpc(CidrBlock="10.0.0.0/16") default_sg = ec2_client.describe_security_groups(GroupNames=["default"])[ "SecurityGroups" @@ -167,14 +164,14 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_telnet_23: for sg in result: if sg.resource_id == default_sg_id: assert sg.status == "PASS" - assert sg.region == AWS_REGION + assert sg.region == AWS_REGION_EU_WEST_1 assert ( sg.status_extended == f"Security group {default_sg_name} ({default_sg_id}) does not have Telnet port 23 open to the Internet." ) assert ( sg.resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:security-group/{default_sg_id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:security-group/{default_sg_id}" ) assert sg.resource_details == default_sg_name assert sg.resource_tags == [] @@ -182,7 +179,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_telnet_23: @mock_ec2 def test_ec2_default_sgs_ignoring(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.create_vpc(CidrBlock="10.0.0.0/16") from prowler.providers.aws.services.ec2.ec2_service import EC2 @@ -215,11 +212,11 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_telnet_23: @mock_ec2 def test_ec2_default_sgs_ignoring_vpc_in_use(self): # Create EC2 Mocked Resources - ec2 = resource("ec2", region_name=AWS_REGION) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) vpc = ec2.create_vpc(CidrBlock="10.0.0.0/16") subnet = ec2.create_subnet(VpcId=vpc.id, CidrBlock="10.0.0.0/18") ec2.create_network_interface(SubnetId=subnet.id) - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) default_sg = ec2_client.describe_security_groups(GroupNames=["default"])[ "SecurityGroups" ][0] @@ -252,4 +249,4 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_telnet_23: assert len(result) == 1 assert result[0].status == "PASS" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 diff --git a/tests/providers/aws/services/ec2/ec2_securitygroup_allow_wide_open_public_ipv4/ec2_securitygroup_allow_wide_open_public_ipv4_test.py b/tests/providers/aws/services/ec2/ec2_securitygroup_allow_wide_open_public_ipv4/ec2_securitygroup_allow_wide_open_public_ipv4_test.py index e053f8f7eb..66c04d1bad 100644 --- a/tests/providers/aws/services/ec2/ec2_securitygroup_allow_wide_open_public_ipv4/ec2_securitygroup_allow_wide_open_public_ipv4_test.py +++ b/tests/providers/aws/services/ec2/ec2_securitygroup_allow_wide_open_public_ipv4/ec2_securitygroup_allow_wide_open_public_ipv4_test.py @@ -8,15 +8,12 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_ec2_securitygroup_allow_wide_open_public_ipv4: @mock_ec2 def test_ec2_default_sgs(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.create_vpc(CidrBlock="10.0.0.0/16") from prowler.providers.aws.services.ec2.ec2_service import EC2 @@ -48,7 +45,7 @@ class Test_ec2_securitygroup_allow_wide_open_public_ipv4: @mock_ec2 def test_ec2_default_sg_with_RFC1918_address(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.create_vpc(CidrBlock="10.0.0.0/16") default_sg = ec2_client.describe_security_groups(GroupNames=["default"])[ "SecurityGroups" @@ -90,14 +87,14 @@ class Test_ec2_securitygroup_allow_wide_open_public_ipv4: for sg in result: if sg.resource_id == default_sg_id: assert sg.status == "PASS" - assert sg.region == AWS_REGION + assert sg.region == AWS_REGION_EU_WEST_1 assert ( sg.status_extended == f"Security group {default_sg_name} ({default_sg_id}) has no potential wide-open non-RFC1918 address." ) assert ( sg.resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:security-group/{default_sg_id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:security-group/{default_sg_id}" ) assert sg.resource_details == default_sg_name assert sg.resource_tags == [] @@ -105,7 +102,7 @@ class Test_ec2_securitygroup_allow_wide_open_public_ipv4: @mock_ec2 def test_ec2_default_sg_with_non_RFC1918_address(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.create_vpc(CidrBlock="10.0.0.0/16") default_sg = ec2_client.describe_security_groups(GroupNames=["default"])[ "SecurityGroups" @@ -147,14 +144,14 @@ class Test_ec2_securitygroup_allow_wide_open_public_ipv4: for sg in result: if sg.resource_id == default_sg_id: assert sg.status == "FAIL" - assert sg.region == AWS_REGION + assert sg.region == AWS_REGION_EU_WEST_1 assert ( sg.status_extended == f"Security group {default_sg_name} ({default_sg_id}) has potential wide-open non-RFC1918 address 82.122.0.0/16 in ingress rule." ) assert ( sg.resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:security-group/{default_sg_id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:security-group/{default_sg_id}" ) assert sg.resource_details == default_sg_name assert sg.resource_tags == [] diff --git a/tests/providers/aws/services/ec2/ec2_securitygroup_default_restrict_traffic/ec2_securitygroup_default_restrict_traffic_test.py b/tests/providers/aws/services/ec2/ec2_securitygroup_default_restrict_traffic/ec2_securitygroup_default_restrict_traffic_test.py index 5d2495661c..578a426aaa 100644 --- a/tests/providers/aws/services/ec2/ec2_securitygroup_default_restrict_traffic/ec2_securitygroup_default_restrict_traffic_test.py +++ b/tests/providers/aws/services/ec2/ec2_securitygroup_default_restrict_traffic/ec2_securitygroup_default_restrict_traffic_test.py @@ -1,55 +1,19 @@ from unittest import mock -from boto3 import client, session +from boto3 import client from moto import mock_ec2 -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_ec2_securitygroup_default_restrict_traffic: - 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=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=["us-east-1"], - 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 - @mock_ec2 def test_ec2_compliant_sg(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) default_sg = ec2_client.describe_security_groups(GroupNames=["default"])[ "SecurityGroups" ][0] @@ -96,17 +60,17 @@ class Test_ec2_securitygroup_default_restrict_traffic: ) assert ( result[0].resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:security-group/{default_sg_id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:security-group/{default_sg_id}" ) assert result[0].resource_details == default_sg_name assert result[0].resource_tags == [] - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_id == default_sg_id @mock_ec2 def test_ec2_non_compliant_sg_ingress_rule(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) default_sg = ec2_client.describe_security_groups(GroupNames=["default"])[ "SecurityGroups" ][0] @@ -159,17 +123,17 @@ class Test_ec2_securitygroup_default_restrict_traffic: ) assert ( result[0].resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:security-group/{default_sg_id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:security-group/{default_sg_id}" ) assert result[0].resource_details == default_sg_name assert result[0].resource_tags == [] - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_id == default_sg_id @mock_ec2 def test_ec2_non_compliant_sg_egress_rule(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) default_sg = ec2_client.describe_security_groups(GroupNames=["default"])[ "SecurityGroups" ][0] @@ -204,9 +168,9 @@ class Test_ec2_securitygroup_default_restrict_traffic: ) assert ( result[0].resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:security-group/{default_sg_id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:security-group/{default_sg_id}" ) assert result[0].resource_details == default_sg_name assert result[0].resource_tags == [] - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_id == default_sg_id diff --git a/tests/providers/aws/services/ec2/ec2_securitygroup_from_launch_wizard/ec2_securitygroup_from_launch_wizard_test.py b/tests/providers/aws/services/ec2/ec2_securitygroup_from_launch_wizard/ec2_securitygroup_from_launch_wizard_test.py index 8d720a7d97..89daf29840 100644 --- a/tests/providers/aws/services/ec2/ec2_securitygroup_from_launch_wizard/ec2_securitygroup_from_launch_wizard_test.py +++ b/tests/providers/aws/services/ec2/ec2_securitygroup_from_launch_wizard/ec2_securitygroup_from_launch_wizard_test.py @@ -8,16 +8,14 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" EXAMPLE_AMI_ID = "ami-12c6146b" -AWS_ACCOUNT_NUMBER = "123456789012" class Test_ec2_securitygroup_from_launch_wizard: @mock_ec2 def test_ec2_default_sgs(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.create_vpc(CidrBlock="10.0.0.0/16") from prowler.providers.aws.services.ec2.ec2_service import EC2 @@ -49,7 +47,7 @@ class Test_ec2_securitygroup_from_launch_wizard: @mock_ec2 def test_ec2_launch_wizard_sg(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.create_vpc(CidrBlock="10.0.0.0/16") sg_name = "launch-wizard-1" sg = ec2_client.create_security_group( @@ -82,21 +80,21 @@ class Test_ec2_securitygroup_from_launch_wizard: for sg in result: if sg.resource_id == sg_id: assert sg.status == "FAIL" - assert sg.region == AWS_REGION + assert sg.region == AWS_REGION_EU_WEST_1 assert ( sg.status_extended == f"Security group {sg_name} ({sg_id}) was created using the EC2 Launch Wizard." ) assert ( sg.resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:security-group/{sg_id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:security-group/{sg_id}" ) assert sg.resource_details == sg_name @mock_ec2 def test_ec2_compliant_default_sg(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.create_vpc(CidrBlock="10.0.0.0/16") default_sg = ec2_client.describe_security_groups(GroupNames=["default"])[ "SecurityGroups" @@ -104,7 +102,7 @@ class Test_ec2_securitygroup_from_launch_wizard: default_sg_id = default_sg["GroupId"] default_sg_name = default_sg["GroupName"] - ec2 = resource("ec2", region_name=AWS_REGION) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) ec2.create_instances( ImageId=EXAMPLE_AMI_ID, MinCount=1, @@ -139,14 +137,14 @@ class Test_ec2_securitygroup_from_launch_wizard: for sg in result: if sg.resource_id == default_sg_id: assert sg.status == "PASS" - assert sg.region == AWS_REGION + assert sg.region == AWS_REGION_EU_WEST_1 assert ( sg.status_extended == f"Security group {default_sg_name} ({default_sg_id}) was not created using the EC2 Launch Wizard." ) assert ( sg.resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:security-group/{default_sg_id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:security-group/{default_sg_id}" ) assert sg.resource_details == default_sg_name assert sg.resource_tags == [] diff --git a/tests/providers/aws/services/ec2/ec2_securitygroup_with_many_ingress_egress_rules/ec2_securitygroup_with_many_ingress_egress_rules_test.py b/tests/providers/aws/services/ec2/ec2_securitygroup_with_many_ingress_egress_rules/ec2_securitygroup_with_many_ingress_egress_rules_test.py index bc77d4a6de..130e479b63 100644 --- a/tests/providers/aws/services/ec2/ec2_securitygroup_with_many_ingress_egress_rules/ec2_securitygroup_with_many_ingress_egress_rules_test.py +++ b/tests/providers/aws/services/ec2/ec2_securitygroup_with_many_ingress_egress_rules/ec2_securitygroup_with_many_ingress_egress_rules_test.py @@ -8,15 +8,12 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_ec2_securitygroup_with_many_ingress_egress_rules: @mock_ec2 def test_ec2_default_sgs(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.create_vpc(CidrBlock="10.0.0.0/16") from prowler.providers.aws.services.ec2.ec2_service import EC2 @@ -49,7 +46,7 @@ class Test_ec2_securitygroup_with_many_ingress_egress_rules: @mock_ec2 def test_ec2_non_compliant_default_sg(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.create_vpc(CidrBlock="10.0.0.0/16") default_sg = ec2_client.describe_security_groups(GroupNames=["default"])[ "SecurityGroups" @@ -95,14 +92,14 @@ class Test_ec2_securitygroup_with_many_ingress_egress_rules: for sg in result: if sg.resource_id == default_sg_id: assert sg.status == "FAIL" - assert sg.region == AWS_REGION + assert sg.region == AWS_REGION_EU_WEST_1 assert ( sg.status_extended == f"Security group {default_sg_name} ({default_sg_id}) has 60 inbound rules and 1 outbound rules." ) assert ( sg.resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:security-group/{default_sg_id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:security-group/{default_sg_id}" ) assert sg.resource_details == default_sg_name assert sg.resource_tags == [] @@ -110,7 +107,7 @@ class Test_ec2_securitygroup_with_many_ingress_egress_rules: @mock_ec2 def test_ec2_compliant_default_sg(self): # Create EC2 Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.create_vpc(CidrBlock="10.0.0.0/16") default_sg = ec2_client.describe_security_groups(GroupNames=["default"])[ "SecurityGroups" @@ -155,14 +152,14 @@ class Test_ec2_securitygroup_with_many_ingress_egress_rules: for sg in result: if sg.resource_id == default_sg_id: assert sg.status == "PASS" - assert sg.region == AWS_REGION + assert sg.region == AWS_REGION_EU_WEST_1 assert ( sg.status_extended == f"Security group {default_sg_name} ({default_sg_id}) has 1 inbound rules and 1 outbound rules." ) assert ( sg.resource_arn - == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION}:{current_audit_info.audited_account}:security-group/{default_sg_id}" + == f"arn:{current_audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{current_audit_info.audited_account}:security-group/{default_sg_id}" ) assert sg.resource_details == default_sg_name assert sg.resource_tags == [] diff --git a/tests/providers/aws/services/ec2/ec2_service_test.py b/tests/providers/aws/services/ec2/ec2_service_test.py index 98dadb0d94..3506612c3a 100644 --- a/tests/providers/aws/services/ec2/ec2_service_test.py +++ b/tests/providers/aws/services/ec2/ec2_service_test.py @@ -3,63 +3,33 @@ import re from base64 import b64decode from datetime import datetime -from boto3 import client, resource, session +from boto3 import client, resource from dateutil.tz import tzutc from freezegun import freeze_time from moto import mock_ec2 -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info from prowler.providers.aws.services.ec2.ec2_service import EC2 -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" -AWS_REGION = "us-east-1" EXAMPLE_AMI_ID = "ami-12c6146b" MOCK_DATETIME = datetime(2023, 1, 4, 7, 27, 30, tzinfo=tzutc()) class Test_EC2_Service: - 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=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=["eu-west-1", "us-east-1"], - organizations_metadata=None, - audit_resources=None, - mfa_enabled=False, - audit_metadata=Audit_Metadata( - services_scanned=0, - expected_checks=[ - "ec2_securitygroup_allow_ingress_from_internet_to_any_port" - ], - completed_checks=0, - audit_progress=0, - ), - ) - return audit_info - # Test EC2 Service @mock_ec2 def test_service(self): # EC2 client for this test class - audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) + audit_info = set_mocked_aws_audit_info( + [AWS_REGION_EU_WEST_1], + expected_checks=[ + "ec2_securitygroup_allow_ingress_from_internet_to_any_port" + ], + ) ec2 = EC2(audit_info) assert ec2.service == "ec2" @@ -67,7 +37,12 @@ class Test_EC2_Service: @mock_ec2 def test_client(self): # EC2 client for this test class - audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) + audit_info = set_mocked_aws_audit_info( + [AWS_REGION_EU_WEST_1], + expected_checks=[ + "ec2_securitygroup_allow_ingress_from_internet_to_any_port" + ], + ) ec2 = EC2(audit_info) for regional_client in ec2.regional_clients.values(): assert regional_client.__class__.__name__ == "EC2" @@ -76,7 +51,12 @@ class Test_EC2_Service: @mock_ec2 def test__get_session__(self): # EC2 client for this test class - audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) + audit_info = set_mocked_aws_audit_info( + [AWS_REGION_EU_WEST_1], + expected_checks=[ + "ec2_securitygroup_allow_ingress_from_internet_to_any_port" + ], + ) ec2 = EC2(audit_info) assert ec2.session.__class__.__name__ == "Session" @@ -84,7 +64,12 @@ class Test_EC2_Service: @mock_ec2 def test_audited_account(self): # EC2 client for this test class - audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) + audit_info = set_mocked_aws_audit_info( + [AWS_REGION_EU_WEST_1], + expected_checks=[ + "ec2_securitygroup_allow_ingress_from_internet_to_any_port" + ], + ) ec2 = EC2(audit_info) assert ec2.audited_account == AWS_ACCOUNT_NUMBER @@ -93,8 +78,8 @@ class Test_EC2_Service: @freeze_time(MOCK_DATETIME) def test__describe_instances__(self): # Generate EC2 Client - ec2_resource = resource("ec2", region_name=AWS_REGION) - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_resource = resource("ec2", region_name=AWS_REGION_EU_WEST_1) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) # Get AMI image image_response = ec2_client.describe_images() image_id = image_response["Images"][0]["ImageId"] @@ -105,13 +90,18 @@ class Test_EC2_Service: ImageId=image_id, ) # EC2 client for this test class - audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) + audit_info = set_mocked_aws_audit_info( + [AWS_REGION_EU_WEST_1], + expected_checks=[ + "ec2_securitygroup_allow_ingress_from_internet_to_any_port" + ], + ) ec2 = EC2(audit_info) assert len(ec2.instances) == 1 assert re.match(r"i-[0-9a-z]{17}", ec2.instances[0].id) assert ( ec2.instances[0].arn - == f"arn:{audit_info.audited_partition}:ec2:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:instance/{ec2.instances[0].id}" + == f"arn:{audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:instance/{ec2.instances[0].id}" ) assert ec2.instances[0].type == "m1.small" assert ec2.instances[0].state == "running" @@ -136,7 +126,7 @@ class Test_EC2_Service: @mock_ec2 def test__describe_security_groups__(self): # Generate EC2 Client - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) # Create EC2 Security Group sg_id = ec2_client.create_security_group( Description="test-description", @@ -160,7 +150,12 @@ class Test_EC2_Service: ], ) # EC2 client for this test class - audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) + audit_info = set_mocked_aws_audit_info( + [AWS_REGION_EU_WEST_1], + expected_checks=[ + "ec2_securitygroup_allow_ingress_from_internet_to_any_port" + ], + ) ec2 = EC2(audit_info) assert sg_id in str(ec2.security_groups) @@ -169,10 +164,10 @@ class Test_EC2_Service: assert security_group.name == "test-security-group" assert ( security_group.arn - == f"arn:{audit_info.audited_partition}:ec2:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:security-group/{security_group.id}" + == f"arn:{audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:security-group/{security_group.id}" ) assert re.match(r"sg-[0-9a-z]{17}", security_group.id) - assert security_group.region == AWS_REGION + assert security_group.region == AWS_REGION_EU_WEST_1 assert security_group.network_interfaces == [] assert security_group.ingress_rules == [ { @@ -201,8 +196,8 @@ class Test_EC2_Service: @mock_ec2 def test__describe_network_acls__(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_EU_WEST_1) + ec2_resource = resource("ec2", region_name=AWS_REGION_EU_WEST_1) # Create EC2 VPC and SG vpc_id = ec2_client.create_vpc(CidrBlock="10.0.0.0/16")["Vpc"]["VpcId"] nacl_id = ec2_resource.create_network_acl( @@ -217,7 +212,12 @@ class Test_EC2_Service: ], ).id # EC2 client for this test class - audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) + audit_info = set_mocked_aws_audit_info( + [AWS_REGION_EU_WEST_1], + expected_checks=[ + "ec2_securitygroup_allow_ingress_from_internet_to_any_port" + ], + ) ec2 = EC2(audit_info) assert nacl_id in str(ec2.network_acls) @@ -226,7 +226,7 @@ class Test_EC2_Service: assert re.match(r"acl-[0-9a-z]{8}", acl.id) assert ( acl.arn - == f"arn:{audit_info.audited_partition}:ec2:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:network-acl/{acl.id}" + == f"arn:{audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:network-acl/{acl.id}" ) assert acl.entries == [] assert acl.tags == [ @@ -237,8 +237,8 @@ class Test_EC2_Service: @mock_ec2 def test__describe_snapshots__(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_EU_WEST_1) + ec2_resource = resource("ec2", region_name=AWS_REGION_EU_WEST_1) # Create EC2 Volume and Snapshot volume_id = ec2_resource.create_volume( AvailabilityZone="us-east-1a", @@ -256,11 +256,14 @@ class Test_EC2_Service: }, ], )["SnapshotId"] - snapshot_arn = ( - f"arn:aws:ec2:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:snapshot/{snapshot_id}" - ) + snapshot_arn = f"arn:aws:ec2:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:snapshot/{snapshot_id}" # EC2 client for this test class - audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) + audit_info = set_mocked_aws_audit_info( + [AWS_REGION_EU_WEST_1], + expected_checks=[ + "ec2_securitygroup_allow_ingress_from_internet_to_any_port" + ], + ) ec2 = EC2(audit_info) assert snapshot_id in str(ec2.snapshots) @@ -270,7 +273,7 @@ class Test_EC2_Service: if snapshot.id == snapshot_id: assert re.match(r"snap-[0-9a-z]{8}", snapshot.id) assert snapshot.arn == snapshot_arn - assert snapshot.region == AWS_REGION + assert snapshot.region == AWS_REGION_EU_WEST_1 assert snapshot.tags == [ {"Key": "test", "Value": "test"}, ] @@ -281,8 +284,8 @@ class Test_EC2_Service: @mock_ec2 def test__get_snapshot_public__(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_EU_WEST_1) + ec2_resource = resource("ec2", region_name=AWS_REGION_EU_WEST_1) # Create EC2 Volume and Snapshot volume_id = ec2_resource.create_volume( AvailabilityZone="us-east-1a", @@ -301,7 +304,12 @@ class Test_EC2_Service: SnapshotId=snapshot_id, ) # EC2 client for this test class - audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) + audit_info = set_mocked_aws_audit_info( + [AWS_REGION_EU_WEST_1], + expected_checks=[ + "ec2_securitygroup_allow_ingress_from_internet_to_any_port" + ], + ) ec2 = EC2(audit_info) assert snapshot_id in str(ec2.snapshots) @@ -310,9 +318,9 @@ class Test_EC2_Service: assert re.match(r"snap-[0-9a-z]{8}", snapshot.id) assert ( snapshot.arn - == f"arn:{audit_info.audited_partition}:ec2:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:snapshot/{snapshot.id}" + == f"arn:{audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:snapshot/{snapshot.id}" ) - assert snapshot.region == AWS_REGION + assert snapshot.region == AWS_REGION_EU_WEST_1 assert not snapshot.encrypted assert snapshot.public @@ -320,7 +328,7 @@ class Test_EC2_Service: @mock_ec2 def test__get_instance_user_data__(self): user_data = "This is some user_data" - ec2 = resource("ec2", region_name=AWS_REGION) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) ec2.create_instances( ImageId=EXAMPLE_AMI_ID, MinCount=1, @@ -328,30 +336,40 @@ class Test_EC2_Service: UserData="This is some user_data", ) # EC2 client for this test class - audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) + audit_info = set_mocked_aws_audit_info( + [AWS_REGION_EU_WEST_1], + expected_checks=[ + "ec2_securitygroup_allow_ingress_from_internet_to_any_port" + ], + ) ec2 = EC2(audit_info) assert user_data == b64decode(ec2.instances[0].user_data).decode("utf-8") # Test EC2 Get EBS Encryption by default @mock_ec2 def test__get_ebs_encryption_by_default__(self): - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.enable_ebs_encryption_by_default() # EC2 client for this test class - audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) + audit_info = set_mocked_aws_audit_info( + [AWS_REGION_EU_WEST_1], + expected_checks=[ + "ec2_securitygroup_allow_ingress_from_internet_to_any_port" + ], + ) ec2 = EC2(audit_info) # One result per region assert len(ec2.ebs_encryption_by_default) == 2 for result in ec2.ebs_encryption_by_default: - if result.region == AWS_REGION: + if result.region == AWS_REGION_EU_WEST_1: assert result.status # Test EC2 Describe Addresses @mock_ec2 def test__describe_addresses__(self): # Generate EC2 Client - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) allocation_id = ec2_client.allocate_address( Domain="vpc", Address="127.38.43.222", @@ -365,12 +383,17 @@ class Test_EC2_Service: ], )["AllocationId"] # EC2 client for this test class - audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) + audit_info = set_mocked_aws_audit_info( + [AWS_REGION_EU_WEST_1], + expected_checks=[ + "ec2_securitygroup_allow_ingress_from_internet_to_any_port" + ], + ) ec2 = EC2(audit_info) assert "127.38.43.222" in str(ec2.elastic_ips) assert ( ec2.elastic_ips[0].arn - == f"arn:aws:ec2:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:eip-allocation/{allocation_id}" + == f"arn:aws:ec2:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:eip-allocation/{allocation_id}" ) assert ec2.elastic_ips[0].tags == [ {"Key": "test", "Value": "test"}, @@ -380,8 +403,8 @@ class Test_EC2_Service: @mock_ec2 def test__describe_sg_network_interfaces__(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_EU_WEST_1) + ec2_resource = resource("ec2", region_name=AWS_REGION_EU_WEST_1) # Create VPC, Subnet, SecurityGroup and Network Interface vpc = ec2_resource.create_vpc(CidrBlock="10.0.0.0/16") subnet = ec2_resource.create_subnet(VpcId=vpc.id, CidrBlock="10.0.0.0/18") @@ -394,7 +417,12 @@ class Test_EC2_Service: ) # EC2 client for this test class - audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) + audit_info = set_mocked_aws_audit_info( + [AWS_REGION_EU_WEST_1], + expected_checks=[ + "ec2_securitygroup_allow_ingress_from_internet_to_any_port" + ], + ) ec2 = EC2(audit_info) assert sg.id in str(ec2.security_groups) @@ -403,10 +431,10 @@ class Test_EC2_Service: assert security_group.name == "test-securitygroup" assert ( security_group.arn - == f"arn:{audit_info.audited_partition}:ec2:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:security-group/{security_group.id}" + == f"arn:{audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:security-group/{security_group.id}" ) assert re.match(r"sg-[0-9a-z]{17}", security_group.id) - assert security_group.region == AWS_REGION + assert security_group.region == AWS_REGION_EU_WEST_1 assert eni_id in security_group.network_interfaces assert security_group.ingress_rules == [] assert security_group.egress_rules == [ @@ -422,8 +450,8 @@ class Test_EC2_Service: @mock_ec2 def test__describe_public_network_interfaces__(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_EU_WEST_1) + ec2_resource = resource("ec2", region_name=AWS_REGION_EU_WEST_1) # Create VPC, Subnet, SecurityGroup and Network Interface vpc = ec2_resource.create_vpc(CidrBlock="10.0.0.0/16") subnet = ec2_resource.create_subnet(VpcId=vpc.id, CidrBlock="10.0.0.0/18") @@ -445,7 +473,12 @@ class Test_EC2_Service: ) # EC2 client for this test class - audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) + audit_info = set_mocked_aws_audit_info( + [AWS_REGION_EU_WEST_1], + expected_checks=[ + "ec2_securitygroup_allow_ingress_from_internet_to_any_port" + ], + ) ec2 = EC2(audit_info) assert len(ec2.network_interfaces) == 1 @@ -454,7 +487,7 @@ class Test_EC2_Service: assert ec2.network_interfaces[0].type == eni.interface_type assert ec2.network_interfaces[0].subnet_id == subnet.id assert ec2.network_interfaces[0].vpc_id == vpc.id - assert ec2.network_interfaces[0].region == AWS_REGION + assert ec2.network_interfaces[0].region == AWS_REGION_EU_WEST_1 assert ec2.network_interfaces[0].tags == [ {"Key": "string", "Value": "string"}, ] @@ -463,8 +496,8 @@ class Test_EC2_Service: @mock_ec2 def test__describe_images__(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_EU_WEST_1) + ec2_resource = resource("ec2", region_name=AWS_REGION_EU_WEST_1) # Create AMI tag_specifications = [ { @@ -489,7 +522,12 @@ class Test_EC2_Service: )["ImageId"] # EC2 client for this test class - audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) + audit_info = set_mocked_aws_audit_info( + [AWS_REGION_EU_WEST_1], + expected_checks=[ + "ec2_securitygroup_allow_ingress_from_internet_to_any_port" + ], + ) ec2 = EC2(audit_info) assert len(ec2.images) == 1 @@ -497,10 +535,10 @@ class Test_EC2_Service: assert re.match(r"ami-[0-9a-z]{8}", ec2.images[0].id) assert ( ec2.images[0].arn - == f"arn:{audit_info.audited_partition}:ec2:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:image/{ec2.images[0].id}" + == f"arn:{audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:image/{ec2.images[0].id}" ) assert not ec2.images[0].public - assert ec2.images[0].region == AWS_REGION + assert ec2.images[0].region == AWS_REGION_EU_WEST_1 assert ec2.images[0].tags == [ { "Key": "Base_AMI_Name", @@ -513,10 +551,10 @@ class Test_EC2_Service: @mock_ec2 def test__describe_volumes__(self): # Generate EC2 Client - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) # Create Volume volume_id = ec2_client.create_volume( - AvailabilityZone=AWS_REGION, + AvailabilityZone=AWS_REGION_EU_WEST_1, Encrypted=False, Size=40, TagSpecifications=[ @@ -530,7 +568,12 @@ class Test_EC2_Service: )["VolumeId"] # EC2 client for this test class - audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) + audit_info = set_mocked_aws_audit_info( + [AWS_REGION_EU_WEST_1], + expected_checks=[ + "ec2_securitygroup_allow_ingress_from_internet_to_any_port" + ], + ) ec2 = EC2(audit_info) assert len(ec2.volumes) == 1 @@ -538,9 +581,9 @@ class Test_EC2_Service: assert re.match(r"vol-[0-9a-z]{8}", ec2.volumes[0].id) assert ( ec2.volumes[0].arn - == f"arn:{audit_info.audited_partition}:ec2:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:volume/{ec2.volumes[0].id}" + == f"arn:{audit_info.audited_partition}:ec2:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:volume/{ec2.volumes[0].id}" ) - assert ec2.volumes[0].region == AWS_REGION + assert ec2.volumes[0].region == AWS_REGION_EU_WEST_1 assert not ec2.volumes[0].encrypted assert ec2.volumes[0].tags == [ {"Key": "test", "Value": "test"}, diff --git a/tests/providers/aws/services/ecr/ecr_registry_scan_images_on_push_enabled/ecr_registry_scan_images_on_push_enabled_test.py b/tests/providers/aws/services/ecr/ecr_registry_scan_images_on_push_enabled/ecr_registry_scan_images_on_push_enabled_test.py index d242eb17d8..b5f740c36d 100644 --- a/tests/providers/aws/services/ecr/ecr_registry_scan_images_on_push_enabled/ecr_registry_scan_images_on_push_enabled_test.py +++ b/tests/providers/aws/services/ecr/ecr_registry_scan_images_on_push_enabled/ecr_registry_scan_images_on_push_enabled_test.py @@ -1,23 +1,17 @@ from re import search from unittest import mock -from boto3 import session - -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info from prowler.providers.aws.services.ecr.ecr_service import ( Registry, Repository, ScanningRule, ) -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -# Mock Test Region -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" repository_name = "test_repo" repository_arn = ( f"arn:aws:ecr:eu-west-1:{AWS_ACCOUNT_NUMBER}:repository/{repository_name}" @@ -25,36 +19,6 @@ repository_arn = ( class Test_ecr_registry_scan_images_on_push_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=None, - audited_account_arn=None, - 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 - def test_no_registries(self): ecr_client = mock.MagicMock ecr_client.registries = {} @@ -77,9 +41,9 @@ class Test_ecr_registry_scan_images_on_push_enabled: def test_registry_no_repositories(self): ecr_client = mock.MagicMock ecr_client.registries = {} - ecr_client.registries[AWS_REGION] = Registry( + ecr_client.registries[AWS_REGION_EU_WEST_1] = Registry( id=AWS_ACCOUNT_NUMBER, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, scan_type="BASIC", repositories=[], rules=[], @@ -103,15 +67,15 @@ class Test_ecr_registry_scan_images_on_push_enabled: def test_registry_scan_on_push_enabled(self): ecr_client = mock.MagicMock ecr_client.registries = {} - ecr_client.registries[AWS_REGION] = Registry( + ecr_client.registries[AWS_REGION_EU_WEST_1] = Registry( id=AWS_ACCOUNT_NUMBER, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, scan_type="BASIC", repositories=[ Repository( name=repository_name, arn=repository_arn, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, scan_on_push=True, policy="", images_details=None, @@ -143,20 +107,20 @@ class Test_ecr_registry_scan_images_on_push_enabled: assert result[0].status == "PASS" assert search("with scan on push", result[0].status_extended) assert result[0].resource_id == AWS_ACCOUNT_NUMBER - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 def test_scan_on_push_enabled_with_filters(self): ecr_client = mock.MagicMock ecr_client.registries = {} - ecr_client.registries[AWS_REGION] = Registry( + ecr_client.registries[AWS_REGION_EU_WEST_1] = Registry( id=AWS_ACCOUNT_NUMBER, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, scan_type="BASIC", repositories=[ Repository( name=repository_name, arn=repository_arn, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, scan_on_push=True, policy="", images_details=None, @@ -191,20 +155,20 @@ class Test_ecr_registry_scan_images_on_push_enabled: result[0].status_extended, ) assert result[0].resource_id == AWS_ACCOUNT_NUMBER - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 def test_scan_on_push_disabled(self): ecr_client = mock.MagicMock ecr_client.registries = {} - ecr_client.registries[AWS_REGION] = Registry( + ecr_client.registries[AWS_REGION_EU_WEST_1] = Registry( id=AWS_ACCOUNT_NUMBER, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, scan_type="BASIC", repositories=[ Repository( name=repository_name, arn=repository_arn, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, scan_on_push=True, policy="", images_details=None, @@ -231,4 +195,4 @@ class Test_ecr_registry_scan_images_on_push_enabled: assert result[0].status == "FAIL" assert search("scanning without scan on push", result[0].status_extended) assert result[0].resource_id == AWS_ACCOUNT_NUMBER - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 diff --git a/tests/providers/aws/services/ecr/ecr_repositories_lifecycle_policy_enabled/ecr_repositories_lifecycle_policy_enabled_test.py b/tests/providers/aws/services/ecr/ecr_repositories_lifecycle_policy_enabled/ecr_repositories_lifecycle_policy_enabled_test.py index a45fa2c053..fc798c7842 100644 --- a/tests/providers/aws/services/ecr/ecr_repositories_lifecycle_policy_enabled/ecr_repositories_lifecycle_policy_enabled_test.py +++ b/tests/providers/aws/services/ecr/ecr_repositories_lifecycle_policy_enabled/ecr_repositories_lifecycle_policy_enabled_test.py @@ -1,18 +1,12 @@ from unittest import mock -from boto3 import session - -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info from prowler.providers.aws.services.ecr.ecr_service import Registry, Repository -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -# Mock Test Region -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" repository_name = "test_repo" repository_arn = ( f"arn:aws:ecr:eu-west-1:{AWS_ACCOUNT_NUMBER}:repository/{repository_name}" @@ -31,36 +25,6 @@ repo_policy_public = { class Test_ecr_repositories_lifecycle_policy_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=None, - audited_account_arn=None, - 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 - def test_no_registries(self): ecr_client = mock.MagicMock ecr_client.registries = {} @@ -83,9 +47,9 @@ class Test_ecr_repositories_lifecycle_policy_enabled: def test_registry_no_repositories(self): ecr_client = mock.MagicMock ecr_client.registries = {} - ecr_client.registries[AWS_REGION] = Registry( + ecr_client.registries[AWS_REGION_EU_WEST_1] = Registry( id=AWS_ACCOUNT_NUMBER, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, scan_type="BASIC", repositories=[], rules=[], @@ -109,16 +73,16 @@ class Test_ecr_repositories_lifecycle_policy_enabled: def test_lifecycle_policy(self): ecr_client = mock.MagicMock ecr_client.registries = {} - ecr_client.registries[AWS_REGION] = Registry( + ecr_client.registries[AWS_REGION_EU_WEST_1] = Registry( id=AWS_ACCOUNT_NUMBER, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, scan_type="BASIC", rules=[], repositories=[ Repository( name=repository_name, arn=repository_arn, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, scan_on_push=True, policy=repo_policy_public, images_details=None, @@ -153,16 +117,16 @@ class Test_ecr_repositories_lifecycle_policy_enabled: def test_no_lifecycle_policy(self): ecr_client = mock.MagicMock ecr_client.registries = {} - ecr_client.registries[AWS_REGION] = Registry( + ecr_client.registries[AWS_REGION_EU_WEST_1] = Registry( id=AWS_ACCOUNT_NUMBER, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, scan_type="BASIC", rules=[], repositories=[ Repository( name=repository_name, arn=repository_arn, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, scan_on_push=False, policy=repo_policy_public, images_details=None, diff --git a/tests/providers/aws/services/ecr/ecr_repositories_not_publicly_accessible/ecr_repositories_not_publicly_accessible_test.py b/tests/providers/aws/services/ecr/ecr_repositories_not_publicly_accessible/ecr_repositories_not_publicly_accessible_test.py index ac07edfc61..3b3aa418bd 100644 --- a/tests/providers/aws/services/ecr/ecr_repositories_not_publicly_accessible/ecr_repositories_not_publicly_accessible_test.py +++ b/tests/providers/aws/services/ecr/ecr_repositories_not_publicly_accessible/ecr_repositories_not_publicly_accessible_test.py @@ -1,18 +1,12 @@ from unittest import mock -from boto3 import session - -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info from prowler.providers.aws.services.ecr.ecr_service import Registry, Repository -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -# Mock Test Region -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" repository_name = "test_repo" repository_arn = ( f"arn:aws:ecr:eu-west-1:{AWS_ACCOUNT_NUMBER}:repository/{repository_name}" @@ -43,36 +37,6 @@ repo_policy_public = { class Test_ecr_repositories_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=None, - audited_account_arn=None, - 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 - def test_no_registries(self): ecr_client = mock.MagicMock ecr_client.registries = {} @@ -95,9 +59,9 @@ class Test_ecr_repositories_not_publicly_accessible: def test_registry_no_repositories(self): ecr_client = mock.MagicMock ecr_client.registries = {} - ecr_client.registries[AWS_REGION] = Registry( + ecr_client.registries[AWS_REGION_EU_WEST_1] = Registry( id=AWS_ACCOUNT_NUMBER, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, scan_type="BASIC", repositories=[], rules=[], @@ -121,15 +85,15 @@ class Test_ecr_repositories_not_publicly_accessible: def test_repository_not_public(self): ecr_client = mock.MagicMock ecr_client.registries = {} - ecr_client.registries[AWS_REGION] = Registry( + ecr_client.registries[AWS_REGION_EU_WEST_1] = Registry( id=AWS_ACCOUNT_NUMBER, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, scan_type="BASIC", repositories=[ Repository( name=repository_name, arn=repository_arn, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, scan_on_push=True, policy=repo_policy_not_public, images_details=None, @@ -164,15 +128,15 @@ class Test_ecr_repositories_not_publicly_accessible: def test_repository_public(self): ecr_client = mock.MagicMock ecr_client.registries = {} - ecr_client.registries[AWS_REGION] = Registry( + ecr_client.registries[AWS_REGION_EU_WEST_1] = Registry( id=AWS_ACCOUNT_NUMBER, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, scan_type="BASIC", repositories=[ Repository( name=repository_name, arn=repository_arn, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, scan_on_push=True, policy=repo_policy_public, images_details=None, diff --git a/tests/providers/aws/services/ecr/ecr_repositories_scan_images_on_push_enabled/ecr_repositories_scan_images_on_push_enabled_test.py b/tests/providers/aws/services/ecr/ecr_repositories_scan_images_on_push_enabled/ecr_repositories_scan_images_on_push_enabled_test.py index 1a9206270f..60ecd89dbf 100644 --- a/tests/providers/aws/services/ecr/ecr_repositories_scan_images_on_push_enabled/ecr_repositories_scan_images_on_push_enabled_test.py +++ b/tests/providers/aws/services/ecr/ecr_repositories_scan_images_on_push_enabled/ecr_repositories_scan_images_on_push_enabled_test.py @@ -1,18 +1,12 @@ from unittest import mock -from boto3 import session - -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info from prowler.providers.aws.services.ecr.ecr_service import Registry, Repository -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -# Mock Test Region -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" repository_name = "test_repo" repository_arn = ( f"arn:aws:ecr:eu-west-1:{AWS_ACCOUNT_NUMBER}:repository/{repository_name}" @@ -31,36 +25,6 @@ repo_policy_public = { class Test_ecr_repositories_scan_images_on_push_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=None, - audited_account_arn=None, - 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 - def test_no_registries(self): ecr_client = mock.MagicMock ecr_client.registries = {} @@ -83,9 +47,9 @@ class Test_ecr_repositories_scan_images_on_push_enabled: def test_registry_no_repositories(self): ecr_client = mock.MagicMock ecr_client.registries = {} - ecr_client.registries[AWS_REGION] = Registry( + ecr_client.registries[AWS_REGION_EU_WEST_1] = Registry( id=AWS_ACCOUNT_NUMBER, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, scan_type="BASIC", repositories=[], rules=[], @@ -109,15 +73,15 @@ class Test_ecr_repositories_scan_images_on_push_enabled: def test_scan_on_push_disabled(self): ecr_client = mock.MagicMock ecr_client.registries = {} - ecr_client.registries[AWS_REGION] = Registry( + ecr_client.registries[AWS_REGION_EU_WEST_1] = Registry( id=AWS_ACCOUNT_NUMBER, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, scan_type="BASIC", repositories=[ Repository( name=repository_name, arn=repository_arn, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, scan_on_push=True, policy=repo_policy_public, images_details=None, @@ -152,15 +116,15 @@ class Test_ecr_repositories_scan_images_on_push_enabled: def test_scan_on_push_enabled(self): ecr_client = mock.MagicMock ecr_client.registries = {} - ecr_client.registries[AWS_REGION] = Registry( + ecr_client.registries[AWS_REGION_EU_WEST_1] = Registry( id=AWS_ACCOUNT_NUMBER, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, scan_type="BASIC", repositories=[ Repository( name=repository_name, arn=repository_arn, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, scan_on_push=False, policy=repo_policy_public, images_details=None, diff --git a/tests/providers/aws/services/ecr/ecr_repositories_scan_vulnerabilities_in_latest_image/ecr_repositories_scan_vulnerabilities_in_latest_image_test.py b/tests/providers/aws/services/ecr/ecr_repositories_scan_vulnerabilities_in_latest_image/ecr_repositories_scan_vulnerabilities_in_latest_image_test.py index 02d4337730..f6c077dba7 100644 --- a/tests/providers/aws/services/ecr/ecr_repositories_scan_vulnerabilities_in_latest_image/ecr_repositories_scan_vulnerabilities_in_latest_image_test.py +++ b/tests/providers/aws/services/ecr/ecr_repositories_scan_vulnerabilities_in_latest_image/ecr_repositories_scan_vulnerabilities_in_latest_image_test.py @@ -1,24 +1,18 @@ from datetime import datetime from unittest import mock -from boto3 import session - -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info from prowler.providers.aws.services.ecr.ecr_service import ( FindingSeverityCounts, ImageDetails, Registry, Repository, ) -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -# Mock Test Region -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" repository_name = "test_repo" repository_arn = ( f"arn:aws:ecr:eu-west-1:{AWS_ACCOUNT_NUMBER}:repository/{repository_name}" @@ -38,36 +32,6 @@ repo_policy_public = { class Test_ecr_repositories_scan_vulnerabilities_in_latest_image: - 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=None, - audited_account_arn=None, - 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 - def test_no_registries(self): ecr_client = mock.MagicMock ecr_client.registries = {} @@ -91,9 +55,9 @@ class Test_ecr_repositories_scan_vulnerabilities_in_latest_image: def test_registry_no_repositories(self): ecr_client = mock.MagicMock ecr_client.registries = {} - ecr_client.registries[AWS_REGION] = Registry( + ecr_client.registries[AWS_REGION_EU_WEST_1] = Registry( id=AWS_ACCOUNT_NUMBER, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, scan_type="BASIC", repositories=[], rules=[], @@ -118,15 +82,15 @@ class Test_ecr_repositories_scan_vulnerabilities_in_latest_image: def test_empty_repository(self): ecr_client = mock.MagicMock ecr_client.registries = {} - ecr_client.registries[AWS_REGION] = Registry( + ecr_client.registries[AWS_REGION_EU_WEST_1] = Registry( id=AWS_ACCOUNT_NUMBER, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, scan_type="BASIC", repositories=[ Repository( name=repository_name, arn=repository_arn, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, scan_on_push=True, policy=repo_policy_public, images_details=[], @@ -155,15 +119,15 @@ class Test_ecr_repositories_scan_vulnerabilities_in_latest_image: def test_image_scaned_without_findings(self): ecr_client = mock.MagicMock ecr_client.registries = {} - ecr_client.registries[AWS_REGION] = Registry( + ecr_client.registries[AWS_REGION_EU_WEST_1] = Registry( id=AWS_ACCOUNT_NUMBER, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, scan_type="BASIC", repositories=[ Repository( name=repository_name, arn=repository_arn, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, scan_on_push=True, policy=repo_policy_public, images_details=[ @@ -209,15 +173,15 @@ class Test_ecr_repositories_scan_vulnerabilities_in_latest_image: def test_image_scanned_with_findings_default_severity_MEDIUM(self): ecr_client = mock.MagicMock ecr_client.registries = {} - ecr_client.registries[AWS_REGION] = Registry( + ecr_client.registries[AWS_REGION_EU_WEST_1] = Registry( id=AWS_ACCOUNT_NUMBER, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, scan_type="BASIC", repositories=[ Repository( name=repository_name, arn=repository_arn, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, scan_on_push=True, policy=repo_policy_public, images_details=[ @@ -267,15 +231,15 @@ class Test_ecr_repositories_scan_vulnerabilities_in_latest_image: def test_image_scanned_with_findings_default_severity_HIGH(self): ecr_client = mock.MagicMock ecr_client.registries = {} - ecr_client.registries[AWS_REGION] = Registry( + ecr_client.registries[AWS_REGION_EU_WEST_1] = Registry( id=AWS_ACCOUNT_NUMBER, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, scan_type="BASIC", repositories=[ Repository( name=repository_name, arn=repository_arn, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, scan_on_push=True, policy=repo_policy_public, images_details=[ @@ -325,15 +289,15 @@ class Test_ecr_repositories_scan_vulnerabilities_in_latest_image: def test_image_scanned_with_findings_default_severity_CRITICAL(self): ecr_client = mock.MagicMock ecr_client.registries = {} - ecr_client.registries[AWS_REGION] = Registry( + ecr_client.registries[AWS_REGION_EU_WEST_1] = Registry( id=AWS_ACCOUNT_NUMBER, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, scan_type="BASIC", repositories=[ Repository( name=repository_name, arn=repository_arn, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, scan_on_push=True, policy=repo_policy_public, images_details=[ @@ -383,15 +347,15 @@ class Test_ecr_repositories_scan_vulnerabilities_in_latest_image: def test_image_scanned_without_CRITICAL_findings_default_severity_CRITICAL(self): ecr_client = mock.MagicMock ecr_client.registries = {} - ecr_client.registries[AWS_REGION] = Registry( + ecr_client.registries[AWS_REGION_EU_WEST_1] = Registry( id=AWS_ACCOUNT_NUMBER, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, scan_type="BASIC", repositories=[ Repository( name=repository_name, arn=repository_arn, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, scan_on_push=True, policy=repo_policy_public, images_details=[ @@ -443,15 +407,15 @@ class Test_ecr_repositories_scan_vulnerabilities_in_latest_image: ): ecr_client = mock.MagicMock ecr_client.registries = {} - ecr_client.registries[AWS_REGION] = Registry( + ecr_client.registries[AWS_REGION_EU_WEST_1] = Registry( id=AWS_ACCOUNT_NUMBER, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, scan_type="BASIC", repositories=[ Repository( name=repository_name, arn=repository_arn, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, scan_on_push=True, policy=repo_policy_public, images_details=[ @@ -501,15 +465,15 @@ class Test_ecr_repositories_scan_vulnerabilities_in_latest_image: def test_image_scanned_fail_scan(self): ecr_client = mock.MagicMock ecr_client.registries = {} - ecr_client.registries[AWS_REGION] = Registry( + ecr_client.registries[AWS_REGION_EU_WEST_1] = Registry( id=AWS_ACCOUNT_NUMBER, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, scan_type="BASIC", repositories=[ Repository( name=repository_name, arn=repository_arn, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, scan_on_push=True, policy=repo_policy_public, images_details=[ @@ -555,15 +519,15 @@ class Test_ecr_repositories_scan_vulnerabilities_in_latest_image: def test_image_not_scanned(self): ecr_client = mock.MagicMock ecr_client.registries = {} - ecr_client.registries[AWS_REGION] = Registry( + ecr_client.registries[AWS_REGION_EU_WEST_1] = Registry( id=AWS_ACCOUNT_NUMBER, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, scan_type="BASIC", repositories=[ Repository( name=repository_name, arn=repository_arn, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, scan_on_push=True, policy=repo_policy_public, images_details=[ diff --git a/tests/providers/aws/services/ecr/ecr_service_test.py b/tests/providers/aws/services/ecr/ecr_service_test.py index c5bc6c8188..36a8740110 100644 --- a/tests/providers/aws/services/ecr/ecr_service_test.py +++ b/tests/providers/aws/services/ecr/ecr_service_test.py @@ -2,20 +2,16 @@ from datetime import datetime from unittest.mock import patch import botocore -from boto3 import client, session +from boto3 import client from moto import mock_ecr -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info from prowler.providers.aws.services.ecr.ecr_service import ECR, ScanningRule -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" -AWS_REGION = "eu-west-1" - repo_arn = f"arn:aws:ecr:eu-west-1:{AWS_ACCOUNT_NUMBER}:repository/test-repo" repo_name = "test-repo" @@ -87,9 +83,11 @@ def mock_make_api_call(self, operation_name, kwarg): 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_EU_WEST_1 + ) + regional_client.region = AWS_REGION_EU_WEST_1 + return {AWS_REGION_EU_WEST_1: regional_client} # Patch every AWS call using Boto3 and generate_regional_clients to have 1 client @@ -99,36 +97,6 @@ def mock_generate_regional_clients(service, audit_info, _): new=mock_generate_regional_clients, ) class Test_ECR_Service: - 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=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=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 ECR Service def test_service(self): audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) @@ -151,7 +119,7 @@ class Test_ECR_Service: # Test describe ECR repositories @mock_ecr def test__describe_registries_and_repositories__(self): - ecr_client = client("ecr", region_name=AWS_REGION) + ecr_client = client("ecr", region_name=AWS_REGION_EU_WEST_1) ecr_client.create_repository( repositoryName=repo_name, imageScanningConfiguration={"scanOnPush": True}, @@ -163,21 +131,21 @@ class Test_ECR_Service: ecr = ECR(audit_info) assert len(ecr.registries) == 1 - assert ecr.registries[AWS_REGION].id == AWS_ACCOUNT_NUMBER - assert ecr.registries[AWS_REGION].region == AWS_REGION - assert len(ecr.registries[AWS_REGION].repositories) == 1 + assert ecr.registries[AWS_REGION_EU_WEST_1].id == AWS_ACCOUNT_NUMBER + assert ecr.registries[AWS_REGION_EU_WEST_1].region == AWS_REGION_EU_WEST_1 + assert len(ecr.registries[AWS_REGION_EU_WEST_1].repositories) == 1 - assert ecr.registries[AWS_REGION].repositories[0].name == repo_name - assert ecr.registries[AWS_REGION].repositories[0].arn == repo_arn - assert ecr.registries[AWS_REGION].repositories[0].scan_on_push - assert ecr.registries[AWS_REGION].repositories[0].tags == [ + assert ecr.registries[AWS_REGION_EU_WEST_1].repositories[0].name == repo_name + assert ecr.registries[AWS_REGION_EU_WEST_1].repositories[0].arn == repo_arn + assert ecr.registries[AWS_REGION_EU_WEST_1].repositories[0].scan_on_push + assert ecr.registries[AWS_REGION_EU_WEST_1].repositories[0].tags == [ {"Key": "test", "Value": "test"}, ] # Test describe ECR repository policies @mock_ecr def test__describe_repository_policies__(self): - ecr_client = client("ecr", region_name=AWS_REGION) + ecr_client = client("ecr", region_name=AWS_REGION_EU_WEST_1) ecr_client.create_repository( repositoryName=repo_name, imageScanningConfiguration={"scanOnPush": True}, @@ -185,32 +153,36 @@ class Test_ECR_Service: audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) ecr = ECR(audit_info) assert len(ecr.registries) == 1 - assert len(ecr.registries[AWS_REGION].repositories) == 1 - assert ecr.registries[AWS_REGION].repositories[0].name == repo_name - assert ecr.registries[AWS_REGION].repositories[0].arn == repo_arn - assert ecr.registries[AWS_REGION].repositories[0].scan_on_push + assert len(ecr.registries[AWS_REGION_EU_WEST_1].repositories) == 1 + assert ecr.registries[AWS_REGION_EU_WEST_1].repositories[0].name == repo_name + assert ecr.registries[AWS_REGION_EU_WEST_1].repositories[0].arn == repo_arn + assert ecr.registries[AWS_REGION_EU_WEST_1].repositories[0].scan_on_push assert ( - ecr.registries[AWS_REGION].repositories[0].policy["Statement"][0]["Sid"] + ecr.registries[AWS_REGION_EU_WEST_1] + .repositories[0] + .policy["Statement"][0]["Sid"] == "Allow Describe Images" ) assert ( - ecr.registries[AWS_REGION].repositories[0].policy["Statement"][0]["Effect"] + ecr.registries[AWS_REGION_EU_WEST_1] + .repositories[0] + .policy["Statement"][0]["Effect"] == "Allow" ) assert ( - ecr.registries[AWS_REGION] + ecr.registries[AWS_REGION_EU_WEST_1] .repositories[0] .policy["Statement"][0]["Principal"]["AWS"][0] == f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" ) assert ( - ecr.registries[AWS_REGION] + ecr.registries[AWS_REGION_EU_WEST_1] .repositories[0] .policy["Statement"][0]["Action"][0] == "ecr:DescribeImages" ) assert ( - ecr.registries[AWS_REGION] + ecr.registries[AWS_REGION_EU_WEST_1] .repositories[0] .policy["Statement"][0]["Action"][1] == "ecr:DescribeRepositories" @@ -219,7 +191,7 @@ class Test_ECR_Service: # Test describe ECR repository lifecycle policies @mock_ecr def test__get_lifecycle_policies__(self): - ecr_client = client("ecr", region_name=AWS_REGION) + ecr_client = client("ecr", region_name=AWS_REGION_EU_WEST_1) ecr_client.create_repository( repositoryName=repo_name, imageScanningConfiguration={"scanOnPush": True}, @@ -227,16 +199,16 @@ class Test_ECR_Service: audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) ecr = ECR(audit_info) assert len(ecr.registries) == 1 - assert len(ecr.registries[AWS_REGION].repositories) == 1 - assert ecr.registries[AWS_REGION].repositories[0].name == repo_name - assert ecr.registries[AWS_REGION].repositories[0].arn == repo_arn - assert ecr.registries[AWS_REGION].repositories[0].scan_on_push - assert ecr.registries[AWS_REGION].repositories[0].lifecycle_policy + assert len(ecr.registries[AWS_REGION_EU_WEST_1].repositories) == 1 + assert ecr.registries[AWS_REGION_EU_WEST_1].repositories[0].name == repo_name + assert ecr.registries[AWS_REGION_EU_WEST_1].repositories[0].arn == repo_arn + assert ecr.registries[AWS_REGION_EU_WEST_1].repositories[0].scan_on_push + assert ecr.registries[AWS_REGION_EU_WEST_1].repositories[0].lifecycle_policy # Test get image details @mock_ecr def test__get_image_details__(self): - ecr_client = client("ecr", region_name=AWS_REGION) + ecr_client = client("ecr", region_name=AWS_REGION_EU_WEST_1) ecr_client.create_repository( repositoryName=repo_name, imageScanningConfiguration={"scanOnPush": True}, @@ -244,46 +216,55 @@ class Test_ECR_Service: audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) ecr = ECR(audit_info) assert len(ecr.registries) == 1 - assert len(ecr.registries[AWS_REGION].repositories) == 1 - assert ecr.registries[AWS_REGION].repositories[0].name == repo_name - assert ecr.registries[AWS_REGION].repositories[0].arn == repo_arn - assert ecr.registries[AWS_REGION].repositories[0].scan_on_push - assert len(ecr.registries[AWS_REGION].repositories[0].images_details) == 2 + assert len(ecr.registries[AWS_REGION_EU_WEST_1].repositories) == 1 + assert ecr.registries[AWS_REGION_EU_WEST_1].repositories[0].name == repo_name + assert ecr.registries[AWS_REGION_EU_WEST_1].repositories[0].arn == repo_arn + assert ecr.registries[AWS_REGION_EU_WEST_1].repositories[0].scan_on_push + assert ( + len(ecr.registries[AWS_REGION_EU_WEST_1].repositories[0].images_details) + == 2 + ) # First image pushed - assert ecr.registries[AWS_REGION].repositories[0].images_details[ + assert ecr.registries[AWS_REGION_EU_WEST_1].repositories[0].images_details[ 0 ].image_pushed_at == datetime(2023, 1, 1) assert ( - ecr.registries[AWS_REGION].repositories[0].images_details[0].latest_tag + ecr.registries[AWS_REGION_EU_WEST_1] + .repositories[0] + .images_details[0] + .latest_tag == "test-tag1" ) assert ( - ecr.registries[AWS_REGION].repositories[0].images_details[0].latest_digest + ecr.registries[AWS_REGION_EU_WEST_1] + .repositories[0] + .images_details[0] + .latest_digest == "sha256:d8868e50ac4c7104d2200d42f432b661b2da8c1e417ccfae217e6a1e04bb9295" ) assert ( - ecr.registries[AWS_REGION] + ecr.registries[AWS_REGION_EU_WEST_1] .repositories[0] .images_details[0] .scan_findings_status == "COMPLETE" ) assert ( - ecr.registries[AWS_REGION] + ecr.registries[AWS_REGION_EU_WEST_1] .repositories[0] .images_details[0] .scan_findings_severity_count.critical == 1 ) assert ( - ecr.registries[AWS_REGION] + ecr.registries[AWS_REGION_EU_WEST_1] .repositories[0] .images_details[0] .scan_findings_severity_count.high == 2 ) assert ( - ecr.registries[AWS_REGION] + ecr.registries[AWS_REGION_EU_WEST_1] .repositories[0] .images_details[0] .scan_findings_severity_count.medium @@ -291,40 +272,46 @@ class Test_ECR_Service: ) # Second image pushed - assert ecr.registries[AWS_REGION].repositories[0].images_details[ + assert ecr.registries[AWS_REGION_EU_WEST_1].repositories[0].images_details[ 1 ].image_pushed_at == datetime(2023, 1, 2) assert ( - ecr.registries[AWS_REGION].repositories[0].images_details[1].latest_tag + ecr.registries[AWS_REGION_EU_WEST_1] + .repositories[0] + .images_details[1] + .latest_tag == "test-tag2" ) assert ( - ecr.registries[AWS_REGION].repositories[0].images_details[1].latest_digest + ecr.registries[AWS_REGION_EU_WEST_1] + .repositories[0] + .images_details[1] + .latest_digest == "sha256:83251ac64627fc331584f6c498b3aba5badc01574e2c70b2499af3af16630eed" ) assert ( - ecr.registries[AWS_REGION] + ecr.registries[AWS_REGION_EU_WEST_1] .repositories[0] .images_details[1] .scan_findings_status == "COMPLETE" ) assert ( - ecr.registries[AWS_REGION] + ecr.registries[AWS_REGION_EU_WEST_1] .repositories[0] .images_details[1] .scan_findings_severity_count.critical == 1 ) assert ( - ecr.registries[AWS_REGION] + ecr.registries[AWS_REGION_EU_WEST_1] .repositories[0] .images_details[1] .scan_findings_severity_count.high == 2 ) assert ( - ecr.registries[AWS_REGION] + ecr.registries[AWS_REGION_EU_WEST_1] .repositories[0] .images_details[1] .scan_findings_severity_count.medium @@ -337,9 +324,9 @@ class Test_ECR_Service: audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) ecr = ECR(audit_info) assert len(ecr.registries) == 1 - assert ecr.registries[AWS_REGION].id == AWS_ACCOUNT_NUMBER - assert ecr.registries[AWS_REGION].scan_type == "BASIC" - assert ecr.registries[AWS_REGION].rules == [ + assert ecr.registries[AWS_REGION_EU_WEST_1].id == AWS_ACCOUNT_NUMBER + assert ecr.registries[AWS_REGION_EU_WEST_1].scan_type == "BASIC" + assert ecr.registries[AWS_REGION_EU_WEST_1].rules == [ ScanningRule( scan_frequency="SCAN_ON_PUSH", scan_filters=[{"filter": "*", "filterType": "WILDCARD"}], diff --git a/tests/providers/aws/services/ecs/ecs_service_test.py b/tests/providers/aws/services/ecs/ecs_service_test.py index 0a6c89984b..7143ee78cd 100644 --- a/tests/providers/aws/services/ecs/ecs_service_test.py +++ b/tests/providers/aws/services/ecs/ecs_service_test.py @@ -1,24 +1,21 @@ from unittest.mock import patch -from boto3 import client, session +from boto3 import client from moto import mock_ecs -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info from prowler.providers.aws.services.ecs.ecs_service import ECS -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" -AWS_REGION = "eu-west-1" - 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_EU_WEST_1 + ) + regional_client.region = AWS_REGION_EU_WEST_1 + return {AWS_REGION_EU_WEST_1: regional_client} @patch( @@ -26,36 +23,6 @@ def mock_generate_regional_clients(service, audit_info, _): new=mock_generate_regional_clients, ) class Test_ECS_Service: - 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=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=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 ECS Service def test_service(self): audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) @@ -78,7 +45,7 @@ class Test_ECS_Service: # Test list ECS task definitions @mock_ecs def test__list_task_definitions__(self): - ecs_client = client("ecs", region_name=AWS_REGION) + ecs_client = client("ecs", region_name=AWS_REGION_EU_WEST_1) definition = dict( family="test_ecs_task", @@ -108,7 +75,7 @@ class Test_ECS_Service: @mock_ecs # Test describe ECS task definitions def test__describe_task_definitions__(self): - ecs_client = client("ecs", region_name=AWS_REGION) + ecs_client = client("ecs", region_name=AWS_REGION_EU_WEST_1) definition = dict( family="test_ecs_task", diff --git a/tests/providers/aws/services/ecs/ecs_task_definitions_no_environment_secrets/ecs_task_definitions_no_environment_secrets_test.py b/tests/providers/aws/services/ecs/ecs_task_definitions_no_environment_secrets/ecs_task_definitions_no_environment_secrets_test.py index 94904924ca..efa321325a 100644 --- a/tests/providers/aws/services/ecs/ecs_task_definitions_no_environment_secrets/ecs_task_definitions_no_environment_secrets_test.py +++ b/tests/providers/aws/services/ecs/ecs_task_definitions_no_environment_secrets/ecs_task_definitions_no_environment_secrets_test.py @@ -4,9 +4,11 @@ from prowler.providers.aws.services.ecs.ecs_service import ( ContainerEnvVariable, TaskDefinition, ) +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, + AWS_REGION_EU_WEST_1, +) -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" task_name = "test-task" task_revision = "1" env_var_name_no_secrets = "host" @@ -38,9 +40,9 @@ class Test_ecs_task_definitions_no_environment_secrets: ecs_client.task_definitions.append( TaskDefinition( name=task_name, - arn=f"arn:aws:ecs:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:task-definition/{task_name}:{task_revision}", + arn=f"arn:aws:ecs:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:task-definition/{task_name}:{task_revision}", revision="1", - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, environment_variables=[ ContainerEnvVariable( name=env_var_name_no_secrets, value=env_var_value_no_secrets @@ -68,7 +70,7 @@ class Test_ecs_task_definitions_no_environment_secrets: assert result[0].resource_id == f"{task_name}:1" assert ( result[0].resource_arn - == f"arn:aws:ecs:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:task-definition/{task_name}:{task_revision}" + == f"arn:aws:ecs:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:task-definition/{task_name}:{task_revision}" ) def test_container_env_var_with_secrets(self): @@ -77,9 +79,9 @@ class Test_ecs_task_definitions_no_environment_secrets: ecs_client.task_definitions.append( TaskDefinition( name=task_name, - arn=f"arn:aws:ecs:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:task-definition/{task_name}:{task_revision}", + arn=f"arn:aws:ecs:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:task-definition/{task_name}:{task_revision}", revision="1", - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, environment_variables=[ ContainerEnvVariable( name=env_var_name_with_secrets, value=env_var_value_with_secrets @@ -107,5 +109,5 @@ class Test_ecs_task_definitions_no_environment_secrets: assert result[0].resource_id == f"{task_name}:1" assert ( result[0].resource_arn - == f"arn:aws:ecs:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:task-definition/{task_name}:{task_revision}" + == f"arn:aws:ecs:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:task-definition/{task_name}:{task_revision}" ) diff --git a/tests/providers/aws/services/efs/efs_encryption_at_rest_enabled/efs_encryption_at_rest_enabled_test.py b/tests/providers/aws/services/efs/efs_encryption_at_rest_enabled/efs_encryption_at_rest_enabled_test.py index 9d0036a159..88e5de3846 100644 --- a/tests/providers/aws/services/efs/efs_encryption_at_rest_enabled/efs_encryption_at_rest_enabled_test.py +++ b/tests/providers/aws/services/efs/efs_encryption_at_rest_enabled/efs_encryption_at_rest_enabled_test.py @@ -2,10 +2,10 @@ from re import search from unittest import mock from prowler.providers.aws.services.efs.efs_service import FileSystem - -# Mock Test Region -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, + AWS_REGION_EU_WEST_1, +) file_system_id = "fs-c7a0456e" @@ -15,12 +15,12 @@ backup_valid_policy_status = "ENABLED" class Test_efs_encryption_at_rest_enabled: def test_efs_encryption_enabled(self): efs_client = mock.MagicMock - efs_arn = f"arn:aws:elasticfilesystem:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:file-system/{file_system_id}" + efs_arn = f"arn:aws:elasticfilesystem:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:file-system/{file_system_id}" efs_client.filesystems = [ FileSystem( id=file_system_id, arn=efs_arn, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, policy=None, backup_policy=backup_valid_policy_status, encrypted=True, @@ -44,12 +44,12 @@ class Test_efs_encryption_at_rest_enabled: def test_efs_encryption_disabled(self): efs_client = mock.MagicMock - efs_arn = f"arn:aws:elasticfilesystem:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:file-system/{file_system_id}" + efs_arn = f"arn:aws:elasticfilesystem:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:file-system/{file_system_id}" efs_client.filesystems = [ FileSystem( id=file_system_id, arn=efs_arn, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, policy=None, backup_policy=backup_valid_policy_status, encrypted=False, diff --git a/tests/providers/aws/services/efs/efs_have_backup_enabled/efs_have_backup_enabled_test.py b/tests/providers/aws/services/efs/efs_have_backup_enabled/efs_have_backup_enabled_test.py index 4c53c10010..7a1052b7c0 100644 --- a/tests/providers/aws/services/efs/efs_have_backup_enabled/efs_have_backup_enabled_test.py +++ b/tests/providers/aws/services/efs/efs_have_backup_enabled/efs_have_backup_enabled_test.py @@ -2,10 +2,10 @@ from re import search from unittest import mock from prowler.providers.aws.services.efs.efs_service import FileSystem - -# Mock Test Region -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, + AWS_REGION_EU_WEST_1, +) file_system_id = "fs-c7a0456e" @@ -17,12 +17,12 @@ backup_valid_invalid_policy_status_2 = "DISABLED" class Test_efs_have_backup_enabled: def test_efs_valid_backup_policy(self): efs_client = mock.MagicMock - efs_arn = f"arn:aws:elasticfilesystem:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:file-system/{file_system_id}" + efs_arn = f"arn:aws:elasticfilesystem:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:file-system/{file_system_id}" efs_client.filesystems = [ FileSystem( id=file_system_id, arn=efs_arn, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, policy=None, backup_policy=backup_valid_policy_status, encrypted=True, @@ -46,12 +46,12 @@ class Test_efs_have_backup_enabled: def test_efs_invalid_policy_backup_1(self): efs_client = mock.MagicMock - efs_arn = f"arn:aws:elasticfilesystem:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:file-system/{file_system_id}" + efs_arn = f"arn:aws:elasticfilesystem:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:file-system/{file_system_id}" efs_client.filesystems = [ FileSystem( id=file_system_id, arn=efs_arn, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, policy=None, backup_policy=backup_valid_invalid_policy_status_1, encrypted=True, @@ -75,12 +75,12 @@ class Test_efs_have_backup_enabled: def test_efs_invalid_policy_backup_2(self): efs_client = mock.MagicMock - efs_arn = f"arn:aws:elasticfilesystem:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:file-system/{file_system_id}" + efs_arn = f"arn:aws:elasticfilesystem:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:file-system/{file_system_id}" efs_client.filesystems = [ FileSystem( id=file_system_id, arn=efs_arn, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, policy=None, backup_policy=backup_valid_invalid_policy_status_2, encrypted=True, diff --git a/tests/providers/aws/services/efs/efs_not_publicly_accessible/efs_not_publicly_accessible_test.py b/tests/providers/aws/services/efs/efs_not_publicly_accessible/efs_not_publicly_accessible_test.py index 6722777949..6211291c81 100644 --- a/tests/providers/aws/services/efs/efs_not_publicly_accessible/efs_not_publicly_accessible_test.py +++ b/tests/providers/aws/services/efs/efs_not_publicly_accessible/efs_not_publicly_accessible_test.py @@ -2,10 +2,10 @@ from re import search from unittest import mock from prowler.providers.aws.services.efs.efs_service import FileSystem - -# Mock Test Region -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, + AWS_REGION_EU_WEST_1, +) file_system_id = "fs-c7a0456e" @@ -36,12 +36,12 @@ filesystem_invalid_policy = { class Test_efs_not_publicly_accessible: def test_efs_valid_policy(self): efs_client = mock.MagicMock - efs_arn = f"arn:aws:elasticfilesystem:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:file-system/{file_system_id}" + efs_arn = f"arn:aws:elasticfilesystem:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:file-system/{file_system_id}" efs_client.filesystems = [ FileSystem( id=file_system_id, arn=efs_arn, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, policy=filesystem_policy, backup_policy=None, encrypted=True, @@ -68,13 +68,13 @@ class Test_efs_not_publicly_accessible: def test_efs_invalid_policy(self): efs_client = mock.MagicMock - efs_arn = f"arn:aws:elasticfilesystem:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:file-system/{file_system_id}" + efs_arn = f"arn:aws:elasticfilesystem:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:file-system/{file_system_id}" efs_client.filesystems = [ FileSystem( id=file_system_id, arn=efs_arn, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, policy=filesystem_invalid_policy, backup_policy=None, encrypted=True, @@ -101,12 +101,12 @@ class Test_efs_not_publicly_accessible: def test_efs_no_policy(self): efs_client = mock.MagicMock - efs_arn = f"arn:aws:elasticfilesystem:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:file-system/{file_system_id}" + efs_arn = f"arn:aws:elasticfilesystem:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:file-system/{file_system_id}" efs_client.filesystems = [ FileSystem( id=file_system_id, arn=efs_arn, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, policy=None, backup_policy=None, encrypted=True, diff --git a/tests/providers/aws/services/efs/efs_service_test.py b/tests/providers/aws/services/efs/efs_service_test.py index 731f49a2bc..64e070a9d8 100644 --- a/tests/providers/aws/services/efs/efs_service_test.py +++ b/tests/providers/aws/services/efs/efs_service_test.py @@ -2,21 +2,16 @@ import json from unittest.mock import patch import botocore -from boto3 import client, session +from boto3 import client from moto import mock_efs -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info from prowler.providers.aws.services.efs.efs_service import EFS -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -# Mock Test Region -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" - # Mocking Access Analyzer Calls make_api_call = botocore.client.BaseClient._make_api_call @@ -47,9 +42,11 @@ def mock_make_api_call(self, operation_name, kwarg): 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_EU_WEST_1 + ) + regional_client.region = AWS_REGION_EU_WEST_1 + return {AWS_REGION_EU_WEST_1: regional_client} # Patch every AWS call using Boto3 and generate_regional_clients to have 1 client @@ -59,36 +56,6 @@ def mock_generate_regional_clients(service, audit_info, _): new=mock_generate_regional_clients, ) class Test_EFS: - 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=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=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 EFS Session def test__get_session__(self): access_analyzer = EFS(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])) @@ -102,7 +69,7 @@ class Test_EFS: @mock_efs # Test EFS describe file systems def test__describe_file_systems__(self): - efs_client = client("efs", AWS_REGION) + efs_client = client("efs", AWS_REGION_EU_WEST_1) efs = efs_client.create_file_system( CreationToken=creation_token, Encrypted=True, @@ -121,7 +88,7 @@ class Test_EFS: @mock_efs # Test EFS describe file systems def test__describe_file_system_policies__(self): - efs_client = client("efs", AWS_REGION) + efs_client = client("efs", AWS_REGION_EU_WEST_1) efs = efs_client.create_file_system( CreationToken=creation_token, Encrypted=True ) diff --git a/tests/providers/aws/services/eks/eks_cluster_kms_cmk_encryption_in_secrets_enabled/eks_cluster_kms_cmk_encryption_in_secrets_enabled_test.py b/tests/providers/aws/services/eks/eks_cluster_kms_cmk_encryption_in_secrets_enabled/eks_cluster_kms_cmk_encryption_in_secrets_enabled_test.py index 300a112e02..f1edb2b70d 100644 --- a/tests/providers/aws/services/eks/eks_cluster_kms_cmk_encryption_in_secrets_enabled/eks_cluster_kms_cmk_encryption_in_secrets_enabled_test.py +++ b/tests/providers/aws/services/eks/eks_cluster_kms_cmk_encryption_in_secrets_enabled/eks_cluster_kms_cmk_encryption_in_secrets_enabled_test.py @@ -2,12 +2,15 @@ from re import search from unittest import mock from prowler.providers.aws.services.eks.eks_service import EKSCluster - -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, + AWS_REGION_EU_WEST_1, +) cluster_name = "cluster_test" -cluster_arn = f"arn:aws:eks:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:cluster/{cluster_name}" +cluster_arn = ( + f"arn:aws:eks:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:cluster/{cluster_name}" +) class Test_eks_cluster_kms_cmk_encryption_in_secrets_enabled: @@ -33,7 +36,7 @@ class Test_eks_cluster_kms_cmk_encryption_in_secrets_enabled: EKSCluster( name=cluster_name, arn=cluster_arn, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, encryptionConfig=False, ) ) @@ -64,7 +67,7 @@ class Test_eks_cluster_kms_cmk_encryption_in_secrets_enabled: EKSCluster( name=cluster_name, arn=cluster_arn, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, encryptionConfig=True, ) ) diff --git a/tests/providers/aws/services/eks/eks_control_plane_endpoint_access_restricted/eks_control_plane_endpoint_access_restricted_test.py b/tests/providers/aws/services/eks/eks_control_plane_endpoint_access_restricted/eks_control_plane_endpoint_access_restricted_test.py index c6f4aa8d9d..a150aa6406 100644 --- a/tests/providers/aws/services/eks/eks_control_plane_endpoint_access_restricted/eks_control_plane_endpoint_access_restricted_test.py +++ b/tests/providers/aws/services/eks/eks_control_plane_endpoint_access_restricted/eks_control_plane_endpoint_access_restricted_test.py @@ -2,12 +2,15 @@ from re import search from unittest import mock from prowler.providers.aws.services.eks.eks_service import EKSCluster - -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, + AWS_REGION_EU_WEST_1, +) cluster_name = "cluster_test" -cluster_arn = f"arn:aws:eks:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:cluster/{cluster_name}" +cluster_arn = ( + f"arn:aws:eks:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:cluster/{cluster_name}" +) class Test_eks_control_plane_endpoint_access_restricted: @@ -33,7 +36,7 @@ class Test_eks_control_plane_endpoint_access_restricted: EKSCluster( name=cluster_name, arn=cluster_arn, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, logging=None, endpoint_public_access=False, endpoint_private_access=True, @@ -60,7 +63,7 @@ class Test_eks_control_plane_endpoint_access_restricted: assert result[0].resource_id == cluster_name assert result[0].resource_arn == cluster_arn assert result[0].resource_tags == [] - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 def test_control_plane_access_restricted(self): eks_client = mock.MagicMock @@ -69,7 +72,7 @@ class Test_eks_control_plane_endpoint_access_restricted: EKSCluster( name=cluster_name, arn=cluster_arn, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, logging=None, endpoint_public_access=True, endpoint_private_access=False, @@ -96,7 +99,7 @@ class Test_eks_control_plane_endpoint_access_restricted: assert result[0].resource_id == cluster_name assert result[0].resource_arn == cluster_arn assert result[0].resource_tags == [] - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 def test_control_plane_public(self): eks_client = mock.MagicMock @@ -105,7 +108,7 @@ class Test_eks_control_plane_endpoint_access_restricted: EKSCluster( name=cluster_name, arn=cluster_arn, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, logging=None, endpoint_public_access=True, endpoint_private_access=False, @@ -132,7 +135,7 @@ class Test_eks_control_plane_endpoint_access_restricted: assert result[0].resource_id == cluster_name assert result[0].resource_arn == cluster_arn assert result[0].resource_tags == [] - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 def test_control_plane_public_and_private(self): eks_client = mock.MagicMock @@ -141,7 +144,7 @@ class Test_eks_control_plane_endpoint_access_restricted: EKSCluster( name=cluster_name, arn=cluster_arn, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, logging=None, endpoint_public_access=True, endpoint_private_access=True, @@ -168,4 +171,4 @@ class Test_eks_control_plane_endpoint_access_restricted: assert result[0].resource_id == cluster_name assert result[0].resource_arn == cluster_arn assert result[0].resource_tags == [] - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 diff --git a/tests/providers/aws/services/eks/eks_control_plane_logging_all_types_enabled/eks_control_plane_logging_all_types_enabled_test.py b/tests/providers/aws/services/eks/eks_control_plane_logging_all_types_enabled/eks_control_plane_logging_all_types_enabled_test.py index 601213aaa8..5931360bdf 100644 --- a/tests/providers/aws/services/eks/eks_control_plane_logging_all_types_enabled/eks_control_plane_logging_all_types_enabled_test.py +++ b/tests/providers/aws/services/eks/eks_control_plane_logging_all_types_enabled/eks_control_plane_logging_all_types_enabled_test.py @@ -5,12 +5,15 @@ from prowler.providers.aws.services.eks.eks_service import ( EKSCluster, EKSClusterLoggingEntity, ) - -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, + AWS_REGION_EU_WEST_1, +) cluster_name = "cluster_test" -cluster_arn = f"arn:aws:eks:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:cluster/{cluster_name}" +cluster_arn = ( + f"arn:aws:eks:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:cluster/{cluster_name}" +) class Test_eks_control_plane_logging_all_types_enabled: @@ -36,7 +39,7 @@ class Test_eks_control_plane_logging_all_types_enabled: EKSCluster( name=cluster_name, arn=cluster_arn, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, logging=None, ) ) @@ -67,7 +70,7 @@ class Test_eks_control_plane_logging_all_types_enabled: EKSCluster( name=cluster_name, arn=cluster_arn, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, logging=EKSClusterLoggingEntity( types=["api", "audit", "authenticator", "controllerManager"], enabled=True, @@ -101,7 +104,7 @@ class Test_eks_control_plane_logging_all_types_enabled: EKSCluster( name=cluster_name, arn=cluster_arn, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, logging=EKSClusterLoggingEntity( types=[ "api", diff --git a/tests/providers/aws/services/eks/eks_endpoints_not_publicly_accessible/eks_endpoints_not_publicly_accessible_test.py b/tests/providers/aws/services/eks/eks_endpoints_not_publicly_accessible/eks_endpoints_not_publicly_accessible_test.py index 58e0bbaa56..7901b679c4 100644 --- a/tests/providers/aws/services/eks/eks_endpoints_not_publicly_accessible/eks_endpoints_not_publicly_accessible_test.py +++ b/tests/providers/aws/services/eks/eks_endpoints_not_publicly_accessible/eks_endpoints_not_publicly_accessible_test.py @@ -2,12 +2,15 @@ from re import search from unittest import mock from prowler.providers.aws.services.eks.eks_service import EKSCluster - -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, + AWS_REGION_EU_WEST_1, +) cluster_name = "cluster_test" -cluster_arn = f"arn:aws:eks:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:cluster/{cluster_name}" +cluster_arn = ( + f"arn:aws:eks:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:cluster/{cluster_name}" +) class Test_eks_endpoints_not_publicly_accessible: @@ -33,7 +36,7 @@ class Test_eks_endpoints_not_publicly_accessible: EKSCluster( name=cluster_name, arn=cluster_arn, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, logging=None, endpoint_public_access=True, endpoint_private_access=False, @@ -59,7 +62,7 @@ class Test_eks_endpoints_not_publicly_accessible: assert result[0].resource_id == cluster_name assert result[0].resource_arn == cluster_arn assert result[0].resource_tags == [] - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 def test_endpoint_not_public_access(self): eks_client = mock.MagicMock @@ -68,7 +71,7 @@ class Test_eks_endpoints_not_publicly_accessible: EKSCluster( name=cluster_name, arn=cluster_arn, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, logging=None, endpoint_public_access=False, endpoint_private_access=True, @@ -94,4 +97,4 @@ class Test_eks_endpoints_not_publicly_accessible: assert result[0].resource_id == cluster_name assert result[0].resource_arn == cluster_arn assert result[0].resource_tags == [] - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 diff --git a/tests/providers/aws/services/eks/eks_service_test.py b/tests/providers/aws/services/eks/eks_service_test.py index 73f0a2e473..a95b7b9b35 100644 --- a/tests/providers/aws/services/eks/eks_service_test.py +++ b/tests/providers/aws/services/eks/eks_service_test.py @@ -1,19 +1,15 @@ from unittest.mock import patch -from boto3 import client, session +from boto3 import client from moto import mock_ec2, mock_eks -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info from prowler.providers.aws.services.eks.eks_service import EKS -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" -AWS_REGION = "eu-west-1" - cluster_name = "test" cidr_block_vpc = "10.0.0.0/16" cidr_block_subnet_1 = "10.0.0.0/22" @@ -21,9 +17,11 @@ cidr_block_subnet_2 = "10.0.4.0/22" 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_EU_WEST_1 + ) + regional_client.region = AWS_REGION_EU_WEST_1 + return {AWS_REGION_EU_WEST_1: regional_client} @patch( @@ -31,36 +29,6 @@ def mock_generate_regional_clients(service, audit_info, _): new=mock_generate_regional_clients, ) class Test_EKS_Service: - 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=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=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 EKS Service def test_service(self): audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) @@ -84,8 +52,8 @@ class Test_EKS_Service: @mock_ec2 @mock_eks def test__list_clusters(self): - ec2_client = client("ec2", region_name=AWS_REGION) - eks_client = client("eks", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) + eks_client = client("eks", region_name=AWS_REGION_EU_WEST_1) vpc = ec2_client.create_vpc(CidrBlock=cidr_block_vpc) subnet1 = ec2_client.create_subnet( VpcId=vpc["Vpc"]["VpcId"], CidrBlock=cidr_block_subnet_1 @@ -110,15 +78,15 @@ class Test_EKS_Service: eks = EKS(audit_info) assert len(eks.clusters) == 1 assert eks.clusters[0].name == cluster_name - assert eks.clusters[0].region == AWS_REGION + assert eks.clusters[0].region == AWS_REGION_EU_WEST_1 assert eks.clusters[0].tags == [{"test": "test"}] # Test EKS describe clusters @mock_ec2 @mock_eks def test__describe_clusters(self): - ec2_client = client("ec2", region_name=AWS_REGION) - eks_client = client("eks", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) + eks_client = client("eks", region_name=AWS_REGION_EU_WEST_1) vpc = ec2_client.create_vpc(CidrBlock=cidr_block_vpc) subnet1 = ec2_client.create_subnet( VpcId=vpc["Vpc"]["VpcId"], CidrBlock=cidr_block_subnet_1 @@ -164,7 +132,7 @@ class Test_EKS_Service: eks = EKS(audit_info) assert len(eks.clusters) == 1 assert eks.clusters[0].name == cluster_name - assert eks.clusters[0].region == AWS_REGION + assert eks.clusters[0].region == AWS_REGION_EU_WEST_1 assert eks.clusters[0].arn == cluster["cluster"]["arn"] assert eks.clusters[0].logging.types == ["api"] assert eks.clusters[0].logging.enabled diff --git a/tests/providers/aws/services/elasticache/elasticache_cluster_uses_public_subnet/elasticache_cluster_uses_public_subnet_test.py b/tests/providers/aws/services/elasticache/elasticache_cluster_uses_public_subnet/elasticache_cluster_uses_public_subnet_test.py index 776fb58918..9c4dbf96d8 100644 --- a/tests/providers/aws/services/elasticache/elasticache_cluster_uses_public_subnet/elasticache_cluster_uses_public_subnet_test.py +++ b/tests/providers/aws/services/elasticache/elasticache_cluster_uses_public_subnet/elasticache_cluster_uses_public_subnet_test.py @@ -1,14 +1,12 @@ from unittest import mock -from boto3 import session from mock import MagicMock, patch from moto import mock_ec2 -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info from prowler.providers.aws.services.elasticache.elasticache_service import Cluster from prowler.providers.aws.services.vpc.vpc_service import VpcSubnet -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) @@ -24,9 +22,8 @@ from tests.providers.aws.services.elasticache.elasticache_service_test import ( mock_make_api_call, ) -AWS_ACCOUNT_NUMBER = "123456789012" AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" -AWS_REGION = "us-east-1" + VPC_ID = "vpc-12345678901234567" @@ -34,36 +31,6 @@ VPC_ID = "vpc-12345678901234567" # Patch every AWS call using Boto3 @patch("botocore.client.BaseClient._make_api_call", new=mock_make_api_call) class Test_elasticache_cluster_uses_public_subnet: - 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=[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, - ), - ) - return audit_info - @mock_ec2 def test_elasticache_no_clusters(self): # Mock VPC Service @@ -104,7 +71,7 @@ class Test_elasticache_cluster_uses_public_subnet: arn=ELASTICACHE_CLUSTER_ARN, name=ELASTICACHE_CLUSTER_NAME, id=ELASTICACHE_CLUSTER_NAME, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, cache_subnet_group_id=SUBNET_GROUP_NAME, subnets=[SUBNET_1, SUBNET_2], tags=ELASTICACHE_CLUSTER_TAGS, @@ -123,7 +90,7 @@ class Test_elasticache_cluster_uses_public_subnet: availability_zone=AWS_REGION_AZ1, public=False, nat_gateway=False, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, tags=[], mapPublicIpOnLaunch=False, ) @@ -137,7 +104,7 @@ class Test_elasticache_cluster_uses_public_subnet: availability_zone=AWS_REGION_AZ2, public=False, nat_gateway=False, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, tags=[], mapPublicIpOnLaunch=False, ) @@ -167,7 +134,7 @@ class Test_elasticache_cluster_uses_public_subnet: result[0].status_extended == f"Cluster {ELASTICACHE_CLUSTER_NAME} is not using public subnets." ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_id == ELASTICACHE_CLUSTER_NAME assert result[0].resource_arn == ELASTICACHE_CLUSTER_ARN assert result[0].resource_tags == ELASTICACHE_CLUSTER_TAGS @@ -181,7 +148,7 @@ class Test_elasticache_cluster_uses_public_subnet: arn=ELASTICACHE_CLUSTER_ARN, name=ELASTICACHE_CLUSTER_NAME, id=ELASTICACHE_CLUSTER_NAME, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, cache_subnet_group_id=SUBNET_GROUP_NAME, subnets=[SUBNET_1, SUBNET_2], tags=ELASTICACHE_CLUSTER_TAGS, @@ -200,7 +167,7 @@ class Test_elasticache_cluster_uses_public_subnet: availability_zone=AWS_REGION_AZ1, public=True, nat_gateway=False, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, tags=[], mapPublicIpOnLaunch=False, ) @@ -214,7 +181,7 @@ class Test_elasticache_cluster_uses_public_subnet: availability_zone=AWS_REGION_AZ2, public=True, nat_gateway=False, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, tags=[], mapPublicIpOnLaunch=False, ) @@ -244,7 +211,7 @@ class Test_elasticache_cluster_uses_public_subnet: result[0].status_extended == f"Cluster {ELASTICACHE_CLUSTER_NAME} is using subnet-1, subnet-2 public subnets." ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_id == ELASTICACHE_CLUSTER_NAME assert result[0].resource_arn == ELASTICACHE_CLUSTER_ARN assert result[0].resource_tags == ELASTICACHE_CLUSTER_TAGS diff --git a/tests/providers/aws/services/elasticache/elasticache_service_test.py b/tests/providers/aws/services/elasticache/elasticache_service_test.py index af7204783e..2eb1c023bb 100644 --- a/tests/providers/aws/services/elasticache/elasticache_service_test.py +++ b/tests/providers/aws/services/elasticache/elasticache_service_test.py @@ -1,22 +1,19 @@ 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.elasticache.elasticache_service import ( Cluster, ElastiCache, ) -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" -AWS_REGION = "us-east-1" + AWS_REGION_AZ1 = "us-east-1a" AWS_REGION_AZ2 = "us-east-b" @@ -25,9 +22,7 @@ SUBNET_1 = "subnet-1" SUBNET_2 = "subnet-2" ELASTICACHE_CLUSTER_NAME = "test-cluster" -ELASTICACHE_CLUSTER_ARN = ( - f"arn:aws:elasticache:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:{ELASTICACHE_CLUSTER_NAME}" -) +ELASTICACHE_CLUSTER_ARN = f"arn:aws:elasticache:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:{ELASTICACHE_CLUSTER_NAME}" ELASTICACHE_ENGINE = "redis" ELASTICACHE_CLUSTER_TAGS = [ @@ -76,7 +71,7 @@ def mock_make_api_call(self, operation_name, kwargs): "SubnetStatus": "Active", }, ], - "DBSubnetGroupArn": f"arn:aws:rds:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:subgrp:{SUBNET_GROUP_NAME}", + "DBSubnetGroupArn": f"arn:aws:rds:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:subgrp:{SUBNET_GROUP_NAME}", } ] } @@ -87,9 +82,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_EU_WEST_1 + ) + regional_client.region = AWS_REGION_EU_WEST_1 + return {AWS_REGION_EU_WEST_1: regional_client} @patch( @@ -99,36 +96,6 @@ 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_ElastiCache_Service: - 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 ElastiCache Service def test_service(self): audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) @@ -164,7 +131,7 @@ class Test_ElastiCache_Service: arn=ELASTICACHE_CLUSTER_ARN, name=ELASTICACHE_CLUSTER_NAME, id=ELASTICACHE_CLUSTER_NAME, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, cache_subnet_group_id=SUBNET_GROUP_NAME, subnets=[SUBNET_1, SUBNET_2], tags=ELASTICACHE_CLUSTER_TAGS, diff --git a/tests/providers/aws/services/elb/elb_insecure_ssl_ciphers/elb_insecure_ssl_ciphers_test.py b/tests/providers/aws/services/elb/elb_insecure_ssl_ciphers/elb_insecure_ssl_ciphers_test.py index b0c7ddd87f..a1a8303996 100644 --- a/tests/providers/aws/services/elb/elb_insecure_ssl_ciphers/elb_insecure_ssl_ciphers_test.py +++ b/tests/providers/aws/services/elb/elb_insecure_ssl_ciphers/elb_insecure_ssl_ciphers_test.py @@ -5,15 +5,12 @@ from boto3 import client, resource from moto import mock_ec2, mock_elb from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" -elb_arn = ( - f"arn:aws:elasticloadbalancing:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:loadbalancer/my-lb" -) +elb_arn = f"arn:aws:elasticloadbalancing:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:loadbalancer/my-lb" class Test_elb_insecure_ssl_ciphers: @@ -41,8 +38,8 @@ class Test_elb_insecure_ssl_ciphers: @mock_ec2 @mock_elb def test_elb_listener_with_secure_policy(self): - elb = client("elb", region_name=AWS_REGION) - ec2 = resource("ec2", region_name=AWS_REGION) + elb = client("elb", region_name=AWS_REGION_EU_WEST_1) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) security_group = ec2.create_security_group( GroupName="sg01", Description="Test security group sg01" @@ -54,7 +51,7 @@ class Test_elb_insecure_ssl_ciphers: {"Protocol": "tcp", "LoadBalancerPort": 80, "InstancePort": 8080}, {"Protocol": "https", "LoadBalancerPort": 443, "InstancePort": 9000}, ], - AvailabilityZones=[f"{AWS_REGION}a"], + AvailabilityZones=[f"{AWS_REGION_EU_WEST_1}a"], Scheme="internal", SecurityGroups=[security_group.id], ) @@ -94,8 +91,8 @@ class Test_elb_insecure_ssl_ciphers: @mock_ec2 @mock_elb def test_elb_with_HTTPS_listener(self): - elb = client("elb", region_name=AWS_REGION) - ec2 = resource("ec2", region_name=AWS_REGION) + elb = client("elb", region_name=AWS_REGION_EU_WEST_1) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) security_group = ec2.create_security_group( GroupName="sg01", Description="Test security group sg01" @@ -107,7 +104,7 @@ class Test_elb_insecure_ssl_ciphers: {"Protocol": "tcp", "LoadBalancerPort": 80, "InstancePort": 8080}, {"Protocol": "https", "LoadBalancerPort": 443, "InstancePort": 9000}, ], - AvailabilityZones=[f"{AWS_REGION}a"], + AvailabilityZones=[f"{AWS_REGION_EU_WEST_1}a"], Scheme="internal", SecurityGroups=[security_group.id], ) diff --git a/tests/providers/aws/services/elb/elb_internet_facing/elb_internet_facing_test.py b/tests/providers/aws/services/elb/elb_internet_facing/elb_internet_facing_test.py index 3d1c5c0624..53766b7f3f 100644 --- a/tests/providers/aws/services/elb/elb_internet_facing/elb_internet_facing_test.py +++ b/tests/providers/aws/services/elb/elb_internet_facing/elb_internet_facing_test.py @@ -5,15 +5,12 @@ from boto3 import client, resource from moto import mock_ec2, mock_elb from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" -elb_arn = ( - f"arn:aws:elasticloadbalancing:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:loadbalancer/my-lb" -) +elb_arn = f"arn:aws:elasticloadbalancing:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:loadbalancer/my-lb" class Test_elb_request_smugling: @@ -41,8 +38,8 @@ class Test_elb_request_smugling: @mock_ec2 @mock_elb def test_elb_private(self): - elb = client("elb", region_name=AWS_REGION) - ec2 = resource("ec2", region_name=AWS_REGION) + elb = client("elb", region_name=AWS_REGION_EU_WEST_1) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) security_group = ec2.create_security_group( GroupName="sg01", Description="Test security group sg01" @@ -54,7 +51,7 @@ class Test_elb_request_smugling: {"Protocol": "tcp", "LoadBalancerPort": 80, "InstancePort": 8080}, {"Protocol": "http", "LoadBalancerPort": 81, "InstancePort": 9000}, ], - AvailabilityZones=[f"{AWS_REGION}a"], + AvailabilityZones=[f"{AWS_REGION_EU_WEST_1}a"], Scheme="internal", SecurityGroups=[security_group.id], ) @@ -87,8 +84,8 @@ class Test_elb_request_smugling: @mock_ec2 @mock_elb def test_elb_with_deletion_protection(self): - elb = client("elb", region_name=AWS_REGION) - ec2 = resource("ec2", region_name=AWS_REGION) + elb = client("elb", region_name=AWS_REGION_EU_WEST_1) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) security_group = ec2.create_security_group( GroupName="sg01", Description="Test security group sg01" @@ -100,7 +97,7 @@ class Test_elb_request_smugling: {"Protocol": "tcp", "LoadBalancerPort": 80, "InstancePort": 8080}, {"Protocol": "http", "LoadBalancerPort": 81, "InstancePort": 9000}, ], - AvailabilityZones=[f"{AWS_REGION}a"], + AvailabilityZones=[f"{AWS_REGION_EU_WEST_1}a"], Scheme="internet-facing", SecurityGroups=[security_group.id], ) diff --git a/tests/providers/aws/services/elb/elb_logging_enabled/elb_logging_enabled_test.py b/tests/providers/aws/services/elb/elb_logging_enabled/elb_logging_enabled_test.py index c922403e44..52f3b4c4e5 100644 --- a/tests/providers/aws/services/elb/elb_logging_enabled/elb_logging_enabled_test.py +++ b/tests/providers/aws/services/elb/elb_logging_enabled/elb_logging_enabled_test.py @@ -5,15 +5,12 @@ from boto3 import client, resource from moto import mock_ec2, mock_elb from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" -elb_arn = ( - f"arn:aws:elasticloadbalancing:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:loadbalancer/my-lb" -) +elb_arn = f"arn:aws:elasticloadbalancing:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:loadbalancer/my-lb" class Test_elb_logging_enabled: @@ -41,8 +38,8 @@ class Test_elb_logging_enabled: @mock_ec2 @mock_elb def test_elb_without_access_log(self): - elb = client("elb", region_name=AWS_REGION) - ec2 = resource("ec2", region_name=AWS_REGION) + elb = client("elb", region_name=AWS_REGION_EU_WEST_1) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) security_group = ec2.create_security_group( GroupName="sg01", Description="Test security group sg01" @@ -54,7 +51,7 @@ class Test_elb_logging_enabled: {"Protocol": "tcp", "LoadBalancerPort": 80, "InstancePort": 8080}, {"Protocol": "http", "LoadBalancerPort": 81, "InstancePort": 9000}, ], - AvailabilityZones=[f"{AWS_REGION}a"], + AvailabilityZones=[f"{AWS_REGION_EU_WEST_1}a"], Scheme="internal", SecurityGroups=[security_group.id], ) @@ -87,8 +84,8 @@ class Test_elb_logging_enabled: @mock_ec2 @mock_elb def test_elb_with_deletion_protection(self): - elb = client("elb", region_name=AWS_REGION) - ec2 = resource("ec2", region_name=AWS_REGION) + elb = client("elb", region_name=AWS_REGION_EU_WEST_1) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) security_group = ec2.create_security_group( GroupName="sg01", Description="Test security group sg01" @@ -100,7 +97,7 @@ class Test_elb_logging_enabled: {"Protocol": "tcp", "LoadBalancerPort": 80, "InstancePort": 8080}, {"Protocol": "http", "LoadBalancerPort": 81, "InstancePort": 9000}, ], - AvailabilityZones=[f"{AWS_REGION}a"], + AvailabilityZones=[f"{AWS_REGION_EU_WEST_1}a"], Scheme="internal", SecurityGroups=[security_group.id], ) diff --git a/tests/providers/aws/services/elb/elb_service_test.py b/tests/providers/aws/services/elb/elb_service_test.py index d008d2fd66..e5784efd88 100644 --- a/tests/providers/aws/services/elb/elb_service_test.py +++ b/tests/providers/aws/services/elb/elb_service_test.py @@ -1,49 +1,15 @@ -from boto3 import client, resource, session +from boto3 import client, resource from moto import mock_ec2, mock_elb -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info from prowler.providers.aws.services.elb.elb_service import ELB -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" -AWS_REGION = "us-east-1" - class Test_ELB_Service: - 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=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=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 ELB Service @mock_elb def test_service(self): @@ -73,8 +39,8 @@ class Test_ELB_Service: @mock_ec2 @mock_elb def test__describe_load_balancers__(self): - elb = client("elb", region_name=AWS_REGION) - ec2 = resource("ec2", region_name=AWS_REGION) + elb = client("elb", region_name=AWS_REGION_EU_WEST_1) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) security_group = ec2.create_security_group( GroupName="sg01", Description="Test security group sg01" @@ -86,7 +52,7 @@ class Test_ELB_Service: {"Protocol": "tcp", "LoadBalancerPort": 80, "InstancePort": 8080}, {"Protocol": "http", "LoadBalancerPort": 81, "InstancePort": 9000}, ], - AvailabilityZones=[f"{AWS_REGION}a"], + AvailabilityZones=[f"{AWS_REGION_EU_WEST_1}a"], Scheme="internal", SecurityGroups=[security_group.id], ) @@ -95,19 +61,19 @@ class Test_ELB_Service: elb = ELB(audit_info) assert len(elb.loadbalancers) == 1 assert elb.loadbalancers[0].name == "my-lb" - assert elb.loadbalancers[0].region == AWS_REGION + assert elb.loadbalancers[0].region == AWS_REGION_EU_WEST_1 assert elb.loadbalancers[0].scheme == "internal" assert ( elb.loadbalancers[0].arn - == f"arn:aws:elasticloadbalancing:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:loadbalancer/my-lb" + == f"arn:aws:elasticloadbalancing:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:loadbalancer/my-lb" ) # Test ELB Describe Load Balancers Attributes @mock_ec2 @mock_elb def test__describe_load_balancer_attributes__(self): - elb = client("elb", region_name=AWS_REGION) - ec2 = resource("ec2", region_name=AWS_REGION) + elb = client("elb", region_name=AWS_REGION_EU_WEST_1) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) security_group = ec2.create_security_group( GroupName="sg01", Description="Test security group sg01" @@ -119,7 +85,7 @@ class Test_ELB_Service: {"Protocol": "tcp", "LoadBalancerPort": 80, "InstancePort": 8080}, {"Protocol": "http", "LoadBalancerPort": 81, "InstancePort": 9000}, ], - AvailabilityZones=[f"{AWS_REGION}a"], + AvailabilityZones=[f"{AWS_REGION_EU_WEST_1}a"], Scheme="internal", SecurityGroups=[security_group.id], ) @@ -139,10 +105,10 @@ class Test_ELB_Service: audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) elb = ELB(audit_info) assert elb.loadbalancers[0].name == "my-lb" - assert elb.loadbalancers[0].region == AWS_REGION + assert elb.loadbalancers[0].region == AWS_REGION_EU_WEST_1 assert elb.loadbalancers[0].scheme == "internal" assert elb.loadbalancers[0].access_logs assert ( elb.loadbalancers[0].arn - == f"arn:aws:elasticloadbalancing:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:loadbalancer/my-lb" + == f"arn:aws:elasticloadbalancing:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:loadbalancer/my-lb" ) diff --git a/tests/providers/aws/services/elb/elb_ssl_listeners/elb_ssl_listeners_test.py b/tests/providers/aws/services/elb/elb_ssl_listeners/elb_ssl_listeners_test.py index 00367013e1..6163a0e751 100644 --- a/tests/providers/aws/services/elb/elb_ssl_listeners/elb_ssl_listeners_test.py +++ b/tests/providers/aws/services/elb/elb_ssl_listeners/elb_ssl_listeners_test.py @@ -5,15 +5,12 @@ from boto3 import client, resource from moto import mock_ec2, mock_elb from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" -elb_arn = ( - f"arn:aws:elasticloadbalancing:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:loadbalancer/my-lb" -) +elb_arn = f"arn:aws:elasticloadbalancing:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:loadbalancer/my-lb" class Test_elb_ssl_listeners: @@ -41,8 +38,8 @@ class Test_elb_ssl_listeners: @mock_ec2 @mock_elb def test_elb_with_HTTP_listener(self): - elb = client("elb", region_name=AWS_REGION) - ec2 = resource("ec2", region_name=AWS_REGION) + elb = client("elb", region_name=AWS_REGION_EU_WEST_1) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) security_group = ec2.create_security_group( GroupName="sg01", Description="Test security group sg01" @@ -54,7 +51,7 @@ class Test_elb_ssl_listeners: {"Protocol": "tcp", "LoadBalancerPort": 80, "InstancePort": 8080}, {"Protocol": "http", "LoadBalancerPort": 81, "InstancePort": 9000}, ], - AvailabilityZones=[f"{AWS_REGION}a"], + AvailabilityZones=[f"{AWS_REGION_EU_WEST_1}a"], Scheme="internal", SecurityGroups=[security_group.id], ) @@ -87,8 +84,8 @@ class Test_elb_ssl_listeners: @mock_ec2 @mock_elb def test_elb_with_HTTPS_listener(self): - elb = client("elb", region_name=AWS_REGION) - ec2 = resource("ec2", region_name=AWS_REGION) + elb = client("elb", region_name=AWS_REGION_EU_WEST_1) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) security_group = ec2.create_security_group( GroupName="sg01", Description="Test security group sg01" @@ -99,7 +96,7 @@ class Test_elb_ssl_listeners: Listeners=[ {"Protocol": "https", "LoadBalancerPort": 443, "InstancePort": 9000}, ], - AvailabilityZones=[f"{AWS_REGION}a"], + AvailabilityZones=[f"{AWS_REGION_EU_WEST_1}a"], Scheme="internal", SecurityGroups=[security_group.id], ) diff --git a/tests/providers/aws/services/elbv2/elbv2_deletion_protection/elbv2_deletion_protection_test.py b/tests/providers/aws/services/elbv2/elbv2_deletion_protection/elbv2_deletion_protection_test.py index 6c5affba3a..97571e73c8 100644 --- a/tests/providers/aws/services/elbv2/elbv2_deletion_protection/elbv2_deletion_protection_test.py +++ b/tests/providers/aws/services/elbv2/elbv2_deletion_protection/elbv2_deletion_protection_test.py @@ -9,9 +9,6 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_elbv2_deletion_protection: @mock_elbv2 @@ -38,18 +35,22 @@ class Test_elbv2_deletion_protection: @mock_ec2 @mock_elbv2 def test_elbv2_without_deletion_protection(self): - conn = client("elbv2", region_name=AWS_REGION) - ec2 = resource("ec2", region_name=AWS_REGION) + conn = client("elbv2", region_name=AWS_REGION_EU_WEST_1) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) security_group = ec2.create_security_group( GroupName="a-security-group", Description="First One" ) vpc = ec2.create_vpc(CidrBlock="172.28.7.0/24", InstanceTenancy="default") subnet1 = ec2.create_subnet( - VpcId=vpc.id, CidrBlock="172.28.7.192/26", AvailabilityZone=f"{AWS_REGION}a" + VpcId=vpc.id, + CidrBlock="172.28.7.192/26", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}a", ) subnet2 = ec2.create_subnet( - VpcId=vpc.id, CidrBlock="172.28.7.0/26", AvailabilityZone=f"{AWS_REGION}b" + VpcId=vpc.id, + CidrBlock="172.28.7.0/26", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}b", ) lb = conn.create_load_balancer( @@ -95,18 +96,22 @@ class Test_elbv2_deletion_protection: @mock_ec2 @mock_elbv2 def test_elbv2_with_deletion_protection(self): - conn = client("elbv2", region_name=AWS_REGION) - ec2 = resource("ec2", region_name=AWS_REGION) + conn = client("elbv2", region_name=AWS_REGION_EU_WEST_1) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) security_group = ec2.create_security_group( GroupName="a-security-group", Description="First One" ) vpc = ec2.create_vpc(CidrBlock="172.28.7.0/24", InstanceTenancy="default") subnet1 = ec2.create_subnet( - VpcId=vpc.id, CidrBlock="172.28.7.192/26", AvailabilityZone=f"{AWS_REGION}a" + VpcId=vpc.id, + CidrBlock="172.28.7.192/26", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}a", ) subnet2 = ec2.create_subnet( - VpcId=vpc.id, CidrBlock="172.28.7.0/26", AvailabilityZone=f"{AWS_REGION}b" + VpcId=vpc.id, + CidrBlock="172.28.7.0/26", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}b", ) lb = conn.create_load_balancer( diff --git a/tests/providers/aws/services/elbv2/elbv2_desync_mitigation_mode/elbv2_desync_mitigation_mode_test.py b/tests/providers/aws/services/elbv2/elbv2_desync_mitigation_mode/elbv2_desync_mitigation_mode_test.py index 34a3e25022..ace624f40a 100644 --- a/tests/providers/aws/services/elbv2/elbv2_desync_mitigation_mode/elbv2_desync_mitigation_mode_test.py +++ b/tests/providers/aws/services/elbv2/elbv2_desync_mitigation_mode/elbv2_desync_mitigation_mode_test.py @@ -1,52 +1,16 @@ from re import search from unittest import mock -from boto3 import client, resource, session +from boto3 import client, resource from moto import mock_ec2, mock_elbv2 -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_elbv2_desync_mitigation_mode: - 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=f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root", - audited_user_id=None, - audited_partition="aws", - audited_identity_arn=None, - profile=None, - profile_region=AWS_REGION, - credentials=None, - assumed_role_info=None, - audited_regions=["us-east-1", "eu-west-1"], - 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 - @mock_elbv2 def test_elb_no_balancers(self): from prowler.providers.aws.services.elbv2.elbv2_service import ELBv2 @@ -71,18 +35,22 @@ class Test_elbv2_desync_mitigation_mode: @mock_ec2 @mock_elbv2 def test_elbv2_without_desync_mitigation_mode_and_not_dropping_headers(self): - conn = client("elbv2", region_name=AWS_REGION) - ec2 = resource("ec2", region_name=AWS_REGION) + conn = client("elbv2", region_name=AWS_REGION_EU_WEST_1) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) security_group = ec2.create_security_group( GroupName="a-security-group", Description="First One" ) vpc = ec2.create_vpc(CidrBlock="172.28.7.0/24", InstanceTenancy="default") subnet1 = ec2.create_subnet( - VpcId=vpc.id, CidrBlock="172.28.7.192/26", AvailabilityZone=f"{AWS_REGION}a" + VpcId=vpc.id, + CidrBlock="172.28.7.192/26", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}a", ) subnet2 = ec2.create_subnet( - VpcId=vpc.id, CidrBlock="172.28.7.0/26", AvailabilityZone=f"{AWS_REGION}b" + VpcId=vpc.id, + CidrBlock="172.28.7.0/26", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}b", ) lb = conn.create_load_balancer( @@ -132,18 +100,22 @@ class Test_elbv2_desync_mitigation_mode: @mock_ec2 @mock_elbv2 def test_elbv2_without_desync_mitigation_mode_but_dropping_headers(self): - conn = client("elbv2", region_name=AWS_REGION) - ec2 = resource("ec2", region_name=AWS_REGION) + conn = client("elbv2", region_name=AWS_REGION_EU_WEST_1) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) security_group = ec2.create_security_group( GroupName="a-security-group", Description="First One" ) vpc = ec2.create_vpc(CidrBlock="172.28.7.0/24", InstanceTenancy="default") subnet1 = ec2.create_subnet( - VpcId=vpc.id, CidrBlock="172.28.7.192/26", AvailabilityZone=f"{AWS_REGION}a" + VpcId=vpc.id, + CidrBlock="172.28.7.192/26", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}a", ) subnet2 = ec2.create_subnet( - VpcId=vpc.id, CidrBlock="172.28.7.0/26", AvailabilityZone=f"{AWS_REGION}b" + VpcId=vpc.id, + CidrBlock="172.28.7.0/26", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}b", ) lb = conn.create_load_balancer( @@ -193,18 +165,22 @@ class Test_elbv2_desync_mitigation_mode: @mock_ec2 @mock_elbv2 def test_elbv2_with_desync_mitigation_mode(self): - conn = client("elbv2", region_name=AWS_REGION) - ec2 = resource("ec2", region_name=AWS_REGION) + conn = client("elbv2", region_name=AWS_REGION_EU_WEST_1) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) security_group = ec2.create_security_group( GroupName="a-security-group", Description="First One" ) vpc = ec2.create_vpc(CidrBlock="172.28.7.0/24", InstanceTenancy="default") subnet1 = ec2.create_subnet( - VpcId=vpc.id, CidrBlock="172.28.7.192/26", AvailabilityZone=f"{AWS_REGION}a" + VpcId=vpc.id, + CidrBlock="172.28.7.192/26", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}a", ) subnet2 = ec2.create_subnet( - VpcId=vpc.id, CidrBlock="172.28.7.0/26", AvailabilityZone=f"{AWS_REGION}b" + VpcId=vpc.id, + CidrBlock="172.28.7.0/26", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}b", ) lb = conn.create_load_balancer( diff --git a/tests/providers/aws/services/elbv2/elbv2_insecure_ssl_ciphers/elbv2_insecure_ssl_ciphers_test.py b/tests/providers/aws/services/elbv2/elbv2_insecure_ssl_ciphers/elbv2_insecure_ssl_ciphers_test.py index a33307fe62..c74eaa21f4 100644 --- a/tests/providers/aws/services/elbv2/elbv2_insecure_ssl_ciphers/elbv2_insecure_ssl_ciphers_test.py +++ b/tests/providers/aws/services/elbv2/elbv2_insecure_ssl_ciphers/elbv2_insecure_ssl_ciphers_test.py @@ -9,9 +9,6 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_elbv2_insecure_ssl_ciphers: @mock_elbv2 @@ -38,18 +35,22 @@ class Test_elbv2_insecure_ssl_ciphers: @mock_ec2 @mock_elbv2 def test_elbv2_listener_with_secure_policy(self): - conn = client("elbv2", region_name=AWS_REGION) - ec2 = resource("ec2", region_name=AWS_REGION) + conn = client("elbv2", region_name=AWS_REGION_EU_WEST_1) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) security_group = ec2.create_security_group( GroupName="a-security-group", Description="First One" ) vpc = ec2.create_vpc(CidrBlock="172.28.7.0/24", InstanceTenancy="default") subnet1 = ec2.create_subnet( - VpcId=vpc.id, CidrBlock="172.28.7.192/26", AvailabilityZone=f"{AWS_REGION}a" + VpcId=vpc.id, + CidrBlock="172.28.7.192/26", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}a", ) subnet2 = ec2.create_subnet( - VpcId=vpc.id, CidrBlock="172.28.7.0/26", AvailabilityZone=f"{AWS_REGION}b" + VpcId=vpc.id, + CidrBlock="172.28.7.0/26", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}b", ) lb = conn.create_load_balancer( @@ -112,18 +113,22 @@ class Test_elbv2_insecure_ssl_ciphers: @mock_ec2 @mock_elbv2 def test_elbv2_with_HTTPS_listener(self): - conn = client("elbv2", region_name=AWS_REGION) - ec2 = resource("ec2", region_name=AWS_REGION) + conn = client("elbv2", region_name=AWS_REGION_EU_WEST_1) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) security_group = ec2.create_security_group( GroupName="a-security-group", Description="First One" ) vpc = ec2.create_vpc(CidrBlock="172.28.7.0/24", InstanceTenancy="default") subnet1 = ec2.create_subnet( - VpcId=vpc.id, CidrBlock="172.28.7.192/26", AvailabilityZone=f"{AWS_REGION}a" + VpcId=vpc.id, + CidrBlock="172.28.7.192/26", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}a", ) subnet2 = ec2.create_subnet( - VpcId=vpc.id, CidrBlock="172.28.7.0/26", AvailabilityZone=f"{AWS_REGION}b" + VpcId=vpc.id, + CidrBlock="172.28.7.0/26", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}b", ) lb = conn.create_load_balancer( diff --git a/tests/providers/aws/services/elbv2/elbv2_internet_facing/elbv2_internet_facing_test.py b/tests/providers/aws/services/elbv2/elbv2_internet_facing/elbv2_internet_facing_test.py index c211a9ea83..ccfc12f12a 100644 --- a/tests/providers/aws/services/elbv2/elbv2_internet_facing/elbv2_internet_facing_test.py +++ b/tests/providers/aws/services/elbv2/elbv2_internet_facing/elbv2_internet_facing_test.py @@ -9,9 +9,6 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_elbv2_internet_facing: @mock_elbv2 @@ -38,18 +35,22 @@ class Test_elbv2_internet_facing: @mock_ec2 @mock_elbv2 def test_elbv2_private(self): - conn = client("elbv2", region_name=AWS_REGION) - ec2 = resource("ec2", region_name=AWS_REGION) + conn = client("elbv2", region_name=AWS_REGION_EU_WEST_1) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) security_group = ec2.create_security_group( GroupName="a-security-group", Description="First One" ) vpc = ec2.create_vpc(CidrBlock="172.28.7.0/24", InstanceTenancy="default") subnet1 = ec2.create_subnet( - VpcId=vpc.id, CidrBlock="172.28.7.192/26", AvailabilityZone=f"{AWS_REGION}a" + VpcId=vpc.id, + CidrBlock="172.28.7.192/26", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}a", ) subnet2 = ec2.create_subnet( - VpcId=vpc.id, CidrBlock="172.28.7.0/26", AvailabilityZone=f"{AWS_REGION}b" + VpcId=vpc.id, + CidrBlock="172.28.7.0/26", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}b", ) lb = conn.create_load_balancer( @@ -88,18 +89,22 @@ class Test_elbv2_internet_facing: @mock_ec2 @mock_elbv2 def test_elbv2_internet_facing(self): - conn = client("elbv2", region_name=AWS_REGION) - ec2 = resource("ec2", region_name=AWS_REGION) + conn = client("elbv2", region_name=AWS_REGION_EU_WEST_1) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) security_group = ec2.create_security_group( GroupName="a-security-group", Description="First One" ) vpc = ec2.create_vpc(CidrBlock="172.28.7.0/24", InstanceTenancy="default") subnet1 = ec2.create_subnet( - VpcId=vpc.id, CidrBlock="172.28.7.192/26", AvailabilityZone=f"{AWS_REGION}a" + VpcId=vpc.id, + CidrBlock="172.28.7.192/26", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}a", ) subnet2 = ec2.create_subnet( - VpcId=vpc.id, CidrBlock="172.28.7.0/26", AvailabilityZone=f"{AWS_REGION}b" + VpcId=vpc.id, + CidrBlock="172.28.7.0/26", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}b", ) lb = conn.create_load_balancer( diff --git a/tests/providers/aws/services/elbv2/elbv2_listeners_underneath/elbv2_listeners_underneath_test.py b/tests/providers/aws/services/elbv2/elbv2_listeners_underneath/elbv2_listeners_underneath_test.py index f095a34d5f..17f8864ac2 100644 --- a/tests/providers/aws/services/elbv2/elbv2_listeners_underneath/elbv2_listeners_underneath_test.py +++ b/tests/providers/aws/services/elbv2/elbv2_listeners_underneath/elbv2_listeners_underneath_test.py @@ -9,9 +9,6 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_elbv2_listeners_underneath: @mock_elbv2 @@ -38,18 +35,22 @@ class Test_elbv2_listeners_underneath: @mock_ec2 @mock_elbv2 def test_elbv2_without_listeners(self): - conn = client("elbv2", region_name=AWS_REGION) - ec2 = resource("ec2", region_name=AWS_REGION) + conn = client("elbv2", region_name=AWS_REGION_EU_WEST_1) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) security_group = ec2.create_security_group( GroupName="a-security-group", Description="First One" ) vpc = ec2.create_vpc(CidrBlock="172.28.7.0/24", InstanceTenancy="default") subnet1 = ec2.create_subnet( - VpcId=vpc.id, CidrBlock="172.28.7.192/26", AvailabilityZone=f"{AWS_REGION}a" + VpcId=vpc.id, + CidrBlock="172.28.7.192/26", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}a", ) subnet2 = ec2.create_subnet( - VpcId=vpc.id, CidrBlock="172.28.7.0/26", AvailabilityZone=f"{AWS_REGION}b" + VpcId=vpc.id, + CidrBlock="172.28.7.0/26", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}b", ) lb = conn.create_load_balancer( @@ -88,18 +89,22 @@ class Test_elbv2_listeners_underneath: @mock_ec2 @mock_elbv2 def test_elbv2_with_listeners(self): - conn = client("elbv2", region_name=AWS_REGION) - ec2 = resource("ec2", region_name=AWS_REGION) + conn = client("elbv2", region_name=AWS_REGION_EU_WEST_1) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) security_group = ec2.create_security_group( GroupName="a-security-group", Description="First One" ) vpc = ec2.create_vpc(CidrBlock="172.28.7.0/24", InstanceTenancy="default") subnet1 = ec2.create_subnet( - VpcId=vpc.id, CidrBlock="172.28.7.192/26", AvailabilityZone=f"{AWS_REGION}a" + VpcId=vpc.id, + CidrBlock="172.28.7.192/26", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}a", ) subnet2 = ec2.create_subnet( - VpcId=vpc.id, CidrBlock="172.28.7.0/26", AvailabilityZone=f"{AWS_REGION}b" + VpcId=vpc.id, + CidrBlock="172.28.7.0/26", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}b", ) lb = conn.create_load_balancer( diff --git a/tests/providers/aws/services/elbv2/elbv2_logging_enabled/elbv2_logging_enabled_test.py b/tests/providers/aws/services/elbv2/elbv2_logging_enabled/elbv2_logging_enabled_test.py index ee6a9ee69d..f6bc4993e1 100644 --- a/tests/providers/aws/services/elbv2/elbv2_logging_enabled/elbv2_logging_enabled_test.py +++ b/tests/providers/aws/services/elbv2/elbv2_logging_enabled/elbv2_logging_enabled_test.py @@ -9,9 +9,6 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_elbv2_logging_enabled: @mock_elbv2 @@ -38,18 +35,22 @@ class Test_elbv2_logging_enabled: @mock_ec2 @mock_elbv2 def test_elbv2_without_logging_enabled(self): - conn = client("elbv2", region_name=AWS_REGION) - ec2 = resource("ec2", region_name=AWS_REGION) + conn = client("elbv2", region_name=AWS_REGION_EU_WEST_1) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) security_group = ec2.create_security_group( GroupName="a-security-group", Description="First One" ) vpc = ec2.create_vpc(CidrBlock="172.28.7.0/24", InstanceTenancy="default") subnet1 = ec2.create_subnet( - VpcId=vpc.id, CidrBlock="172.28.7.192/26", AvailabilityZone=f"{AWS_REGION}a" + VpcId=vpc.id, + CidrBlock="172.28.7.192/26", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}a", ) subnet2 = ec2.create_subnet( - VpcId=vpc.id, CidrBlock="172.28.7.0/26", AvailabilityZone=f"{AWS_REGION}b" + VpcId=vpc.id, + CidrBlock="172.28.7.0/26", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}b", ) lb = conn.create_load_balancer( @@ -98,18 +99,22 @@ class Test_elbv2_logging_enabled: @mock_ec2 @mock_elbv2 def test_elbv2_with_logging_enabled(self): - conn = client("elbv2", region_name=AWS_REGION) - ec2 = resource("ec2", region_name=AWS_REGION) + conn = client("elbv2", region_name=AWS_REGION_EU_WEST_1) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) security_group = ec2.create_security_group( GroupName="a-security-group", Description="First One" ) vpc = ec2.create_vpc(CidrBlock="172.28.7.0/24", InstanceTenancy="default") subnet1 = ec2.create_subnet( - VpcId=vpc.id, CidrBlock="172.28.7.192/26", AvailabilityZone=f"{AWS_REGION}a" + VpcId=vpc.id, + CidrBlock="172.28.7.192/26", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}a", ) subnet2 = ec2.create_subnet( - VpcId=vpc.id, CidrBlock="172.28.7.0/26", AvailabilityZone=f"{AWS_REGION}b" + VpcId=vpc.id, + CidrBlock="172.28.7.0/26", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}b", ) lb = conn.create_load_balancer( diff --git a/tests/providers/aws/services/elbv2/elbv2_service_test.py b/tests/providers/aws/services/elbv2/elbv2_service_test.py index 1911d216fd..68b12e7213 100644 --- a/tests/providers/aws/services/elbv2/elbv2_service_test.py +++ b/tests/providers/aws/services/elbv2/elbv2_service_test.py @@ -1,49 +1,14 @@ -from boto3 import client, resource, session +from boto3 import client, resource from moto import mock_ec2, mock_elbv2 -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info from prowler.providers.aws.services.elbv2.elbv2_service import ELBv2 -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" -AWS_REGION = "us-east-1" - class Test_ELBv2_Service: - 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=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=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 ELBv2 Service @mock_elbv2 def test_service(self): @@ -73,18 +38,22 @@ class Test_ELBv2_Service: @mock_ec2 @mock_elbv2 def test__describe_load_balancers__(self): - conn = client("elbv2", region_name=AWS_REGION) - ec2 = resource("ec2", region_name=AWS_REGION) + conn = client("elbv2", region_name=AWS_REGION_EU_WEST_1) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) security_group = ec2.create_security_group( GroupName="a-security-group", Description="First One" ) vpc = ec2.create_vpc(CidrBlock="172.28.7.0/24", InstanceTenancy="default") subnet1 = ec2.create_subnet( - VpcId=vpc.id, CidrBlock="172.28.7.192/26", AvailabilityZone=f"{AWS_REGION}a" + VpcId=vpc.id, + CidrBlock="172.28.7.192/26", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}a", ) subnet2 = ec2.create_subnet( - VpcId=vpc.id, CidrBlock="172.28.7.0/26", AvailabilityZone=f"{AWS_REGION}b" + VpcId=vpc.id, + CidrBlock="172.28.7.0/26", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}b", ) lb = conn.create_load_balancer( @@ -98,7 +67,7 @@ class Test_ELBv2_Service: elbv2 = ELBv2(audit_info) assert len(elbv2.loadbalancersv2) == 1 assert elbv2.loadbalancersv2[0].name == "my-lb" - assert elbv2.loadbalancersv2[0].region == AWS_REGION + assert elbv2.loadbalancersv2[0].region == AWS_REGION_EU_WEST_1 assert elbv2.loadbalancersv2[0].scheme == "internal" assert elbv2.loadbalancersv2[0].arn == lb["LoadBalancerArn"] @@ -106,18 +75,22 @@ class Test_ELBv2_Service: @mock_ec2 @mock_elbv2 def test__describe_listeners__(self): - conn = client("elbv2", region_name=AWS_REGION) - ec2 = resource("ec2", region_name=AWS_REGION) + conn = client("elbv2", region_name=AWS_REGION_EU_WEST_1) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) security_group = ec2.create_security_group( GroupName="a-security-group", Description="First One" ) vpc = ec2.create_vpc(CidrBlock="172.28.7.0/24", InstanceTenancy="default") subnet1 = ec2.create_subnet( - VpcId=vpc.id, CidrBlock="172.28.7.192/26", AvailabilityZone=f"{AWS_REGION}a" + VpcId=vpc.id, + CidrBlock="172.28.7.192/26", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}a", ) subnet2 = ec2.create_subnet( - VpcId=vpc.id, CidrBlock="172.28.7.0/26", AvailabilityZone=f"{AWS_REGION}b" + VpcId=vpc.id, + CidrBlock="172.28.7.0/26", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}b", ) lb = conn.create_load_balancer( @@ -153,18 +126,22 @@ class Test_ELBv2_Service: @mock_ec2 @mock_elbv2 def test__describe_load_balancer_attributes__(self): - conn = client("elbv2", region_name=AWS_REGION) - ec2 = resource("ec2", region_name=AWS_REGION) + conn = client("elbv2", region_name=AWS_REGION_EU_WEST_1) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) security_group = ec2.create_security_group( GroupName="a-security-group", Description="First One" ) vpc = ec2.create_vpc(CidrBlock="172.28.7.0/24", InstanceTenancy="default") subnet1 = ec2.create_subnet( - VpcId=vpc.id, CidrBlock="172.28.7.192/26", AvailabilityZone=f"{AWS_REGION}a" + VpcId=vpc.id, + CidrBlock="172.28.7.192/26", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}a", ) subnet2 = ec2.create_subnet( - VpcId=vpc.id, CidrBlock="172.28.7.0/26", AvailabilityZone=f"{AWS_REGION}b" + VpcId=vpc.id, + CidrBlock="172.28.7.0/26", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}b", ) lb = conn.create_load_balancer( @@ -199,18 +176,22 @@ class Test_ELBv2_Service: @mock_ec2 @mock_elbv2 def test__describe_rules__(self): - conn = client("elbv2", region_name=AWS_REGION) - ec2 = resource("ec2", region_name=AWS_REGION) + conn = client("elbv2", region_name=AWS_REGION_EU_WEST_1) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) security_group = ec2.create_security_group( GroupName="a-security-group", Description="First One" ) vpc = ec2.create_vpc(CidrBlock="172.28.7.0/24", InstanceTenancy="default") subnet1 = ec2.create_subnet( - VpcId=vpc.id, CidrBlock="172.28.7.192/26", AvailabilityZone=f"{AWS_REGION}a" + VpcId=vpc.id, + CidrBlock="172.28.7.192/26", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}a", ) subnet2 = ec2.create_subnet( - VpcId=vpc.id, CidrBlock="172.28.7.0/26", AvailabilityZone=f"{AWS_REGION}b" + VpcId=vpc.id, + CidrBlock="172.28.7.0/26", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}b", ) lb = conn.create_load_balancer( diff --git a/tests/providers/aws/services/elbv2/elbv2_ssl_listeners/elbv2_ssl_listeners_test.py b/tests/providers/aws/services/elbv2/elbv2_ssl_listeners/elbv2_ssl_listeners_test.py index 8630ff6984..729088917b 100644 --- a/tests/providers/aws/services/elbv2/elbv2_ssl_listeners/elbv2_ssl_listeners_test.py +++ b/tests/providers/aws/services/elbv2/elbv2_ssl_listeners/elbv2_ssl_listeners_test.py @@ -9,9 +9,6 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_elbv2_ssl_listeners: @mock_elbv2 @@ -38,18 +35,22 @@ class Test_elbv2_ssl_listeners: @mock_ec2 @mock_elbv2 def test_elbv2_with_HTTP_listener(self): - conn = client("elbv2", region_name=AWS_REGION) - ec2 = resource("ec2", region_name=AWS_REGION) + conn = client("elbv2", region_name=AWS_REGION_EU_WEST_1) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) security_group = ec2.create_security_group( GroupName="a-security-group", Description="First One" ) vpc = ec2.create_vpc(CidrBlock="172.28.7.0/24", InstanceTenancy="default") subnet1 = ec2.create_subnet( - VpcId=vpc.id, CidrBlock="172.28.7.192/26", AvailabilityZone=f"{AWS_REGION}a" + VpcId=vpc.id, + CidrBlock="172.28.7.192/26", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}a", ) subnet2 = ec2.create_subnet( - VpcId=vpc.id, CidrBlock="172.28.7.0/26", AvailabilityZone=f"{AWS_REGION}b" + VpcId=vpc.id, + CidrBlock="172.28.7.0/26", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}b", ) lb = conn.create_load_balancer( @@ -110,18 +111,22 @@ class Test_elbv2_ssl_listeners: @mock_ec2 @mock_elbv2 def test_elbv2_with_HTTPS_listener(self): - conn = client("elbv2", region_name=AWS_REGION) - ec2 = resource("ec2", region_name=AWS_REGION) + conn = client("elbv2", region_name=AWS_REGION_EU_WEST_1) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) security_group = ec2.create_security_group( GroupName="a-security-group", Description="First One" ) vpc = ec2.create_vpc(CidrBlock="172.28.7.0/24", InstanceTenancy="default") subnet1 = ec2.create_subnet( - VpcId=vpc.id, CidrBlock="172.28.7.192/26", AvailabilityZone=f"{AWS_REGION}a" + VpcId=vpc.id, + CidrBlock="172.28.7.192/26", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}a", ) subnet2 = ec2.create_subnet( - VpcId=vpc.id, CidrBlock="172.28.7.0/26", AvailabilityZone=f"{AWS_REGION}b" + VpcId=vpc.id, + CidrBlock="172.28.7.0/26", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}b", ) lb = conn.create_load_balancer( @@ -181,18 +186,22 @@ class Test_elbv2_ssl_listeners: @mock_ec2 @mock_elbv2 def test_elbv2_with_HTTPS_redirection(self): - conn = client("elbv2", region_name=AWS_REGION) - ec2 = resource("ec2", region_name=AWS_REGION) + conn = client("elbv2", region_name=AWS_REGION_EU_WEST_1) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) security_group = ec2.create_security_group( GroupName="a-security-group", Description="First One" ) vpc = ec2.create_vpc(CidrBlock="172.28.7.0/24", InstanceTenancy="default") subnet1 = ec2.create_subnet( - VpcId=vpc.id, CidrBlock="172.28.7.192/26", AvailabilityZone=f"{AWS_REGION}a" + VpcId=vpc.id, + CidrBlock="172.28.7.192/26", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}a", ) subnet2 = ec2.create_subnet( - VpcId=vpc.id, CidrBlock="172.28.7.0/26", AvailabilityZone=f"{AWS_REGION}b" + VpcId=vpc.id, + CidrBlock="172.28.7.0/26", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}b", ) lb = conn.create_load_balancer( diff --git a/tests/providers/aws/services/elbv2/elbv2_waf_acl_attached/elbv2_waf_acl_attached_test.py b/tests/providers/aws/services/elbv2/elbv2_waf_acl_attached/elbv2_waf_acl_attached_test.py index d543dd97d5..cbb7ee5485 100644 --- a/tests/providers/aws/services/elbv2/elbv2_waf_acl_attached/elbv2_waf_acl_attached_test.py +++ b/tests/providers/aws/services/elbv2/elbv2_waf_acl_attached/elbv2_waf_acl_attached_test.py @@ -10,9 +10,6 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" - # Mocking WAF-Regional Calls make_api_call = botocore.client.BaseClient._make_api_call @@ -70,8 +67,8 @@ class Test_elbv2_waf_acl_attached: @mock_ec2 @mock_elbv2 def test_elbv2_without_WAF(self): - conn = client("elbv2", region_name=AWS_REGION) - ec2 = resource("ec2", region_name=AWS_REGION) + conn = client("elbv2", region_name=AWS_REGION_EU_WEST_1) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) wafv2 = client("wafv2", region_name="us-east-1") _ = wafv2.create_web_acl( Scope="REGIONAL", @@ -88,10 +85,14 @@ class Test_elbv2_waf_acl_attached: ) vpc = ec2.create_vpc(CidrBlock="172.28.7.0/24", InstanceTenancy="default") subnet1 = ec2.create_subnet( - VpcId=vpc.id, CidrBlock="172.28.7.192/26", AvailabilityZone=f"{AWS_REGION}a" + VpcId=vpc.id, + CidrBlock="172.28.7.192/26", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}a", ) subnet2 = ec2.create_subnet( - VpcId=vpc.id, CidrBlock="172.28.7.0/26", AvailabilityZone=f"{AWS_REGION}b" + VpcId=vpc.id, + CidrBlock="172.28.7.0/26", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}b", ) lb = conn.create_load_balancer( @@ -140,8 +141,8 @@ class Test_elbv2_waf_acl_attached: @mock_ec2 @mock_elbv2 def test_elbv2_with_WAF(self): - conn = client("elbv2", region_name=AWS_REGION) - ec2 = resource("ec2", region_name=AWS_REGION) + conn = client("elbv2", region_name=AWS_REGION_EU_WEST_1) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) wafv2 = client("wafv2", region_name="us-east-1") waf = wafv2.create_web_acl( Scope="REGIONAL", @@ -158,10 +159,14 @@ class Test_elbv2_waf_acl_attached: ) vpc = ec2.create_vpc(CidrBlock="172.28.7.0/24", InstanceTenancy="default") subnet1 = ec2.create_subnet( - VpcId=vpc.id, CidrBlock="172.28.7.192/26", AvailabilityZone=f"{AWS_REGION}a" + VpcId=vpc.id, + CidrBlock="172.28.7.192/26", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}a", ) subnet2 = ec2.create_subnet( - VpcId=vpc.id, CidrBlock="172.28.7.0/26", AvailabilityZone=f"{AWS_REGION}b" + VpcId=vpc.id, + CidrBlock="172.28.7.0/26", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}b", ) lb = conn.create_load_balancer( diff --git a/tests/providers/aws/services/emr/emr_cluster_account_public_block_enabled/emr_cluster_account_public_block_enabled_test.py b/tests/providers/aws/services/emr/emr_cluster_account_public_block_enabled/emr_cluster_account_public_block_enabled_test.py index 3ec7a40412..fe4c9a7b9c 100644 --- a/tests/providers/aws/services/emr/emr_cluster_account_public_block_enabled/emr_cluster_account_public_block_enabled_test.py +++ b/tests/providers/aws/services/emr/emr_cluster_account_public_block_enabled/emr_cluster_account_public_block_enabled_test.py @@ -5,8 +5,7 @@ from moto.core import DEFAULT_ACCOUNT_ID from prowler.providers.aws.services.emr.emr_service import ( BlockPublicAccessConfiguration, ) - -AWS_REGION = "eu-west-1" +from tests.providers.aws.audit_info_utils import AWS_REGION_EU_WEST_1 class Test_emr_cluster_account_public_block_enabled: @@ -14,7 +13,7 @@ class Test_emr_cluster_account_public_block_enabled: emr_client = mock.MagicMock emr_client.audited_account = DEFAULT_ACCOUNT_ID emr_client.block_public_access_configuration = { - AWS_REGION: BlockPublicAccessConfiguration( + AWS_REGION_EU_WEST_1: BlockPublicAccessConfiguration( block_public_security_group_rules=True ) } @@ -31,7 +30,7 @@ class Test_emr_cluster_account_public_block_enabled: result = check.execute() assert len(result) == 1 - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_id == DEFAULT_ACCOUNT_ID assert result[0].status == "PASS" assert ( @@ -43,7 +42,7 @@ class Test_emr_cluster_account_public_block_enabled: emr_client = mock.MagicMock emr_client.audited_account = DEFAULT_ACCOUNT_ID emr_client.block_public_access_configuration = { - AWS_REGION: BlockPublicAccessConfiguration( + AWS_REGION_EU_WEST_1: BlockPublicAccessConfiguration( block_public_security_group_rules=False ) } @@ -60,7 +59,7 @@ class Test_emr_cluster_account_public_block_enabled: result = check.execute() assert len(result) == 1 - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_id == DEFAULT_ACCOUNT_ID assert result[0].status == "FAIL" assert ( diff --git a/tests/providers/aws/services/emr/emr_cluster_master_nodes_no_public_ip/emr_cluster_master_nodes_no_public_ip_test.py b/tests/providers/aws/services/emr/emr_cluster_master_nodes_no_public_ip/emr_cluster_master_nodes_no_public_ip_test.py index 3e4dc742df..6532e3485f 100644 --- a/tests/providers/aws/services/emr/emr_cluster_master_nodes_no_public_ip/emr_cluster_master_nodes_no_public_ip_test.py +++ b/tests/providers/aws/services/emr/emr_cluster_master_nodes_no_public_ip/emr_cluster_master_nodes_no_public_ip_test.py @@ -3,8 +3,7 @@ from unittest import mock from moto.core import DEFAULT_ACCOUNT_ID from prowler.providers.aws.services.emr.emr_service import Cluster, ClusterStatus - -AWS_REGION = "eu-west-1" +from tests.providers.aws.audit_info_utils import AWS_REGION_EU_WEST_1 class Test_emr_cluster_master_nodes_no_public_ip: @@ -29,14 +28,14 @@ class Test_emr_cluster_master_nodes_no_public_ip: emr_client = mock.MagicMock cluster_name = "test-cluster" cluster_id = "j-XWO1UKVCC6FCV" - cluster_arn = f"arn:aws:elasticmapreduce:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:cluster/{cluster_name}" + cluster_arn = f"arn:aws:elasticmapreduce:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:cluster/{cluster_name}" emr_client.clusters = { "test-cluster": Cluster( id=cluster_id, arn=cluster_arn, name=cluster_name, status=ClusterStatus.RUNNING, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, master_public_dns_name="test.amazonaws.com", public=True, ) @@ -54,7 +53,7 @@ class Test_emr_cluster_master_nodes_no_public_ip: result = check.execute() assert len(result) == 1 - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_id == cluster_id assert result[0].resource_arn == cluster_arn assert result[0].status == "FAIL" @@ -67,14 +66,14 @@ class Test_emr_cluster_master_nodes_no_public_ip: emr_client = mock.MagicMock cluster_name = "test-cluster" cluster_id = "j-XWO1UKVCC6FCV" - cluster_arn = f"arn:aws:elasticmapreduce:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:cluster/{cluster_name}" + cluster_arn = f"arn:aws:elasticmapreduce:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:cluster/{cluster_name}" emr_client.clusters = { "test-cluster": Cluster( id=cluster_id, arn=cluster_arn, name=cluster_name, status=ClusterStatus.RUNNING, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, master_public_dns_name="compute.internal", public=False, ) @@ -92,7 +91,7 @@ class Test_emr_cluster_master_nodes_no_public_ip: result = check.execute() assert len(result) == 1 - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_id == cluster_id assert result[0].resource_arn == cluster_arn assert result[0].status == "PASS" @@ -105,14 +104,14 @@ class Test_emr_cluster_master_nodes_no_public_ip: emr_client = mock.MagicMock cluster_name = "test-cluster" cluster_id = "j-XWO1UKVCC6FCV" - cluster_arn = f"arn:aws:elasticmapreduce:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:cluster/{cluster_name}" + cluster_arn = f"arn:aws:elasticmapreduce:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:cluster/{cluster_name}" emr_client.clusters = { "test-cluster": Cluster( id=cluster_id, arn=cluster_arn, name=cluster_name, status=ClusterStatus.TERMINATED, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, master_public_dns_name="test.amazonaws.com", public=True, ) @@ -135,14 +134,14 @@ class Test_emr_cluster_master_nodes_no_public_ip: emr_client = mock.MagicMock cluster_name = "test-cluster" cluster_id = "j-XWO1UKVCC6FCV" - cluster_arn = f"arn:aws:elasticmapreduce:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:cluster/{cluster_name}" + cluster_arn = f"arn:aws:elasticmapreduce:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:cluster/{cluster_name}" emr_client.clusters = { "test-cluster": Cluster( id=cluster_id, arn=cluster_arn, name=cluster_name, status=ClusterStatus.BOOTSTRAPPING, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, master_public_dns_name="compute.internal", public=False, ) @@ -160,7 +159,7 @@ class Test_emr_cluster_master_nodes_no_public_ip: result = check.execute() assert len(result) == 1 - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_id == cluster_id assert result[0].resource_arn == cluster_arn assert result[0].status == "PASS" diff --git a/tests/providers/aws/services/emr/emr_cluster_publicly_accesible/emr_cluster_publicly_accesible_test.py b/tests/providers/aws/services/emr/emr_cluster_publicly_accesible/emr_cluster_publicly_accesible_test.py index a95de75fff..4a71e37bbb 100644 --- a/tests/providers/aws/services/emr/emr_cluster_publicly_accesible/emr_cluster_publicly_accesible_test.py +++ b/tests/providers/aws/services/emr/emr_cluster_publicly_accesible/emr_cluster_publicly_accesible_test.py @@ -1,52 +1,18 @@ from unittest import mock from uuid import uuid4 -from boto3 import resource, session +from boto3 import resource from moto import mock_ec2 from moto.core import DEFAULT_ACCOUNT_ID -from prowler.providers.aws.lib.audit_info.audit_info import AWS_Audit_Info from prowler.providers.aws.services.emr.emr_service import Cluster, ClusterStatus, Node -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_REGION = "eu-west-1" - class Test_emr_cluster_publicly_accesible: - 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=None, - audited_account_arn=None, - 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 - def test_no_clusters(self): # EMR Client emr_client = mock.MagicMock @@ -74,7 +40,7 @@ class Test_emr_cluster_publicly_accesible: @mock_ec2 def test_clusters_master_public_sg(self): # EC2 Client - ec2 = resource("ec2", AWS_REGION) + ec2 = resource("ec2", AWS_REGION_EU_WEST_1) # Create Security Group master_security_group = ec2.create_security_group( GroupName=str(uuid4()), Description="test-decurity-group" @@ -90,14 +56,14 @@ class Test_emr_cluster_publicly_accesible: emr_client = mock.MagicMock cluster_name = "test-cluster" cluster_id = "j-XWO1UKVCC6FCV" - cluster_arn = f"arn:aws:elasticmapreduce:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:cluster/{cluster_name}" + cluster_arn = f"arn:aws:elasticmapreduce:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:cluster/{cluster_name}" emr_client.clusters = { "test-cluster": Cluster( id=cluster_id, arn=cluster_arn, name=cluster_name, status=ClusterStatus.RUNNING, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, master_public_dns_name="test.amazonaws.com", public=True, master=Node( @@ -130,7 +96,7 @@ class Test_emr_cluster_publicly_accesible: result = check.execute() assert len(result) == 1 - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_id == cluster_id assert result[0].resource_arn == cluster_arn assert result[0].status == "FAIL" @@ -142,7 +108,7 @@ class Test_emr_cluster_publicly_accesible: @mock_ec2 def test_clusters_master_private_sg(self): # EC2 Client - ec2 = resource("ec2", AWS_REGION) + ec2 = resource("ec2", AWS_REGION_EU_WEST_1) # Create Security Group master_security_group = ec2.create_security_group( GroupName=str(uuid4()), Description="test-decurity-group" @@ -158,14 +124,14 @@ class Test_emr_cluster_publicly_accesible: emr_client = mock.MagicMock cluster_name = "test-cluster" cluster_id = "j-XWO1UKVCC6FCV" - cluster_arn = f"arn:aws:elasticmapreduce:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:cluster/{cluster_name}" + cluster_arn = f"arn:aws:elasticmapreduce:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:cluster/{cluster_name}" emr_client.clusters = { "test-cluster": Cluster( id=cluster_id, arn=cluster_arn, name=cluster_name, status=ClusterStatus.RUNNING, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, master_public_dns_name="test.amazonaws.com", public=True, master=Node( @@ -196,7 +162,7 @@ class Test_emr_cluster_publicly_accesible: result = check.execute() assert len(result) == 1 - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_id == cluster_id assert result[0].resource_arn == cluster_arn assert result[0].status == "PASS" @@ -208,7 +174,7 @@ class Test_emr_cluster_publicly_accesible: @mock_ec2 def test_clusters_master_private_slave_public_sg(self): # EC2 Client - ec2 = resource("ec2", AWS_REGION) + ec2 = resource("ec2", AWS_REGION_EU_WEST_1) # Create Master Security Group master_security_group = ec2.create_security_group( GroupName=str(uuid4()), Description="test-decurity-group" @@ -235,14 +201,14 @@ class Test_emr_cluster_publicly_accesible: emr_client = mock.MagicMock cluster_name = "test-cluster" cluster_id = "j-XWO1UKVCC6FCV" - cluster_arn = f"arn:aws:elasticmapreduce:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:cluster/{cluster_name}" + cluster_arn = f"arn:aws:elasticmapreduce:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:cluster/{cluster_name}" emr_client.clusters = { "test-cluster": Cluster( id=cluster_id, arn=cluster_arn, name=cluster_name, status=ClusterStatus.RUNNING, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, master_public_dns_name="test.amazonaws.com", public=True, master=Node( @@ -279,7 +245,7 @@ class Test_emr_cluster_publicly_accesible: result = check.execute() assert len(result) == 1 - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_id == cluster_id assert result[0].resource_arn == cluster_arn assert result[0].status == "FAIL" @@ -291,7 +257,7 @@ class Test_emr_cluster_publicly_accesible: @mock_ec2 def test_clusters_master_public_slave_private_two_sg(self): # EC2 Client - ec2 = resource("ec2", AWS_REGION) + ec2 = resource("ec2", AWS_REGION_EU_WEST_1) # Create Master Security Group master_security_group = ec2.create_security_group( GroupName=str(uuid4()), Description="test-decurity-group" @@ -318,14 +284,14 @@ class Test_emr_cluster_publicly_accesible: emr_client = mock.MagicMock cluster_name = "test-cluster" cluster_id = "j-XWO1UKVCC6FCV" - cluster_arn = f"arn:aws:elasticmapreduce:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:cluster/{cluster_name}" + cluster_arn = f"arn:aws:elasticmapreduce:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:cluster/{cluster_name}" emr_client.clusters = { "test-cluster": Cluster( id=cluster_id, arn=cluster_arn, name=cluster_name, status=ClusterStatus.RUNNING, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, master_public_dns_name="test.amazonaws.com", public=True, master=Node( @@ -365,7 +331,7 @@ class Test_emr_cluster_publicly_accesible: result = check.execute() assert len(result) == 1 - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_id == cluster_id assert result[0].resource_arn == cluster_arn assert result[0].status == "FAIL" @@ -377,7 +343,7 @@ class Test_emr_cluster_publicly_accesible: @mock_ec2 def test_clusters_master_private_slave_public_sg_none_additional_sgs(self): # EC2 Client - ec2 = resource("ec2", AWS_REGION) + ec2 = resource("ec2", AWS_REGION_EU_WEST_1) # Create Master Security Group master_security_group = ec2.create_security_group( GroupName=str(uuid4()), Description="test-decurity-group" @@ -404,14 +370,14 @@ class Test_emr_cluster_publicly_accesible: emr_client = mock.MagicMock cluster_name = "test-cluster" cluster_id = "j-XWO1UKVCC6FCV" - cluster_arn = f"arn:aws:elasticmapreduce:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:cluster/{cluster_name}" + cluster_arn = f"arn:aws:elasticmapreduce:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:cluster/{cluster_name}" emr_client.clusters = { "test-cluster": Cluster( id=cluster_id, arn=cluster_arn, name=cluster_name, status=ClusterStatus.RUNNING, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, master_public_dns_name="test.amazonaws.com", public=True, master=Node( @@ -448,7 +414,7 @@ class Test_emr_cluster_publicly_accesible: result = check.execute() assert len(result) == 1 - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_id == cluster_id assert result[0].resource_arn == cluster_arn assert result[0].status == "FAIL" diff --git a/tests/providers/aws/services/emr/emr_service_test.py b/tests/providers/aws/services/emr/emr_service_test.py index e942d32b7f..8636633749 100644 --- a/tests/providers/aws/services/emr/emr_service_test.py +++ b/tests/providers/aws/services/emr/emr_service_test.py @@ -2,22 +2,16 @@ from datetime import datetime from unittest.mock import patch import botocore -from boto3 import client, session +from boto3 import client from moto import mock_emr from moto.core import DEFAULT_ACCOUNT_ID -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info from prowler.providers.aws.services.emr.emr_service import EMR, ClusterStatus -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -# Mock Test Region -AWS_REGION = "eu-west-1" - - # Mocking Access Analyzer Calls make_api_call = botocore.client.BaseClient._make_api_call @@ -43,9 +37,11 @@ def mock_make_api_call(self, operation_name, kwarg): # Mock generate_regional_clients() 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_EU_WEST_1 + ) + regional_client.region = AWS_REGION_EU_WEST_1 + return {AWS_REGION_EU_WEST_1: regional_client} @patch( @@ -54,41 +50,11 @@ def mock_generate_regional_clients(service, audit_info, _): ) @patch("botocore.client.BaseClient._make_api_call", new=mock_make_api_call) class Test_EMR_Service: - 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=DEFAULT_ACCOUNT_ID, - audited_account_arn=f"arn:aws:iam::{DEFAULT_ACCOUNT_ID}: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=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 EMR Client @mock_emr def test__get_client__(self): emr = EMR(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])) - assert emr.regional_clients[AWS_REGION].__class__.__name__ == "EMR" + assert emr.regional_clients[AWS_REGION_EU_WEST_1].__class__.__name__ == "EMR" # Test EMR Session @mock_emr @@ -106,7 +72,7 @@ class Test_EMR_Service: @mock_emr def test__list_clusters__(self): # Create EMR Cluster - emr_client = client("emr", region_name=AWS_REGION) + emr_client = client("emr", region_name=AWS_REGION_EU_WEST_1) cluster_name = "test-cluster" run_job_flow_args = dict( Instances={ @@ -135,9 +101,9 @@ class Test_EMR_Service: assert emr.clusters[cluster_id].status == ClusterStatus.WAITING assert ( emr.clusters[cluster_id].arn - == f"arn:aws:elasticmapreduce:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:cluster/{cluster_id}" + == f"arn:aws:elasticmapreduce:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:cluster/{cluster_id}" ) - assert emr.clusters[cluster_id].region == AWS_REGION + assert emr.clusters[cluster_id].region == AWS_REGION_EU_WEST_1 assert ( emr.clusters[cluster_id].master_public_dns_name == "ec2-184-0-0-1.us-west-1.compute.amazonaws.com" @@ -153,5 +119,5 @@ class Test_EMR_Service: assert len(emr.block_public_access_configuration) == 1 assert emr.block_public_access_configuration[ - AWS_REGION + AWS_REGION_EU_WEST_1 ].block_public_security_group_rules diff --git a/tests/providers/aws/services/fms/fms_policy_compliant/fms_policy_compliant_test.py b/tests/providers/aws/services/fms/fms_policy_compliant/fms_policy_compliant_test.py index b3a77bd324..cea57d943c 100644 --- a/tests/providers/aws/services/fms/fms_policy_compliant/fms_policy_compliant_test.py +++ b/tests/providers/aws/services/fms/fms_policy_compliant/fms_policy_compliant_test.py @@ -4,15 +4,16 @@ from prowler.providers.aws.services.fms.fms_service import ( Policy, PolicyAccountComplianceStatus, ) - -AWS_REGION = "us-east-1" -AWS_ACCOUNT_NUMBER = "123456789012" +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, + AWS_REGION_EU_WEST_1, +) class Test_fms_policy_compliant: def test_fms_not_admin(self): fms_client = mock.MagicMock - fms_client.region = AWS_REGION + fms_client.region = AWS_REGION_EU_WEST_1 fms_client.fms_admin_account = False with mock.patch( "prowler.providers.aws.services.fms.fms_service.FMS", @@ -32,7 +33,7 @@ class Test_fms_policy_compliant: fms_client = mock.MagicMock fms_client.audited_account = AWS_ACCOUNT_NUMBER fms_client.audited_account_arn = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" - fms_client.region = AWS_REGION + fms_client.region = AWS_REGION_EU_WEST_1 fms_client.fms_admin_account = True fms_client.fms_policies = [ Policy( @@ -72,13 +73,13 @@ class Test_fms_policy_compliant: ) assert result[0].resource_id == "12345678901" assert result[0].resource_arn == "arn:aws:fms:us-east-1:12345678901" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 def test_fms_admin_with_compliant_policies(self): fms_client = mock.MagicMock fms_client.audited_account = AWS_ACCOUNT_NUMBER fms_client.audited_account_arn = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" - fms_client.region = AWS_REGION + fms_client.region = AWS_REGION_EU_WEST_1 fms_client.fms_admin_account = True fms_client.fms_policies = [ Policy( @@ -117,13 +118,13 @@ class Test_fms_policy_compliant: ) assert result[0].resource_id == AWS_ACCOUNT_NUMBER assert result[0].resource_arn == f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 def test_fms_admin_with_non_and_compliant_policies(self): fms_client = mock.MagicMock fms_client.audited_account = AWS_ACCOUNT_NUMBER fms_client.audited_account_arn = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" - fms_client.region = AWS_REGION + fms_client.region = AWS_REGION_EU_WEST_1 fms_client.fms_admin_account = True fms_client.fms_policies = [ Policy( @@ -168,4 +169,4 @@ class Test_fms_policy_compliant: ) assert result[0].resource_id == "12345678901" assert result[0].resource_arn == "arn:aws:fms:us-east-1:12345678901" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 diff --git a/tests/providers/aws/services/fms/fms_service_test.py b/tests/providers/aws/services/fms/fms_service_test.py index 22cdf1ebc3..b5d6637f6c 100644 --- a/tests/providers/aws/services/fms/fms_service_test.py +++ b/tests/providers/aws/services/fms/fms_service_test.py @@ -2,18 +2,15 @@ from datetime import datetime from unittest.mock import patch import botocore -from boto3 import session -from prowler.providers.aws.lib.audit_info.audit_info import AWS_Audit_Info from prowler.providers.aws.services.fms.fms_service import FMS -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) # Mock Test Region -AWS_REGION = "us-east-1" + POLICY_ARN = "arn:aws:fms:us-east-1:123456789012:policy/MyFMSManagedPolicy" POLICY_ID = "12345678-1234-1234-1234-123456789012" POLICY_NAME = "MyFMSManagedPolicy" @@ -69,36 +66,6 @@ def mock_make_api_call(self, operation_name, kwargs): # Patch every AWS call using Boto3 @patch("botocore.client.BaseClient._make_api_call", new=mock_make_api_call) class Test_FMS_Service: - 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=None, - audited_account_arn=None, - 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 - def test__get_client__(self): audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) fms = FMS(audit_info) diff --git a/tests/providers/aws/services/glacier/glacier_service_test.py b/tests/providers/aws/services/glacier/glacier_service_test.py index 24ecd009f3..9003b3838b 100644 --- a/tests/providers/aws/services/glacier/glacier_service_test.py +++ b/tests/providers/aws/services/glacier/glacier_service_test.py @@ -10,15 +10,11 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -# Mock Test Region -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" - # Mocking Access Analyzer Calls make_api_call = botocore.client.BaseClient._make_api_call TEST_VAULT_ARN = ( - f"arn:aws:glacier:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:vaults/examplevault" + f"arn:aws:glacier:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:vaults/examplevault" ) vault_json_policy = { "Version": "2012-10-17", @@ -66,9 +62,11 @@ def mock_make_api_call(self, operation_name, kwarg): # Mock generate_regional_clients() 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_EU_WEST_1 + ) + regional_client.region = AWS_REGION_EU_WEST_1 + return {AWS_REGION_EU_WEST_1: regional_client} # Patch every AWS call using Boto3 and generate_regional_clients to have 1 client @@ -81,7 +79,10 @@ class Test_Glacier_Service: # Test Glacier Client def test__get_client__(self): glacier = Glacier(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])) - assert glacier.regional_clients[AWS_REGION].__class__.__name__ == "Glacier" + assert ( + glacier.regional_clients[AWS_REGION_EU_WEST_1].__class__.__name__ + == "Glacier" + ) # Test Glacier Session def test__get_session__(self): @@ -102,9 +103,9 @@ class Test_Glacier_Service: assert glacier.vaults[TEST_VAULT_ARN].name == vault_name assert ( glacier.vaults[TEST_VAULT_ARN].arn - == f"arn:aws:glacier:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:vaults/examplevault" + == f"arn:aws:glacier:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:vaults/examplevault" ) - assert glacier.vaults[TEST_VAULT_ARN].region == AWS_REGION + assert glacier.vaults[TEST_VAULT_ARN].region == AWS_REGION_EU_WEST_1 assert glacier.vaults[TEST_VAULT_ARN].tags == [{"test": "test"}] def test__get_vault_access_policy__(self): @@ -116,7 +117,7 @@ class Test_Glacier_Service: assert glacier.vaults[TEST_VAULT_ARN].name == vault_name assert ( glacier.vaults[TEST_VAULT_ARN].arn - == f"arn:aws:glacier:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:vaults/examplevault" + == f"arn:aws:glacier:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:vaults/examplevault" ) - assert glacier.vaults[TEST_VAULT_ARN].region == AWS_REGION + assert glacier.vaults[TEST_VAULT_ARN].region == AWS_REGION_EU_WEST_1 assert glacier.vaults[TEST_VAULT_ARN].access_policy == vault_json_policy diff --git a/tests/providers/aws/services/glacier/glacier_vaults_policy_public_access/glacier_vaults_policy_public_access_test.py b/tests/providers/aws/services/glacier/glacier_vaults_policy_public_access/glacier_vaults_policy_public_access_test.py index e5145fae71..17a3d2918f 100644 --- a/tests/providers/aws/services/glacier/glacier_vaults_policy_public_access/glacier_vaults_policy_public_access_test.py +++ b/tests/providers/aws/services/glacier/glacier_vaults_policy_public_access/glacier_vaults_policy_public_access_test.py @@ -3,8 +3,7 @@ from unittest import mock from moto.core import DEFAULT_ACCOUNT_ID from prowler.providers.aws.services.glacier.glacier_service import Vault - -AWS_REGION = "eu-west-1" +from tests.providers.aws.audit_info_utils import AWS_REGION_EU_WEST_1 class Test_glacier_vaults_policy_public_access: @@ -28,15 +27,13 @@ class Test_glacier_vaults_policy_public_access: def test_vault_no_policy(self): glacier_client = mock.MagicMock vault_name = "test-vault" - vault_arn = ( - f"arn:aws:glacier:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:vaults/examplevault" - ) + vault_arn = f"arn:aws:glacier:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:vaults/examplevault" glacier_client.vaults = { vault_name: Vault( name=vault_name, arn=vault_arn, access_policy={}, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) } with mock.patch( @@ -52,7 +49,7 @@ class Test_glacier_vaults_policy_public_access: result = check.execute() assert len(result) == 1 - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_id == vault_name assert result[0].resource_arn == vault_arn assert result[0].status == "PASS" @@ -64,9 +61,7 @@ class Test_glacier_vaults_policy_public_access: def test_vault_policy_pricipal_aws_list_asterisk(self): glacier_client = mock.MagicMock vault_name = "test-vault" - vault_arn = ( - f"arn:aws:glacier:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:vaults/examplevault" - ) + vault_arn = f"arn:aws:glacier:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:vaults/examplevault" glacier_client.vaults = { vault_name: Vault( name=vault_name, @@ -85,12 +80,12 @@ class Test_glacier_vaults_policy_public_access: "glacier:CompleteMultipartUpload", ], "Resource": [ - f"arn:aws:glacier:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:vaults/examplevault" + f"arn:aws:glacier:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:vaults/examplevault" ], } ], }, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) } with mock.patch( @@ -106,7 +101,7 @@ class Test_glacier_vaults_policy_public_access: result = check.execute() assert len(result) == 1 - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_id == vault_name assert result[0].resource_arn == vault_arn assert result[0].status == "FAIL" @@ -118,9 +113,7 @@ class Test_glacier_vaults_policy_public_access: def test_vault_policy_pricipal_asterisk(self): glacier_client = mock.MagicMock vault_name = "test-vault" - vault_arn = ( - f"arn:aws:glacier:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:vaults/examplevault" - ) + vault_arn = f"arn:aws:glacier:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:vaults/examplevault" glacier_client.vaults = { vault_name: Vault( name=vault_name, @@ -139,12 +132,12 @@ class Test_glacier_vaults_policy_public_access: "glacier:CompleteMultipartUpload", ], "Resource": [ - f"arn:aws:glacier:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:vaults/examplevault" + f"arn:aws:glacier:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:vaults/examplevault" ], } ], }, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) } with mock.patch( @@ -160,7 +153,7 @@ class Test_glacier_vaults_policy_public_access: result = check.execute() assert len(result) == 1 - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_id == vault_name assert result[0].resource_arn == vault_arn assert result[0].status == "FAIL" @@ -172,9 +165,7 @@ class Test_glacier_vaults_policy_public_access: def test_vault_policy_pricipal_canonical_user_asterisk(self): glacier_client = mock.MagicMock vault_name = "test-vault" - vault_arn = ( - f"arn:aws:glacier:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:vaults/examplevault" - ) + vault_arn = f"arn:aws:glacier:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:vaults/examplevault" glacier_client.vaults = { vault_name: Vault( name=vault_name, @@ -193,12 +184,12 @@ class Test_glacier_vaults_policy_public_access: "glacier:CompleteMultipartUpload", ], "Resource": [ - f"arn:aws:glacier:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:vaults/examplevault" + f"arn:aws:glacier:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:vaults/examplevault" ], } ], }, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) } with mock.patch( @@ -214,7 +205,7 @@ class Test_glacier_vaults_policy_public_access: result = check.execute() assert len(result) == 1 - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_id == vault_name assert result[0].resource_arn == vault_arn assert result[0].status == "FAIL" @@ -226,9 +217,7 @@ class Test_glacier_vaults_policy_public_access: def test_vault_policy_private(self): glacier_client = mock.MagicMock vault_name = "test-vault" - vault_arn = ( - f"arn:aws:glacier:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:vaults/examplevault" - ) + vault_arn = f"arn:aws:glacier:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:vaults/examplevault" glacier_client.vaults = { vault_name: Vault( name=vault_name, @@ -251,12 +240,12 @@ class Test_glacier_vaults_policy_public_access: "glacier:CompleteMultipartUpload", ], "Resource": [ - f"arn:aws:glacier:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:vaults/examplevault" + f"arn:aws:glacier:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:vaults/examplevault" ], } ], }, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) } with mock.patch( @@ -272,7 +261,7 @@ class Test_glacier_vaults_policy_public_access: result = check.execute() assert len(result) == 1 - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_id == vault_name assert result[0].resource_arn == vault_arn assert result[0].status == "PASS" diff --git a/tests/providers/aws/services/globalaccelerator/globalaccelerator_service_test.py b/tests/providers/aws/services/globalaccelerator/globalaccelerator_service_test.py index bfc95b1601..c75093216d 100644 --- a/tests/providers/aws/services/globalaccelerator/globalaccelerator_service_test.py +++ b/tests/providers/aws/services/globalaccelerator/globalaccelerator_service_test.py @@ -1,21 +1,15 @@ import botocore -from boto3 import session from mock import patch from moto.core import DEFAULT_ACCOUNT_ID -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info from prowler.providers.aws.services.globalaccelerator.globalaccelerator_service import ( GlobalAccelerator, ) -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -# Mock Test Region -AWS_REGION = "us-west-2" - # Mocking Access Analyzer Calls make_api_call = botocore.client.BaseClient._make_api_call @@ -54,36 +48,6 @@ def mock_make_api_call(self, operation_name, kwarg): # Patch every AWS call using Boto3 and generate_regional_clients to have 1 client @patch("botocore.client.BaseClient._make_api_call", new=mock_make_api_call) class Test_GlobalAccelerator_Service: - 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=DEFAULT_ACCOUNT_ID, - audited_account_arn=f"arn:aws:iam::{DEFAULT_ACCOUNT_ID}:root", - audited_user_id=None, - audited_partition="aws", - audited_identity_arn=None, - profile=None, - profile_region=AWS_REGION, - 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 GlobalAccelerator Service def test_service(self): # GlobalAccelerator client for this test class @@ -123,5 +87,8 @@ class Test_GlobalAccelerator_Service: globalaccelerator.accelerators[TEST_ACCELERATOR_ARN].arn == TEST_ACCELERATOR_ARN ) - assert globalaccelerator.accelerators[TEST_ACCELERATOR_ARN].region == AWS_REGION + assert ( + globalaccelerator.accelerators[TEST_ACCELERATOR_ARN].region + == AWS_REGION_EU_WEST_1 + ) assert globalaccelerator.accelerators[TEST_ACCELERATOR_ARN].enabled diff --git a/tests/providers/aws/services/glue/glue_data_catalogs_connection_passwords_encryption_enabled/glue_data_catalogs_connection_passwords_encryption_enabled_test.py b/tests/providers/aws/services/glue/glue_data_catalogs_connection_passwords_encryption_enabled/glue_data_catalogs_connection_passwords_encryption_enabled_test.py index 77b91c8f2f..64f6514925 100644 --- a/tests/providers/aws/services/glue/glue_data_catalogs_connection_passwords_encryption_enabled/glue_data_catalogs_connection_passwords_encryption_enabled_test.py +++ b/tests/providers/aws/services/glue/glue_data_catalogs_connection_passwords_encryption_enabled/glue_data_catalogs_connection_passwords_encryption_enabled_test.py @@ -1,52 +1,13 @@ from unittest import mock -from boto3 import session - -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info from prowler.providers.aws.services.glue.glue_service import CatalogEncryptionSetting -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" -AWS_REGION = "us-east-1" - class Test_glue_data_catalogs_connection_passwords_encryption_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, - region_name=AWS_REGION, - ), - 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=AWS_REGION, - 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, - ), - ignore_unused_services=False, - ) - return audit_info - def test_glue_no_settings(self): glue_client = mock.MagicMock glue_client.audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) @@ -74,7 +35,7 @@ class Test_glue_data_catalogs_connection_passwords_encryption_enabled: mode="DISABLED", tables=False, kms_id=None, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, password_encryption=False, password_kms_id=None, ) @@ -100,7 +61,7 @@ class Test_glue_data_catalogs_connection_passwords_encryption_enabled: == "Glue data catalog connection password is not encrypted." ) assert result[0].resource_id == "12345678912" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 def test_glue_catalog_password_unencrypted_ignoring(self): glue_client = mock.MagicMock @@ -110,7 +71,7 @@ class Test_glue_data_catalogs_connection_passwords_encryption_enabled: mode="DISABLED", tables=False, kms_id=None, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, password_encryption=False, password_kms_id=None, ) @@ -139,7 +100,7 @@ class Test_glue_data_catalogs_connection_passwords_encryption_enabled: mode="DISABLED", tables=True, kms_id=None, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, password_encryption=False, password_kms_id=None, ) @@ -165,7 +126,7 @@ class Test_glue_data_catalogs_connection_passwords_encryption_enabled: == "Glue data catalog connection password is not encrypted." ) assert result[0].resource_id == "12345678912" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 def test_glue_catalog_encrypted(self): glue_client = mock.MagicMock @@ -174,7 +135,7 @@ class Test_glue_data_catalogs_connection_passwords_encryption_enabled: CatalogEncryptionSetting( mode="DISABLED", tables=False, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, password_encryption=True, password_kms_id="kms-key", ) @@ -200,4 +161,4 @@ class Test_glue_data_catalogs_connection_passwords_encryption_enabled: == "Glue data catalog connection password is encrypted with KMS key kms-key." ) assert result[0].resource_id == "12345678912" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 diff --git a/tests/providers/aws/services/glue/glue_data_catalogs_metadata_encryption_enabled/glue_data_catalogs_metadata_encryption_enabled_test.py b/tests/providers/aws/services/glue/glue_data_catalogs_metadata_encryption_enabled/glue_data_catalogs_metadata_encryption_enabled_test.py index 4d35f8e4cf..bc4b7047bd 100644 --- a/tests/providers/aws/services/glue/glue_data_catalogs_metadata_encryption_enabled/glue_data_catalogs_metadata_encryption_enabled_test.py +++ b/tests/providers/aws/services/glue/glue_data_catalogs_metadata_encryption_enabled/glue_data_catalogs_metadata_encryption_enabled_test.py @@ -1,53 +1,14 @@ from re import search from unittest import mock -from boto3 import session - -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info from prowler.providers.aws.services.glue.glue_service import CatalogEncryptionSetting -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" -AWS_REGION = "us-east-1" - class Test_glue_data_catalogs_metadata_encryption_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, - region_name=AWS_REGION, - ), - 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=AWS_REGION, - 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, - ), - ignore_unused_services=False, - ) - return audit_info - def test_glue_no_settings(self): glue_client = mock.MagicMock glue_client.audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) @@ -75,7 +36,7 @@ class Test_glue_data_catalogs_metadata_encryption_enabled: mode="disabled.", tables=False, kms_id=None, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, password_encryption=False, password_kms_id=None, ) @@ -101,7 +62,7 @@ class Test_glue_data_catalogs_metadata_encryption_enabled: == "Glue data catalog settings have metadata encryption disabled." ) assert result[0].resource_id == "12345678912" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 def test_glue_catalog_unencrypted_ignoring(self): glue_client = mock.MagicMock @@ -111,7 +72,7 @@ class Test_glue_data_catalogs_metadata_encryption_enabled: mode="disabled.", tables=False, kms_id=None, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, password_encryption=False, password_kms_id=None, ) @@ -141,7 +102,7 @@ class Test_glue_data_catalogs_metadata_encryption_enabled: mode="disabled.", tables=True, kms_id=None, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, password_encryption=False, password_kms_id=None, ) @@ -168,7 +129,7 @@ class Test_glue_data_catalogs_metadata_encryption_enabled: result[0].status_extended, ) assert result[0].resource_id == "12345678912" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 def test_glue_catalog_encrypted(self): glue_client = mock.MagicMock @@ -178,7 +139,7 @@ class Test_glue_data_catalogs_metadata_encryption_enabled: mode="SSE-KMS", kms_id="kms-key", tables=False, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, password_encryption=False, password_kms_id=None, ) @@ -204,4 +165,4 @@ class Test_glue_data_catalogs_metadata_encryption_enabled: == "Glue data catalog settings have metadata encryption enabled with KMS key kms-key." ) assert result[0].resource_id == "12345678912" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 diff --git a/tests/providers/aws/services/glue/glue_database_connections_ssl_enabled/glue_database_connections_ssl_enabled_test.py b/tests/providers/aws/services/glue/glue_database_connections_ssl_enabled/glue_database_connections_ssl_enabled_test.py index c38426a8cc..d2d712bfbc 100644 --- a/tests/providers/aws/services/glue/glue_database_connections_ssl_enabled/glue_database_connections_ssl_enabled_test.py +++ b/tests/providers/aws/services/glue/glue_database_connections_ssl_enabled/glue_database_connections_ssl_enabled_test.py @@ -2,8 +2,7 @@ from re import search from unittest import mock from prowler.providers.aws.services.glue.glue_service import Connection - -AWS_REGION = "us-east-1" +from tests.providers.aws.audit_info_utils import AWS_REGION_EU_WEST_1 class Test_glue_database_connections_ssl_enabled: @@ -37,7 +36,7 @@ class Test_glue_database_connections_ssl_enabled: "CONNECTOR_URL": "s3://bck-dev", "CONNECTOR_CLASS_NAME": "test", }, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, arn="arn_test", ) ] @@ -76,7 +75,7 @@ class Test_glue_database_connections_ssl_enabled: "CONNECTOR_CLASS_NAME": "test", "JDBC_ENFORCE_SSL": "true", }, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, arn="arn_test", ) ] diff --git a/tests/providers/aws/services/glue/glue_development_endpoints_cloudwatch_logs_encryption_enabled/glue_development_endpoints_cloudwatch_logs_encryption_enabled_test.py b/tests/providers/aws/services/glue/glue_development_endpoints_cloudwatch_logs_encryption_enabled/glue_development_endpoints_cloudwatch_logs_encryption_enabled_test.py index 72f0a25cae..004704eaa0 100644 --- a/tests/providers/aws/services/glue/glue_development_endpoints_cloudwatch_logs_encryption_enabled/glue_development_endpoints_cloudwatch_logs_encryption_enabled_test.py +++ b/tests/providers/aws/services/glue/glue_development_endpoints_cloudwatch_logs_encryption_enabled/glue_development_endpoints_cloudwatch_logs_encryption_enabled_test.py @@ -2,8 +2,7 @@ from re import search from unittest import mock from prowler.providers.aws.services.glue.glue_service import DevEndpoint, SecurityConfig - -AWS_REGION = "us-east-1" +from tests.providers.aws.audit_info_utils import AWS_REGION_EU_WEST_1 class Test_glue_development_endpoints_cloudwatch_logs_encryption_enabled: @@ -31,7 +30,7 @@ class Test_glue_development_endpoints_cloudwatch_logs_encryption_enabled: DevEndpoint( name="test", security="sec_config", - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, arn="arn_test", ) ] @@ -42,7 +41,7 @@ class Test_glue_development_endpoints_cloudwatch_logs_encryption_enabled: cw_key_arn="key_arn", s3_encryption="DISABLED", jb_encryption="DISABLED", - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) ] @@ -73,7 +72,7 @@ class Test_glue_development_endpoints_cloudwatch_logs_encryption_enabled: DevEndpoint( name="test", security="sec_config", - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, arn="arn_test", ) ] @@ -83,7 +82,7 @@ class Test_glue_development_endpoints_cloudwatch_logs_encryption_enabled: s3_encryption="DISABLED", cw_encryption="DISABLED", jb_encryption="DISABLED", - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) ] @@ -114,7 +113,7 @@ class Test_glue_development_endpoints_cloudwatch_logs_encryption_enabled: DevEndpoint( name="test", security="sec_config", - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, arn="arn_test", ) ] diff --git a/tests/providers/aws/services/glue/glue_development_endpoints_job_bookmark_encryption_enabled/glue_development_endpoints_job_bookmark_encryption_enabled_test.py b/tests/providers/aws/services/glue/glue_development_endpoints_job_bookmark_encryption_enabled/glue_development_endpoints_job_bookmark_encryption_enabled_test.py index 1adbe40acf..9349a90296 100644 --- a/tests/providers/aws/services/glue/glue_development_endpoints_job_bookmark_encryption_enabled/glue_development_endpoints_job_bookmark_encryption_enabled_test.py +++ b/tests/providers/aws/services/glue/glue_development_endpoints_job_bookmark_encryption_enabled/glue_development_endpoints_job_bookmark_encryption_enabled_test.py @@ -2,8 +2,7 @@ from re import search from unittest import mock from prowler.providers.aws.services.glue.glue_service import DevEndpoint, SecurityConfig - -AWS_REGION = "us-east-1" +from tests.providers.aws.audit_info_utils import AWS_REGION_EU_WEST_1 class Test_glue_development_endpoints_job_bookmark_encryption_enabled: @@ -31,7 +30,7 @@ class Test_glue_development_endpoints_job_bookmark_encryption_enabled: DevEndpoint( name="test", security="sec_config", - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, arn="arn_test", ) ] @@ -42,7 +41,7 @@ class Test_glue_development_endpoints_job_bookmark_encryption_enabled: jb_key_arn="key_arn", cw_encryption="DISABLED", s3_encryption="DISABLED", - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) ] @@ -73,7 +72,7 @@ class Test_glue_development_endpoints_job_bookmark_encryption_enabled: DevEndpoint( name="test", security="sec_config", - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, arn="arn_test", ) ] @@ -83,7 +82,7 @@ class Test_glue_development_endpoints_job_bookmark_encryption_enabled: s3_encryption="DISABLED", cw_encryption="DISABLED", jb_encryption="DISABLED", - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) ] @@ -114,7 +113,7 @@ class Test_glue_development_endpoints_job_bookmark_encryption_enabled: DevEndpoint( name="test", security="sec_config", - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, arn="arn_test", ) ] diff --git a/tests/providers/aws/services/glue/glue_development_endpoints_s3_encryption_enabled/glue_development_endpoints_s3_encryption_enabled_test.py b/tests/providers/aws/services/glue/glue_development_endpoints_s3_encryption_enabled/glue_development_endpoints_s3_encryption_enabled_test.py index cc645f8cd4..b4fd633905 100644 --- a/tests/providers/aws/services/glue/glue_development_endpoints_s3_encryption_enabled/glue_development_endpoints_s3_encryption_enabled_test.py +++ b/tests/providers/aws/services/glue/glue_development_endpoints_s3_encryption_enabled/glue_development_endpoints_s3_encryption_enabled_test.py @@ -2,8 +2,7 @@ from re import search from unittest import mock from prowler.providers.aws.services.glue.glue_service import DevEndpoint, SecurityConfig - -AWS_REGION = "us-east-1" +from tests.providers.aws.audit_info_utils import AWS_REGION_EU_WEST_1 class Test_glue_development_endpoints_s3_encryption_enabled: @@ -31,7 +30,7 @@ class Test_glue_development_endpoints_s3_encryption_enabled: DevEndpoint( name="test", security="sec_config", - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, arn="arn_test", ) ] @@ -42,7 +41,7 @@ class Test_glue_development_endpoints_s3_encryption_enabled: s3_key_arn="key_arn", cw_encryption="DISABLED", jb_encryption="DISABLED", - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) ] @@ -73,7 +72,7 @@ class Test_glue_development_endpoints_s3_encryption_enabled: DevEndpoint( name="test", security="sec_config", - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, arn="arn_test", ) ] @@ -83,7 +82,7 @@ class Test_glue_development_endpoints_s3_encryption_enabled: s3_encryption="DISABLED", cw_encryption="DISABLED", jb_encryption="DISABLED", - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) ] @@ -114,7 +113,7 @@ class Test_glue_development_endpoints_s3_encryption_enabled: DevEndpoint( name="test", security="sec_config", - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, arn="arn_test", ) ] diff --git a/tests/providers/aws/services/glue/glue_etl_jobs_amazon_s3_encryption_enabled/glue_etl_jobs_amazon_s3_encryption_enabled_test.py b/tests/providers/aws/services/glue/glue_etl_jobs_amazon_s3_encryption_enabled/glue_etl_jobs_amazon_s3_encryption_enabled_test.py index 922b66d929..52a42fddb5 100644 --- a/tests/providers/aws/services/glue/glue_etl_jobs_amazon_s3_encryption_enabled/glue_etl_jobs_amazon_s3_encryption_enabled_test.py +++ b/tests/providers/aws/services/glue/glue_etl_jobs_amazon_s3_encryption_enabled/glue_etl_jobs_amazon_s3_encryption_enabled_test.py @@ -2,8 +2,7 @@ from re import search from unittest import mock from prowler.providers.aws.services.glue.glue_service import Job, SecurityConfig - -AWS_REGION = "us-east-1" +from tests.providers.aws.audit_info_utils import AWS_REGION_EU_WEST_1 class Test_glue_etl_jobs_amazon_s3_encryption_enabled: @@ -32,7 +31,7 @@ class Test_glue_etl_jobs_amazon_s3_encryption_enabled: name="test", security="sec_config", arguments=None, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, arn="arn_test", ) ] @@ -43,7 +42,7 @@ class Test_glue_etl_jobs_amazon_s3_encryption_enabled: s3_key_arn="key_arn", cw_encryption="DISABLED", jb_encryption="DISABLED", - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) ] @@ -75,7 +74,7 @@ class Test_glue_etl_jobs_amazon_s3_encryption_enabled: name="test", security="sec_config", arguments=None, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, arn="arn_test", ) ] @@ -85,7 +84,7 @@ class Test_glue_etl_jobs_amazon_s3_encryption_enabled: s3_encryption="DISABLED", cw_encryption="DISABLED", jb_encryption="DISABLED", - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) ] @@ -116,7 +115,7 @@ class Test_glue_etl_jobs_amazon_s3_encryption_enabled: Job( name="test", security="sec_config", - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, arn="arn_test", ) ] @@ -153,7 +152,7 @@ class Test_glue_etl_jobs_amazon_s3_encryption_enabled: "--encryption-type": "sse-s3", "--enable-job-insights": "false", }, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, arn="arn_test", ) ] diff --git a/tests/providers/aws/services/glue/glue_etl_jobs_cloudwatch_logs_encryption_enabled/glue_etl_jobs_cloudwatch_logs_encryption_enabled_test.py b/tests/providers/aws/services/glue/glue_etl_jobs_cloudwatch_logs_encryption_enabled/glue_etl_jobs_cloudwatch_logs_encryption_enabled_test.py index d6d7be3256..4ed15ec1fc 100644 --- a/tests/providers/aws/services/glue/glue_etl_jobs_cloudwatch_logs_encryption_enabled/glue_etl_jobs_cloudwatch_logs_encryption_enabled_test.py +++ b/tests/providers/aws/services/glue/glue_etl_jobs_cloudwatch_logs_encryption_enabled/glue_etl_jobs_cloudwatch_logs_encryption_enabled_test.py @@ -2,8 +2,7 @@ from re import search from unittest import mock from prowler.providers.aws.services.glue.glue_service import Job, SecurityConfig - -AWS_REGION = "us-east-1" +from tests.providers.aws.audit_info_utils import AWS_REGION_EU_WEST_1 class Test_glue_etl_jobs_cloudwatch_logs_encryption_enabled: @@ -32,7 +31,7 @@ class Test_glue_etl_jobs_cloudwatch_logs_encryption_enabled: name="test", security="sec_config", arguments=None, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, arn="arn_test", ) ] @@ -43,7 +42,7 @@ class Test_glue_etl_jobs_cloudwatch_logs_encryption_enabled: cw_key_arn="key_arn", s3_encryption="DISABLED", jb_encryption="DISABLED", - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) ] @@ -75,7 +74,7 @@ class Test_glue_etl_jobs_cloudwatch_logs_encryption_enabled: name="test", security="sec_config", arguments=None, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, arn="arn_test", ) ] @@ -85,7 +84,7 @@ class Test_glue_etl_jobs_cloudwatch_logs_encryption_enabled: s3_encryption="DISABLED", cw_encryption="DISABLED", jb_encryption="DISABLED", - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) ] @@ -116,7 +115,7 @@ class Test_glue_etl_jobs_cloudwatch_logs_encryption_enabled: Job( name="test", security="sec_config", - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, arn="arn_test", ) ] diff --git a/tests/providers/aws/services/glue/glue_etl_jobs_job_bookmark_encryption_enabled/glue_etl_jobs_job_bookmark_encryption_enabled_test.py b/tests/providers/aws/services/glue/glue_etl_jobs_job_bookmark_encryption_enabled/glue_etl_jobs_job_bookmark_encryption_enabled_test.py index af74c7d050..4782a0319b 100644 --- a/tests/providers/aws/services/glue/glue_etl_jobs_job_bookmark_encryption_enabled/glue_etl_jobs_job_bookmark_encryption_enabled_test.py +++ b/tests/providers/aws/services/glue/glue_etl_jobs_job_bookmark_encryption_enabled/glue_etl_jobs_job_bookmark_encryption_enabled_test.py @@ -2,8 +2,7 @@ from re import search from unittest import mock from prowler.providers.aws.services.glue.glue_service import Job, SecurityConfig - -AWS_REGION = "us-east-1" +from tests.providers.aws.audit_info_utils import AWS_REGION_EU_WEST_1 class Test_glue_etl_jobs_job_bookmark_encryption_enabled: @@ -32,7 +31,7 @@ class Test_glue_etl_jobs_job_bookmark_encryption_enabled: name="test", security="sec_config", arguments=None, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, arn="arn_test", ) ] @@ -43,7 +42,7 @@ class Test_glue_etl_jobs_job_bookmark_encryption_enabled: jb_key_arn="key_arn", s3_encryption="DISABLED", cw_encryption="DISABLED", - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) ] @@ -75,7 +74,7 @@ class Test_glue_etl_jobs_job_bookmark_encryption_enabled: name="test", security="sec_config", arguments=None, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, arn="arn_test", ) ] @@ -85,7 +84,7 @@ class Test_glue_etl_jobs_job_bookmark_encryption_enabled: s3_encryption="DISABLED", cw_encryption="DISABLED", jb_encryption="DISABLED", - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) ] @@ -116,7 +115,7 @@ class Test_glue_etl_jobs_job_bookmark_encryption_enabled: Job( name="test", security="sec_config", - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, arn="arn_test", ) ] diff --git a/tests/providers/aws/services/glue/glue_service_test.py b/tests/providers/aws/services/glue/glue_service_test.py index 25fe81c9d0..ac7f175ef7 100644 --- a/tests/providers/aws/services/glue/glue_service_test.py +++ b/tests/providers/aws/services/glue/glue_service_test.py @@ -1,20 +1,15 @@ from unittest.mock import patch import botocore -from boto3 import session from moto import mock_glue -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info from prowler.providers.aws.services.glue.glue_service import Glue -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" -AWS_REGION = "us-east-1" - # Mocking Access Analyzer Calls make_api_call = botocore.client.BaseClient._make_api_call @@ -110,9 +105,11 @@ def mock_make_api_call(self, operation_name, kwarg): # Mock generate_regional_clients() 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_EU_WEST_1 + ) + regional_client.region = AWS_REGION_EU_WEST_1 + return {AWS_REGION_EU_WEST_1: regional_client} # Patch every AWS call using Boto3 and generate_regional_clients to have 1 client @@ -122,36 +119,6 @@ def mock_generate_regional_clients(service, audit_info, _): new=mock_generate_regional_clients, ) class Test_Glue_Service: - 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=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=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 Glue Service @mock_glue def test_service(self): @@ -194,7 +161,7 @@ class Test_Glue_Service: assert glue.tables[0].name == "table" assert glue.tables[0].database == "database" assert glue.tables[0].catalog == "catalog" - assert glue.tables[0].region == AWS_REGION + assert glue.tables[0].region == AWS_REGION_EU_WEST_1 # Test Glue Get Connections @mock_glue @@ -211,7 +178,7 @@ class Test_Glue_Service: "CONNECTOR_CLASS_NAME": "test", "JDBC_ENFORCE_SSL": "true", } - assert glue.connections[0].region == AWS_REGION + assert glue.connections[0].region == AWS_REGION_EU_WEST_1 # Test Glue Get Catalog Encryption @mock_glue @@ -223,7 +190,7 @@ class Test_Glue_Service: assert glue.catalog_encryption_settings[0].kms_id == "kms_key" assert glue.catalog_encryption_settings[0].password_encryption assert glue.catalog_encryption_settings[0].password_kms_id == "password_key" - assert glue.catalog_encryption_settings[0].region == AWS_REGION + assert glue.catalog_encryption_settings[0].region == AWS_REGION_EU_WEST_1 # Test Glue Get Dev Endpoints @mock_glue @@ -233,7 +200,7 @@ class Test_Glue_Service: assert len(glue.dev_endpoints) == 1 assert glue.dev_endpoints[0].name == "endpoint" assert glue.dev_endpoints[0].security == "security_config" - assert glue.dev_endpoints[0].region == AWS_REGION + assert glue.dev_endpoints[0].region == AWS_REGION_EU_WEST_1 # Test Glue Get Security Configs @mock_glue @@ -245,7 +212,7 @@ class Test_Glue_Service: assert glue.security_configs[0].s3_encryption == "DISABLED" assert glue.security_configs[0].cw_encryption == "DISABLED" assert glue.security_configs[0].jb_encryption == "DISABLED" - assert glue.security_configs[0].region == AWS_REGION + assert glue.security_configs[0].region == AWS_REGION_EU_WEST_1 # Test Glue Get Security Configs @mock_glue @@ -259,4 +226,4 @@ class Test_Glue_Service: "--encryption-type": "sse-s3", "--enable-job-insights": "false", } - assert glue.jobs[0].region == AWS_REGION + assert glue.jobs[0].region == AWS_REGION_EU_WEST_1 diff --git a/tests/providers/aws/services/guardduty/guardduty_centrally_managed/guardduty_centrally_managed_test.py b/tests/providers/aws/services/guardduty/guardduty_centrally_managed/guardduty_centrally_managed_test.py index 19cc667c00..34085d2c61 100644 --- a/tests/providers/aws/services/guardduty/guardduty_centrally_managed/guardduty_centrally_managed_test.py +++ b/tests/providers/aws/services/guardduty/guardduty_centrally_managed/guardduty_centrally_managed_test.py @@ -2,14 +2,14 @@ from unittest import mock from uuid import uuid4 from prowler.providers.aws.services.guardduty.guardduty_service import Detector +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, + AWS_REGION_EU_WEST_1, +) -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" AWS_ACCOUNT_NUMBER_ADMIN = "123456789013" DETECTOR_ID = str(uuid4()) -DETECTOR_ARN = ( - f"arn:aws:guardduty:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:detector/{DETECTOR_ID}" -) +DETECTOR_ARN = f"arn:aws:guardduty:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:detector/{DETECTOR_ID}" class Test_guardduty_centrally_managed: @@ -34,7 +34,7 @@ class Test_guardduty_centrally_managed: guardduty_client.detectors.append( Detector( id=DETECTOR_ID, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, arn=DETECTOR_ARN, status=False, findings=[str(uuid4())], @@ -59,7 +59,7 @@ class Test_guardduty_centrally_managed: == f"GuardDuty detector {DETECTOR_ID} is not centrally managed." ) assert result[0].resource_id == DETECTOR_ID - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_arn == DETECTOR_ARN def test_not_enabled_account_detector(self): @@ -68,7 +68,7 @@ class Test_guardduty_centrally_managed: guardduty_client.detectors.append( Detector( id=AWS_ACCOUNT_NUMBER, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, arn=DETECTOR_ARN, enabled_in_account=False, ) @@ -93,7 +93,7 @@ class Test_guardduty_centrally_managed: guardduty_client.detectors.append( Detector( id=DETECTOR_ID, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, arn=DETECTOR_ARN, status=False, findings=[str(uuid4())], @@ -119,7 +119,7 @@ class Test_guardduty_centrally_managed: == f"GuardDuty detector {DETECTOR_ID} is centrally managed by account {AWS_ACCOUNT_NUMBER_ADMIN}." ) assert result[0].resource_id == DETECTOR_ID - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_arn == DETECTOR_ARN def test_detector_administrator(self): @@ -128,7 +128,7 @@ class Test_guardduty_centrally_managed: guardduty_client.detectors.append( Detector( id=DETECTOR_ID, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, arn=DETECTOR_ARN, status=False, findings=[str(uuid4())], @@ -154,5 +154,5 @@ class Test_guardduty_centrally_managed: == f"GuardDuty detector {DETECTOR_ID} is administrator account with 1 member accounts." ) assert result[0].resource_id == DETECTOR_ID - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_arn == DETECTOR_ARN diff --git a/tests/providers/aws/services/guardduty/guardduty_is_enabled/guardduty_is_enabled_test.py b/tests/providers/aws/services/guardduty/guardduty_is_enabled/guardduty_is_enabled_test.py index 1718947bf8..562eef9d50 100644 --- a/tests/providers/aws/services/guardduty/guardduty_is_enabled/guardduty_is_enabled_test.py +++ b/tests/providers/aws/services/guardduty/guardduty_is_enabled/guardduty_is_enabled_test.py @@ -2,24 +2,26 @@ from unittest import mock from uuid import uuid4 from prowler.providers.aws.services.guardduty.guardduty_service import Detector +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, + AWS_REGION_EU_WEST_1, +) -AWS_REGION = "us-east-1" -AWS_ACCOUNT_ID = "123456789012" -AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_ID}:root" +AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" DETECTOR_ID = str(uuid4()) -DETECTOR_ARN = f"arn:aws:guardduty:{AWS_REGION}:{AWS_ACCOUNT_ID}:detector/{DETECTOR_ID}" +DETECTOR_ARN = f"arn:aws:guardduty:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:detector/{DETECTOR_ID}" class Test_: def test_no_detectors(self): guardduty_client = mock.MagicMock - guardduty_client.region = AWS_REGION + guardduty_client.region = AWS_REGION_EU_WEST_1 guardduty_client.detectors = [] guardduty_client.detectors.append( Detector( - id=AWS_ACCOUNT_ID, - region=AWS_REGION, + id=AWS_ACCOUNT_NUMBER, + region=AWS_REGION_EU_WEST_1, arn=AWS_ACCOUNT_ARN, enabled_in_account=False, ) @@ -38,9 +40,9 @@ class Test_: assert len(result) == 1 assert result[0].status == "FAIL" assert result[0].status_extended == "GuardDuty is not enabled." - assert result[0].resource_id == AWS_ACCOUNT_ID + assert result[0].resource_id == AWS_ACCOUNT_NUMBER assert result[0].resource_arn == AWS_ACCOUNT_ARN - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 def test_guardduty_enabled(self): guardduty_client = mock.MagicMock @@ -48,7 +50,7 @@ class Test_: guardduty_client.detectors.append( Detector( id=DETECTOR_ID, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, arn=DETECTOR_ARN, status=True, ) @@ -71,17 +73,17 @@ class Test_: ) assert result[0].resource_id == DETECTOR_ID assert result[0].resource_arn == DETECTOR_ARN - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 def test_guardduty_configured_but_suspended(self): guardduty_client = mock.MagicMock - guardduty_client.region = AWS_REGION + guardduty_client.region = AWS_REGION_EU_WEST_1 guardduty_client.detectors = [] guardduty_client.detectors.append( Detector( id=DETECTOR_ID, arn=DETECTOR_ARN, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, status=False, ) ) @@ -103,17 +105,17 @@ class Test_: ) assert result[0].resource_id == DETECTOR_ID assert result[0].resource_arn == DETECTOR_ARN - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 def test_guardduty_not_configured(self): guardduty_client = mock.MagicMock guardduty_client.detectors = [] - guardduty_client.region = AWS_REGION + guardduty_client.region = AWS_REGION_EU_WEST_1 guardduty_client.detectors.append( Detector( id=DETECTOR_ID, arn=DETECTOR_ARN, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) ) with mock.patch( @@ -134,7 +136,7 @@ class Test_: ) assert result[0].resource_id == DETECTOR_ID assert result[0].resource_arn == DETECTOR_ARN - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 def test_guardduty_not_configured_allowlisted(self): guardduty_client = mock.MagicMock @@ -145,7 +147,7 @@ class Test_: Detector( id=DETECTOR_ID, arn=DETECTOR_ARN, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) ) with mock.patch( @@ -166,4 +168,4 @@ class Test_: ) assert result[0].resource_id == DETECTOR_ID assert result[0].resource_arn == DETECTOR_ARN - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 diff --git a/tests/providers/aws/services/guardduty/guardduty_no_high_severity_findings/guardduty_no_high_severity_findings_test.py b/tests/providers/aws/services/guardduty/guardduty_no_high_severity_findings/guardduty_no_high_severity_findings_test.py index 456169324a..fe1ea54bc1 100644 --- a/tests/providers/aws/services/guardduty/guardduty_no_high_severity_findings/guardduty_no_high_severity_findings_test.py +++ b/tests/providers/aws/services/guardduty/guardduty_no_high_severity_findings/guardduty_no_high_severity_findings_test.py @@ -3,14 +3,13 @@ from unittest import mock from uuid import uuid4 from prowler.providers.aws.services.guardduty.guardduty_service import Detector - -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, + AWS_REGION_EU_WEST_1, +) DETECTOR_ID = str(uuid4()) -DETECTOR_ARN = ( - f"arn:aws:guardduty:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:detector/{DETECTOR_ID}" -) +DETECTOR_ARN = f"arn:aws:guardduty:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:detector/{DETECTOR_ID}" class Test_guardduty_no_high_severity_findings: @@ -36,7 +35,7 @@ class Test_guardduty_no_high_severity_findings: Detector( id=DETECTOR_ID, arn=DETECTOR_ARN, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) ) with mock.patch( @@ -56,7 +55,7 @@ class Test_guardduty_no_high_severity_findings: ) assert result[0].resource_id == DETECTOR_ID assert result[0].resource_arn == DETECTOR_ARN - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 def test_not_enabled_account_detector(self): guardduty_client = mock.MagicMock @@ -65,7 +64,7 @@ class Test_guardduty_no_high_severity_findings: Detector( id=AWS_ACCOUNT_NUMBER, arn=DETECTOR_ARN, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, enabled_in_account=False, ) ) @@ -87,7 +86,7 @@ class Test_guardduty_no_high_severity_findings: guardduty_client.detectors.append( Detector( id=DETECTOR_ID, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, arn=DETECTOR_ARN, status=False, findings=[str(uuid4())], @@ -108,4 +107,4 @@ class Test_guardduty_no_high_severity_findings: assert search("has 1 high severity findings", result[0].status_extended) assert result[0].resource_id == DETECTOR_ID assert result[0].resource_arn == DETECTOR_ARN - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 diff --git a/tests/providers/aws/services/guardduty/guardduty_service_test.py b/tests/providers/aws/services/guardduty/guardduty_service_test.py index c510baa89f..cfc1360ab3 100644 --- a/tests/providers/aws/services/guardduty/guardduty_service_test.py +++ b/tests/providers/aws/services/guardduty/guardduty_service_test.py @@ -2,20 +2,18 @@ from datetime import datetime from unittest.mock import patch import botocore -from boto3 import client, session +from boto3 import client from moto import mock_guardduty -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info from prowler.providers.aws.services.guardduty.guardduty_service import GuardDuty -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) AWS_ACCOUNT_NUMBER_ADMIN = "123456789013" -AWS_ACCOUNT_NUMBER = "123456789012" -AWS_REGION = "eu-west-1" + make_api_call = botocore.client.BaseClient._make_api_call @@ -53,9 +51,11 @@ def mock_make_api_call(self, operation_name, kwarg): 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_EU_WEST_1 + ) + regional_client.region = AWS_REGION_EU_WEST_1 + return {AWS_REGION_EU_WEST_1: regional_client} @patch("botocore.client.BaseClient._make_api_call", new=mock_make_api_call) @@ -64,36 +64,6 @@ def mock_generate_regional_clients(service, audit_info, _): new=mock_generate_regional_clients, ) class Test_GuardDuty_Service: - 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=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=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 GuardDuty Service def test_service(self): audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) @@ -116,7 +86,7 @@ class Test_GuardDuty_Service: @mock_guardduty # Test GuardDuty session def test__list_detectors__(self): - guardduty_client = client("guardduty", region_name=AWS_REGION) + guardduty_client = client("guardduty", region_name=AWS_REGION_EU_WEST_1) response = guardduty_client.create_detector(Enable=True, Tags={"test": "test"}) audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) @@ -126,19 +96,19 @@ class Test_GuardDuty_Service: assert guardduty.detectors[0].id == response["DetectorId"] assert ( guardduty.detectors[0].arn - == f"arn:aws:guardduty:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:detector/{response['DetectorId']}" + == f"arn:aws:guardduty:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:detector/{response['DetectorId']}" ) assert guardduty.detectors[0].enabled_in_account assert len(guardduty.detectors[0].findings) == 1 assert guardduty.detectors[0].member_accounts == ["123456789012"] assert guardduty.detectors[0].administrator_account == "123456789013" - assert guardduty.detectors[0].region == AWS_REGION + assert guardduty.detectors[0].region == AWS_REGION_EU_WEST_1 assert guardduty.detectors[0].tags == [{"test": "test"}] @mock_guardduty # Test GuardDuty session def test__get_detector__(self): - guardduty_client = client("guardduty", region_name=AWS_REGION) + guardduty_client = client("guardduty", region_name=AWS_REGION_EU_WEST_1) response = guardduty_client.create_detector(Enable=True) audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) @@ -148,19 +118,19 @@ class Test_GuardDuty_Service: assert guardduty.detectors[0].id == response["DetectorId"] assert ( guardduty.detectors[0].arn - == f"arn:aws:guardduty:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:detector/{response['DetectorId']}" + == f"arn:aws:guardduty:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:detector/{response['DetectorId']}" ) assert guardduty.detectors[0].enabled_in_account assert len(guardduty.detectors[0].findings) == 1 assert guardduty.detectors[0].member_accounts == ["123456789012"] assert guardduty.detectors[0].administrator_account == "123456789013" - assert guardduty.detectors[0].region == AWS_REGION + assert guardduty.detectors[0].region == AWS_REGION_EU_WEST_1 assert guardduty.detectors[0].tags == [{"test": "test"}] @mock_guardduty # Test GuardDuty session def test__list_findings__(self): - guardduty_client = client("guardduty", region_name=AWS_REGION) + guardduty_client = client("guardduty", region_name=AWS_REGION_EU_WEST_1) response = guardduty_client.create_detector(Enable=True) audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) @@ -170,18 +140,18 @@ class Test_GuardDuty_Service: assert guardduty.detectors[0].id == response["DetectorId"] assert ( guardduty.detectors[0].arn - == f"arn:aws:guardduty:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:detector/{response['DetectorId']}" + == f"arn:aws:guardduty:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:detector/{response['DetectorId']}" ) assert guardduty.detectors[0].enabled_in_account assert len(guardduty.detectors[0].findings) == 1 assert guardduty.detectors[0].member_accounts == ["123456789012"] assert guardduty.detectors[0].administrator_account == "123456789013" - assert guardduty.detectors[0].region == AWS_REGION + assert guardduty.detectors[0].region == AWS_REGION_EU_WEST_1 assert guardduty.detectors[0].tags == [{"test": "test"}] @mock_guardduty def test__list_members__(self): - guardduty_client = client("guardduty", region_name=AWS_REGION) + guardduty_client = client("guardduty", region_name=AWS_REGION_EU_WEST_1) response = guardduty_client.create_detector(Enable=True) audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) @@ -191,19 +161,19 @@ class Test_GuardDuty_Service: assert guardduty.detectors[0].id == response["DetectorId"] assert ( guardduty.detectors[0].arn - == f"arn:aws:guardduty:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:detector/{response['DetectorId']}" + == f"arn:aws:guardduty:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:detector/{response['DetectorId']}" ) assert guardduty.detectors[0].enabled_in_account assert len(guardduty.detectors[0].findings) == 1 assert guardduty.detectors[0].member_accounts == ["123456789012"] assert guardduty.detectors[0].administrator_account == "123456789013" - assert guardduty.detectors[0].region == AWS_REGION + assert guardduty.detectors[0].region == AWS_REGION_EU_WEST_1 assert guardduty.detectors[0].tags == [{"test": "test"}] @mock_guardduty # Test GuardDuty session def test__get_administrator_account__(self): - guardduty_client = client("guardduty", region_name=AWS_REGION) + guardduty_client = client("guardduty", region_name=AWS_REGION_EU_WEST_1) response = guardduty_client.create_detector(Enable=True) audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) @@ -213,11 +183,11 @@ class Test_GuardDuty_Service: assert guardduty.detectors[0].id == response["DetectorId"] assert ( guardduty.detectors[0].arn - == f"arn:aws:guardduty:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:detector/{response['DetectorId']}" + == f"arn:aws:guardduty:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:detector/{response['DetectorId']}" ) assert guardduty.detectors[0].enabled_in_account assert len(guardduty.detectors[0].findings) == 1 assert guardduty.detectors[0].member_accounts == ["123456789012"] assert guardduty.detectors[0].administrator_account == "123456789013" - assert guardduty.detectors[0].region == AWS_REGION + assert guardduty.detectors[0].region == AWS_REGION_EU_WEST_1 assert guardduty.detectors[0].tags == [{"test": "test"}] diff --git a/tests/providers/aws/services/iam/iam_administrator_access_with_mfa/iam_administrator_access_with_mfa_test.py b/tests/providers/aws/services/iam/iam_administrator_access_with_mfa/iam_administrator_access_with_mfa_test.py index d6323b194a..58bc306c96 100644 --- a/tests/providers/aws/services/iam/iam_administrator_access_with_mfa/iam_administrator_access_with_mfa_test.py +++ b/tests/providers/aws/services/iam/iam_administrator_access_with_mfa/iam_administrator_access_with_mfa_test.py @@ -10,9 +10,6 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" -AWS_REGION = "us-east-1" - class Test_iam_administrator_access_with_mfa_test: @mock_iam diff --git a/tests/providers/aws/services/iam/iam_avoid_root_usage/iam_avoid_root_usage_test.py b/tests/providers/aws/services/iam/iam_avoid_root_usage/iam_avoid_root_usage_test.py index 1fc757dc69..9c1497c9b8 100644 --- a/tests/providers/aws/services/iam/iam_avoid_root_usage/iam_avoid_root_usage_test.py +++ b/tests/providers/aws/services/iam/iam_avoid_root_usage/iam_avoid_root_usage_test.py @@ -10,9 +10,6 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" -AWS_REGION = "us-east-1" - class Test_iam_avoid_root_usage: @mock_iam diff --git a/tests/providers/aws/services/iam/iam_aws_attached_policy_no_administrative_privileges/iam_aws_attached_policy_no_administrative_privileges_test.py b/tests/providers/aws/services/iam/iam_aws_attached_policy_no_administrative_privileges/iam_aws_attached_policy_no_administrative_privileges_test.py index 404eccd450..646e8009fd 100644 --- a/tests/providers/aws/services/iam/iam_aws_attached_policy_no_administrative_privileges/iam_aws_attached_policy_no_administrative_privileges_test.py +++ b/tests/providers/aws/services/iam/iam_aws_attached_policy_no_administrative_privileges/iam_aws_attached_policy_no_administrative_privileges_test.py @@ -9,8 +9,6 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_iam_aws_attached_policy_no_administrative_privileges_test: @mock_iam diff --git a/tests/providers/aws/services/iam/iam_check_saml_providers_sts/iam_check_saml_providers_sts_test.py b/tests/providers/aws/services/iam/iam_check_saml_providers_sts/iam_check_saml_providers_sts_test.py index 4d41824928..1f1f3e66ce 100644 --- a/tests/providers/aws/services/iam/iam_check_saml_providers_sts/iam_check_saml_providers_sts_test.py +++ b/tests/providers/aws/services/iam/iam_check_saml_providers_sts/iam_check_saml_providers_sts_test.py @@ -8,9 +8,6 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" -AWS_REGION = "us-east-1" - class Test_iam_check_saml_providers_sts: @mock_iam diff --git a/tests/providers/aws/services/iam/iam_customer_attached_policy_no_administrative_privileges/iam_customer_attached_policy_no_administrative_privileges_test.py b/tests/providers/aws/services/iam/iam_customer_attached_policy_no_administrative_privileges/iam_customer_attached_policy_no_administrative_privileges_test.py index 7eb25fcd73..8fb311052d 100644 --- a/tests/providers/aws/services/iam/iam_customer_attached_policy_no_administrative_privileges/iam_customer_attached_policy_no_administrative_privileges_test.py +++ b/tests/providers/aws/services/iam/iam_customer_attached_policy_no_administrative_privileges/iam_customer_attached_policy_no_administrative_privileges_test.py @@ -10,8 +10,6 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_iam_customer_attached_policy_no_administrative_privileges_test: @mock_iam diff --git a/tests/providers/aws/services/iam/iam_customer_unattached_policy_no_administrative_privileges/iam_customer_unattached_policy_no_administrative_privileges_test.py b/tests/providers/aws/services/iam/iam_customer_unattached_policy_no_administrative_privileges/iam_customer_unattached_policy_no_administrative_privileges_test.py index ae2448af14..f9b09c42ed 100644 --- a/tests/providers/aws/services/iam/iam_customer_unattached_policy_no_administrative_privileges/iam_customer_unattached_policy_no_administrative_privileges_test.py +++ b/tests/providers/aws/services/iam/iam_customer_unattached_policy_no_administrative_privileges/iam_customer_unattached_policy_no_administrative_privileges_test.py @@ -10,8 +10,6 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_iam_customer_unattached_policy_no_administrative_privileges_test: @mock_iam diff --git a/tests/providers/aws/services/iam/iam_inline_policy_no_administrative_privileges/iam_inline_policy_no_administrative_privileges_test.py b/tests/providers/aws/services/iam/iam_inline_policy_no_administrative_privileges/iam_inline_policy_no_administrative_privileges_test.py index e097c789c1..4b3038efbd 100644 --- a/tests/providers/aws/services/iam/iam_inline_policy_no_administrative_privileges/iam_inline_policy_no_administrative_privileges_test.py +++ b/tests/providers/aws/services/iam/iam_inline_policy_no_administrative_privileges/iam_inline_policy_no_administrative_privileges_test.py @@ -1,19 +1,15 @@ from json import dumps from unittest import mock -from boto3 import client, session +from boto3 import client from moto import mock_iam -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" -AWS_REGION = "us-east-1" - INLINE_POLICY_ADMIN = { "Version": "2012-10-17", "Statement": [{"Effect": "Allow", "Action": ["*"], "Resource": "*"}], @@ -36,37 +32,6 @@ ASSUME_ROLE_POLICY_DOCUMENT = { class Test_iam_inline_policy_no_administrative_privileges: - 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=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, - ), - ) - - return audit_info - # Groups @mock_iam def test_groups_no_inline_policies(self): @@ -130,7 +95,7 @@ class Test_iam_inline_policy_no_administrative_privileges: check = iam_inline_policy_no_administrative_privileges() results = check.execute() assert len(results) == 1 - assert results[0].region == AWS_REGION + assert results[0].region == AWS_REGION_EU_WEST_1 assert results[0].resource_arn == group_arn assert results[0].resource_id == f"{group_name}/{policy_name}" assert results[0].resource_tags == [] @@ -174,7 +139,7 @@ class Test_iam_inline_policy_no_administrative_privileges: check = iam_inline_policy_no_administrative_privileges() results = check.execute() assert len(results) == 1 - assert results[0].region == AWS_REGION + assert results[0].region == AWS_REGION_EU_WEST_1 assert results[0].resource_arn == group_arn assert results[0].resource_id == f"{group_name}/{policy_name}" assert results[0].resource_tags == [] @@ -228,7 +193,7 @@ class Test_iam_inline_policy_no_administrative_privileges: assert len(results) == 2 for result in results: if result.resource_id == policy_name_admin: - assert result.region == AWS_REGION + assert result.region == AWS_REGION_EU_WEST_1 assert result.resource_arn == group_arn assert result.resource_id == policy_name_admin assert result.resource_tags == [] @@ -239,7 +204,7 @@ class Test_iam_inline_policy_no_administrative_privileges: ) elif result.resource_id == policy_name_not_admin: - assert result.region == AWS_REGION + assert result.region == AWS_REGION_EU_WEST_1 assert result.resource_arn == group_arn assert result.resource_id == policy_name_not_admin assert result.resource_tags == [] @@ -318,7 +283,7 @@ class Test_iam_inline_policy_no_administrative_privileges: check = iam_inline_policy_no_administrative_privileges() results = check.execute() assert len(results) == 1 - assert results[0].region == AWS_REGION + assert results[0].region == AWS_REGION_EU_WEST_1 assert results[0].resource_arn == role_arn assert results[0].resource_id == f"{role_name}/{policy_name}" assert results[0].resource_tags == [] @@ -365,7 +330,7 @@ class Test_iam_inline_policy_no_administrative_privileges: check = iam_inline_policy_no_administrative_privileges() results = check.execute() assert len(results) == 1 - assert results[0].region == AWS_REGION + assert results[0].region == AWS_REGION_EU_WEST_1 assert results[0].resource_arn == role_arn assert results[0].resource_id == f"{role_name}/{policy_name}" assert results[0].resource_tags == [] @@ -421,7 +386,7 @@ class Test_iam_inline_policy_no_administrative_privileges: assert len(results) == 2 for result in results: if result.resource_id == policy_name_admin: - assert result.region == AWS_REGION + assert result.region == AWS_REGION_EU_WEST_1 assert result.resource_arn == role_arn assert result.resource_id == policy_name_admin assert result.resource_tags == [] @@ -432,7 +397,7 @@ class Test_iam_inline_policy_no_administrative_privileges: ) elif result.resource_id == policy_name_not_admin: - assert result.region == AWS_REGION + assert result.region == AWS_REGION_EU_WEST_1 assert result.resource_arn == role_arn assert result.resource_id == policy_name_not_admin assert result.resource_tags == [] @@ -509,7 +474,7 @@ class Test_iam_inline_policy_no_administrative_privileges: check = iam_inline_policy_no_administrative_privileges() results = check.execute() assert len(results) == 1 - assert results[0].region == AWS_REGION + assert results[0].region == AWS_REGION_EU_WEST_1 assert results[0].resource_arn == user_arn assert results[0].resource_id == f"{user_name}/{policy_name}" assert results[0].resource_tags == [] @@ -555,7 +520,7 @@ class Test_iam_inline_policy_no_administrative_privileges: check = iam_inline_policy_no_administrative_privileges() results = check.execute() assert len(results) == 1 - assert results[0].region == AWS_REGION + assert results[0].region == AWS_REGION_EU_WEST_1 assert results[0].resource_arn == user_arn assert results[0].resource_id == f"{user_name}/{policy_name}" assert results[0].resource_tags == [] @@ -610,7 +575,7 @@ class Test_iam_inline_policy_no_administrative_privileges: assert len(results) == 2 for result in results: if result.resource_id == policy_name_admin: - assert result.region == AWS_REGION + assert result.region == AWS_REGION_EU_WEST_1 assert result.resource_arn == user_arn assert result.resource_id == policy_name_admin assert result.resource_tags == [] @@ -621,7 +586,7 @@ class Test_iam_inline_policy_no_administrative_privileges: ) elif result.resource_id == policy_name_not_admin: - assert result.region == AWS_REGION + assert result.region == AWS_REGION_EU_WEST_1 assert result.resource_arn == user_arn assert result.resource_id == policy_name_not_admin assert result.resource_tags == [] diff --git a/tests/providers/aws/services/iam/iam_no_custom_policy_permissive_role_assumption/iam_no_custom_policy_permissive_role_assumption_test.py b/tests/providers/aws/services/iam/iam_no_custom_policy_permissive_role_assumption/iam_no_custom_policy_permissive_role_assumption_test.py index a1ffcf6789..3a6187ee99 100644 --- a/tests/providers/aws/services/iam/iam_no_custom_policy_permissive_role_assumption/iam_no_custom_policy_permissive_role_assumption_test.py +++ b/tests/providers/aws/services/iam/iam_no_custom_policy_permissive_role_assumption/iam_no_custom_policy_permissive_role_assumption_test.py @@ -10,9 +10,6 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" -AWS_REGION = "us-east-1" - class Test_iam_no_custom_policy_permissive_role_assumption: @mock_iam diff --git a/tests/providers/aws/services/iam/iam_no_expired_server_certificates_stored/iam_no_expired_server_certificates_stored_test.py b/tests/providers/aws/services/iam/iam_no_expired_server_certificates_stored/iam_no_expired_server_certificates_stored_test.py index ccab115cb9..d792653095 100644 --- a/tests/providers/aws/services/iam/iam_no_expired_server_certificates_stored/iam_no_expired_server_certificates_stored_test.py +++ b/tests/providers/aws/services/iam/iam_no_expired_server_certificates_stored/iam_no_expired_server_certificates_stored_test.py @@ -9,9 +9,6 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" -AWS_REGION = "us-east-1" - class Test_iam_no_expired_server_certificates_stored_test: @mock_iam diff --git a/tests/providers/aws/services/iam/iam_no_root_access_key/iam_no_root_access_key_test.py b/tests/providers/aws/services/iam/iam_no_root_access_key/iam_no_root_access_key_test.py index 7660282f33..b77686d6af 100644 --- a/tests/providers/aws/services/iam/iam_no_root_access_key/iam_no_root_access_key_test.py +++ b/tests/providers/aws/services/iam/iam_no_root_access_key/iam_no_root_access_key_test.py @@ -9,9 +9,6 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" -AWS_REGION = "us-east-1" - class Test_iam_no_root_access_key_test: @mock_iam diff --git a/tests/providers/aws/services/iam/iam_password_policy_expires_passwords_within_90_days_or_less/iam_password_policy_expires_passwords_within_90_days_or_less_test.py b/tests/providers/aws/services/iam/iam_password_policy_expires_passwords_within_90_days_or_less/iam_password_policy_expires_passwords_within_90_days_or_less_test.py index 1c54e46fbb..5faf3d39a1 100644 --- a/tests/providers/aws/services/iam/iam_password_policy_expires_passwords_within_90_days_or_less/iam_password_policy_expires_passwords_within_90_days_or_less_test.py +++ b/tests/providers/aws/services/iam/iam_password_policy_expires_passwords_within_90_days_or_less/iam_password_policy_expires_passwords_within_90_days_or_less_test.py @@ -1,53 +1,18 @@ from re import search from unittest import mock -from boto3 import session from moto import mock_iam -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" -AWS_REGION = "us-east-1" AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" class Test_iam_password_policy_expires_passwords_within_90_days_or_less: - 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, - region_name=AWS_REGION, - ), - 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=AWS_REGION, - 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 - @mock_iam def test_password_expiration_lower_90(self): from prowler.providers.aws.services.iam.iam_service import IAM, PasswordPolicy @@ -84,7 +49,7 @@ class Test_iam_password_policy_expires_passwords_within_90_days_or_less: assert result[0].status == "PASS" assert result[0].resource_id == AWS_ACCOUNT_NUMBER assert result[0].resource_arn == AWS_ACCOUNT_ARN - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert search( "Password expiration is set lower than 90 days", result[0].status_extended, @@ -126,7 +91,7 @@ class Test_iam_password_policy_expires_passwords_within_90_days_or_less: assert result[0].status == "FAIL" assert result[0].resource_id == AWS_ACCOUNT_NUMBER assert result[0].resource_arn == AWS_ACCOUNT_ARN - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert search( "Password expiration is set greater than 90 days", result[0].status_extended, @@ -168,7 +133,7 @@ class Test_iam_password_policy_expires_passwords_within_90_days_or_less: assert result[0].status == "PASS" assert result[0].resource_id == AWS_ACCOUNT_NUMBER assert result[0].resource_arn == AWS_ACCOUNT_ARN - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert search( "Password expiration is set lower than 90 days", result[0].status_extended, diff --git a/tests/providers/aws/services/iam/iam_password_policy_lowercase/iam_password_policy_lowercase_test.py b/tests/providers/aws/services/iam/iam_password_policy_lowercase/iam_password_policy_lowercase_test.py index ed261c9d7a..a3bed01b89 100644 --- a/tests/providers/aws/services/iam/iam_password_policy_lowercase/iam_password_policy_lowercase_test.py +++ b/tests/providers/aws/services/iam/iam_password_policy_lowercase/iam_password_policy_lowercase_test.py @@ -5,12 +5,11 @@ from boto3 import client from moto import mock_iam from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" -AWS_REGION = "us-east-1" AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" @@ -47,7 +46,7 @@ class Test_iam_password_policy_lowercase: ) assert result[0].resource_id == AWS_ACCOUNT_NUMBER assert result[0].resource_arn == AWS_ACCOUNT_ARN - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_iam def test_iam_password_policy_lowercase_flag(self): @@ -81,4 +80,4 @@ class Test_iam_password_policy_lowercase: ) assert result[0].resource_id == AWS_ACCOUNT_NUMBER assert result[0].resource_arn == AWS_ACCOUNT_ARN - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 diff --git a/tests/providers/aws/services/iam/iam_password_policy_minimum_length_14/iam_password_policy_minimum_length_14_test.py b/tests/providers/aws/services/iam/iam_password_policy_minimum_length_14/iam_password_policy_minimum_length_14_test.py index 3e4afefb59..d90ae8a709 100644 --- a/tests/providers/aws/services/iam/iam_password_policy_minimum_length_14/iam_password_policy_minimum_length_14_test.py +++ b/tests/providers/aws/services/iam/iam_password_policy_minimum_length_14/iam_password_policy_minimum_length_14_test.py @@ -5,12 +5,11 @@ from boto3 import client from moto import mock_iam from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" -AWS_REGION = "us-east-1" AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" @@ -47,7 +46,7 @@ class Test_iam_password_policy_minimum_length_14: ) assert result[0].resource_id == AWS_ACCOUNT_NUMBER assert result[0].resource_arn == AWS_ACCOUNT_ARN - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_iam def test_iam_password_policy_minimum_length_greater_14(self): @@ -81,7 +80,7 @@ class Test_iam_password_policy_minimum_length_14: ) assert result[0].resource_id == AWS_ACCOUNT_NUMBER assert result[0].resource_arn == AWS_ACCOUNT_ARN - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_iam def test_iam_password_policy_minimum_length_less_14(self): @@ -115,4 +114,4 @@ class Test_iam_password_policy_minimum_length_14: ) assert result[0].resource_id == AWS_ACCOUNT_NUMBER assert result[0].resource_arn == AWS_ACCOUNT_ARN - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 diff --git a/tests/providers/aws/services/iam/iam_password_policy_number/iam_password_policy_number_test.py b/tests/providers/aws/services/iam/iam_password_policy_number/iam_password_policy_number_test.py index bcdd369128..e7311d2b3a 100644 --- a/tests/providers/aws/services/iam/iam_password_policy_number/iam_password_policy_number_test.py +++ b/tests/providers/aws/services/iam/iam_password_policy_number/iam_password_policy_number_test.py @@ -5,12 +5,11 @@ from boto3 import client from moto import mock_iam from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" -AWS_REGION = "us-east-1" AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" @@ -47,7 +46,7 @@ class Test_iam_password_policy_number: ) assert result[0].resource_id == AWS_ACCOUNT_NUMBER assert result[0].resource_arn == AWS_ACCOUNT_ARN - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_iam def test_iam_password_policy_number_flag(self): @@ -81,4 +80,4 @@ class Test_iam_password_policy_number: ) assert result[0].resource_id == AWS_ACCOUNT_NUMBER assert result[0].resource_arn == AWS_ACCOUNT_ARN - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 diff --git a/tests/providers/aws/services/iam/iam_password_policy_reuse_24/iam_password_policy_reuse_24_test.py b/tests/providers/aws/services/iam/iam_password_policy_reuse_24/iam_password_policy_reuse_24_test.py index 6804ed866a..615319be31 100644 --- a/tests/providers/aws/services/iam/iam_password_policy_reuse_24/iam_password_policy_reuse_24_test.py +++ b/tests/providers/aws/services/iam/iam_password_policy_reuse_24/iam_password_policy_reuse_24_test.py @@ -4,12 +4,11 @@ from boto3 import client from moto import mock_iam from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" -AWS_REGION = "us-east-1" AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" @@ -45,7 +44,7 @@ class Test_iam_password_policy_reuse_24: ) assert result[0].resource_id == AWS_ACCOUNT_NUMBER assert result[0].resource_arn == AWS_ACCOUNT_ARN - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_iam def test_iam_password_policy_reuse_prevention_less_24(self): @@ -78,4 +77,4 @@ class Test_iam_password_policy_reuse_24: ) assert result[0].resource_id == AWS_ACCOUNT_NUMBER assert result[0].resource_arn == AWS_ACCOUNT_ARN - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 diff --git a/tests/providers/aws/services/iam/iam_password_policy_symbol/iam_password_policy_symbol_test.py b/tests/providers/aws/services/iam/iam_password_policy_symbol/iam_password_policy_symbol_test.py index 28241b1491..9db6b667bf 100644 --- a/tests/providers/aws/services/iam/iam_password_policy_symbol/iam_password_policy_symbol_test.py +++ b/tests/providers/aws/services/iam/iam_password_policy_symbol/iam_password_policy_symbol_test.py @@ -5,12 +5,11 @@ from boto3 import client from moto import mock_iam from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" -AWS_REGION = "us-east-1" AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" @@ -47,7 +46,7 @@ class Test_iam_password_policy_symbol: ) assert result[0].resource_id == AWS_ACCOUNT_NUMBER assert result[0].resource_arn == AWS_ACCOUNT_ARN - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_iam def test_iam_password_policy_symbol_flag(self): @@ -81,4 +80,4 @@ class Test_iam_password_policy_symbol: ) assert result[0].resource_id == AWS_ACCOUNT_NUMBER assert result[0].resource_arn == AWS_ACCOUNT_ARN - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 diff --git a/tests/providers/aws/services/iam/iam_password_policy_uppercase/iam_password_policy_uppercase_test.py b/tests/providers/aws/services/iam/iam_password_policy_uppercase/iam_password_policy_uppercase_test.py index 3178a5f459..5ac3c14c64 100644 --- a/tests/providers/aws/services/iam/iam_password_policy_uppercase/iam_password_policy_uppercase_test.py +++ b/tests/providers/aws/services/iam/iam_password_policy_uppercase/iam_password_policy_uppercase_test.py @@ -4,12 +4,11 @@ from boto3 import client from moto import mock_iam from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" -AWS_REGION = "us-east-1" AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" @@ -45,7 +44,7 @@ class Test_iam_password_policy_uppercase: ) assert result[0].resource_id == AWS_ACCOUNT_NUMBER assert result[0].resource_arn == AWS_ACCOUNT_ARN - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_iam def test_iam_password_policy_uppercase_flag(self): @@ -78,4 +77,4 @@ class Test_iam_password_policy_uppercase: ) assert result[0].resource_id == AWS_ACCOUNT_NUMBER assert result[0].resource_arn == AWS_ACCOUNT_ARN - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 diff --git a/tests/providers/aws/services/iam/iam_policy_allows_privilege_escalation/iam_policy_allows_privilege_escalation_test.py b/tests/providers/aws/services/iam/iam_policy_allows_privilege_escalation/iam_policy_allows_privilege_escalation_test.py index cbd0820e63..583850332a 100644 --- a/tests/providers/aws/services/iam/iam_policy_allows_privilege_escalation/iam_policy_allows_privilege_escalation_test.py +++ b/tests/providers/aws/services/iam/iam_policy_allows_privilege_escalation/iam_policy_allows_privilege_escalation_test.py @@ -6,13 +6,11 @@ from boto3 import client from moto import mock_iam from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" -AWS_ACCOUNT_NUMBER = "123456789012" - # Keep this up-to-date with the check's actions that allows for privilege escalation privilege_escalation_policies_combination = { "OverPermissiveIAM": {"iam:*"}, @@ -88,7 +86,7 @@ privilege_escalation_policies_combination = { class Test_iam_policy_allows_privilege_escalation: # @mock_iam # def test_iam_policy_allows_privilege_escalation_sts(self): - # iam_client = client("iam", region_name=AWS_REGION) + # iam_client = client("iam", region_name=AWS_REGION_EU_WEST_1) # policy_name = "policy1" # policy_document = { # "Version": "2012-10-17", @@ -130,7 +128,7 @@ class Test_iam_policy_allows_privilege_escalation: @mock_iam def test_iam_policy_not_allows_privilege_escalation(self): - iam_client = client("iam", region_name=AWS_REGION) + iam_client = client("iam", region_name=AWS_REGION_EU_WEST_1) policy_name = "policy1" policy_document = { "Version": "2012-10-17", @@ -169,12 +167,12 @@ class Test_iam_policy_allows_privilege_escalation: ) assert result[0].resource_id == policy_name assert result[0].resource_arn == policy_arn - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_tags == [] @mock_iam def test_iam_policy_not_allows_privilege_escalation_glue_GetDevEndpoints(self): - iam_client = client("iam", region_name=AWS_REGION) + iam_client = client("iam", region_name=AWS_REGION_EU_WEST_1) policy_name = "policy1" policy_document = { "Version": "2012-10-17", @@ -217,12 +215,12 @@ class Test_iam_policy_allows_privilege_escalation: ) assert result[0].resource_id == policy_name assert result[0].resource_arn == policy_arn - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_tags == [] @mock_iam def test_iam_policy_not_allows_privilege_escalation_dynamodb_PutItem(self): - iam_client = client("iam", region_name=AWS_REGION) + iam_client = client("iam", region_name=AWS_REGION_EU_WEST_1) policy_name = "policy1" policy_document = { "Version": "2012-10-17", @@ -276,14 +274,14 @@ class Test_iam_policy_allows_privilege_escalation: ) assert result[0].resource_id == policy_name assert result[0].resource_arn == policy_arn - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_tags == [] @mock_iam def test_iam_policy_allows_privilege_escalation_iam_all_and_ec2_RunInstances( self, ): - iam_client = client("iam", region_name=AWS_REGION) + iam_client = client("iam", region_name=AWS_REGION_EU_WEST_1) policy_name = "policy1" policy_document = { "Version": "2012-10-17", @@ -327,7 +325,7 @@ class Test_iam_policy_allows_privilege_escalation: assert result[0].status == "FAIL" assert result[0].resource_id == policy_name assert result[0].resource_arn == policy_arn - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_tags == [] assert search( @@ -341,7 +339,7 @@ class Test_iam_policy_allows_privilege_escalation: def test_iam_policy_allows_privilege_escalation_iam_PassRole( self, ): - iam_client = client("iam", region_name=AWS_REGION) + iam_client = client("iam", region_name=AWS_REGION_EU_WEST_1) policy_name = "policy1" policy_document = { "Version": "2012-10-17", @@ -378,7 +376,7 @@ class Test_iam_policy_allows_privilege_escalation: assert result[0].status == "FAIL" assert result[0].resource_id == policy_name assert result[0].resource_arn == policy_arn - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_tags == [] assert search( @@ -391,7 +389,7 @@ class Test_iam_policy_allows_privilege_escalation: def test_iam_policy_allows_privilege_escalation_two_combinations( self, ): - iam_client = client("iam", region_name=AWS_REGION) + iam_client = client("iam", region_name=AWS_REGION_EU_WEST_1) policy_name = "policy1" policy_document = { "Version": "2012-10-17", @@ -447,7 +445,7 @@ class Test_iam_policy_allows_privilege_escalation: assert result[0].status == "FAIL" assert result[0].resource_id == policy_name assert result[0].resource_arn == policy_arn - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_tags == [] assert search( @@ -463,7 +461,7 @@ class Test_iam_policy_allows_privilege_escalation: def test_iam_policy_allows_privilege_escalation_iam_PassRole_and_other_actions( self, ): - iam_client = client("iam", region_name=AWS_REGION) + iam_client = client("iam", region_name=AWS_REGION_EU_WEST_1) policy_name = "policy1" policy_document = { "Version": "2012-10-17", @@ -505,7 +503,7 @@ class Test_iam_policy_allows_privilege_escalation: assert result[0].status == "FAIL" assert result[0].resource_id == policy_name assert result[0].resource_arn == policy_arn - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_tags == [] assert search( @@ -519,7 +517,7 @@ class Test_iam_policy_allows_privilege_escalation: self, ): current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) - iam_client = client("iam", region_name=AWS_REGION) + iam_client = client("iam", region_name=AWS_REGION_EU_WEST_1) policy_name = "privileged_policy" for values in privilege_escalation_policies_combination.values(): print(list(values)) @@ -558,7 +556,7 @@ class Test_iam_policy_allows_privilege_escalation: assert result[0].status == "FAIL" assert result[0].resource_id == policy_name assert result[0].resource_arn == policy_arn - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_tags == [] assert search( @@ -578,7 +576,7 @@ class Test_iam_policy_allows_privilege_escalation: self, ): current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) - iam_client = client("iam", region_name=AWS_REGION) + iam_client = client("iam", region_name=AWS_REGION_EU_WEST_1) policy_name_1 = "privileged_policy_1" policy_document_1 = { "Version": "2012-10-17", @@ -645,7 +643,7 @@ class Test_iam_policy_allows_privilege_escalation: assert finding.status == "PASS" assert finding.resource_id == policy_name_1 assert finding.resource_arn == policy_arn_1 - assert finding.region == AWS_REGION + assert finding.region == AWS_REGION_EU_WEST_1 assert finding.resource_tags == [] assert ( finding.status_extended @@ -656,7 +654,7 @@ class Test_iam_policy_allows_privilege_escalation: assert finding.status == "FAIL" assert finding.resource_id == policy_name_2 assert finding.resource_arn == policy_arn_2 - assert finding.region == AWS_REGION + assert finding.region == AWS_REGION_EU_WEST_1 assert finding.resource_tags == [] assert search( f"Custom Policy {policy_arn_2} allows privilege escalation using the following actions: ", @@ -671,7 +669,7 @@ class Test_iam_policy_allows_privilege_escalation: self, ): current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) - iam_client = client("iam", region_name=AWS_REGION) + iam_client = client("iam", region_name=AWS_REGION_EU_WEST_1) policy_name_1 = "privileged_policy_1" policy_document_1 = { "Version": "2012-10-17", @@ -745,7 +743,7 @@ class Test_iam_policy_allows_privilege_escalation: assert finding.status == "FAIL" assert finding.resource_id == policy_name_1 assert finding.resource_arn == policy_arn_1 - assert finding.region == AWS_REGION + assert finding.region == AWS_REGION_EU_WEST_1 assert finding.resource_tags == [] assert search( @@ -760,7 +758,7 @@ class Test_iam_policy_allows_privilege_escalation: assert finding.status == "FAIL" assert finding.resource_id == policy_name_2 assert finding.resource_arn == policy_arn_2 - assert finding.region == AWS_REGION + assert finding.region == AWS_REGION_EU_WEST_1 assert finding.resource_tags == [] assert search( @@ -776,7 +774,7 @@ class Test_iam_policy_allows_privilege_escalation: self, ): current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) - iam_client = client("iam", region_name=AWS_REGION) + iam_client = client("iam", region_name=AWS_REGION_EU_WEST_1) policy_name_1 = "privileged_policy_1" policy_document_1 = { "Version": "2012-10-17", @@ -826,7 +824,7 @@ class Test_iam_policy_allows_privilege_escalation: assert finding.status == "FAIL" assert finding.resource_id == policy_name_1 assert finding.resource_arn == policy_arn_1 - assert finding.region == AWS_REGION + assert finding.region == AWS_REGION_EU_WEST_1 assert finding.resource_tags == [] assert search( @@ -842,7 +840,7 @@ class Test_iam_policy_allows_privilege_escalation: self, ): current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) - iam_client = client("iam", region_name=AWS_REGION) + iam_client = client("iam", region_name=AWS_REGION_EU_WEST_1) policy_name_1 = "privileged_policy_1" policy_document_1 = { "Version": "2012-10-17", @@ -882,7 +880,7 @@ class Test_iam_policy_allows_privilege_escalation: assert finding.status == "FAIL" assert finding.resource_id == policy_name_1 assert finding.resource_arn == policy_arn_1 - assert finding.region == AWS_REGION + assert finding.region == AWS_REGION_EU_WEST_1 assert finding.resource_tags == [] assert search( f"Custom Policy {policy_arn_1} allows privilege escalation using the following actions:", @@ -900,7 +898,7 @@ class Test_iam_policy_allows_privilege_escalation: self, ): current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) - iam_client = client("iam", region_name=AWS_REGION) + iam_client = client("iam", region_name=AWS_REGION_EU_WEST_1) policy_name_1 = "privileged_policy_1" policy_document_1 = { "Version": "2012-10-17", @@ -940,7 +938,7 @@ class Test_iam_policy_allows_privilege_escalation: assert finding.status == "FAIL" assert finding.resource_id == policy_name_1 assert finding.resource_arn == policy_arn_1 - assert finding.region == AWS_REGION + assert finding.region == AWS_REGION_EU_WEST_1 assert finding.resource_tags == [] assert search( f"Custom Policy {policy_arn_1} allows privilege escalation using the following actions:", @@ -953,7 +951,7 @@ class Test_iam_policy_allows_privilege_escalation: self, ): current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) - iam_client = client("iam", region_name=AWS_REGION) + iam_client = client("iam", region_name=AWS_REGION_EU_WEST_1) policy_name_1 = "privileged_policy_1" policy_document_1 = { "Version": "2012-10-17", @@ -993,7 +991,7 @@ class Test_iam_policy_allows_privilege_escalation: assert finding.status == "FAIL" assert finding.resource_id == policy_name_1 assert finding.resource_arn == policy_arn_1 - assert finding.region == AWS_REGION + assert finding.region == AWS_REGION_EU_WEST_1 assert finding.resource_tags == [] assert search( f"Custom Policy {policy_arn_1} allows privilege escalation using the following actions:", @@ -1006,7 +1004,7 @@ class Test_iam_policy_allows_privilege_escalation: self, ): current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) - iam_client = client("iam", region_name=AWS_REGION) + iam_client = client("iam", region_name=AWS_REGION_EU_WEST_1) policy_name_1 = "privileged_policy_1" policy_document_1 = { "Version": "2012-10-17", @@ -1021,7 +1019,7 @@ class Test_iam_policy_allows_privilege_escalation: "Sid": "", "Effect": "Allow", "Action": "es:*", - "Resource": f"arn:aws:es:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:domain/test/*", + "Resource": f"arn:aws:es:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:domain/test/*", }, ], } @@ -1052,7 +1050,7 @@ class Test_iam_policy_allows_privilege_escalation: assert finding.status == "PASS" assert finding.resource_id == policy_name_1 assert finding.resource_arn == policy_arn_1 - assert finding.region == AWS_REGION + assert finding.region == AWS_REGION_EU_WEST_1 assert finding.resource_tags == [] assert ( finding.status_extended diff --git a/tests/providers/aws/services/iam/iam_policy_attached_only_to_group_or_roles/iam_policy_attached_only_to_group_or_roles_test.py b/tests/providers/aws/services/iam/iam_policy_attached_only_to_group_or_roles/iam_policy_attached_only_to_group_or_roles_test.py index 1ac988b339..5ec5e26a9a 100644 --- a/tests/providers/aws/services/iam/iam_policy_attached_only_to_group_or_roles/iam_policy_attached_only_to_group_or_roles_test.py +++ b/tests/providers/aws/services/iam/iam_policy_attached_only_to_group_or_roles/iam_policy_attached_only_to_group_or_roles_test.py @@ -1,52 +1,17 @@ from json import dumps from unittest import mock -from boto3 import client, session +from boto3 import client from moto import mock_iam -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" -AWS_REGION = "eu-west-1" - class Test_iam_policy_attached_only_to_group_or_roles: - 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=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, - ), - ) - - return audit_info - @mock_iam def test_iam_user_attached_policy(self): result = [] @@ -86,7 +51,7 @@ class Test_iam_policy_attached_only_to_group_or_roles: result[0].status_extended == f"User {user} has the policy {policy_name} attached." ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_id == f"{user}/{policy_name}" assert ( result[0].resource_arn @@ -136,7 +101,7 @@ class Test_iam_policy_attached_only_to_group_or_roles: result[0].status_extended == f"User {user} has the policy {policyName} attached." ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_id == f"{user}/{policyName}" assert result[0].status == "FAIL" @@ -144,7 +109,7 @@ class Test_iam_policy_attached_only_to_group_or_roles: result[0].status_extended == f"User {user} has the policy {policyName} attached." ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_id == f"{user}/{policyName}" assert ( result[0].resource_arn @@ -189,7 +154,7 @@ class Test_iam_policy_attached_only_to_group_or_roles: result[0].status_extended == f"User {user} has the inline policy {policyName} attached." ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_id == f"{user}/{policyName}" assert ( result[0].resource_arn @@ -224,7 +189,7 @@ class Test_iam_policy_attached_only_to_group_or_roles: result[0].status_extended == f"User {user} has no inline or attached policies." ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_id == user assert ( result[0].resource_arn diff --git a/tests/providers/aws/services/iam/iam_policy_no_full_access_to_cloudtrail/iam_policy_no_full_access_to_cloudtrail_test.py b/tests/providers/aws/services/iam/iam_policy_no_full_access_to_cloudtrail/iam_policy_no_full_access_to_cloudtrail_test.py index 97f68d10ef..b7bf0ab329 100644 --- a/tests/providers/aws/services/iam/iam_policy_no_full_access_to_cloudtrail/iam_policy_no_full_access_to_cloudtrail_test.py +++ b/tests/providers/aws/services/iam/iam_policy_no_full_access_to_cloudtrail/iam_policy_no_full_access_to_cloudtrail_test.py @@ -1,12 +1,10 @@ from json import dumps from unittest import mock -from boto3 import client, session +from boto3 import client from moto import mock_iam -from prowler.providers.aws.lib.audit_info.audit_info import AWS_Audit_Info from prowler.providers.aws.services.iam.iam_service import IAM -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, @@ -14,36 +12,6 @@ from tests.providers.aws.audit_info_utils import ( class Test_iam_policy_no_full_access_to_cloudtrail: - 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=None, - audited_account_arn=None, - audited_user_id=None, - audited_partition="aws", - audited_identity_arn=None, - profile=None, - profile_region="us-east-1", - 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 - @mock_iam def test_policy_full_access_to_cloudtrail(self): audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) diff --git a/tests/providers/aws/services/iam/iam_policy_no_full_access_to_kms/iam_policy_no_full_access_to_kms_test.py b/tests/providers/aws/services/iam/iam_policy_no_full_access_to_kms/iam_policy_no_full_access_to_kms_test.py index 13af4950b6..164e11ebff 100644 --- a/tests/providers/aws/services/iam/iam_policy_no_full_access_to_kms/iam_policy_no_full_access_to_kms_test.py +++ b/tests/providers/aws/services/iam/iam_policy_no_full_access_to_kms/iam_policy_no_full_access_to_kms_test.py @@ -1,12 +1,10 @@ from json import dumps from unittest import mock -from boto3 import client, session +from boto3 import client from moto import mock_iam -from prowler.providers.aws.lib.audit_info.audit_info import AWS_Audit_Info from prowler.providers.aws.services.iam.iam_service import IAM -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, @@ -14,36 +12,6 @@ from tests.providers.aws.audit_info_utils import ( class Test_iam_policy_no_full_access_to_kms: - 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=None, - audited_account_arn=None, - audited_user_id=None, - audited_partition="aws", - audited_identity_arn=None, - profile=None, - profile_region="us-east-1", - 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 - @mock_iam def test_policy_full_access_to_kms(self): audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) diff --git a/tests/providers/aws/services/iam/iam_role_administratoraccess_policy/iam_role_administratoraccess_policy_test.py b/tests/providers/aws/services/iam/iam_role_administratoraccess_policy/iam_role_administratoraccess_policy_test.py index 6d9d88ff3d..bbbc66d8ea 100644 --- a/tests/providers/aws/services/iam/iam_role_administratoraccess_policy/iam_role_administratoraccess_policy_test.py +++ b/tests/providers/aws/services/iam/iam_role_administratoraccess_policy/iam_role_administratoraccess_policy_test.py @@ -1,53 +1,18 @@ from json import dumps from unittest import mock -from boto3 import client, session +from boto3 import client from moto import mock_iam -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info from prowler.providers.aws.services.iam.iam_service import Role -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" -AWS_ACCOUNT_ID = "123456789012" - class Test_iam_role_administratoraccess_policy: - 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_ID, - audited_account_arn=f"arn:aws:iam::{AWS_ACCOUNT_ID}: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=["us-east-1", "eu-west-1"], - 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 - @mock_iam def test_no_roles(self): from prowler.providers.aws.services.iam.iam_service import IAM @@ -78,7 +43,7 @@ class Test_iam_role_administratoraccess_policy: "Statement": { "Sid": "test", "Effect": "Allow", - "Principal": {"AWS": f"arn:aws:iam::{AWS_ACCOUNT_ID}:root"}, + "Principal": {"AWS": f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root"}, "Action": "sts:AssumeRole", }, } @@ -123,7 +88,7 @@ class Test_iam_role_administratoraccess_policy: "Statement": { "Sid": "test", "Effect": "Allow", - "Principal": {"AWS": f"arn:aws:iam::{AWS_ACCOUNT_ID}:root"}, + "Principal": {"AWS": f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root"}, "Action": "sts:AssumeRole", }, } diff --git a/tests/providers/aws/services/iam/iam_role_cross_account_readonlyaccess_policy/iam_role_cross_account_readonlyaccess_policy_test.py b/tests/providers/aws/services/iam/iam_role_cross_account_readonlyaccess_policy/iam_role_cross_account_readonlyaccess_policy_test.py index 29856167a1..7e3702325c 100644 --- a/tests/providers/aws/services/iam/iam_role_cross_account_readonlyaccess_policy/iam_role_cross_account_readonlyaccess_policy_test.py +++ b/tests/providers/aws/services/iam/iam_role_cross_account_readonlyaccess_policy/iam_role_cross_account_readonlyaccess_policy_test.py @@ -1,53 +1,18 @@ from json import dumps from unittest import mock -from boto3 import client, session +from boto3 import client from moto import mock_iam -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info from prowler.providers.aws.services.iam.iam_service import Role -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" -AWS_ACCOUNT_ID = "123456789012" - class Test_iam_role_cross_account_readonlyaccess_policy: - 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_ID, - audited_account_arn=f"arn:aws:iam::{AWS_ACCOUNT_ID}: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=["us-east-1", "eu-west-1"], - 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 - @mock_iam def test_no_roles(self): from prowler.providers.aws.services.iam.iam_service import IAM @@ -78,7 +43,7 @@ class Test_iam_role_cross_account_readonlyaccess_policy: "Statement": { "Sid": "test", "Effect": "Allow", - "Principal": {"AWS": f"arn:aws:iam::{AWS_ACCOUNT_ID}:root"}, + "Principal": {"AWS": f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root"}, "Action": "sts:AssumeRole", }, } @@ -123,7 +88,7 @@ class Test_iam_role_cross_account_readonlyaccess_policy: "Statement": { "Sid": "test", "Effect": "Allow", - "Principal": {"AWS": f"arn:aws:iam::{AWS_ACCOUNT_ID}:root"}, + "Principal": {"AWS": f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root"}, "Action": "sts:AssumeRole", }, } diff --git a/tests/providers/aws/services/iam/iam_role_cross_service_confused_deputy_prevention/iam_role_cross_service_confused_deputy_prevention_test.py b/tests/providers/aws/services/iam/iam_role_cross_service_confused_deputy_prevention/iam_role_cross_service_confused_deputy_prevention_test.py index 3970791c93..830e786eb0 100644 --- a/tests/providers/aws/services/iam/iam_role_cross_service_confused_deputy_prevention/iam_role_cross_service_confused_deputy_prevention_test.py +++ b/tests/providers/aws/services/iam/iam_role_cross_service_confused_deputy_prevention/iam_role_cross_service_confused_deputy_prevention_test.py @@ -1,59 +1,24 @@ from json import dumps from unittest import mock -from boto3 import client, session +from boto3 import client from moto import mock_iam -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info from prowler.providers.aws.services.iam.iam_service import Role -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" -AWS_ACCOUNT_ID = "123456789012" - class Test_iam_role_cross_service_confused_deputy_prevention: - 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_ID, - audited_account_arn=f"arn:aws:iam::{AWS_ACCOUNT_ID}: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=["us-east-1", "eu-west-1"], - 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 - @mock_iam def test_no_roles(self): from prowler.providers.aws.services.iam.iam_service import IAM current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) - current_audit_info.audited_account = AWS_ACCOUNT_ID + current_audit_info.audited_account = AWS_ACCOUNT_NUMBER with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", new=current_audit_info, @@ -93,7 +58,7 @@ class Test_iam_role_cross_service_confused_deputy_prevention: ) current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) - current_audit_info.audited_account = AWS_ACCOUNT_ID + current_audit_info.audited_account = AWS_ACCOUNT_NUMBER with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -113,7 +78,7 @@ class Test_iam_role_cross_service_confused_deputy_prevention: @mock_iam def test_iam_service_role_without_cross_service_confused_deputy_prevention(self): - iam_client = client("iam", region_name=AWS_REGION) + iam_client = client("iam", region_name=AWS_REGION_EU_WEST_1) policy_document = { "Version": "2008-10-17", "Statement": [ @@ -132,7 +97,7 @@ class Test_iam_role_cross_service_confused_deputy_prevention: from prowler.providers.aws.services.iam.iam_service import IAM current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) - current_audit_info.audited_account = AWS_ACCOUNT_ID + current_audit_info.audited_account = AWS_ACCOUNT_NUMBER with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", new=current_audit_info, @@ -158,7 +123,7 @@ class Test_iam_role_cross_service_confused_deputy_prevention: @mock_iam def test_iam_service_role_with_cross_service_confused_deputy_prevention(self): - iam_client = client("iam", region_name=AWS_REGION) + iam_client = client("iam", region_name=AWS_REGION_EU_WEST_1) policy_document = { "Version": "2008-10-17", "Statement": [ @@ -167,7 +132,7 @@ class Test_iam_role_cross_service_confused_deputy_prevention: "Principal": {"Service": "workspaces.amazonaws.com"}, "Action": "sts:AssumeRole", "Condition": { - "StringEquals": {"aws:SourceAccount": [AWS_ACCOUNT_ID]} + "StringEquals": {"aws:SourceAccount": [AWS_ACCOUNT_NUMBER]} }, } ], @@ -180,7 +145,7 @@ class Test_iam_role_cross_service_confused_deputy_prevention: from prowler.providers.aws.services.iam.iam_service import IAM current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) - current_audit_info.audited_account = AWS_ACCOUNT_ID + current_audit_info.audited_account = AWS_ACCOUNT_NUMBER with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", new=current_audit_info, @@ -208,7 +173,7 @@ class Test_iam_role_cross_service_confused_deputy_prevention: def test_iam_service_role_with_cross_service_confused_deputy_prevention_stringlike( self, ): - iam_client = client("iam", region_name=AWS_REGION) + iam_client = client("iam", region_name=AWS_REGION_EU_WEST_1) policy_document = { "Version": "2008-10-17", "Statement": [ @@ -217,7 +182,7 @@ class Test_iam_role_cross_service_confused_deputy_prevention: "Principal": {"Service": "workspaces.amazonaws.com"}, "Action": "sts:AssumeRole", "Condition": { - "StringLike": {"aws:SourceAccount": [AWS_ACCOUNT_ID]} + "StringLike": {"aws:SourceAccount": [AWS_ACCOUNT_NUMBER]} }, } ], @@ -230,7 +195,7 @@ class Test_iam_role_cross_service_confused_deputy_prevention: from prowler.providers.aws.services.iam.iam_service import IAM current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) - current_audit_info.audited_account = AWS_ACCOUNT_ID + current_audit_info.audited_account = AWS_ACCOUNT_NUMBER with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", new=current_audit_info, @@ -258,7 +223,7 @@ class Test_iam_role_cross_service_confused_deputy_prevention: def test_iam_service_role_with_cross_service_confused_deputy_prevention_PrincipalAccount( self, ): - iam_client = client("iam", region_name=AWS_REGION) + iam_client = client("iam", region_name=AWS_REGION_EU_WEST_1) policy_document = { "Version": "2008-10-17", "Statement": [ @@ -267,7 +232,7 @@ class Test_iam_role_cross_service_confused_deputy_prevention: "Principal": {"Service": "workspaces.amazonaws.com"}, "Action": "sts:AssumeRole", "Condition": { - "StringLike": {"aws:PrincipalAccount": [AWS_ACCOUNT_ID]} + "StringLike": {"aws:PrincipalAccount": [AWS_ACCOUNT_NUMBER]} }, } ], @@ -280,7 +245,7 @@ class Test_iam_role_cross_service_confused_deputy_prevention: from prowler.providers.aws.services.iam.iam_service import IAM current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) - current_audit_info.audited_account = AWS_ACCOUNT_ID + current_audit_info.audited_account = AWS_ACCOUNT_NUMBER with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", new=current_audit_info, @@ -308,7 +273,7 @@ class Test_iam_role_cross_service_confused_deputy_prevention: def test_iam_service_role_with_cross_service_confused_deputy_prevention_ResourceAccount( self, ): - iam_client = client("iam", region_name=AWS_REGION) + iam_client = client("iam", region_name=AWS_REGION_EU_WEST_1) policy_document = { "Version": "2008-10-17", "Statement": [ @@ -317,7 +282,7 @@ class Test_iam_role_cross_service_confused_deputy_prevention: "Principal": {"Service": "workspaces.amazonaws.com"}, "Action": "sts:AssumeRole", "Condition": { - "StringLike": {"aws:ResourceAccount": [AWS_ACCOUNT_ID]} + "StringLike": {"aws:ResourceAccount": [AWS_ACCOUNT_NUMBER]} }, } ], @@ -330,7 +295,7 @@ class Test_iam_role_cross_service_confused_deputy_prevention: from prowler.providers.aws.services.iam.iam_service import IAM current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) - current_audit_info.audited_account = AWS_ACCOUNT_ID + current_audit_info.audited_account = AWS_ACCOUNT_NUMBER with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", new=current_audit_info, diff --git a/tests/providers/aws/services/iam/iam_root_hardware_mfa_enabled/iam_root_hardware_mfa_enabled_test.py b/tests/providers/aws/services/iam/iam_root_hardware_mfa_enabled/iam_root_hardware_mfa_enabled_test.py index d697515ccc..ac51545c82 100644 --- a/tests/providers/aws/services/iam/iam_root_hardware_mfa_enabled/iam_root_hardware_mfa_enabled_test.py +++ b/tests/providers/aws/services/iam/iam_root_hardware_mfa_enabled/iam_root_hardware_mfa_enabled_test.py @@ -9,8 +9,6 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_iam_root_hardware_mfa_enabled_test: @mock_iam diff --git a/tests/providers/aws/services/iam/iam_root_mfa_enabled/iam_root_mfa_enabled_test.py b/tests/providers/aws/services/iam/iam_root_mfa_enabled/iam_root_mfa_enabled_test.py index 83c13a6ae0..5f44f56611 100644 --- a/tests/providers/aws/services/iam/iam_root_mfa_enabled/iam_root_mfa_enabled_test.py +++ b/tests/providers/aws/services/iam/iam_root_mfa_enabled/iam_root_mfa_enabled_test.py @@ -9,8 +9,6 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_iam_root_mfa_enabled_test: @mock_iam diff --git a/tests/providers/aws/services/iam/iam_rotate_access_key_90_days/iam_rotate_access_key_90_days_test.py b/tests/providers/aws/services/iam/iam_rotate_access_key_90_days/iam_rotate_access_key_90_days_test.py index 29d2826eca..9af9cb8b80 100644 --- a/tests/providers/aws/services/iam/iam_rotate_access_key_90_days/iam_rotate_access_key_90_days_test.py +++ b/tests/providers/aws/services/iam/iam_rotate_access_key_90_days/iam_rotate_access_key_90_days_test.py @@ -1,52 +1,16 @@ import datetime from unittest import mock -from boto3 import client, session +from boto3 import client from moto import mock_iam -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" -AWS_REGION = "us-east-1" - class Test_iam_rotate_access_key_90_days_test: - 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=f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root", - audited_user_id=None, - audited_partition="aws", - audited_identity_arn=None, - profile=None, - profile_region=AWS_REGION, - credentials=None, - assumed_role_info=None, - audited_regions=["us-east-1", "eu-west-1"], - 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 - @mock_iam def test_user_no_access_keys(self): iam_client = client("iam") @@ -80,7 +44,7 @@ class Test_iam_rotate_access_key_90_days_test: ) assert result[0].resource_id == user assert result[0].resource_arn == arn - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_iam def test_user_access_key_1_not_rotated(self): @@ -121,7 +85,7 @@ class Test_iam_rotate_access_key_90_days_test: ) assert result[0].resource_id == user assert result[0].resource_arn == arn - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_iam def test_user_access_key_2_not_rotated(self): @@ -162,7 +126,7 @@ class Test_iam_rotate_access_key_90_days_test: ) assert result[0].resource_id == user assert result[0].resource_arn == arn - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_iam def test_user_both_access_keys_not_rotated(self): @@ -208,7 +172,7 @@ class Test_iam_rotate_access_key_90_days_test: ) assert result[0].resource_id == user assert result[0].resource_arn == arn - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[1].status == "FAIL" assert ( result[1].status_extended @@ -216,7 +180,7 @@ class Test_iam_rotate_access_key_90_days_test: ) assert result[1].resource_id == user assert result[1].resource_arn == arn - assert result[1].region == AWS_REGION + assert result[1].region == AWS_REGION_EU_WEST_1 @mock_iam def test_user_both_access_keys_rotated(self): @@ -263,4 +227,4 @@ class Test_iam_rotate_access_key_90_days_test: ) assert result[0].resource_id == user assert result[0].resource_arn == arn - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 diff --git a/tests/providers/aws/services/iam/iam_securityaudit_role_created/iam_securityaudit_role_created_test.py b/tests/providers/aws/services/iam/iam_securityaudit_role_created/iam_securityaudit_role_created_test.py index d93286e33c..7e8e2c167b 100644 --- a/tests/providers/aws/services/iam/iam_securityaudit_role_created/iam_securityaudit_role_created_test.py +++ b/tests/providers/aws/services/iam/iam_securityaudit_role_created/iam_securityaudit_role_created_test.py @@ -2,51 +2,17 @@ from json import dumps from re import search from unittest import mock -from boto3 import client, session +from boto3 import client from moto import mock_iam -from prowler.providers.aws.lib.audit_info.audit_info import AWS_Audit_Info from prowler.providers.aws.services.iam.iam_service import IAM -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_iam_securityaudit_role_created: - 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=f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root", - audited_user_id=None, - audited_partition="aws", - audited_identity_arn=None, - profile=None, - profile_region="us-east-1", - 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 - @mock_iam def test_securityaudit_role_created(self): audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) diff --git a/tests/providers/aws/services/iam/iam_service_test.py b/tests/providers/aws/services/iam/iam_service_test.py index f347427655..3673b08d2d 100644 --- a/tests/providers/aws/services/iam/iam_service_test.py +++ b/tests/providers/aws/services/iam/iam_service_test.py @@ -2,20 +2,18 @@ from json import dumps from uuid import uuid4 import botocore -from boto3 import client, session +from boto3 import client from freezegun import freeze_time from mock import patch from moto import mock_iam -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info from prowler.providers.aws.services.iam.iam_service import IAM, Policy, is_service_role -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" TEST_DATETIME = "2023-01-01T12:01:01+00:00" INLINE_POLICY_NOT_ADMIN = { @@ -81,36 +79,6 @@ def mock_make_api_call(self, operation_name, kwargs): # Patch every AWS call using Boto3 @patch("botocore.client.BaseClient._make_api_call", new=mock_make_api_call) class Test_IAM_Service: - 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=None, - audited_account_arn=None, - audited_user_id=None, - audited_partition="aws", - audited_identity_arn=None, - profile=None, - profile_region="us-east-1", - 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 IAM Client @mock_iam def test__get_client__(self): diff --git a/tests/providers/aws/services/iam/iam_support_role_created/iam_support_role_created_test.py b/tests/providers/aws/services/iam/iam_support_role_created/iam_support_role_created_test.py index 0dbf3c8037..5d4de53ae7 100644 --- a/tests/providers/aws/services/iam/iam_support_role_created/iam_support_role_created_test.py +++ b/tests/providers/aws/services/iam/iam_support_role_created/iam_support_role_created_test.py @@ -10,8 +10,6 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_iam_support_role_created: @mock_iam diff --git a/tests/providers/aws/services/iam/iam_user_accesskey_unused/iam_user_accesskey_unused_test.py b/tests/providers/aws/services/iam/iam_user_accesskey_unused/iam_user_accesskey_unused_test.py index ea2f89fdd9..587ea6aa6e 100644 --- a/tests/providers/aws/services/iam/iam_user_accesskey_unused/iam_user_accesskey_unused_test.py +++ b/tests/providers/aws/services/iam/iam_user_accesskey_unused/iam_user_accesskey_unused_test.py @@ -1,53 +1,16 @@ import datetime from unittest import mock -from boto3 import client, session +from boto3 import client from moto import mock_iam -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" -AWS_REGION = "us-east-1" - class Test_iam_user_accesskey_unused_test: - 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, - region_name=AWS_REGION, - ), - 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=AWS_REGION, - 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, - ), - audit_config={"max_unused_access_keys_days": 45}, - ) - return audit_info - @mock_iam def test_user_no_access_keys(self): iam_client = client("iam") @@ -56,7 +19,9 @@ class Test_iam_user_accesskey_unused_test: from prowler.providers.aws.services.iam.iam_service import IAM - audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) + audit_info = set_mocked_aws_audit_info( + [AWS_REGION_EU_WEST_1], audit_config={"max_unused_access_keys_days": 45} + ) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -87,7 +52,7 @@ class Test_iam_user_accesskey_unused_test: ) assert result[0].resource_id == user assert result[0].resource_arn == arn - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_iam def test_user_access_key_1_not_used(self): @@ -100,7 +65,9 @@ class Test_iam_user_accesskey_unused_test: from prowler.providers.aws.services.iam.iam_service import IAM - audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) + audit_info = set_mocked_aws_audit_info( + [AWS_REGION_EU_WEST_1], audit_config={"max_unused_access_keys_days": 45} + ) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -129,7 +96,7 @@ class Test_iam_user_accesskey_unused_test: ) assert result[0].resource_id == user + "/AccessKey1" assert result[0].resource_arn == arn - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_iam def test_user_access_key_2_not_used(self): @@ -142,7 +109,9 @@ class Test_iam_user_accesskey_unused_test: from prowler.providers.aws.services.iam.iam_service import IAM - audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) + audit_info = set_mocked_aws_audit_info( + [AWS_REGION_EU_WEST_1], audit_config={"max_unused_access_keys_days": 45} + ) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -171,7 +140,7 @@ class Test_iam_user_accesskey_unused_test: ) assert result[0].resource_id == user + "/AccessKey2" assert result[0].resource_arn == arn - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_iam def test_user_both_access_keys_not_used(self): @@ -184,7 +153,9 @@ class Test_iam_user_accesskey_unused_test: from prowler.providers.aws.services.iam.iam_service import IAM - audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) + audit_info = set_mocked_aws_audit_info( + [AWS_REGION_EU_WEST_1], audit_config={"max_unused_access_keys_days": 45} + ) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -218,7 +189,7 @@ class Test_iam_user_accesskey_unused_test: ) assert result[0].resource_id == user + "/AccessKey1" assert result[0].resource_arn == arn - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[1].status == "FAIL" assert ( @@ -227,7 +198,7 @@ class Test_iam_user_accesskey_unused_test: ) assert result[1].resource_id == user + "/AccessKey2" assert result[1].resource_arn == arn - assert result[1].region == AWS_REGION + assert result[1].region == AWS_REGION_EU_WEST_1 @mock_iam def test_user_both_access_keys_used(self): @@ -240,7 +211,9 @@ class Test_iam_user_accesskey_unused_test: from prowler.providers.aws.services.iam.iam_service import IAM - audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) + audit_info = set_mocked_aws_audit_info( + [AWS_REGION_EU_WEST_1], audit_config={"max_unused_access_keys_days": 45} + ) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -274,4 +247,4 @@ class Test_iam_user_accesskey_unused_test: ) assert result[0].resource_id == user assert result[0].resource_arn == arn - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 diff --git a/tests/providers/aws/services/iam/iam_user_console_access_unused/iam_user_console_access_unused_test.py b/tests/providers/aws/services/iam/iam_user_console_access_unused/iam_user_console_access_unused_test.py index da6596cd2d..cb55e949f7 100644 --- a/tests/providers/aws/services/iam/iam_user_console_access_unused/iam_user_console_access_unused_test.py +++ b/tests/providers/aws/services/iam/iam_user_console_access_unused/iam_user_console_access_unused_test.py @@ -1,53 +1,16 @@ import datetime from unittest import mock -from boto3 import client, session +from boto3 import client from moto import mock_iam -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" -AWS_REGION = "us-east-1" - class Test_iam_user_console_access_unused_test: - 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, - region_name=AWS_REGION, - ), - 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=AWS_REGION, - 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, - ), - audit_config={"max_console_access_days": 45}, - ) - return audit_info - @mock_iam def test_iam_user_logged_45_days(self): password_last_used = ( @@ -59,7 +22,9 @@ class Test_iam_user_console_access_unused_test: from prowler.providers.aws.services.iam.iam_service import IAM - audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) + audit_info = set_mocked_aws_audit_info( + [AWS_REGION_EU_WEST_1], audit_config={"max_console_access_days": 45} + ) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -84,7 +49,7 @@ class Test_iam_user_console_access_unused_test: ) assert result[0].resource_id == user assert result[0].resource_arn == arn - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_iam def test_iam_user_not_logged_45_days(self): @@ -97,7 +62,9 @@ class Test_iam_user_console_access_unused_test: from prowler.providers.aws.services.iam.iam_service import IAM - audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) + audit_info = set_mocked_aws_audit_info( + [AWS_REGION_EU_WEST_1], audit_config={"max_console_access_days": 45} + ) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -122,7 +89,7 @@ class Test_iam_user_console_access_unused_test: ) assert result[0].resource_id == user assert result[0].resource_arn == arn - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_iam def test_iam_user_not_logged(self): @@ -132,7 +99,9 @@ class Test_iam_user_console_access_unused_test: from prowler.providers.aws.services.iam.iam_service import IAM - audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) + audit_info = set_mocked_aws_audit_info( + [AWS_REGION_EU_WEST_1], audit_config={"max_console_access_days": 45} + ) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -158,4 +127,4 @@ class Test_iam_user_console_access_unused_test: ) assert result[0].resource_id == user assert result[0].resource_arn == arn - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 diff --git a/tests/providers/aws/services/iam/iam_user_hardware_mfa_enabled/iam_user_hardware_mfa_enabled_test.py b/tests/providers/aws/services/iam/iam_user_hardware_mfa_enabled/iam_user_hardware_mfa_enabled_test.py index 0c62e18d47..13cd38c7aa 100644 --- a/tests/providers/aws/services/iam/iam_user_hardware_mfa_enabled/iam_user_hardware_mfa_enabled_test.py +++ b/tests/providers/aws/services/iam/iam_user_hardware_mfa_enabled/iam_user_hardware_mfa_enabled_test.py @@ -9,8 +9,6 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_iam_user_hardware_mfa_enabled_test: @mock_iam diff --git a/tests/providers/aws/services/iam/iam_user_mfa_enabled_console_access/iam_user_mfa_enabled_console_access_test.py b/tests/providers/aws/services/iam/iam_user_mfa_enabled_console_access/iam_user_mfa_enabled_console_access_test.py index 4c0b9fbc20..cca554f195 100644 --- a/tests/providers/aws/services/iam/iam_user_mfa_enabled_console_access/iam_user_mfa_enabled_console_access_test.py +++ b/tests/providers/aws/services/iam/iam_user_mfa_enabled_console_access/iam_user_mfa_enabled_console_access_test.py @@ -8,8 +8,6 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_iam_user_mfa_enabled_console_access_test: @mock_iam diff --git a/tests/providers/aws/services/iam/iam_user_no_setup_initial_access_key/iam_user_no_setup_initial_access_key_test.py b/tests/providers/aws/services/iam/iam_user_no_setup_initial_access_key/iam_user_no_setup_initial_access_key_test.py index de32bc45db..420ca10559 100644 --- a/tests/providers/aws/services/iam/iam_user_no_setup_initial_access_key/iam_user_no_setup_initial_access_key_test.py +++ b/tests/providers/aws/services/iam/iam_user_no_setup_initial_access_key/iam_user_no_setup_initial_access_key_test.py @@ -9,8 +9,6 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_iam_user_no_setup_initial_access_key_test: @mock_iam diff --git a/tests/providers/aws/services/iam/iam_user_two_active_access_key/iam_user_two_active_access_key_test.py b/tests/providers/aws/services/iam/iam_user_two_active_access_key/iam_user_two_active_access_key_test.py index 08ad076ac3..e761048ca8 100644 --- a/tests/providers/aws/services/iam/iam_user_two_active_access_key/iam_user_two_active_access_key_test.py +++ b/tests/providers/aws/services/iam/iam_user_two_active_access_key/iam_user_two_active_access_key_test.py @@ -9,8 +9,6 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_iam_user_two_active_access_key: @mock_iam diff --git a/tests/providers/aws/services/iam/iam_user_with_temporary_credentials/iam_user_with_temporary_credentials_test.py b/tests/providers/aws/services/iam/iam_user_with_temporary_credentials/iam_user_with_temporary_credentials_test.py index b1fe34cb34..47e8d82e99 100644 --- a/tests/providers/aws/services/iam/iam_user_with_temporary_credentials/iam_user_with_temporary_credentials_test.py +++ b/tests/providers/aws/services/iam/iam_user_with_temporary_credentials/iam_user_with_temporary_credentials_test.py @@ -1,9 +1,10 @@ from unittest import mock from prowler.providers.aws.services.iam.iam_service import IAM - -AWS_REGION = "us-east-1" -AWS_ACCOUNT_NUMBER = "123456789012" +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, + AWS_REGION_EU_WEST_1, +) IAM_USER_NAME = "test-user" IAM_USER_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:user/{IAM_USER_NAME}" @@ -13,7 +14,7 @@ USER_DATA = (IAM_USER_NAME, IAM_USER_ARN) class Test_iam_user_with_temporary_credentials: def test_no_users(self): iam_client = mock.MagicMock - iam_client.region = AWS_REGION + iam_client.region = AWS_REGION_EU_WEST_1 iam_client.access_keys_metadata = {} iam_client.last_accessed_services = {} @@ -42,7 +43,7 @@ class Test_iam_user_with_temporary_credentials: def test_user_no_access_keys_no_accesed_services(self): iam_client = mock.MagicMock - iam_client.region = AWS_REGION + iam_client.region = AWS_REGION_EU_WEST_1 iam_client.access_keys_metadata = {USER_DATA: []} iam_client.last_accessed_services = {USER_DATA: []} @@ -75,11 +76,11 @@ class Test_iam_user_with_temporary_credentials: ) assert result[0].resource_id == IAM_USER_NAME assert result[0].resource_arn == IAM_USER_ARN - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 def test_user_access_keys_no_accesed_services(self): iam_client = mock.MagicMock - iam_client.region = AWS_REGION + iam_client.region = AWS_REGION_EU_WEST_1 iam_client.access_keys_metadata = {USER_DATA: [{"AccessKeyId": 1}]} iam_client.last_accessed_services = {USER_DATA: []} @@ -112,11 +113,11 @@ class Test_iam_user_with_temporary_credentials: ) assert result[0].resource_id == IAM_USER_NAME assert result[0].resource_arn == IAM_USER_ARN - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 def test_user_access_keys_accesed_services_sts(self): iam_client = mock.MagicMock - iam_client.region = AWS_REGION + iam_client.region = AWS_REGION_EU_WEST_1 iam_client.access_keys_metadata = {USER_DATA: [{"AccessKeyId": 1}]} iam_client.last_accessed_services = {USER_DATA: [{"ServiceNamespace": "sts"}]} @@ -149,11 +150,11 @@ class Test_iam_user_with_temporary_credentials: ) assert result[0].resource_id == IAM_USER_NAME assert result[0].resource_arn == IAM_USER_ARN - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 def test_access_keys_with_iam_and_sts(self): iam_client = mock.MagicMock - iam_client.region = AWS_REGION + iam_client.region = AWS_REGION_EU_WEST_1 iam_client.access_keys_metadata = {USER_DATA: [{"AccessKeyId": 1}]} iam_client.last_accessed_services = { @@ -188,11 +189,11 @@ class Test_iam_user_with_temporary_credentials: ) assert result[0].resource_id == IAM_USER_NAME assert result[0].resource_arn == IAM_USER_ARN - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 def test_access_keys_with_iam_and_ec2(self): iam_client = mock.MagicMock - iam_client.region = AWS_REGION + iam_client.region = AWS_REGION_EU_WEST_1 iam_client.access_keys_metadata = {USER_DATA: [{"AccessKeyId": 1}]} iam_client.last_accessed_services = { @@ -227,4 +228,4 @@ class Test_iam_user_with_temporary_credentials: ) assert result[0].resource_id == IAM_USER_NAME assert result[0].resource_arn == IAM_USER_ARN - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 diff --git a/tests/providers/aws/services/inspector2/inspector2_findings_exist/inspector2_findings_exist_test.py b/tests/providers/aws/services/inspector2/inspector2_findings_exist/inspector2_findings_exist_test.py index 67d639a270..fd855fb58d 100644 --- a/tests/providers/aws/services/inspector2/inspector2_findings_exist/inspector2_findings_exist_test.py +++ b/tests/providers/aws/services/inspector2/inspector2_findings_exist/inspector2_findings_exist_test.py @@ -1,57 +1,22 @@ from unittest import mock -from boto3 import session - -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info from prowler.providers.aws.services.ecr.ecr_service import Repository from prowler.providers.aws.services.inspector2.inspector2_service import ( Inspector, InspectorFinding, ) -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" -AWS_ACCOUNT_ID = "123456789012" FINDING_ARN = ( "arn:aws:inspector2:us-east-1:123456789012:finding/0e436649379db5f327e3cf5bb4421d76" ) class Test_inspector2_findings_exist: - 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_ID, - audited_account_arn=f"arn:aws:iam::{AWS_ACCOUNT_ID}: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, - ), - ) - return audit_info - def test_inspector2_disabled(self): # Mock the inspector2 client inspector2_client = mock.MagicMock @@ -62,12 +27,17 @@ class Test_inspector2_findings_exist: ecr_client.audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) awslambda_client.audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) inspector2_client.audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) - inspector2_client.audited_account = AWS_ACCOUNT_ID - inspector2_client.audited_account_arn = f"arn:aws:iam::{AWS_ACCOUNT_ID}:root" - inspector2_client.region = AWS_REGION + inspector2_client.audited_account = AWS_ACCOUNT_NUMBER + inspector2_client.audited_account_arn = ( + f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" + ) + inspector2_client.region = AWS_REGION_EU_WEST_1 inspector2_client.inspectors = [ Inspector( - id=AWS_ACCOUNT_ID, status="DISABLED", region=AWS_REGION, findings=[] + id=AWS_ACCOUNT_NUMBER, + status="DISABLED", + region=AWS_REGION_EU_WEST_1, + findings=[], ) ] current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) @@ -106,12 +76,12 @@ class Test_inspector2_findings_exist: result[0].status_extended == "Inspector2 is not enabled." ) - assert result[0].resource_id == AWS_ACCOUNT_ID + assert result[0].resource_id == AWS_ACCOUNT_NUMBER assert ( result[0].resource_arn - == f"arn:aws:iam::{AWS_ACCOUNT_ID}:root" + == f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 def test_enabled_no_finding(self): # Mock the inspector2 client @@ -123,12 +93,17 @@ class Test_inspector2_findings_exist: ecr_client.audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) awslambda_client.audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) inspector2_client.audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) - inspector2_client.audited_account = AWS_ACCOUNT_ID - inspector2_client.audited_account_arn = f"arn:aws:iam::{AWS_ACCOUNT_ID}:root" - inspector2_client.region = AWS_REGION + inspector2_client.audited_account = AWS_ACCOUNT_NUMBER + inspector2_client.audited_account_arn = ( + f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" + ) + inspector2_client.region = AWS_REGION_EU_WEST_1 inspector2_client.inspectors = [ Inspector( - id=AWS_ACCOUNT_ID, status="ENABLED", region=AWS_REGION, findings=[] + id=AWS_ACCOUNT_NUMBER, + status="ENABLED", + region=AWS_REGION_EU_WEST_1, + findings=[], ) ] current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) @@ -167,12 +142,12 @@ class Test_inspector2_findings_exist: result[0].status_extended == "Inspector2 is enabled with no findings." ) - assert result[0].resource_id == AWS_ACCOUNT_ID + assert result[0].resource_id == AWS_ACCOUNT_NUMBER assert ( result[0].resource_arn - == f"arn:aws:iam::{AWS_ACCOUNT_ID}:root" + == f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 def test_enabled_with_no_active_finding(self): # Mock the inspector2 client @@ -184,18 +159,20 @@ class Test_inspector2_findings_exist: ecr_client.audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) awslambda_client.audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) inspector2_client.audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) - inspector2_client.audited_account = AWS_ACCOUNT_ID - inspector2_client.audited_account_arn = f"arn:aws:iam::{AWS_ACCOUNT_ID}:root" - inspector2_client.region = AWS_REGION + inspector2_client.audited_account = AWS_ACCOUNT_NUMBER + inspector2_client.audited_account_arn = ( + f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" + ) + inspector2_client.region = AWS_REGION_EU_WEST_1 inspector2_client.inspectors = [ Inspector( - id=AWS_ACCOUNT_ID, - region=AWS_REGION, + id=AWS_ACCOUNT_NUMBER, + region=AWS_REGION_EU_WEST_1, status="ENABLED", findings=[ InspectorFinding( arn=FINDING_ARN, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, severity="MEDIUM", status="NOT_ACTIVE", title="CVE-2022-40897 - setuptools", @@ -239,12 +216,12 @@ class Test_inspector2_findings_exist: result[0].status_extended == "Inspector2 is enabled with no active findings." ) - assert result[0].resource_id == AWS_ACCOUNT_ID + assert result[0].resource_id == AWS_ACCOUNT_NUMBER assert ( result[0].resource_arn - == f"arn:aws:iam::{AWS_ACCOUNT_ID}:root" + == f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 def test_enabled_with_active_finding(self): # Mock the inspector2 client @@ -256,18 +233,20 @@ class Test_inspector2_findings_exist: ecr_client.audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) awslambda_client.audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) inspector2_client.audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) - inspector2_client.audited_account = AWS_ACCOUNT_ID - inspector2_client.audited_account_arn = f"arn:aws:iam::{AWS_ACCOUNT_ID}:root" - inspector2_client.region = AWS_REGION + inspector2_client.audited_account = AWS_ACCOUNT_NUMBER + inspector2_client.audited_account_arn = ( + f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" + ) + inspector2_client.region = AWS_REGION_EU_WEST_1 inspector2_client.inspectors = [ Inspector( - id=AWS_ACCOUNT_ID, - region=AWS_REGION, + id=AWS_ACCOUNT_NUMBER, + region=AWS_REGION_EU_WEST_1, status="ENABLED", findings=[ InspectorFinding( arn=FINDING_ARN, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, severity="MEDIUM", status="ACTIVE", title="CVE-2022-40897 - setuptools", @@ -311,12 +290,12 @@ class Test_inspector2_findings_exist: result[0].status_extended == "There are 1 ACTIVE Inspector2 findings." ) - assert result[0].resource_id == AWS_ACCOUNT_ID + assert result[0].resource_id == AWS_ACCOUNT_NUMBER assert ( result[0].resource_arn - == f"arn:aws:iam::{AWS_ACCOUNT_ID}:root" + == f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 def test_enabled_with_active_and_closed_findings(self): # Mock the inspector2 client @@ -328,25 +307,27 @@ class Test_inspector2_findings_exist: ecr_client.audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) awslambda_client.audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) inspector2_client.audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) - inspector2_client.audited_account = AWS_ACCOUNT_ID - inspector2_client.audited_account_arn = f"arn:aws:iam::{AWS_ACCOUNT_ID}:root" - inspector2_client.region = AWS_REGION + inspector2_client.audited_account = AWS_ACCOUNT_NUMBER + inspector2_client.audited_account_arn = ( + f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" + ) + inspector2_client.region = AWS_REGION_EU_WEST_1 inspector2_client.inspectors = [ Inspector( - id=AWS_ACCOUNT_ID, - region=AWS_REGION, + id=AWS_ACCOUNT_NUMBER, + region=AWS_REGION_EU_WEST_1, status="ENABLED", findings=[ InspectorFinding( arn=FINDING_ARN, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, severity="MEDIUM", status="ACTIVE", title="CVE-2022-40897 - setuptools", ), InspectorFinding( arn=FINDING_ARN, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, severity="MEDIUM", status="CLOSED", title="CVE-2022-27404 - freetype", @@ -390,12 +371,12 @@ class Test_inspector2_findings_exist: result[0].status_extended == "There are 1 ACTIVE Inspector2 findings." ) - assert result[0].resource_id == AWS_ACCOUNT_ID + assert result[0].resource_id == AWS_ACCOUNT_NUMBER assert ( result[0].resource_arn - == f"arn:aws:iam::{AWS_ACCOUNT_ID}:root" + == f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 def test_inspector2_disabled_ignoring(self): # Mock the inspector2 client @@ -404,8 +385,8 @@ class Test_inspector2_findings_exist: awslambda_client.functions = {} ecr_client = mock.MagicMock ecr_client.registries = {} - ecr_client.registries[AWS_REGION] = mock.MagicMock - ecr_client.registries[AWS_REGION].repositories = [] + ecr_client.registries[AWS_REGION_EU_WEST_1] = mock.MagicMock + ecr_client.registries[AWS_REGION_EU_WEST_1].repositories = [] ec2_client = mock.MagicMock ec2_client.instances = [] ec2_client.audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) @@ -413,12 +394,17 @@ class Test_inspector2_findings_exist: awslambda_client.audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) inspector2_client.audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) inspector2_client.audit_info.ignore_unused_services = True - inspector2_client.audited_account = AWS_ACCOUNT_ID - inspector2_client.audited_account_arn = f"arn:aws:iam::{AWS_ACCOUNT_ID}:root" - inspector2_client.region = AWS_REGION + inspector2_client.audited_account = AWS_ACCOUNT_NUMBER + inspector2_client.audited_account_arn = ( + f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" + ) + inspector2_client.region = AWS_REGION_EU_WEST_1 inspector2_client.inspectors = [ Inspector( - id=AWS_ACCOUNT_ID, status="DISABLED", region=AWS_REGION, findings=[] + id=AWS_ACCOUNT_NUMBER, + status="DISABLED", + region=AWS_REGION_EU_WEST_1, + findings=[], ) ] current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) @@ -460,10 +446,10 @@ class Test_inspector2_findings_exist: awslambda_client.functions = {} ecr_client = mock.MagicMock ecr_client.registries = {} - ecr_client.registries[AWS_REGION] = mock.MagicMock + ecr_client.registries[AWS_REGION_EU_WEST_1] = mock.MagicMock repository_name = "test_repo" repository_arn = ( - f"arn:aws:ecr:eu-west-1:{AWS_ACCOUNT_ID}:repository/{repository_name}" + f"arn:aws:ecr:eu-west-1:{AWS_ACCOUNT_NUMBER}:repository/{repository_name}" ) repo_policy_public = { "Version": "2012-10-17", @@ -472,17 +458,17 @@ class Test_inspector2_findings_exist: "Sid": "ECRRepositoryPolicy", "Effect": "Allow", "Principal": { - "AWS": f"arn:aws:iam::{AWS_ACCOUNT_ID}:user/username" + "AWS": f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:user/username" }, "Action": ["ecr:DescribeImages", "ecr:DescribeRepositories"], } ], } - ecr_client.registries[AWS_REGION].repositories = [ + ecr_client.registries[AWS_REGION_EU_WEST_1].repositories = [ Repository( name=repository_name, arn=repository_arn, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, scan_on_push=True, policy=repo_policy_public, images_details=None, @@ -496,12 +482,17 @@ class Test_inspector2_findings_exist: awslambda_client.audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) inspector2_client.audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) inspector2_client.audit_info.ignore_unused_services = True - inspector2_client.audited_account = AWS_ACCOUNT_ID - inspector2_client.audited_account_arn = f"arn:aws:iam::{AWS_ACCOUNT_ID}:root" - inspector2_client.region = AWS_REGION + inspector2_client.audited_account = AWS_ACCOUNT_NUMBER + inspector2_client.audited_account_arn = ( + f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" + ) + inspector2_client.region = AWS_REGION_EU_WEST_1 inspector2_client.inspectors = [ Inspector( - id=AWS_ACCOUNT_ID, status="DISABLED", region=AWS_REGION, findings=[] + id=AWS_ACCOUNT_NUMBER, + status="DISABLED", + region=AWS_REGION_EU_WEST_1, + findings=[], ) ] current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) @@ -539,9 +530,9 @@ class Test_inspector2_findings_exist: result[0].status_extended == "Inspector2 is not enabled." ) - assert result[0].resource_id == AWS_ACCOUNT_ID + assert result[0].resource_id == AWS_ACCOUNT_NUMBER assert ( result[0].resource_arn - == f"arn:aws:iam::{AWS_ACCOUNT_ID}:root" + == f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 diff --git a/tests/providers/aws/services/inspector2/inspector2_service_test.py b/tests/providers/aws/services/inspector2/inspector2_service_test.py index 87797c6898..85285d11cd 100644 --- a/tests/providers/aws/services/inspector2/inspector2_service_test.py +++ b/tests/providers/aws/services/inspector2/inspector2_service_test.py @@ -5,12 +5,11 @@ import botocore from prowler.providers.aws.services.inspector2.inspector2_service import Inspector2 from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" -AWS_ACCOUNT_ID = "123456789012" FINDING_ARN = ( "arn:aws:inspector2:us-east-1:123456789012:finding/0e436649379db5f327e3cf5bb4421d76" ) @@ -25,7 +24,7 @@ def mock_make_api_call(self, operation_name, kwargs): return { "accounts": [ { - "accountId": AWS_ACCOUNT_ID, + "accountId": AWS_ACCOUNT_NUMBER, "resourceState": { "ec2": { "errorCode": "ALREADY_ENABLED", @@ -55,7 +54,7 @@ def mock_make_api_call(self, operation_name, kwargs): return { "findings": [ { - "awsAccountId": AWS_ACCOUNT_ID, + "awsAccountId": AWS_ACCOUNT_NUMBER, "findingArn": FINDING_ARN, "description": "Finding Description", "severity": "MEDIUM", @@ -71,9 +70,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_EU_WEST_1 + ) + regional_client.region = AWS_REGION_EU_WEST_1 + return {AWS_REGION_EU_WEST_1: regional_client} # Patch every AWS call using Boto3 and generate_regional_clients to have 1 client @@ -87,7 +88,8 @@ class Test_Inspector2_Service: audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) inspector2 = Inspector2(audit_info) assert ( - inspector2.regional_clients[AWS_REGION].__class__.__name__ == "Inspector2" + inspector2.regional_clients[AWS_REGION_EU_WEST_1].__class__.__name__ + == "Inspector2" ) def test__get_service__(self): @@ -99,8 +101,8 @@ class Test_Inspector2_Service: audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) inspector2 = Inspector2(audit_info) assert len(inspector2.inspectors) == 1 - assert inspector2.inspectors[0].id == AWS_ACCOUNT_ID - assert inspector2.inspectors[0].region == AWS_REGION + assert inspector2.inspectors[0].id == AWS_ACCOUNT_NUMBER + assert inspector2.inspectors[0].region == AWS_REGION_EU_WEST_1 assert inspector2.inspectors[0].status == "ENABLED" def test__list_findings__(self): @@ -108,7 +110,7 @@ class Test_Inspector2_Service: inspector2 = Inspector2(audit_info) assert len(inspector2.inspectors[0].findings) == 1 assert inspector2.inspectors[0].findings[0].arn == FINDING_ARN - assert inspector2.inspectors[0].findings[0].region == AWS_REGION + assert inspector2.inspectors[0].findings[0].region == AWS_REGION_EU_WEST_1 assert inspector2.inspectors[0].findings[0].severity == "MEDIUM" assert inspector2.inspectors[0].findings[0].status == "ACTIVE" assert ( 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 0565b38854..41f6e73d3c 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 @@ -8,9 +8,6 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_kms_cmk_are_used: @mock_kms @@ -39,7 +36,7 @@ class Test_kms_cmk_are_used: @mock_kms def test_kms_cmk_are_used(self): # Generate KMS Client - kms_client = client("kms", region_name=AWS_REGION) + kms_client = client("kms", region_name=AWS_REGION_EU_WEST_1) # Create enabled KMS key key = kms_client.create_key()["KeyMetadata"] @@ -71,7 +68,7 @@ class Test_kms_cmk_are_used: @mock_kms def test_kms_key_with_deletion(self): # Generate KMS Client - kms_client = client("kms", region_name=AWS_REGION) + kms_client = client("kms", region_name=AWS_REGION_EU_WEST_1) # Creaty KMS key with deletion key = kms_client.create_key()["KeyMetadata"] kms_client.schedule_key_deletion(KeyId=key["KeyId"]) @@ -107,7 +104,7 @@ class Test_kms_cmk_are_used: @mock_kms def test_kms_disabled_key(self): # Generate KMS Client - kms_client = client("kms", region_name=AWS_REGION) + kms_client = client("kms", region_name=AWS_REGION_EU_WEST_1) # Creaty KMS key with deletion key = kms_client.create_key()["KeyMetadata"] kms_client.disable_key(KeyId=key["KeyId"]) 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 11b8b4c6e2..247811e572 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 @@ -8,9 +8,6 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_kms_cmk_rotation_enabled: @mock_kms @@ -39,7 +36,7 @@ class Test_kms_cmk_rotation_enabled: @mock_kms def test_kms_cmk_rotation_enabled(self): # Generate KMS Client - kms_client = client("kms", region_name=AWS_REGION) + kms_client = client("kms", region_name=AWS_REGION_EU_WEST_1) # Creaty KMS key with rotation key = kms_client.create_key()["KeyMetadata"] kms_client.enable_key_rotation(KeyId=key["KeyId"]) @@ -75,7 +72,7 @@ class Test_kms_cmk_rotation_enabled: @mock_kms def test_kms_cmk_rotation_disabled(self): # Generate KMS Client - kms_client = client("kms", region_name=AWS_REGION) + kms_client = client("kms", region_name=AWS_REGION_EU_WEST_1) # Creaty KMS key without rotation key = kms_client.create_key()["KeyMetadata"] 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 f97c1116d7..6afdd2d69a 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 @@ -9,9 +9,6 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_kms_key_not_publicly_accessible: @mock_kms @@ -40,7 +37,7 @@ class Test_kms_key_not_publicly_accessible: @mock_kms def test_kms_key_not_publicly_accessible(self): # Generate KMS Client - kms_client = client("kms", region_name=AWS_REGION) + kms_client = client("kms", region_name=AWS_REGION_EU_WEST_1) # Creaty KMS key without policy key = kms_client.create_key()["KeyMetadata"] @@ -75,7 +72,7 @@ class Test_kms_key_not_publicly_accessible: @mock_kms def test_kms_key_public_accessible(self): # Generate KMS Client - kms_client = client("kms", region_name=AWS_REGION) + kms_client = client("kms", region_name=AWS_REGION_EU_WEST_1) # Creaty KMS key with public policy key = kms_client.create_key( Policy=json.dumps( @@ -126,7 +123,7 @@ class Test_kms_key_not_publicly_accessible: @mock_kms def test_kms_key_empty_principal(self): # Generate KMS Client - kms_client = client("kms", region_name=AWS_REGION) + kms_client = client("kms", region_name=AWS_REGION_EU_WEST_1) # Creaty KMS key with public policy key = kms_client.create_key( Policy=json.dumps( diff --git a/tests/providers/aws/services/kms/kms_service_test.py b/tests/providers/aws/services/kms/kms_service_test.py index 85b774f4c4..36a6e2293b 100644 --- a/tests/providers/aws/services/kms/kms_service_test.py +++ b/tests/providers/aws/services/kms/kms_service_test.py @@ -1,51 +1,17 @@ import json -from boto3 import client, session +from boto3 import client from moto import mock_kms -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info from prowler.providers.aws.services.kms.kms_service import KMS -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" -AWS_REGION = "us-east-1" - class Test_ACM_Service: - 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=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=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 KMS Service @mock_kms def test_service(self): @@ -83,7 +49,7 @@ class Test_ACM_Service: @mock_kms def test__list_keys__(self): # Generate KMS Client - kms_client = client("kms", region_name=AWS_REGION) + kms_client = client("kms", region_name=AWS_REGION_EU_WEST_1) # Create KMS keys key1 = kms_client.create_key()["KeyMetadata"] key2 = kms_client.create_key()["KeyMetadata"] @@ -98,7 +64,7 @@ class Test_ACM_Service: @mock_kms def test__describe_key__(self): # Generate KMS Client - kms_client = client("kms", region_name=AWS_REGION) + kms_client = client("kms", region_name=AWS_REGION_EU_WEST_1) # Create KMS keys key1 = kms_client.create_key( Tags=[ @@ -121,7 +87,7 @@ class Test_ACM_Service: @mock_kms def test__get_key_rotation_status__(self): # Generate KMS Client - kms_client = client("kms", region_name=AWS_REGION) + kms_client = client("kms", region_name=AWS_REGION_EU_WEST_1) # Create KMS keys key1 = kms_client.create_key()["KeyMetadata"] key2 = kms_client.create_key()["KeyMetadata"] @@ -169,7 +135,7 @@ class Test_ACM_Service: } ) # Generate KMS Client - kms_client = client("kms", region_name=AWS_REGION) + kms_client = client("kms", region_name=AWS_REGION_EU_WEST_1) # Create KMS keys key1 = kms_client.create_key(Policy=default_policy)["KeyMetadata"] key2 = kms_client.create_key(Policy=public_policy)["KeyMetadata"] diff --git a/tests/providers/aws/services/macie/macie_is_enabled/macie_is_enabled_test.py b/tests/providers/aws/services/macie/macie_is_enabled/macie_is_enabled_test.py index 8558c62f66..a744c0884c 100644 --- a/tests/providers/aws/services/macie/macie_is_enabled/macie_is_enabled_test.py +++ b/tests/providers/aws/services/macie/macie_is_enabled/macie_is_enabled_test.py @@ -5,16 +5,11 @@ from moto import mock_s3 from prowler.providers.aws.services.macie.macie_service import Session from prowler.providers.aws.services.s3.s3_service import Bucket from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" - - -AWS_REGION = "us-east-1" -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_macie_is_enabled: @mock_s3 @@ -145,13 +140,13 @@ class Test_macie_is_enabled: @mock_s3 def test_macie_suspended_ignored_with_buckets(self): s3_client = mock.MagicMock - s3_client.regions_with_buckets = [AWS_REGION] + s3_client.regions_with_buckets = [AWS_REGION_EU_WEST_1] s3_client.audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) s3_client.buckets = [ Bucket( name="test", arn="test-arn", - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) ] @@ -162,7 +157,7 @@ class Test_macie_is_enabled: macie_client.sessions = [ Session( status="PAUSED", - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) ] diff --git a/tests/providers/aws/services/macie/macie_service_test.py b/tests/providers/aws/services/macie/macie_service_test.py index 20ddfb4ccd..47ff873c00 100644 --- a/tests/providers/aws/services/macie/macie_service_test.py +++ b/tests/providers/aws/services/macie/macie_service_test.py @@ -9,10 +9,6 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -# Mock Test Region -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" - # Mocking Macie2 Calls make_api_call = botocore.client.BaseClient._make_api_call @@ -37,9 +33,11 @@ def mock_make_api_call(self, operation_name, kwarg): # Mock generate_regional_clients() 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_EU_WEST_1 + ) + regional_client.region = AWS_REGION_EU_WEST_1 + return {AWS_REGION_EU_WEST_1: regional_client} # Patch every AWS call using Boto3 and generate_regional_clients to have 1 client @@ -52,7 +50,9 @@ class Test_Macie_Service: # Test Macie Client def test__get_client__(self): macie = Macie(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])) - assert macie.regional_clients[AWS_REGION].__class__.__name__ == "Macie2" + assert ( + macie.regional_clients[AWS_REGION_EU_WEST_1].__class__.__name__ == "Macie2" + ) # Test Macie Session def test__get_session__(self): @@ -75,4 +75,4 @@ class Test_Macie_Service: ] assert len(macie.sessions) == 1 assert macie.sessions[0].status == "ENABLED" - assert macie.sessions[0].region == AWS_REGION + assert macie.sessions[0].region == AWS_REGION_EU_WEST_1 diff --git a/tests/providers/aws/services/neptune/neptune_cluster_uses_public_subnet/neptune_cluster_uses_public_subnet_test.py b/tests/providers/aws/services/neptune/neptune_cluster_uses_public_subnet/neptune_cluster_uses_public_subnet_test.py index 079d499f27..f78959baed 100644 --- a/tests/providers/aws/services/neptune/neptune_cluster_uses_public_subnet/neptune_cluster_uses_public_subnet_test.py +++ b/tests/providers/aws/services/neptune/neptune_cluster_uses_public_subnet/neptune_cluster_uses_public_subnet_test.py @@ -1,14 +1,13 @@ from unittest import mock -from boto3 import client, session +from boto3 import client from mock import MagicMock, patch from moto import mock_ec2, mock_neptune -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info from prowler.providers.aws.services.neptune.neptune_service import Neptune from prowler.providers.aws.services.vpc.vpc_service import VpcSubnet -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) @@ -23,9 +22,8 @@ from tests.providers.aws.services.neptune.neptune_service_test import ( mock_make_api_call, ) -AWS_ACCOUNT_NUMBER = "123456789012" AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" -AWS_REGION = "us-east-1" + VPC_ID = "vpc-12345678901234567" @@ -33,36 +31,6 @@ VPC_ID = "vpc-12345678901234567" # Patch every AWS call using Boto3 @patch("botocore.client.BaseClient._make_api_call", new=mock_make_api_call) class Test_neptune_cluster_uses_public_subnet: - 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=[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, - ), - ) - return audit_info - @mock_neptune @mock_ec2 def test_neptune_no_clusters(self): @@ -105,7 +73,7 @@ class Test_neptune_cluster_uses_public_subnet: availability_zone=AWS_REGION_AZ1, public=False, nat_gateway=False, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, tags=[], mapPublicIpOnLaunch=False, ) @@ -119,13 +87,13 @@ class Test_neptune_cluster_uses_public_subnet: availability_zone=AWS_REGION_AZ2, public=False, nat_gateway=False, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, tags=[], mapPublicIpOnLaunch=False, ) # Neptune client - neptune_client = client("neptune", region_name=AWS_REGION) + neptune_client = client("neptune", region_name=AWS_REGION_EU_WEST_1) # Create Neptune Cluster cluster = neptune_client.create_db_cluster( AvailabilityZones=[AWS_REGION_AZ1, AWS_REGION_AZ2], @@ -166,7 +134,7 @@ class Test_neptune_cluster_uses_public_subnet: result[0].status_extended == f"Cluster {cluster_id} is not using public subnets." ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_id == cluster_id assert result[0].resource_arn == cluster_arn assert result[0].resource_tags == NEPTUNE_CLUSTER_TAGS @@ -186,7 +154,7 @@ class Test_neptune_cluster_uses_public_subnet: availability_zone=AWS_REGION_AZ1, public=True, nat_gateway=False, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, tags=[], mapPublicIpOnLaunch=False, ) @@ -200,13 +168,13 @@ class Test_neptune_cluster_uses_public_subnet: availability_zone=AWS_REGION_AZ2, public=True, nat_gateway=False, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, tags=[], mapPublicIpOnLaunch=False, ) # Neptune client - neptune_client = client("neptune", region_name=AWS_REGION) + neptune_client = client("neptune", region_name=AWS_REGION_EU_WEST_1) # Create Neptune Cluster cluster = neptune_client.create_db_cluster( AvailabilityZones=[AWS_REGION_AZ1, AWS_REGION_AZ2], @@ -247,7 +215,7 @@ class Test_neptune_cluster_uses_public_subnet: result[0].status_extended == f"Cluster {cluster_id} is using subnet-1, subnet-2 public subnets." ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_id == cluster_id assert result[0].resource_arn == cluster_arn assert result[0].resource_tags == NEPTUNE_CLUSTER_TAGS diff --git a/tests/providers/aws/services/neptune/neptune_service_test.py b/tests/providers/aws/services/neptune/neptune_service_test.py index a4273d320b..e1a6d3f8eb 100644 --- a/tests/providers/aws/services/neptune/neptune_service_test.py +++ b/tests/providers/aws/services/neptune/neptune_service_test.py @@ -1,20 +1,18 @@ import botocore -from boto3 import client, session +from boto3 import client from mock import patch from moto import mock_neptune -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info from prowler.providers.aws.services.neptune.neptune_service import Cluster, Neptune -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" -AWS_REGION = "us-east-1" + AWS_REGION_AZ1 = "us-east-1a" AWS_REGION_AZ2 = "us-east-b" @@ -61,7 +59,7 @@ def mock_make_api_call(self, operation_name, kwargs): "SubnetStatus": "Active", }, ], - "DBSubnetGroupArn": f"arn:aws:rds:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:subgrp:{SUBNET_GROUP_NAME}", + "DBSubnetGroupArn": f"arn:aws:rds:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:subgrp:{SUBNET_GROUP_NAME}", } ] } @@ -72,9 +70,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_EU_WEST_1 + ) + regional_client.region = AWS_REGION_EU_WEST_1 + return {AWS_REGION_EU_WEST_1: regional_client} @patch( @@ -84,36 +84,6 @@ 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_Neptune_Service: - 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 Neptune Service @mock_neptune def test_service(self): @@ -146,7 +116,7 @@ class Test_Neptune_Service: @mock_neptune def test_describe_db_clusters(self): # Neptune client - neptune_client = client("neptune", region_name=AWS_REGION) + neptune_client = client("neptune", region_name=AWS_REGION_EU_WEST_1) # Create Neptune Cluster cluster = neptune_client.create_db_cluster( AvailabilityZones=[AWS_REGION_AZ1, AWS_REGION_AZ2], @@ -173,7 +143,7 @@ class Test_Neptune_Service: arn=cluster_arn, name=NEPTUNE_CLUSTER_NAME, id=cluster_id, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, db_subnet_group_id=SUBNET_GROUP_NAME, subnets=[SUBNET_1, SUBNET_2], tags=NEPTUNE_CLUSTER_TAGS, diff --git a/tests/providers/aws/services/networkfirewall/networkfirewall_in_all_vpc/networkfirewall_in_all_vpc_test.py b/tests/providers/aws/services/networkfirewall/networkfirewall_in_all_vpc/networkfirewall_in_all_vpc_test.py index 98ce9b4cbf..4df914b6b9 100644 --- a/tests/providers/aws/services/networkfirewall/networkfirewall_in_all_vpc/networkfirewall_in_all_vpc_test.py +++ b/tests/providers/aws/services/networkfirewall/networkfirewall_in_all_vpc/networkfirewall_in_all_vpc_test.py @@ -9,8 +9,6 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" -AWS_ACCOUNT_NUMBER = "123456789012" FIREWALL_ARN = "arn:aws:network-firewall:us-east-1:123456789012:firewall/my-firewall" FIREWALL_NAME = "my-firewall" VPC_ID_PROTECTED = "vpc-12345678901234567" @@ -24,11 +22,11 @@ class Test_networkfirewall_in_all_vpc: networkfirewall_client.audit_info = set_mocked_aws_audit_info( [AWS_REGION_EU_WEST_1] ) - networkfirewall_client.region = AWS_REGION + networkfirewall_client.region = AWS_REGION_EU_WEST_1 networkfirewall_client.network_firewalls = [] vpc_client = mock.MagicMock vpc_client.audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) - vpc_client.region = AWS_REGION + vpc_client.region = AWS_REGION_EU_WEST_1 vpc_client.vpcs = {} audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) @@ -60,12 +58,12 @@ class Test_networkfirewall_in_all_vpc: networkfirewall_client.audit_info = set_mocked_aws_audit_info( [AWS_REGION_EU_WEST_1] ) - networkfirewall_client.region = AWS_REGION + networkfirewall_client.region = AWS_REGION_EU_WEST_1 networkfirewall_client.network_firewalls = [ Firewall( arn=FIREWALL_ARN, name=FIREWALL_NAME, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, policy_arn=POLICY_ARN, vpc_id=VPC_ID_PROTECTED, tags=[], @@ -74,7 +72,7 @@ class Test_networkfirewall_in_all_vpc: ] vpc_client = mock.MagicMock vpc_client.audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) - vpc_client.region = AWS_REGION + vpc_client.region = AWS_REGION_EU_WEST_1 vpc_client.vpcs = { VPC_ID_PROTECTED: VPCs( id=VPC_ID_PROTECTED, @@ -82,7 +80,7 @@ class Test_networkfirewall_in_all_vpc: default=False, cidr_block="192.168.0.0/16", flow_log=False, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, arn="arn_test", subnets=[ VpcSubnet( @@ -95,7 +93,7 @@ class Test_networkfirewall_in_all_vpc: availability_zone="us-east-1a", public=False, nat_gateway=False, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, tags=[], mapPublicIpOnLaunch=False, ) @@ -132,7 +130,7 @@ class Test_networkfirewall_in_all_vpc: result[0].status_extended == f"VPC {VPC_ID_PROTECTED} has Network Firewall enabled." ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_id == VPC_ID_PROTECTED assert result[0].resource_tags == [] assert result[0].resource_arn == "arn_test" @@ -142,11 +140,11 @@ class Test_networkfirewall_in_all_vpc: networkfirewall_client.audit_info = set_mocked_aws_audit_info( [AWS_REGION_EU_WEST_1] ) - networkfirewall_client.region = AWS_REGION + networkfirewall_client.region = AWS_REGION_EU_WEST_1 networkfirewall_client.network_firewalls = [] vpc_client = mock.MagicMock vpc_client.audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) - vpc_client.region = AWS_REGION + vpc_client.region = AWS_REGION_EU_WEST_1 vpc_client.vpcs = { VPC_ID_UNPROTECTED: VPCs( id=VPC_ID_UNPROTECTED, @@ -154,7 +152,7 @@ class Test_networkfirewall_in_all_vpc: default=False, cidr_block="192.168.0.0/16", flow_log=False, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, arn="arn_test", subnets=[ VpcSubnet( @@ -167,7 +165,7 @@ class Test_networkfirewall_in_all_vpc: availability_zone="us-east-1a", public=False, nat_gateway=False, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, tags=[], mapPublicIpOnLaunch=False, ) @@ -204,7 +202,7 @@ class Test_networkfirewall_in_all_vpc: result[0].status_extended == f"VPC {VPC_ID_UNPROTECTED} does not have Network Firewall enabled." ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_id == VPC_ID_UNPROTECTED assert result[0].resource_tags == [] assert result[0].resource_arn == "arn_test" @@ -214,12 +212,12 @@ class Test_networkfirewall_in_all_vpc: networkfirewall_client.audit_info = set_mocked_aws_audit_info( [AWS_REGION_EU_WEST_1] ) - networkfirewall_client.region = AWS_REGION + networkfirewall_client.region = AWS_REGION_EU_WEST_1 networkfirewall_client.network_firewalls = [] vpc_client = mock.MagicMock vpc_client.audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) - vpc_client.region = AWS_REGION + vpc_client.region = AWS_REGION_EU_WEST_1 vpc_client.vpcs = { VPC_ID_UNPROTECTED: VPCs( id=VPC_ID_UNPROTECTED, @@ -227,7 +225,7 @@ class Test_networkfirewall_in_all_vpc: default=False, cidr_block="192.168.0.0/16", flow_log=False, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, arn="arn_test", subnets=[ VpcSubnet( @@ -240,7 +238,7 @@ class Test_networkfirewall_in_all_vpc: availability_zone="us-east-1a", public=False, nat_gateway=False, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, tags=[], mapPublicIpOnLaunch=False, ) @@ -277,7 +275,7 @@ class Test_networkfirewall_in_all_vpc: result[0].status_extended == "VPC vpc_name does not have Network Firewall enabled." ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_id == VPC_ID_UNPROTECTED assert result[0].resource_tags == [] assert result[0].resource_arn == "arn_test" @@ -287,12 +285,12 @@ class Test_networkfirewall_in_all_vpc: networkfirewall_client.audit_info = set_mocked_aws_audit_info( [AWS_REGION_EU_WEST_1] ) - networkfirewall_client.region = AWS_REGION + networkfirewall_client.region = AWS_REGION_EU_WEST_1 networkfirewall_client.network_firewalls = [ Firewall( arn=FIREWALL_ARN, name=FIREWALL_NAME, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, policy_arn=POLICY_ARN, vpc_id=VPC_ID_PROTECTED, tags=[], @@ -301,7 +299,7 @@ class Test_networkfirewall_in_all_vpc: ] vpc_client = mock.MagicMock vpc_client.audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) - vpc_client.region = AWS_REGION + vpc_client.region = AWS_REGION_EU_WEST_1 vpc_client.vpcs = { VPC_ID_UNPROTECTED: VPCs( id=VPC_ID_UNPROTECTED, @@ -309,7 +307,7 @@ class Test_networkfirewall_in_all_vpc: default=False, cidr_block="192.168.0.0/16", flow_log=False, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, arn="arn_test", subnets=[ VpcSubnet( @@ -322,7 +320,7 @@ class Test_networkfirewall_in_all_vpc: availability_zone="us-east-1a", public=False, nat_gateway=False, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, tags=[], mapPublicIpOnLaunch=False, ) @@ -335,7 +333,7 @@ class Test_networkfirewall_in_all_vpc: default=False, cidr_block="192.168.0.0/16", flow_log=False, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, arn="arn_test", subnets=[ VpcSubnet( @@ -348,7 +346,7 @@ class Test_networkfirewall_in_all_vpc: availability_zone="us-east-1a", public=False, nat_gateway=False, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, tags=[], mapPublicIpOnLaunch=False, ) @@ -387,7 +385,7 @@ class Test_networkfirewall_in_all_vpc: r.status_extended == f"VPC {VPC_ID_PROTECTED} has Network Firewall enabled." ) - assert r.region == AWS_REGION + assert r.region == AWS_REGION_EU_WEST_1 assert r.resource_id == VPC_ID_PROTECTED assert r.resource_tags == [] assert r.resource_arn == "arn_test" @@ -397,7 +395,7 @@ class Test_networkfirewall_in_all_vpc: r.status_extended == f"VPC {VPC_ID_UNPROTECTED} does not have Network Firewall enabled." ) - assert r.region == AWS_REGION + assert r.region == AWS_REGION_EU_WEST_1 assert r.resource_id == VPC_ID_UNPROTECTED assert r.resource_tags == [] assert r.resource_arn == "arn_test" @@ -407,18 +405,18 @@ class Test_networkfirewall_in_all_vpc: networkfirewall_client.audit_info = set_mocked_aws_audit_info( [AWS_REGION_EU_WEST_1] ) - networkfirewall_client.region = AWS_REGION + networkfirewall_client.region = AWS_REGION_EU_WEST_1 networkfirewall_client.network_firewalls = [] vpc_client = mock.MagicMock vpc_client.audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) - vpc_client.region = AWS_REGION + vpc_client.region = AWS_REGION_EU_WEST_1 vpc_client.vpcs = { VPC_ID_UNPROTECTED: VPCs( id=VPC_ID_UNPROTECTED, default=False, cidr_block="192.168.0.0/16", flow_log=False, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, arn="arn_test", name="vpc_name", subnets=[ @@ -432,7 +430,7 @@ class Test_networkfirewall_in_all_vpc: availability_zone="us-east-1a", public=False, nat_gateway=False, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, tags=[], mapPublicIpOnLaunch=False, ) @@ -471,11 +469,11 @@ class Test_networkfirewall_in_all_vpc: networkfirewall_client.audit_info = set_mocked_aws_audit_info( [AWS_REGION_EU_WEST_1] ) - networkfirewall_client.region = AWS_REGION + networkfirewall_client.region = AWS_REGION_EU_WEST_1 networkfirewall_client.network_firewalls = [] vpc_client = mock.MagicMock vpc_client.audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) - vpc_client.region = AWS_REGION + vpc_client.region = AWS_REGION_EU_WEST_1 vpc_client.vpcs = { VPC_ID_UNPROTECTED: VPCs( id=VPC_ID_UNPROTECTED, @@ -483,7 +481,7 @@ class Test_networkfirewall_in_all_vpc: default=False, cidr_block="192.168.0.0/16", flow_log=False, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, arn="arn_test", in_use=True, subnets=[ @@ -497,7 +495,7 @@ class Test_networkfirewall_in_all_vpc: availability_zone="us-east-1a", public=False, nat_gateway=False, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, tags=[], mapPublicIpOnLaunch=False, ) @@ -535,7 +533,7 @@ class Test_networkfirewall_in_all_vpc: result[0].status_extended == "VPC vpc_name does not have Network Firewall enabled." ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_id == VPC_ID_UNPROTECTED assert result[0].resource_tags == [] assert result[0].resource_arn == "arn_test" diff --git a/tests/providers/aws/services/networkfirewall/networkfirewall_service_test.py b/tests/providers/aws/services/networkfirewall/networkfirewall_service_test.py index 58fe96187b..a90883e3bd 100644 --- a/tests/providers/aws/services/networkfirewall/networkfirewall_service_test.py +++ b/tests/providers/aws/services/networkfirewall/networkfirewall_service_test.py @@ -1,20 +1,17 @@ from unittest.mock import patch import botocore -from boto3 import session -from prowler.providers.aws.lib.audit_info.audit_info import AWS_Audit_Info from prowler.providers.aws.services.networkfirewall.networkfirewall_service import ( NetworkFirewall, ) -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) # Mock Test Region -AWS_REGION = "us-east-1" + FIREWALL_ARN = "arn:aws:network-firewall:us-east-1:123456789012:firewall/my-firewall" FIREWALL_NAME = "my-firewall" VPC_ID = "vpc-12345678901234567" @@ -57,9 +54,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_EU_WEST_1 + ) + regional_client.region = AWS_REGION_EU_WEST_1 + return {AWS_REGION_EU_WEST_1: regional_client} # Patch every AWS call using Boto3 and generate_regional_clients to have 1 client @@ -69,41 +68,11 @@ def mock_generate_regional_clients(service, audit_info, _): new=mock_generate_regional_clients, ) class Test_NetworkFirewall_Service: - 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=None, - audited_account_arn=None, - 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 - def test__get_client__(self): audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) networkfirewall = NetworkFirewall(audit_info) assert ( - networkfirewall.regional_clients[AWS_REGION].__class__.__name__ + networkfirewall.regional_clients[AWS_REGION_EU_WEST_1].__class__.__name__ == "NetworkFirewall" ) @@ -117,7 +86,7 @@ class Test_NetworkFirewall_Service: networkfirewall = NetworkFirewall(audit_info) assert len(networkfirewall.network_firewalls) == 1 assert networkfirewall.network_firewalls[0].arn == FIREWALL_ARN - assert networkfirewall.network_firewalls[0].region == AWS_REGION + assert networkfirewall.network_firewalls[0].region == AWS_REGION_EU_WEST_1 assert networkfirewall.network_firewalls[0].name == FIREWALL_NAME def test__describe_firewall__(self): @@ -125,7 +94,7 @@ class Test_NetworkFirewall_Service: networkfirewall = NetworkFirewall(audit_info) assert len(networkfirewall.network_firewalls) == 1 assert networkfirewall.network_firewalls[0].arn == FIREWALL_ARN - assert networkfirewall.network_firewalls[0].region == AWS_REGION + assert networkfirewall.network_firewalls[0].region == AWS_REGION_EU_WEST_1 assert networkfirewall.network_firewalls[0].name == FIREWALL_NAME assert networkfirewall.network_firewalls[0].policy_arn == POLICY_ARN assert networkfirewall.network_firewalls[0].vpc_id == VPC_ID diff --git a/tests/providers/aws/services/opensearch/opensearch_service_domains_audit_logging_enabled/opensearch_service_domains_audit_logging_enabled_test.py b/tests/providers/aws/services/opensearch/opensearch_service_domains_audit_logging_enabled/opensearch_service_domains_audit_logging_enabled_test.py index 72436e9c03..dfb5d82557 100644 --- a/tests/providers/aws/services/opensearch/opensearch_service_domains_audit_logging_enabled/opensearch_service_domains_audit_logging_enabled_test.py +++ b/tests/providers/aws/services/opensearch/opensearch_service_domains_audit_logging_enabled/opensearch_service_domains_audit_logging_enabled_test.py @@ -5,9 +5,10 @@ from prowler.providers.aws.services.opensearch.opensearch_service import ( OpenSearchDomain, PublishingLoggingOption, ) - -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, + AWS_REGION_EU_WEST_1, +) domain_name = "test-domain" domain_arn = f"arn:aws:es:us-west-2:{AWS_ACCOUNT_NUMBER}:domain/{domain_name}" @@ -33,7 +34,9 @@ class Test_opensearch_service_domains_audit_logging_enabled: opensearch_client = mock.MagicMock opensearch_client.opensearch_domains = [] opensearch_client.opensearch_domains.append( - OpenSearchDomain(name=domain_name, region=AWS_REGION, arn=domain_arn) + OpenSearchDomain( + name=domain_name, region=AWS_REGION_EU_WEST_1, arn=domain_arn + ) ) opensearch_client.opensearch_domains[0].logging = [] @@ -57,7 +60,9 @@ class Test_opensearch_service_domains_audit_logging_enabled: opensearch_client = mock.MagicMock opensearch_client.opensearch_domains = [] opensearch_client.opensearch_domains.append( - OpenSearchDomain(name=domain_name, region=AWS_REGION, arn=domain_arn) + OpenSearchDomain( + name=domain_name, region=AWS_REGION_EU_WEST_1, arn=domain_arn + ) ) opensearch_client.opensearch_domains[0].logging = [] opensearch_client.opensearch_domains[0].logging.append( diff --git a/tests/providers/aws/services/opensearch/opensearch_service_domains_cloudwatch_logging_enabled/opensearch_service_domains_cloudwatch_logging_enabled_test.py b/tests/providers/aws/services/opensearch/opensearch_service_domains_cloudwatch_logging_enabled/opensearch_service_domains_cloudwatch_logging_enabled_test.py index 41de622984..e177188b00 100644 --- a/tests/providers/aws/services/opensearch/opensearch_service_domains_cloudwatch_logging_enabled/opensearch_service_domains_cloudwatch_logging_enabled_test.py +++ b/tests/providers/aws/services/opensearch/opensearch_service_domains_cloudwatch_logging_enabled/opensearch_service_domains_cloudwatch_logging_enabled_test.py @@ -5,9 +5,10 @@ from prowler.providers.aws.services.opensearch.opensearch_service import ( OpenSearchDomain, PublishingLoggingOption, ) - -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, + AWS_REGION_EU_WEST_1, +) domain_name = "test-domain" domain_arn = f"arn:aws:es:us-west-2:{AWS_ACCOUNT_NUMBER}:domain/{domain_name}" @@ -33,7 +34,9 @@ class Test_opensearch_service_domains_cloudwatch_logging_enabled: opensearch_client = mock.MagicMock opensearch_client.opensearch_domains = [] opensearch_client.opensearch_domains.append( - OpenSearchDomain(name=domain_name, region=AWS_REGION, arn=domain_arn) + OpenSearchDomain( + name=domain_name, region=AWS_REGION_EU_WEST_1, arn=domain_arn + ) ) opensearch_client.opensearch_domains[0].logging = [] @@ -60,7 +63,9 @@ class Test_opensearch_service_domains_cloudwatch_logging_enabled: opensearch_client = mock.MagicMock opensearch_client.opensearch_domains = [] opensearch_client.opensearch_domains.append( - OpenSearchDomain(name=domain_name, region=AWS_REGION, arn=domain_arn) + OpenSearchDomain( + name=domain_name, region=AWS_REGION_EU_WEST_1, arn=domain_arn + ) ) opensearch_client.opensearch_domains[0].logging = [] opensearch_client.opensearch_domains[0].logging.append( @@ -90,7 +95,9 @@ class Test_opensearch_service_domains_cloudwatch_logging_enabled: opensearch_client = mock.MagicMock opensearch_client.opensearch_domains = [] opensearch_client.opensearch_domains.append( - OpenSearchDomain(name=domain_name, region=AWS_REGION, arn=domain_arn) + OpenSearchDomain( + name=domain_name, region=AWS_REGION_EU_WEST_1, arn=domain_arn + ) ) opensearch_client.opensearch_domains[0].logging = [] opensearch_client.opensearch_domains[0].logging.append( @@ -120,7 +127,9 @@ class Test_opensearch_service_domains_cloudwatch_logging_enabled: opensearch_client = mock.MagicMock opensearch_client.opensearch_domains = [] opensearch_client.opensearch_domains.append( - OpenSearchDomain(name=domain_name, region=AWS_REGION, arn=domain_arn) + OpenSearchDomain( + name=domain_name, region=AWS_REGION_EU_WEST_1, arn=domain_arn + ) ) opensearch_client.opensearch_domains[0].logging = [] logging_options = [ diff --git a/tests/providers/aws/services/opensearch/opensearch_service_domains_encryption_at_rest_enabled/opensearch_service_domains_encryption_at_rest_enabled_test.py b/tests/providers/aws/services/opensearch/opensearch_service_domains_encryption_at_rest_enabled/opensearch_service_domains_encryption_at_rest_enabled_test.py index c8bce4ced4..3c464df613 100644 --- a/tests/providers/aws/services/opensearch/opensearch_service_domains_encryption_at_rest_enabled/opensearch_service_domains_encryption_at_rest_enabled_test.py +++ b/tests/providers/aws/services/opensearch/opensearch_service_domains_encryption_at_rest_enabled/opensearch_service_domains_encryption_at_rest_enabled_test.py @@ -4,9 +4,10 @@ from unittest import mock from prowler.providers.aws.services.opensearch.opensearch_service import ( OpenSearchDomain, ) - -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, + AWS_REGION_EU_WEST_1, +) domain_name = "test-domain" domain_arn = f"arn:aws:es:us-west-2:{AWS_ACCOUNT_NUMBER}:domain/{domain_name}" @@ -34,7 +35,7 @@ class Test_opensearch_service_domains_encryption_at_rest_enabled: opensearch_client.opensearch_domains.append( OpenSearchDomain( name=domain_name, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, arn=domain_arn, encryption_at_rest=False, ) @@ -65,7 +66,7 @@ class Test_opensearch_service_domains_encryption_at_rest_enabled: opensearch_client.opensearch_domains.append( OpenSearchDomain( name=domain_name, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, arn=domain_arn, encryption_at_rest=True, ) diff --git a/tests/providers/aws/services/opensearch/opensearch_service_domains_https_communications_enforced/opensearch_service_domains_https_communications_enforced_test.py b/tests/providers/aws/services/opensearch/opensearch_service_domains_https_communications_enforced/opensearch_service_domains_https_communications_enforced_test.py index 07816e06e2..d53ebc0027 100644 --- a/tests/providers/aws/services/opensearch/opensearch_service_domains_https_communications_enforced/opensearch_service_domains_https_communications_enforced_test.py +++ b/tests/providers/aws/services/opensearch/opensearch_service_domains_https_communications_enforced/opensearch_service_domains_https_communications_enforced_test.py @@ -4,9 +4,10 @@ from unittest import mock from prowler.providers.aws.services.opensearch.opensearch_service import ( OpenSearchDomain, ) - -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, + AWS_REGION_EU_WEST_1, +) domain_name = "test-domain" domain_arn = f"arn:aws:es:us-west-2:{AWS_ACCOUNT_NUMBER}:domain/{domain_name}" @@ -33,7 +34,10 @@ class Test_opensearch_service_domains_https_communications_enforced: opensearch_client.opensearch_domains = [] opensearch_client.opensearch_domains.append( OpenSearchDomain( - name=domain_name, region=AWS_REGION, arn=domain_arn, enforce_https=False + name=domain_name, + region=AWS_REGION_EU_WEST_1, + arn=domain_arn, + enforce_https=False, ) ) opensearch_client.opensearch_domains[0].logging = [] @@ -61,7 +65,10 @@ class Test_opensearch_service_domains_https_communications_enforced: opensearch_client.opensearch_domains = [] opensearch_client.opensearch_domains.append( OpenSearchDomain( - name=domain_name, region=AWS_REGION, arn=domain_arn, enforce_https=True + name=domain_name, + region=AWS_REGION_EU_WEST_1, + arn=domain_arn, + enforce_https=True, ) ) opensearch_client.opensearch_domains[0].logging = [] diff --git a/tests/providers/aws/services/opensearch/opensearch_service_domains_internal_user_database_enabled/opensearch_service_domains_internal_user_database_enabled_test.py b/tests/providers/aws/services/opensearch/opensearch_service_domains_internal_user_database_enabled/opensearch_service_domains_internal_user_database_enabled_test.py index 0d20502296..7db5bcc0b2 100644 --- a/tests/providers/aws/services/opensearch/opensearch_service_domains_internal_user_database_enabled/opensearch_service_domains_internal_user_database_enabled_test.py +++ b/tests/providers/aws/services/opensearch/opensearch_service_domains_internal_user_database_enabled/opensearch_service_domains_internal_user_database_enabled_test.py @@ -4,9 +4,10 @@ from unittest import mock from prowler.providers.aws.services.opensearch.opensearch_service import ( OpenSearchDomain, ) - -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, + AWS_REGION_EU_WEST_1, +) domain_name = "test-domain" domain_arn = f"arn:aws:es:us-west-2:{AWS_ACCOUNT_NUMBER}:domain/{domain_name}" @@ -34,7 +35,7 @@ class Test_opensearch_service_domains_internal_user_database_enabled: opensearch_client.opensearch_domains.append( OpenSearchDomain( name=domain_name, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, arn=domain_arn, internal_user_database=False, ) @@ -66,7 +67,7 @@ class Test_opensearch_service_domains_internal_user_database_enabled: opensearch_client.opensearch_domains.append( OpenSearchDomain( name=domain_name, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, arn=domain_arn, internal_user_database=True, ) diff --git a/tests/providers/aws/services/opensearch/opensearch_service_domains_node_to_node_encryption_enabled/opensearch_service_domains_node_to_node_encryption_enabled_test.py b/tests/providers/aws/services/opensearch/opensearch_service_domains_node_to_node_encryption_enabled/opensearch_service_domains_node_to_node_encryption_enabled_test.py index 018d96d3c2..2c5a1e7420 100644 --- a/tests/providers/aws/services/opensearch/opensearch_service_domains_node_to_node_encryption_enabled/opensearch_service_domains_node_to_node_encryption_enabled_test.py +++ b/tests/providers/aws/services/opensearch/opensearch_service_domains_node_to_node_encryption_enabled/opensearch_service_domains_node_to_node_encryption_enabled_test.py @@ -4,9 +4,10 @@ from unittest import mock from prowler.providers.aws.services.opensearch.opensearch_service import ( OpenSearchDomain, ) - -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, + AWS_REGION_EU_WEST_1, +) domain_name = "test-domain" domain_arn = f"arn:aws:es:us-west-2:{AWS_ACCOUNT_NUMBER}:domain/{domain_name}" @@ -34,7 +35,7 @@ class Test_opensearch_service_domains_node_to_node_encryption_enabled: opensearch_client.opensearch_domains.append( OpenSearchDomain( name=domain_name, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, arn=domain_arn, node_to_node_encryption=False, ) @@ -66,7 +67,7 @@ class Test_opensearch_service_domains_node_to_node_encryption_enabled: opensearch_client.opensearch_domains.append( OpenSearchDomain( name=domain_name, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, arn=domain_arn, node_to_node_encryption=True, ) diff --git a/tests/providers/aws/services/opensearch/opensearch_service_domains_not_publicly_accessible/opensearch_service_domains_not_publicly_accessible_test.py b/tests/providers/aws/services/opensearch/opensearch_service_domains_not_publicly_accessible/opensearch_service_domains_not_publicly_accessible_test.py index 3d67392540..3be4dd48d4 100644 --- a/tests/providers/aws/services/opensearch/opensearch_service_domains_not_publicly_accessible/opensearch_service_domains_not_publicly_accessible_test.py +++ b/tests/providers/aws/services/opensearch/opensearch_service_domains_not_publicly_accessible/opensearch_service_domains_not_publicly_accessible_test.py @@ -3,9 +3,10 @@ from unittest import mock from prowler.providers.aws.services.opensearch.opensearch_service import ( OpenSearchDomain, ) - -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, + AWS_REGION_EU_WEST_1, +) domain_name = "test-domain" domain_arn = f"arn:aws:es:us-west-2:{AWS_ACCOUNT_NUMBER}:domain/{domain_name}" @@ -95,7 +96,7 @@ class Test_opensearch_service_domains_not_publicly_accessible: opensearch_client.opensearch_domains.append( OpenSearchDomain( name=domain_name, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, arn=domain_arn, access_policy=policy_data_restricted, ) @@ -127,7 +128,7 @@ class Test_opensearch_service_domains_not_publicly_accessible: opensearch_client.opensearch_domains.append( OpenSearchDomain( name=domain_name, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, arn=domain_arn, access_policy=policy_data_not_restricted, ) @@ -159,7 +160,7 @@ class Test_opensearch_service_domains_not_publicly_accessible: opensearch_client.opensearch_domains.append( OpenSearchDomain( name=domain_name, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, arn=domain_arn, access_policy=policy_data_not_restricted_principal, ) @@ -191,7 +192,7 @@ class Test_opensearch_service_domains_not_publicly_accessible: opensearch_client.opensearch_domains.append( OpenSearchDomain( name=domain_name, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, arn=domain_arn, access_policy=policy_data_source_ip_full, ) @@ -223,7 +224,7 @@ class Test_opensearch_service_domains_not_publicly_accessible: opensearch_client.opensearch_domains.append( OpenSearchDomain( name=domain_name, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, arn=domain_arn, access_policy=policy_data_source_whole_internet, ) diff --git a/tests/providers/aws/services/opensearch/opensearch_service_domains_updated_to_the_latest_service_software_version/opensearch_service_domains_updated_to_the_latest_service_software_version_test.py b/tests/providers/aws/services/opensearch/opensearch_service_domains_updated_to_the_latest_service_software_version/opensearch_service_domains_updated_to_the_latest_service_software_version_test.py index 96fd387dfb..c31cb969c7 100644 --- a/tests/providers/aws/services/opensearch/opensearch_service_domains_updated_to_the_latest_service_software_version/opensearch_service_domains_updated_to_the_latest_service_software_version_test.py +++ b/tests/providers/aws/services/opensearch/opensearch_service_domains_updated_to_the_latest_service_software_version/opensearch_service_domains_updated_to_the_latest_service_software_version_test.py @@ -4,9 +4,10 @@ from unittest import mock from prowler.providers.aws.services.opensearch.opensearch_service import ( OpenSearchDomain, ) - -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, + AWS_REGION_EU_WEST_1, +) domain_name = "test-domain" domain_arn = f"arn:aws:es:us-west-2:{AWS_ACCOUNT_NUMBER}:domain/{domain_name}" @@ -36,7 +37,7 @@ class Test_opensearch_service_domains_updated_to_the_latest_service_software_ver opensearch_client.opensearch_domains.append( OpenSearchDomain( name=domain_name, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, arn=domain_arn, update_available=False, ) @@ -69,7 +70,7 @@ class Test_opensearch_service_domains_updated_to_the_latest_service_software_ver opensearch_client.opensearch_domains.append( OpenSearchDomain( name=domain_name, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, arn=domain_arn, update_available=True, ) diff --git a/tests/providers/aws/services/opensearch/opensearch_service_domains_use_cognito_authentication_for_kibana/opensearch_service_domains_use_cognito_authentication_for_kibana_test.py b/tests/providers/aws/services/opensearch/opensearch_service_domains_use_cognito_authentication_for_kibana/opensearch_service_domains_use_cognito_authentication_for_kibana_test.py index 49393b2213..8e9df866a6 100644 --- a/tests/providers/aws/services/opensearch/opensearch_service_domains_use_cognito_authentication_for_kibana/opensearch_service_domains_use_cognito_authentication_for_kibana_test.py +++ b/tests/providers/aws/services/opensearch/opensearch_service_domains_use_cognito_authentication_for_kibana/opensearch_service_domains_use_cognito_authentication_for_kibana_test.py @@ -4,9 +4,10 @@ from unittest import mock from prowler.providers.aws.services.opensearch.opensearch_service import ( OpenSearchDomain, ) - -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, + AWS_REGION_EU_WEST_1, +) domain_name = "test-domain" domain_arn = f"arn:aws:es:us-west-2:{AWS_ACCOUNT_NUMBER}:domain/{domain_name}" @@ -34,7 +35,7 @@ class Test_opensearch_service_domains_use_cognito_authentication_for_kibana: opensearch_client.opensearch_domains.append( OpenSearchDomain( name=domain_name, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, arn=domain_arn, cognito_options=False, ) @@ -66,7 +67,7 @@ class Test_opensearch_service_domains_use_cognito_authentication_for_kibana: opensearch_client.opensearch_domains.append( OpenSearchDomain( name=domain_name, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, arn=domain_arn, cognito_options=True, ) diff --git a/tests/providers/aws/services/opensearch/opensearch_service_test.py b/tests/providers/aws/services/opensearch/opensearch_service_test.py index 720c6ee267..126024336a 100644 --- a/tests/providers/aws/services/opensearch/opensearch_service_test.py +++ b/tests/providers/aws/services/opensearch/opensearch_service_test.py @@ -2,21 +2,16 @@ from json import dumps from unittest.mock import patch import botocore -from boto3 import session -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info from prowler.providers.aws.services.opensearch.opensearch_service import ( OpenSearchService, ) -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" -AWS_REGION = "eu-west-1" - test_domain_name = "test" domain_arn = f"arn:aws:es:us-west-2:{AWS_ACCOUNT_NUMBER}:domain/{test_domain_name}" @@ -97,9 +92,11 @@ def mock_make_api_call(self, operation_name, kwarg): 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_EU_WEST_1 + ) + regional_client.region = AWS_REGION_EU_WEST_1 + return {AWS_REGION_EU_WEST_1: regional_client} @patch("botocore.client.BaseClient._make_api_call", new=mock_make_api_call) @@ -108,36 +105,6 @@ def mock_generate_regional_clients(service, audit_info, _): new=mock_generate_regional_clients, ) class Test_OpenSearchService_Service: - 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=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=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 OpenSearchService Service def test_service(self): audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) @@ -163,7 +130,7 @@ class Test_OpenSearchService_Service: opensearch = OpenSearchService(audit_info) assert len(opensearch.opensearch_domains) == 1 assert opensearch.opensearch_domains[0].name == test_domain_name - assert opensearch.opensearch_domains[0].region == AWS_REGION + assert opensearch.opensearch_domains[0].region == AWS_REGION_EU_WEST_1 # Test OpenSearchService describ domain config def test__describe_domain_config__(self): @@ -171,7 +138,7 @@ class Test_OpenSearchService_Service: opensearch = OpenSearchService(audit_info) assert len(opensearch.opensearch_domains) == 1 assert opensearch.opensearch_domains[0].name == test_domain_name - assert opensearch.opensearch_domains[0].region == AWS_REGION + assert opensearch.opensearch_domains[0].region == AWS_REGION_EU_WEST_1 assert opensearch.opensearch_domains[0].access_policy assert opensearch.opensearch_domains[0].logging[0].name == "SEARCH_SLOW_LOGS" assert opensearch.opensearch_domains[0].logging[0].enabled @@ -186,7 +153,7 @@ class Test_OpenSearchService_Service: opensearch = OpenSearchService(audit_info) assert len(opensearch.opensearch_domains) == 1 assert opensearch.opensearch_domains[0].name == test_domain_name - assert opensearch.opensearch_domains[0].region == AWS_REGION + assert opensearch.opensearch_domains[0].region == AWS_REGION_EU_WEST_1 assert opensearch.opensearch_domains[0].arn == domain_arn assert opensearch.opensearch_domains[0].access_policy assert ( diff --git a/tests/providers/aws/services/organizations/organizations_account_part_of_organizations/organizations_account_part_of_organizations_test.py b/tests/providers/aws/services/organizations/organizations_account_part_of_organizations/organizations_account_part_of_organizations_test.py index c03647ae84..a245c8e1ea 100644 --- a/tests/providers/aws/services/organizations/organizations_account_part_of_organizations/organizations_account_part_of_organizations_test.py +++ b/tests/providers/aws/services/organizations/organizations_account_part_of_organizations/organizations_account_part_of_organizations_test.py @@ -1,55 +1,22 @@ from re import search from unittest import mock -from boto3 import client, session +from boto3 import client from moto import mock_organizations -from prowler.providers.aws.lib.audit_info.audit_info import AWS_Audit_Info from prowler.providers.aws.services.organizations.organizations_service import ( Organizations, ) -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" -AWS_ACCOUNT_ID = "123456789012" -AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_ID}:root" +AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" class Test_organizations_account_part_of_organizations: - 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_ID, - audited_account_arn=f"arn:aws:iam::{AWS_ACCOUNT_ID}: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, - ), - ) - return audit_info - @mock_organizations def test_no_organization(self): audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) @@ -78,7 +45,7 @@ class Test_organizations_account_part_of_organizations: ) assert result[0].resource_id == "AWS Organization" assert result[0].resource_arn == AWS_ACCOUNT_ARN - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_organizations def test_organization(self): @@ -112,4 +79,4 @@ class Test_organizations_account_part_of_organizations: ) assert result[0].resource_id == response["Organization"]["Id"] assert result[0].resource_arn == response["Organization"]["Arn"] - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 diff --git a/tests/providers/aws/services/organizations/organizations_delegated_administrators/organizations_delegated_administrators_test.py b/tests/providers/aws/services/organizations/organizations_delegated_administrators/organizations_delegated_administrators_test.py index f93a9ce4a8..d3a84c712f 100644 --- a/tests/providers/aws/services/organizations/organizations_delegated_administrators/organizations_delegated_administrators_test.py +++ b/tests/providers/aws/services/organizations/organizations_delegated_administrators/organizations_delegated_administrators_test.py @@ -1,53 +1,19 @@ from re import search from unittest import mock -from boto3 import client, session +from boto3 import client from moto import mock_organizations -from prowler.providers.aws.lib.audit_info.audit_info import AWS_Audit_Info from prowler.providers.aws.services.organizations.organizations_service import ( Organizations, ) -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" - class Test_organizations_delegated_administrators: - 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=None, - audited_account_arn=None, - 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, - ), - ) - return audit_info - @mock_organizations def test_no_organization(self): audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) @@ -76,7 +42,7 @@ class Test_organizations_delegated_administrators: audit_info.audit_config = {"organizations_trusted_delegated_administrators": []} # Create Organization - conn = client("organizations", region_name=AWS_REGION) + conn = client("organizations", region_name=AWS_REGION_EU_WEST_1) response = conn.create_organization() with mock.patch( @@ -103,14 +69,14 @@ class Test_organizations_delegated_administrators: "No Delegated Administrators", result[0].status_extended, ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_organizations def test_organization_trusted_delegated(self): audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) # Create Organization - conn = client("organizations", region_name=AWS_REGION) + conn = client("organizations", region_name=AWS_REGION_EU_WEST_1) response = conn.create_organization() # Create Dummy Account account = conn.create_account( @@ -154,14 +120,14 @@ class Test_organizations_delegated_administrators: "Trusted Delegated Administrator", result[0].status_extended, ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_organizations def test_organization_untrusted_delegated(self): audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) # Create Organization - conn = client("organizations", region_name=AWS_REGION) + conn = client("organizations", region_name=AWS_REGION_EU_WEST_1) response = conn.create_organization() # Create Dummy Account account = conn.create_account( @@ -201,4 +167,4 @@ class Test_organizations_delegated_administrators: "Untrusted Delegated Administrator", result[0].status_extended, ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 diff --git a/tests/providers/aws/services/organizations/organizations_scp_check_deny_regions/organizations_scp_check_deny_regions_test.py b/tests/providers/aws/services/organizations/organizations_scp_check_deny_regions/organizations_scp_check_deny_regions_test.py index a84232e733..21079a0902 100644 --- a/tests/providers/aws/services/organizations/organizations_scp_check_deny_regions/organizations_scp_check_deny_regions_test.py +++ b/tests/providers/aws/services/organizations/organizations_scp_check_deny_regions/organizations_scp_check_deny_regions_test.py @@ -1,22 +1,19 @@ from re import search from unittest import mock -from boto3 import client, session +from boto3 import client from moto import mock_organizations -from prowler.providers.aws.lib.audit_info.audit_info import AWS_Audit_Info from prowler.providers.aws.services.organizations.organizations_service import ( Organizations, ) -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" -AWS_ACCOUNT_ID = "123456789012" -AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_ID}:root" +AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" def scp_restrict_regions_with_deny(): @@ -24,40 +21,12 @@ def scp_restrict_regions_with_deny(): class Test_organizations_scp_check_deny_regions: - 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_ID, - audited_account_arn=f"arn:aws:iam::{AWS_ACCOUNT_ID}: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, - ), - ) - return audit_info - @mock_organizations def test_no_organization(self): audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) - audit_info.audit_config = {"organizations_enabled_regions": [AWS_REGION]} + audit_info.audit_config = { + "organizations_enabled_regions": [AWS_REGION_EU_WEST_1] + } with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", new=audit_info, @@ -82,15 +51,17 @@ class Test_organizations_scp_check_deny_regions: ) assert result[0].resource_id == "AWS Organization" assert result[0].resource_arn == AWS_ACCOUNT_ARN - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_organizations def test_organization_without_scp_deny_regions(self): audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) - audit_info.audit_config = {"organizations_enabled_regions": [AWS_REGION]} + audit_info.audit_config = { + "organizations_enabled_regions": [AWS_REGION_EU_WEST_1] + } # Create Organization - conn = client("organizations", region_name=AWS_REGION) + conn = client("organizations", region_name=AWS_REGION_EU_WEST_1) response = conn.create_organization() with mock.patch( @@ -117,14 +88,14 @@ class Test_organizations_scp_check_deny_regions: "level but don't restrict AWS Regions", result[0].status_extended, ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_organizations def test_organization_with_scp_deny_regions_valid(self): audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) # Create Organization - conn = client("organizations", region_name=AWS_REGION) + conn = client("organizations", region_name=AWS_REGION_EU_WEST_1) response = conn.create_organization() # Create Policy conn.create_policy( @@ -161,14 +132,14 @@ class Test_organizations_scp_check_deny_regions: "restricting all configured regions found", result[0].status_extended, ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_organizations def test_organization_with_scp_deny_regions_not_valid(self): audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) # Create Organization - conn = client("organizations", region_name=AWS_REGION) + conn = client("organizations", region_name=AWS_REGION_EU_WEST_1) response = conn.create_organization() # Create Policy conn.create_policy( @@ -205,4 +176,4 @@ class Test_organizations_scp_check_deny_regions: "restricting some AWS Regions, but not all the configured ones, please check config.", result[0].status_extended, ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 diff --git a/tests/providers/aws/services/organizations/organizations_service_test.py b/tests/providers/aws/services/organizations/organizations_service_test.py index 9bc3b351a4..a3b4765a3f 100644 --- a/tests/providers/aws/services/organizations/organizations_service_test.py +++ b/tests/providers/aws/services/organizations/organizations_service_test.py @@ -1,58 +1,22 @@ import json -from boto3 import client, session +from boto3 import client from moto import mock_organizations -from moto.core import DEFAULT_ACCOUNT_ID -from prowler.providers.aws.lib.audit_info.audit_info import AWS_Audit_Info from prowler.providers.aws.services.organizations.organizations_service import ( Organizations, ) -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_REGION = "eu-west-1" - def scp_restrict_regions_with_deny(): return '{"Version":"2012-10-17","Statement":{"Effect":"Deny","NotAction":"s3:*","Resource":"*","Condition":{"StringNotEquals":{"aws:RequestedRegion":["eu-central-1"]}}}}' class Test_Organizations_Service: - 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, - region_name=AWS_REGION, - ), - audited_account=DEFAULT_ACCOUNT_ID, - audited_account_arn=f"arn:aws:iam::{DEFAULT_ACCOUNT_ID}:root", - audited_user_id=None, - audited_partition="aws", - audited_identity_arn=None, - profile=None, - profile_region=AWS_REGION, - 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 - @mock_organizations def test_service(self): audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) @@ -62,7 +26,7 @@ class Test_Organizations_Service: @mock_organizations def test__describe_organization__(self): # Create Organization - conn = client("organizations", region_name=AWS_REGION) + conn = client("organizations", region_name=AWS_REGION_EU_WEST_1) response = conn.create_organization() # Mock audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) @@ -81,7 +45,7 @@ class Test_Organizations_Service: @mock_organizations def test__list_policies__(self): # Create Policy - conn = client("organizations", region_name=AWS_REGION) + conn = client("organizations", region_name=AWS_REGION_EU_WEST_1) conn.create_organization() response = conn.create_policy( Content=scp_restrict_regions_with_deny(), diff --git a/tests/providers/aws/services/organizations/organizations_tags_policies_enabled_and_attached/organizations_tags_policies_enabled_and_attached_test.py b/tests/providers/aws/services/organizations/organizations_tags_policies_enabled_and_attached/organizations_tags_policies_enabled_and_attached_test.py index 03eb87cac2..1aa2bf6715 100644 --- a/tests/providers/aws/services/organizations/organizations_tags_policies_enabled_and_attached/organizations_tags_policies_enabled_and_attached_test.py +++ b/tests/providers/aws/services/organizations/organizations_tags_policies_enabled_and_attached/organizations_tags_policies_enabled_and_attached_test.py @@ -1,60 +1,24 @@ from unittest import mock -from boto3 import session - -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info from prowler.providers.aws.services.organizations.organizations_service import ( Organization, Policy, ) -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" -AWS_ACCOUNT_ID = "123456789012" -AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_ID}:root" +AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" # Moto: NotImplementedError: The TAG_POLICY policy type has not been implemented # Needs to Mock manually class Test_organizations_tags_policies_enabled_and_attached: - 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, - region_name=AWS_REGION, - ), - audited_account=AWS_ACCOUNT_ID, - audited_account_arn=AWS_ACCOUNT_ARN, - audited_user_id=None, - audited_partition="aws", - audited_identity_arn=None, - profile=None, - profile_region=AWS_REGION, - 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 - def test_organization_no_organization(self): organizations_client = mock.MagicMock - organizations_client.region = AWS_REGION + organizations_client.region = AWS_REGION_EU_WEST_1 organizations_client.organizations = [ Organization( arn=AWS_ACCOUNT_ARN, @@ -90,11 +54,11 @@ class Test_organizations_tags_policies_enabled_and_attached: ) assert result[0].resource_id == "AWS Organization" assert result[0].resource_arn == AWS_ACCOUNT_ARN - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 def test_organization_with_tag_policies_not_attached(self): organizations_client = mock.MagicMock - organizations_client.region = AWS_REGION + organizations_client.region = AWS_REGION_EU_WEST_1 organizations_client.organizations = [ Organization( id="o-1234567890", @@ -144,11 +108,11 @@ class Test_organizations_tags_policies_enabled_and_attached: result[0].resource_arn == "arn:aws:organizations::1234567890:organization/o-1234567890" ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 def test_organization_with_tag_policies_attached(self): organizations_client = mock.MagicMock - organizations_client.region = AWS_REGION + organizations_client.region = AWS_REGION_EU_WEST_1 organizations_client.organizations = [ Organization( id="o-1234567890", @@ -198,4 +162,4 @@ class Test_organizations_tags_policies_enabled_and_attached: result[0].resource_arn == "arn:aws:organizations::1234567890:organization/o-1234567890" ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 diff --git a/tests/providers/aws/services/rds/rds_instance_backup_enabled/rds_instance_backup_enabled_test.py b/tests/providers/aws/services/rds/rds_instance_backup_enabled/rds_instance_backup_enabled_test.py index da9c658f86..0e71ac4983 100644 --- a/tests/providers/aws/services/rds/rds_instance_backup_enabled/rds_instance_backup_enabled_test.py +++ b/tests/providers/aws/services/rds/rds_instance_backup_enabled/rds_instance_backup_enabled_test.py @@ -6,14 +6,11 @@ from boto3 import client from moto import mock_rds from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" -AWS_REGION = "us-east-1" - - make_api_call = botocore.client.BaseClient._make_api_call @@ -60,7 +57,7 @@ class Test_rds_instance_backup_enabled: @mock_rds def test_rds_instance_no_backup(self): - conn = client("rds", region_name=AWS_REGION) + conn = client("rds", region_name=AWS_REGION_EU_WEST_1) conn.create_db_instance( DBInstanceIdentifier="db-master-1", AllocatedStorage=10, @@ -98,16 +95,16 @@ class Test_rds_instance_backup_enabled: result[0].status_extended, ) assert result[0].resource_id == "db-master-1" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert ( result[0].resource_arn - == f"arn:aws:rds:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:db:db-master-1" + == f"arn:aws:rds:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:db:db-master-1" ) assert result[0].resource_tags == [] @mock_rds def test_rds_instance_with_backup(self): - conn = client("rds", region_name=AWS_REGION) + conn = client("rds", region_name=AWS_REGION_EU_WEST_1) conn.create_db_instance( DBInstanceIdentifier="db-master-1", AllocatedStorage=10, @@ -143,9 +140,9 @@ class Test_rds_instance_backup_enabled: result[0].status_extended, ) assert result[0].resource_id == "db-master-1" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert ( result[0].resource_arn - == f"arn:aws:rds:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:db:db-master-1" + == f"arn:aws:rds:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:db:db-master-1" ) assert result[0].resource_tags == [] diff --git a/tests/providers/aws/services/rds/rds_instance_deletion_protection/rds_instance_deletion_protection_test.py b/tests/providers/aws/services/rds/rds_instance_deletion_protection/rds_instance_deletion_protection_test.py index e9cc8c619a..8a78f59d37 100644 --- a/tests/providers/aws/services/rds/rds_instance_deletion_protection/rds_instance_deletion_protection_test.py +++ b/tests/providers/aws/services/rds/rds_instance_deletion_protection/rds_instance_deletion_protection_test.py @@ -6,14 +6,11 @@ from boto3 import client from moto import mock_rds from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" -AWS_REGION = "us-east-1" - - make_api_call = botocore.client.BaseClient._make_api_call @@ -60,7 +57,7 @@ class Test_rds_instance_deletion_protection: @mock_rds def test_rds_instance_no_deletion_protection(self): - conn = client("rds", region_name=AWS_REGION) + conn = client("rds", region_name=AWS_REGION_EU_WEST_1) conn.create_db_instance( DBInstanceIdentifier="db-master-1", AllocatedStorage=10, @@ -95,16 +92,16 @@ class Test_rds_instance_deletion_protection: result[0].status_extended, ) assert result[0].resource_id == "db-master-1" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert ( result[0].resource_arn - == f"arn:aws:rds:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:db:db-master-1" + == f"arn:aws:rds:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:db:db-master-1" ) assert result[0].resource_tags == [] @mock_rds def test_rds_instance_with_deletion_protection(self): - conn = client("rds", region_name=AWS_REGION) + conn = client("rds", region_name=AWS_REGION_EU_WEST_1) conn.create_db_instance( DBInstanceIdentifier="db-master-1", AllocatedStorage=10, @@ -141,16 +138,16 @@ class Test_rds_instance_deletion_protection: result[0].status_extended, ) assert result[0].resource_id == "db-master-1" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert ( result[0].resource_arn - == f"arn:aws:rds:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:db:db-master-1" + == f"arn:aws:rds:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:db:db-master-1" ) assert result[0].resource_tags == [] @mock_rds def test_rds_instance_without_cluster_deletion_protection(self): - conn = client("rds", region_name=AWS_REGION) + conn = client("rds", region_name=AWS_REGION_EU_WEST_1) conn.create_db_cluster( DBClusterIdentifier="db-cluster-1", AllocatedStorage=10, @@ -199,16 +196,16 @@ class Test_rds_instance_deletion_protection: result[0].status_extended, ) assert result[0].resource_id == "db-master-1" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert ( result[0].resource_arn - == f"arn:aws:rds:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:db:db-master-1" + == f"arn:aws:rds:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:db:db-master-1" ) assert result[0].resource_tags == [] @mock_rds def test_rds_instance_with_cluster_deletion_protection(self): - conn = client("rds", region_name=AWS_REGION) + conn = client("rds", region_name=AWS_REGION_EU_WEST_1) conn.create_db_cluster( DBClusterIdentifier="db-cluster-1", AllocatedStorage=10, @@ -257,9 +254,9 @@ class Test_rds_instance_deletion_protection: result[0].status_extended, ) assert result[0].resource_id == "db-master-1" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert ( result[0].resource_arn - == f"arn:aws:rds:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:db:db-master-1" + == f"arn:aws:rds:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:db:db-master-1" ) assert result[0].resource_tags == [] diff --git a/tests/providers/aws/services/rds/rds_instance_deprecated_engine_version/rds_instance_deprecated_engine_version_test.py b/tests/providers/aws/services/rds/rds_instance_deprecated_engine_version/rds_instance_deprecated_engine_version_test.py index 2b13426952..382b622044 100644 --- a/tests/providers/aws/services/rds/rds_instance_deprecated_engine_version/rds_instance_deprecated_engine_version_test.py +++ b/tests/providers/aws/services/rds/rds_instance_deprecated_engine_version/rds_instance_deprecated_engine_version_test.py @@ -2,19 +2,15 @@ from unittest import mock from unittest.mock import patch import botocore -from boto3 import client, session +from boto3 import client from moto import mock_rds -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" -AWS_REGION = "us-east-1" - make_api_call = botocore.client.BaseClient._make_api_call @@ -35,37 +31,6 @@ def mock_make_api_call(self, operation_name, kwarg): @patch("botocore.client.BaseClient._make_api_call", new=mock_make_api_call) class Test_rds_instance_deprecated_engine_version: - 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, - region_name=AWS_REGION, - ), - 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=AWS_REGION, - 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, - ), - ) - return audit_info - @mock_rds def test_rds_no_instances(self): from prowler.providers.aws.services.rds.rds_service import RDS @@ -92,7 +57,7 @@ class Test_rds_instance_deprecated_engine_version: @mock_rds def test_rds_instance_no_deprecated_engine_version(self): - conn = client("rds", region_name=AWS_REGION) + conn = client("rds", region_name=AWS_REGION_EU_WEST_1) conn.create_db_instance( DBInstanceIdentifier="db-master-1", AllocatedStorage=10, @@ -129,16 +94,16 @@ class Test_rds_instance_deprecated_engine_version: == "RDS instance db-master-1 is not using a deprecated engine mysql with version 8.0.32." ) assert result[0].resource_id == "db-master-1" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert ( result[0].resource_arn - == f"arn:aws:rds:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:db:db-master-1" + == f"arn:aws:rds:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:db:db-master-1" ) assert result[0].resource_tags == [] @mock_rds def test_rds_instance_deprecated_engine_version(self): - conn = client("rds", region_name=AWS_REGION) + conn = client("rds", region_name=AWS_REGION_EU_WEST_1) conn.create_db_instance( DBInstanceIdentifier="db-master-2", AllocatedStorage=10, @@ -175,9 +140,9 @@ class Test_rds_instance_deprecated_engine_version: == "RDS instance db-master-2 is using a deprecated engine mysql with version 8.0.23." ) assert result[0].resource_id == "db-master-2" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert ( result[0].resource_arn - == f"arn:aws:rds:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:db:db-master-2" + == f"arn:aws:rds:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:db:db-master-2" ) assert result[0].resource_tags == [] diff --git a/tests/providers/aws/services/rds/rds_instance_enhanced_monitoring_enabled/rds_instance_enhanced_monitoring_enabled_test.py b/tests/providers/aws/services/rds/rds_instance_enhanced_monitoring_enabled/rds_instance_enhanced_monitoring_enabled_test.py index 444a1f30c1..0a1e72f3ef 100644 --- a/tests/providers/aws/services/rds/rds_instance_enhanced_monitoring_enabled/rds_instance_enhanced_monitoring_enabled_test.py +++ b/tests/providers/aws/services/rds/rds_instance_enhanced_monitoring_enabled/rds_instance_enhanced_monitoring_enabled_test.py @@ -6,13 +6,11 @@ from boto3 import client from moto import mock_rds from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" -AWS_REGION = "us-east-1" - make_api_call = botocore.client.BaseClient._make_api_call @@ -59,7 +57,7 @@ class Test_rds_instance_enhanced_monitoring_enabled: @mock_rds def test_rds_instance_no_monitoring(self): - conn = client("rds", region_name=AWS_REGION) + conn = client("rds", region_name=AWS_REGION_EU_WEST_1) conn.create_db_instance( DBInstanceIdentifier="db-master-1", AllocatedStorage=10, @@ -95,16 +93,16 @@ class Test_rds_instance_enhanced_monitoring_enabled: result[0].status_extended, ) assert result[0].resource_id == "db-master-1" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert ( result[0].resource_arn - == f"arn:aws:rds:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:db:db-master-1" + == f"arn:aws:rds:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:db:db-master-1" ) assert result[0].resource_tags == [] @mock_rds def test_rds_instance_with_monitoring(self): - conn = client("rds", region_name=AWS_REGION) + conn = client("rds", region_name=AWS_REGION_EU_WEST_1) conn.create_db_instance( DBInstanceIdentifier="db-master-1", AllocatedStorage=10, @@ -141,9 +139,9 @@ class Test_rds_instance_enhanced_monitoring_enabled: result[0].status_extended, ) assert result[0].resource_id == "db-master-1" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert ( result[0].resource_arn - == f"arn:aws:rds:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:db:db-master-1" + == f"arn:aws:rds:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:db:db-master-1" ) assert result[0].resource_tags == [] diff --git a/tests/providers/aws/services/rds/rds_instance_integration_cloudwatch_logs/rds_instance_integration_cloudwatch_logs_test.py b/tests/providers/aws/services/rds/rds_instance_integration_cloudwatch_logs/rds_instance_integration_cloudwatch_logs_test.py index d417f726e1..ff5f70b078 100644 --- a/tests/providers/aws/services/rds/rds_instance_integration_cloudwatch_logs/rds_instance_integration_cloudwatch_logs_test.py +++ b/tests/providers/aws/services/rds/rds_instance_integration_cloudwatch_logs/rds_instance_integration_cloudwatch_logs_test.py @@ -6,13 +6,11 @@ from boto3 import client from moto import mock_rds from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" -AWS_REGION = "us-east-1" - make_api_call = botocore.client.BaseClient._make_api_call @@ -59,7 +57,7 @@ class Test_rds_instance_integration_cloudwatch_logs: @mock_rds def test_rds_instance_no_logs(self): - conn = client("rds", region_name=AWS_REGION) + conn = client("rds", region_name=AWS_REGION_EU_WEST_1) conn.create_db_instance( DBInstanceIdentifier="db-master-1", AllocatedStorage=10, @@ -95,16 +93,16 @@ class Test_rds_instance_integration_cloudwatch_logs: result[0].status_extended, ) assert result[0].resource_id == "db-master-1" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert ( result[0].resource_arn - == f"arn:aws:rds:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:db:db-master-1" + == f"arn:aws:rds:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:db:db-master-1" ) assert result[0].resource_tags == [] @mock_rds def test_rds_instance_with_logs(self): - conn = client("rds", region_name=AWS_REGION) + conn = client("rds", region_name=AWS_REGION_EU_WEST_1) conn.create_db_instance( DBInstanceIdentifier="db-master-1", AllocatedStorage=10, @@ -141,9 +139,9 @@ class Test_rds_instance_integration_cloudwatch_logs: result[0].status_extended, ) assert result[0].resource_id == "db-master-1" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert ( result[0].resource_arn - == f"arn:aws:rds:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:db:db-master-1" + == f"arn:aws:rds:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:db:db-master-1" ) assert result[0].resource_tags == [] diff --git a/tests/providers/aws/services/rds/rds_instance_minor_version_upgrade_enabled/rds_instance_minor_version_upgrade_enabled_test.py b/tests/providers/aws/services/rds/rds_instance_minor_version_upgrade_enabled/rds_instance_minor_version_upgrade_enabled_test.py index 4ccfa38330..fc1b5578e8 100644 --- a/tests/providers/aws/services/rds/rds_instance_minor_version_upgrade_enabled/rds_instance_minor_version_upgrade_enabled_test.py +++ b/tests/providers/aws/services/rds/rds_instance_minor_version_upgrade_enabled/rds_instance_minor_version_upgrade_enabled_test.py @@ -6,13 +6,11 @@ from boto3 import client from moto import mock_rds from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" -AWS_REGION = "us-east-1" - make_api_call = botocore.client.BaseClient._make_api_call @@ -59,7 +57,7 @@ class Test_rds_instance_minor_version_upgrade_enabled: @mock_rds def test_rds_instance_no_auto_upgrade(self): - conn = client("rds", region_name=AWS_REGION) + conn = client("rds", region_name=AWS_REGION_EU_WEST_1) conn.create_db_instance( DBInstanceIdentifier="db-master-1", AllocatedStorage=10, @@ -95,16 +93,16 @@ class Test_rds_instance_minor_version_upgrade_enabled: result[0].status_extended, ) assert result[0].resource_id == "db-master-1" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert ( result[0].resource_arn - == f"arn:aws:rds:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:db:db-master-1" + == f"arn:aws:rds:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:db:db-master-1" ) assert result[0].resource_tags == [] @mock_rds def test_rds_instance_with_auto_upgrade(self): - conn = client("rds", region_name=AWS_REGION) + conn = client("rds", region_name=AWS_REGION_EU_WEST_1) conn.create_db_instance( DBInstanceIdentifier="db-master-1", AllocatedStorage=10, @@ -141,9 +139,9 @@ class Test_rds_instance_minor_version_upgrade_enabled: result[0].status_extended, ) assert result[0].resource_id == "db-master-1" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert ( result[0].resource_arn - == f"arn:aws:rds:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:db:db-master-1" + == f"arn:aws:rds:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:db:db-master-1" ) assert result[0].resource_tags == [] diff --git a/tests/providers/aws/services/rds/rds_instance_multi_az/rds_instance_multi_az_test.py b/tests/providers/aws/services/rds/rds_instance_multi_az/rds_instance_multi_az_test.py index d3c1094f1c..2a2744e4b4 100644 --- a/tests/providers/aws/services/rds/rds_instance_multi_az/rds_instance_multi_az_test.py +++ b/tests/providers/aws/services/rds/rds_instance_multi_az/rds_instance_multi_az_test.py @@ -7,13 +7,11 @@ from moto import mock_rds from prowler.providers.aws.services.rds.rds_service import DBCluster, DBInstance from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" -AWS_REGION = "us-east-1" - make_api_call = botocore.client.BaseClient._make_api_call @@ -60,7 +58,7 @@ class Test_rds_instance_multi_az: @mock_rds def test_rds_instance_no_multi_az(self): - conn = client("rds", region_name=AWS_REGION) + conn = client("rds", region_name=AWS_REGION_EU_WEST_1) conn.create_db_instance( DBInstanceIdentifier="db-master-1", AllocatedStorage=10, @@ -95,16 +93,16 @@ class Test_rds_instance_multi_az: result[0].status_extended, ) assert result[0].resource_id == "db-master-1" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert ( result[0].resource_arn - == f"arn:aws:rds:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:db:db-master-1" + == f"arn:aws:rds:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:db:db-master-1" ) assert result[0].resource_tags == [] @mock_rds def test_rds_instance_multi_az(self): - conn = client("rds", region_name=AWS_REGION) + conn = client("rds", region_name=AWS_REGION_EU_WEST_1) conn.create_db_instance( DBInstanceIdentifier="db-master-1", AllocatedStorage=10, @@ -141,18 +139,16 @@ class Test_rds_instance_multi_az: result[0].status_extended, ) assert result[0].resource_id == "db-master-1" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert ( result[0].resource_arn - == f"arn:aws:rds:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:db:db-master-1" + == f"arn:aws:rds:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:db:db-master-1" ) assert result[0].resource_tags == [] def test_rds_instance_in_cluster_multi_az(self): rds_client = mock.MagicMock - cluster_arn = ( - f"arn:aws:rds:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:cluster:test-cluster" - ) + cluster_arn = f"arn:aws:rds:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:cluster:test-cluster" rds_client.db_clusters = { cluster_arn: DBCluster( id="test-cluster", @@ -168,14 +164,14 @@ class Test_rds_instance_multi_az: deletion_protection=False, parameter_group="", multi_az=True, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, tags=[], ) } rds_client.db_instances = [ DBInstance( id="test-instance", - arn=f"arn:aws:rds:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:db:test-instance", + arn=f"arn:aws:rds:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:db:test-instance", endpoint="", engine="aurora", engine_version="1.0.0", @@ -190,7 +186,7 @@ class Test_rds_instance_multi_az: multi_az=False, cluster_id="test-cluster", cluster_arn=cluster_arn, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, tags=[], ) ] @@ -220,18 +216,16 @@ class Test_rds_instance_multi_az: result[0].status_extended, ) assert result[0].resource_id == "test-instance" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert ( result[0].resource_arn - == f"arn:aws:rds:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:db:test-instance" + == f"arn:aws:rds:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:db:test-instance" ) assert result[0].resource_tags == [] def test_rds_instance_in_cluster_without_multi_az(self): rds_client = mock.MagicMock - cluster_arn = ( - f"arn:aws:rds:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:cluster:test-cluster" - ) + cluster_arn = f"arn:aws:rds:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:cluster:test-cluster" rds_client.db_clusters = { cluster_arn: DBCluster( id="test-cluster", @@ -247,14 +241,14 @@ class Test_rds_instance_multi_az: deletion_protection=False, parameter_group="", multi_az=False, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, tags=[], ) } rds_client.db_instances = [ DBInstance( id="test-instance", - arn=f"arn:aws:rds:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:db:test-instance", + arn=f"arn:aws:rds:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:db:test-instance", endpoint="", engine="aurora", engine_version="1.0.0", @@ -269,7 +263,7 @@ class Test_rds_instance_multi_az: multi_az=False, cluster_id="test-cluster", cluster_arn=cluster_arn, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, tags=[], ) ] @@ -299,9 +293,9 @@ class Test_rds_instance_multi_az: result[0].status_extended, ) assert result[0].resource_id == "test-instance" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert ( result[0].resource_arn - == f"arn:aws:rds:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:db:test-instance" + == f"arn:aws:rds:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:db:test-instance" ) assert result[0].resource_tags == [] diff --git a/tests/providers/aws/services/rds/rds_instance_no_public_access/rds_instance_no_public_access_test.py b/tests/providers/aws/services/rds/rds_instance_no_public_access/rds_instance_no_public_access_test.py index 75c8b0de49..88eefa4f8e 100644 --- a/tests/providers/aws/services/rds/rds_instance_no_public_access/rds_instance_no_public_access_test.py +++ b/tests/providers/aws/services/rds/rds_instance_no_public_access/rds_instance_no_public_access_test.py @@ -6,13 +6,11 @@ from boto3 import client from moto import mock_rds from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" -AWS_REGION = "us-east-1" - make_api_call = botocore.client.BaseClient._make_api_call @@ -59,7 +57,7 @@ class Test_rds_instance_no_public_access: @mock_rds def test_rds_instance_private(self): - conn = client("rds", region_name=AWS_REGION) + conn = client("rds", region_name=AWS_REGION_EU_WEST_1) conn.create_db_instance( DBInstanceIdentifier="db-master-1", AllocatedStorage=10, @@ -95,16 +93,16 @@ class Test_rds_instance_no_public_access: result[0].status_extended, ) assert result[0].resource_id == "db-master-1" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert ( result[0].resource_arn - == f"arn:aws:rds:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:db:db-master-1" + == f"arn:aws:rds:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:db:db-master-1" ) assert result[0].resource_tags == [] @mock_rds def test_rds_instance_public(self): - conn = client("rds", region_name=AWS_REGION) + conn = client("rds", region_name=AWS_REGION_EU_WEST_1) conn.create_db_instance( DBInstanceIdentifier="db-master-1", AllocatedStorage=10, @@ -141,9 +139,9 @@ class Test_rds_instance_no_public_access: result[0].status_extended, ) assert result[0].resource_id == "db-master-1" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert ( result[0].resource_arn - == f"arn:aws:rds:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:db:db-master-1" + == f"arn:aws:rds:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:db:db-master-1" ) assert result[0].resource_tags == [] diff --git a/tests/providers/aws/services/rds/rds_instance_storage_encrypted/rds_instance_storage_encrypted_test.py b/tests/providers/aws/services/rds/rds_instance_storage_encrypted/rds_instance_storage_encrypted_test.py index df67da413f..89579a15e3 100644 --- a/tests/providers/aws/services/rds/rds_instance_storage_encrypted/rds_instance_storage_encrypted_test.py +++ b/tests/providers/aws/services/rds/rds_instance_storage_encrypted/rds_instance_storage_encrypted_test.py @@ -6,13 +6,11 @@ from boto3 import client from moto import mock_rds from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" -AWS_REGION = "us-east-1" - make_api_call = botocore.client.BaseClient._make_api_call @@ -59,7 +57,7 @@ class Test_rds_instance_storage_encrypted: @mock_rds def test_rds_instance_no_encryption(self): - conn = client("rds", region_name=AWS_REGION) + conn = client("rds", region_name=AWS_REGION_EU_WEST_1) conn.create_db_instance( DBInstanceIdentifier="db-master-1", AllocatedStorage=10, @@ -94,16 +92,16 @@ class Test_rds_instance_storage_encrypted: result[0].status_extended, ) assert result[0].resource_id == "db-master-1" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert ( result[0].resource_arn - == f"arn:aws:rds:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:db:db-master-1" + == f"arn:aws:rds:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:db:db-master-1" ) assert result[0].resource_tags == [] @mock_rds def test_rds_instance_with_encryption(self): - conn = client("rds", region_name=AWS_REGION) + conn = client("rds", region_name=AWS_REGION_EU_WEST_1) conn.create_db_instance( DBInstanceIdentifier="db-master-1", AllocatedStorage=10, @@ -140,9 +138,9 @@ class Test_rds_instance_storage_encrypted: result[0].status_extended, ) assert result[0].resource_id == "db-master-1" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert ( result[0].resource_arn - == f"arn:aws:rds:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:db:db-master-1" + == f"arn:aws:rds:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:db:db-master-1" ) assert result[0].resource_tags == [] diff --git a/tests/providers/aws/services/rds/rds_instance_transport_encrypted/rds_instance_transport_encrypted_test.py b/tests/providers/aws/services/rds/rds_instance_transport_encrypted/rds_instance_transport_encrypted_test.py index 8e5534bba0..55a4bdd872 100644 --- a/tests/providers/aws/services/rds/rds_instance_transport_encrypted/rds_instance_transport_encrypted_test.py +++ b/tests/providers/aws/services/rds/rds_instance_transport_encrypted/rds_instance_transport_encrypted_test.py @@ -6,13 +6,11 @@ from boto3 import client from moto import mock_rds from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" -AWS_REGION = "us-east-1" - make_api_call = botocore.client.BaseClient._make_api_call @@ -59,7 +57,7 @@ class Test_rds_instance_transport_encrypted: @mock_rds def test_rds_aurora_instance(self): - conn = client("rds", region_name=AWS_REGION) + conn = client("rds", region_name=AWS_REGION_EU_WEST_1) conn.create_db_parameter_group( DBParameterGroupName="test", DBParameterGroupFamily="default.aurora-postgresql14", @@ -97,7 +95,7 @@ class Test_rds_instance_transport_encrypted: @mock_rds def test_rds_instance_no_ssl(self): - conn = client("rds", region_name=AWS_REGION) + conn = client("rds", region_name=AWS_REGION_EU_WEST_1) conn.create_db_parameter_group( DBParameterGroupName="test", DBParameterGroupFamily="default.postgres9.3", @@ -150,16 +148,16 @@ class Test_rds_instance_transport_encrypted: result[0].status_extended, ) assert result[0].resource_id == "db-master-1" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert ( result[0].resource_arn - == f"arn:aws:rds:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:db:db-master-1" + == f"arn:aws:rds:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:db:db-master-1" ) assert result[0].resource_tags == [] @mock_rds def test_rds_instance_with_ssl(self): - conn = client("rds", region_name=AWS_REGION) + conn = client("rds", region_name=AWS_REGION_EU_WEST_1) conn.create_db_parameter_group( DBParameterGroupName="test", DBParameterGroupFamily="default.postgres9.3", @@ -212,9 +210,9 @@ class Test_rds_instance_transport_encrypted: result[0].status_extended, ) assert result[0].resource_id == "db-master-1" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert ( result[0].resource_arn - == f"arn:aws:rds:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:db:db-master-1" + == f"arn:aws:rds:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:db:db-master-1" ) assert result[0].resource_tags == [] diff --git a/tests/providers/aws/services/rds/rds_service_test.py b/tests/providers/aws/services/rds/rds_service_test.py index 2c2aab31d6..0f9b0eae3c 100644 --- a/tests/providers/aws/services/rds/rds_service_test.py +++ b/tests/providers/aws/services/rds/rds_service_test.py @@ -1,20 +1,16 @@ from unittest.mock import patch import botocore -from boto3 import client, session +from boto3 import client from moto import mock_rds -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info from prowler.providers.aws.services.rds.rds_service import RDS -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" -AWS_REGION = "us-east-1" - make_api_call = botocore.client.BaseClient._make_api_call @@ -35,36 +31,6 @@ def mock_make_api_call(self, operation_name, kwarg): @patch("botocore.client.BaseClient._make_api_call", new=mock_make_api_call) class Test_RDS_Service: - 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=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, - ), - ) - return audit_info - # Test Dynamo Service @mock_rds def test_service(self): @@ -101,7 +67,7 @@ class Test_RDS_Service: # Test RDS Describe DB Instances @mock_rds def test__describe_db_instances__(self): - conn = client("rds", region_name=AWS_REGION) + conn = client("rds", region_name=AWS_REGION_EU_WEST_1) conn.create_db_parameter_group( DBParameterGroupName="test", DBParameterGroupFamily="default.postgres9.3", @@ -130,7 +96,7 @@ class Test_RDS_Service: rds = RDS(audit_info) assert len(rds.db_instances) == 1 assert rds.db_instances[0].id == "db-master-1" - assert rds.db_instances[0].region == AWS_REGION + assert rds.db_instances[0].region == AWS_REGION_EU_WEST_1 assert ( rds.db_instances[0].endpoint["Address"] == "db-master-1.aaaaaaaaaa.us-east-1.rds.amazonaws.com" @@ -150,7 +116,7 @@ class Test_RDS_Service: @mock_rds def test__describe_db_parameters__(self): - conn = client("rds", region_name=AWS_REGION) + conn = client("rds", region_name=AWS_REGION_EU_WEST_1) conn.create_db_parameter_group( DBParameterGroupName="test", DBParameterGroupFamily="default.postgres9.3", @@ -180,7 +146,7 @@ class Test_RDS_Service: rds = RDS(audit_info) assert len(rds.db_instances) == 1 assert rds.db_instances[0].id == "db-master-1" - assert rds.db_instances[0].region == AWS_REGION + assert rds.db_instances[0].region == AWS_REGION_EU_WEST_1 for parameter in rds.db_instances[0].parameters: if parameter["ParameterName"] == "rds.force_ssl": assert parameter["ParameterValue"] == "1" @@ -188,7 +154,7 @@ class Test_RDS_Service: # Test RDS Describe DB Snapshots @mock_rds def test__describe_db_snapshots__(self): - conn = client("rds", region_name=AWS_REGION) + conn = client("rds", region_name=AWS_REGION_EU_WEST_1) conn.create_db_instance( DBInstanceIdentifier="db-primary-1", AllocatedStorage=10, @@ -206,13 +172,13 @@ class Test_RDS_Service: assert len(rds.db_snapshots) == 1 assert rds.db_snapshots[0].id == "snapshot-1" assert rds.db_snapshots[0].instance_id == "db-primary-1" - assert rds.db_snapshots[0].region == AWS_REGION + assert rds.db_snapshots[0].region == AWS_REGION_EU_WEST_1 assert not rds.db_snapshots[0].public # Test RDS Describe DB Clusters @mock_rds def test__describe_db_clusters__(self): - conn = client("rds", region_name=AWS_REGION) + conn = client("rds", region_name=AWS_REGION_EU_WEST_1) cluster_id = "db-master-1" conn.create_db_parameter_group( DBParameterGroupName="test", @@ -241,16 +207,14 @@ class Test_RDS_Service: audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) rds = RDS(audit_info) - db_cluster_arn = ( - f"arn:aws:rds:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:cluster:{cluster_id}" - ) + db_cluster_arn = f"arn:aws:rds:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:cluster:{cluster_id}" assert len(rds.db_clusters) == 1 assert rds.db_clusters[db_cluster_arn].id == "db-master-1" assert rds.db_clusters[db_cluster_arn].engine == "postgres" - assert rds.db_clusters[db_cluster_arn].region == AWS_REGION + assert rds.db_clusters[db_cluster_arn].region == AWS_REGION_EU_WEST_1 assert ( - f"{AWS_REGION}.rds.amazonaws.com" + f"{AWS_REGION_EU_WEST_1}.rds.amazonaws.com" in rds.db_clusters[db_cluster_arn].endpoint ) assert rds.db_clusters[db_cluster_arn].status == "available" @@ -269,7 +233,7 @@ class Test_RDS_Service: # Test RDS Describe DB Cluster Snapshots @mock_rds def test__describe_db_cluster_snapshots__(self): - conn = client("rds", region_name=AWS_REGION) + conn = client("rds", region_name=AWS_REGION_EU_WEST_1) conn.create_db_cluster( DBClusterIdentifier="db-primary-1", AllocatedStorage=10, @@ -288,7 +252,7 @@ class Test_RDS_Service: assert len(rds.db_cluster_snapshots) == 1 assert rds.db_cluster_snapshots[0].id == "snapshot-1" assert rds.db_cluster_snapshots[0].cluster_id == "db-primary-1" - assert rds.db_cluster_snapshots[0].region == AWS_REGION + assert rds.db_cluster_snapshots[0].region == AWS_REGION_EU_WEST_1 assert not rds.db_cluster_snapshots[0].public # Test RDS describe db engine versions @@ -297,6 +261,11 @@ class Test_RDS_Service: # RDS client for this test class audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) rds = RDS(audit_info) - assert "mysql" in rds.db_engines[AWS_REGION] - assert rds.db_engines[AWS_REGION]["mysql"].engine_versions == ["8.0.32"] - assert rds.db_engines[AWS_REGION]["mysql"].engine_description == "description" + assert "mysql" in rds.db_engines[AWS_REGION_EU_WEST_1] + assert rds.db_engines[AWS_REGION_EU_WEST_1]["mysql"].engine_versions == [ + "8.0.32" + ] + assert ( + rds.db_engines[AWS_REGION_EU_WEST_1]["mysql"].engine_description + == "description" + ) diff --git a/tests/providers/aws/services/rds/rds_snapshots_public_access/rds_snapshots_public_access_test.py b/tests/providers/aws/services/rds/rds_snapshots_public_access/rds_snapshots_public_access_test.py index 6ea40b7e94..3374fe3db6 100644 --- a/tests/providers/aws/services/rds/rds_snapshots_public_access/rds_snapshots_public_access_test.py +++ b/tests/providers/aws/services/rds/rds_snapshots_public_access/rds_snapshots_public_access_test.py @@ -2,19 +2,15 @@ from re import search from unittest import mock import botocore -from boto3 import client, session +from boto3 import client from moto import mock_rds -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" -AWS_REGION = "us-east-1" - make_api_call = botocore.client.BaseClient._make_api_call @@ -43,37 +39,6 @@ def mock_make_api_call(self, operation_name, kwarg): class Test_rds_snapshots_public_access: - 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, - region_name=AWS_REGION, - ), - 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=AWS_REGION, - 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, - ), - ) - return audit_info - @mock_rds @mock.patch("botocore.client.BaseClient._make_api_call", new=mock_make_api_call) def test_rds_no_snapshots(self): @@ -102,7 +67,7 @@ class Test_rds_snapshots_public_access: @mock_rds @mock.patch("botocore.client.BaseClient._make_api_call", new=mock_make_api_call) def test_rds_private_snapshot(self): - conn = client("rds", region_name=AWS_REGION) + conn = client("rds", region_name=AWS_REGION_EU_WEST_1) conn.create_db_instance( DBInstanceIdentifier="db-primary-1", AllocatedStorage=10, @@ -146,7 +111,7 @@ class Test_rds_snapshots_public_access: @mock_rds @mock.patch("botocore.client.BaseClient._make_api_call", new=mock_make_api_call) def test_rds_public_snapshot(self): - conn = client("rds", region_name=AWS_REGION) + conn = client("rds", region_name=AWS_REGION_EU_WEST_1) conn.create_db_instance( DBInstanceIdentifier="db-primary-1", AllocatedStorage=10, @@ -187,17 +152,17 @@ class Test_rds_snapshots_public_access: result[0].status_extended, ) assert result[0].resource_id == "snapshot-1" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert ( result[0].resource_arn - == f"arn:aws:rds:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:snapshot:snapshot-1" + == f"arn:aws:rds:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:snapshot:snapshot-1" ) assert result[0].resource_tags == [] @mock_rds @mock.patch("botocore.client.BaseClient._make_api_call", new=mock_make_api_call) def test_rds_cluster_private_snapshot(self): - conn = client("rds", region_name=AWS_REGION) + conn = client("rds", region_name=AWS_REGION_EU_WEST_1) conn.create_db_cluster( DBClusterIdentifier="db-primary-1", AllocatedStorage=10, @@ -237,17 +202,17 @@ class Test_rds_snapshots_public_access: result[0].status_extended, ) assert result[0].resource_id == "snapshot-1" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert ( result[0].resource_arn - == f"arn:aws:rds:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:cluster-snapshot:snapshot-1" + == f"arn:aws:rds:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:cluster-snapshot:snapshot-1" ) assert result[0].resource_tags == [] @mock_rds @mock.patch("botocore.client.BaseClient._make_api_call", new=mock_make_api_call) def test_rds_cluster_public_snapshot(self): - conn = client("rds", region_name=AWS_REGION) + conn = client("rds", region_name=AWS_REGION_EU_WEST_1) conn.create_db_cluster( DBClusterIdentifier="db-primary-1", AllocatedStorage=10, @@ -288,9 +253,9 @@ class Test_rds_snapshots_public_access: result[0].status_extended, ) assert result[0].resource_id == "snapshot-1" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert ( result[0].resource_arn - == f"arn:aws:rds:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:cluster-snapshot:snapshot-1" + == f"arn:aws:rds:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:cluster-snapshot:snapshot-1" ) assert result[0].resource_tags == [] diff --git a/tests/providers/aws/services/redshift/redshift_cluster_audit_logging/redshift_cluster_audit_logging_test.py b/tests/providers/aws/services/redshift/redshift_cluster_audit_logging/redshift_cluster_audit_logging_test.py index 4d8fb48f50..2cc81ab0a5 100644 --- a/tests/providers/aws/services/redshift/redshift_cluster_audit_logging/redshift_cluster_audit_logging_test.py +++ b/tests/providers/aws/services/redshift/redshift_cluster_audit_logging/redshift_cluster_audit_logging_test.py @@ -3,11 +3,15 @@ from unittest import mock from uuid import uuid4 from prowler.providers.aws.services.redshift.redshift_service import Cluster +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, + AWS_REGION_EU_WEST_1, +) -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" CLUSTER_ID = str(uuid4()) -CLUSTER_ARN = f"arn:aws:redshift:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:cluster:{CLUSTER_ID}" +CLUSTER_ARN = ( + f"arn:aws:redshift:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:cluster:{CLUSTER_ID}" +) class Test_redshift_cluster_audit_logging: @@ -33,7 +37,7 @@ class Test_redshift_cluster_audit_logging: Cluster( id=CLUSTER_ID, arn=CLUSTER_ARN, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, logging_enabled=False, ) ) @@ -59,7 +63,7 @@ class Test_redshift_cluster_audit_logging: Cluster( id=CLUSTER_ID, arn=CLUSTER_ARN, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, logging_enabled=True, endpoint_address="192.192.192.192", ) diff --git a/tests/providers/aws/services/redshift/redshift_cluster_automated_snapshot/redshift_cluster_automated_snapshot_test.py b/tests/providers/aws/services/redshift/redshift_cluster_automated_snapshot/redshift_cluster_automated_snapshot_test.py index cffee0811b..1ccd61e10b 100644 --- a/tests/providers/aws/services/redshift/redshift_cluster_automated_snapshot/redshift_cluster_automated_snapshot_test.py +++ b/tests/providers/aws/services/redshift/redshift_cluster_automated_snapshot/redshift_cluster_automated_snapshot_test.py @@ -3,12 +3,15 @@ from unittest import mock from uuid import uuid4 from prowler.providers.aws.services.redshift.redshift_service import Cluster - -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, + AWS_REGION_EU_WEST_1, +) CLUSTER_ID = str(uuid4()) -CLUSTER_ARN = f"arn:aws:redshift:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:cluster:{CLUSTER_ID}" +CLUSTER_ARN = ( + f"arn:aws:redshift:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:cluster:{CLUSTER_ID}" +) class Test_redshift_cluster_automated_snapshot: @@ -34,7 +37,7 @@ class Test_redshift_cluster_automated_snapshot: Cluster( id=CLUSTER_ID, arn=CLUSTER_ARN, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, cluster_snapshots=False, ) ) @@ -60,7 +63,7 @@ class Test_redshift_cluster_automated_snapshot: Cluster( id=CLUSTER_ID, arn=CLUSTER_ARN, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, cluster_snapshots=True, ) ) diff --git a/tests/providers/aws/services/redshift/redshift_cluster_automatic_upgrades/redshift_cluster_automatic_upgrades_test.py b/tests/providers/aws/services/redshift/redshift_cluster_automatic_upgrades/redshift_cluster_automatic_upgrades_test.py index c58f1fd9f1..1fa9f2f4df 100644 --- a/tests/providers/aws/services/redshift/redshift_cluster_automatic_upgrades/redshift_cluster_automatic_upgrades_test.py +++ b/tests/providers/aws/services/redshift/redshift_cluster_automatic_upgrades/redshift_cluster_automatic_upgrades_test.py @@ -3,11 +3,15 @@ from unittest import mock from uuid import uuid4 from prowler.providers.aws.services.redshift.redshift_service import Cluster +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, + AWS_REGION_EU_WEST_1, +) -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" CLUSTER_ID = str(uuid4()) -CLUSTER_ARN = f"arn:aws:redshift:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:cluster:{CLUSTER_ID}" +CLUSTER_ARN = ( + f"arn:aws:redshift:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:cluster:{CLUSTER_ID}" +) class Test_redshift_cluster_automatic_upgrades: @@ -33,7 +37,7 @@ class Test_redshift_cluster_automatic_upgrades: Cluster( id=CLUSTER_ID, arn=CLUSTER_ARN, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, allow_version_upgrade=False, ) ) @@ -59,7 +63,7 @@ class Test_redshift_cluster_automatic_upgrades: Cluster( id=CLUSTER_ID, arn=CLUSTER_ARN, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, allow_version_upgrade=True, ) ) diff --git a/tests/providers/aws/services/redshift/redshift_cluster_public_access/redshift_cluster_public_access_test.py b/tests/providers/aws/services/redshift/redshift_cluster_public_access/redshift_cluster_public_access_test.py index 505604573c..5b6cb363bd 100644 --- a/tests/providers/aws/services/redshift/redshift_cluster_public_access/redshift_cluster_public_access_test.py +++ b/tests/providers/aws/services/redshift/redshift_cluster_public_access/redshift_cluster_public_access_test.py @@ -3,11 +3,15 @@ from unittest import mock from uuid import uuid4 from prowler.providers.aws.services.redshift.redshift_service import Cluster +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, + AWS_REGION_EU_WEST_1, +) -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" CLUSTER_ID = str(uuid4()) -CLUSTER_ARN = f"arn:aws:redshift:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:cluster:{CLUSTER_ID}" +CLUSTER_ARN = ( + f"arn:aws:redshift:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:cluster:{CLUSTER_ID}" +) class Test_redshift_cluster_public_access: @@ -33,7 +37,7 @@ class Test_redshift_cluster_public_access: Cluster( id=CLUSTER_ID, arn=CLUSTER_ARN, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, public_access=True, endpoint_address="192.192.192.192", ) @@ -60,7 +64,7 @@ class Test_redshift_cluster_public_access: Cluster( id=CLUSTER_ID, arn=CLUSTER_ARN, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, public_access=False, endpoint_address="192.192.192.192", ) @@ -87,7 +91,7 @@ class Test_redshift_cluster_public_access: Cluster( id=CLUSTER_ID, arn=CLUSTER_ARN, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, public_access=True, ) ) diff --git a/tests/providers/aws/services/redshift/redshift_service_test.py b/tests/providers/aws/services/redshift/redshift_service_test.py index d9ced23c41..26aa832a28 100644 --- a/tests/providers/aws/services/redshift/redshift_service_test.py +++ b/tests/providers/aws/services/redshift/redshift_service_test.py @@ -2,20 +2,16 @@ from unittest.mock import patch from uuid import uuid4 import botocore -from boto3 import client, session +from boto3 import client from moto import mock_redshift -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info from prowler.providers.aws.services.redshift.redshift_service import Redshift -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" -AWS_REGION = "eu-west-1" - topic_name = "test-topic" test_policy = { "Statement": [ @@ -23,7 +19,7 @@ test_policy = { "Effect": "Allow", "Principal": {"AWS": f"{AWS_ACCOUNT_NUMBER}"}, "Action": ["redshift:Publish"], - "Resource": f"arn:aws:redshift:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:{topic_name}", + "Resource": f"arn:aws:redshift:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:{topic_name}", } ] } @@ -51,9 +47,11 @@ def mock_make_api_call(self, operation_name, kwarg): 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_EU_WEST_1 + ) + regional_client.region = AWS_REGION_EU_WEST_1 + return {AWS_REGION_EU_WEST_1: regional_client} @patch("botocore.client.BaseClient._make_api_call", new=mock_make_api_call) @@ -62,36 +60,6 @@ def mock_generate_regional_clients(service, audit_info, _): new=mock_generate_regional_clients, ) class Test_Redshift_Service: - 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=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=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 Redshift Service def test_service(self): audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) @@ -113,7 +81,7 @@ class Test_Redshift_Service: @mock_redshift def test_describe_clusters(self): - redshift_client = client("redshift", region_name=AWS_REGION) + redshift_client = client("redshift", region_name=AWS_REGION_EU_WEST_1) response = redshift_client.create_cluster( DBName="test", ClusterIdentifier=cluster_id, @@ -131,7 +99,7 @@ class Test_Redshift_Service: assert len(redshift.clusters) == 1 assert redshift.clusters[0].id == cluster_id - assert redshift.clusters[0].region == AWS_REGION + assert redshift.clusters[0].region == AWS_REGION_EU_WEST_1 assert redshift.clusters[0].public_access assert ( redshift.clusters[0].endpoint_address @@ -147,7 +115,7 @@ class Test_Redshift_Service: @mock_redshift def test_describe_logging_status(self): - redshift_client = client("redshift", region_name=AWS_REGION) + redshift_client = client("redshift", region_name=AWS_REGION_EU_WEST_1) response = redshift_client.create_cluster( DBName="test", ClusterIdentifier=cluster_id, @@ -162,7 +130,7 @@ class Test_Redshift_Service: assert len(redshift.clusters) == 1 assert redshift.clusters[0].id == cluster_id - assert redshift.clusters[0].region == AWS_REGION + assert redshift.clusters[0].region == AWS_REGION_EU_WEST_1 assert redshift.clusters[0].public_access assert ( redshift.clusters[0].endpoint_address @@ -177,7 +145,7 @@ class Test_Redshift_Service: @mock_redshift def test_describe_describe_cluster_snapshot(self): - redshift_client = client("redshift", region_name=AWS_REGION) + redshift_client = client("redshift", region_name=AWS_REGION_EU_WEST_1) response = redshift_client.create_cluster( DBName="test", ClusterIdentifier=cluster_id, @@ -192,7 +160,7 @@ class Test_Redshift_Service: assert len(redshift.clusters) == 1 assert redshift.clusters[0].id == cluster_id - assert redshift.clusters[0].region == AWS_REGION + assert redshift.clusters[0].region == AWS_REGION_EU_WEST_1 assert redshift.clusters[0].public_access assert ( redshift.clusters[0].endpoint_address diff --git a/tests/providers/aws/services/resourceexplorer2/resourceexplorer2_indexes_found/resourceexplorer2_indexes_found_test.py b/tests/providers/aws/services/resourceexplorer2/resourceexplorer2_indexes_found/resourceexplorer2_indexes_found_test.py index 10e15e5210..8de72c1062 100644 --- a/tests/providers/aws/services/resourceexplorer2/resourceexplorer2_indexes_found/resourceexplorer2_indexes_found_test.py +++ b/tests/providers/aws/services/resourceexplorer2/resourceexplorer2_indexes_found/resourceexplorer2_indexes_found_test.py @@ -1,50 +1,18 @@ from unittest import mock -from boto3 import session - -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info from prowler.providers.aws.services.resourceexplorer2.resourceexplorer2_service import ( Indexes, ) -from prowler.providers.common.models import Audit_Metadata +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, + AWS_REGION_EU_WEST_1, +) -AWS_ACCOUNT_NUMBER = "123456789012" -AWS_REGION = "us-east-1" INDEX_ARN = "arn:aws:resource-explorer-2:ap-south-1:123456789012:index/123456-2896-4fe8-93d2-15ec137e5c47" INDEX_REGION = "us-east-1" class Test_resourceexplorer2_indexes_found: - 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=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, - ), - ) - return audit_info - def test_no_indexes_found(self): resourceexplorer2_client = mock.MagicMock resourceexplorer2_client.indexes = [] @@ -52,7 +20,7 @@ class Test_resourceexplorer2_indexes_found: resourceexplorer2_client.audited_account_arn = ( f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" ) - resourceexplorer2_client.region = AWS_REGION + resourceexplorer2_client.region = AWS_REGION_EU_WEST_1 with mock.patch( "prowler.providers.aws.services.resourceexplorer2.resourceexplorer2_service.ResourceExplorer2", new=resourceexplorer2_client, @@ -71,7 +39,7 @@ class Test_resourceexplorer2_indexes_found: assert result[0].status_extended == "No Resource Explorer Indexes found." assert result[0].resource_id == AWS_ACCOUNT_NUMBER assert result[0].resource_arn == f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 def test_one_index_found(self): resourceexplorer2_client = mock.MagicMock @@ -82,7 +50,7 @@ class Test_resourceexplorer2_indexes_found: resourceexplorer2_client.audited_account_arn = ( f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" ) - resourceexplorer2_client.region = AWS_REGION + resourceexplorer2_client.region = AWS_REGION_EU_WEST_1 with mock.patch( "prowler.providers.aws.services.resourceexplorer2.resourceexplorer2_service.ResourceExplorer2", new=resourceexplorer2_client, @@ -101,4 +69,4 @@ class Test_resourceexplorer2_indexes_found: assert result[0].status_extended == "Resource Explorer Indexes found: 1." assert result[0].resource_id == AWS_ACCOUNT_NUMBER assert result[0].resource_arn == INDEX_ARN - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 diff --git a/tests/providers/aws/services/resourceexplorer2/resourceexplorer2_service_test.py b/tests/providers/aws/services/resourceexplorer2/resourceexplorer2_service_test.py index 3150ed17eb..eb8d302770 100644 --- a/tests/providers/aws/services/resourceexplorer2/resourceexplorer2_service_test.py +++ b/tests/providers/aws/services/resourceexplorer2/resourceexplorer2_service_test.py @@ -1,20 +1,15 @@ from unittest.mock import patch import botocore -from boto3 import session -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info from prowler.providers.aws.services.resourceexplorer2.resourceexplorer2_service import ( ResourceExplorer2, ) -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" -AWS_REGION = "eu-west-1" INDEX_ARN = "arn:aws:resource-explorer-2:ap-south-1:123456789012:index/123456-2896-4fe8-93d2-15ec137e5c47" INDEX_REGION = "us-east-1" @@ -36,9 +31,11 @@ def mock_make_api_call(self, operation_name, kwarg): 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_EU_WEST_1 + ) + regional_client.region = AWS_REGION_EU_WEST_1 + return {AWS_REGION_EU_WEST_1: regional_client} @patch("botocore.client.BaseClient._make_api_call", new=mock_make_api_call) @@ -47,41 +44,11 @@ def mock_generate_regional_clients(service, audit_info, _): new=mock_generate_regional_clients, ) class Test_ResourceExplorer2_Service: - 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=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=["us-east-1"], - 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 - def test__get_client__(self): audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) resourceeplorer2 = ResourceExplorer2(audit_info) assert ( - resourceeplorer2.regional_clients[AWS_REGION].__class__.__name__ + resourceeplorer2.regional_clients[AWS_REGION_EU_WEST_1].__class__.__name__ == "ResourceExplorer" ) diff --git a/tests/providers/aws/services/route53/route53_dangling_ip_subdomain_takeover/route53_dangling_ip_subdomain_takeover_test.py b/tests/providers/aws/services/route53/route53_dangling_ip_subdomain_takeover/route53_dangling_ip_subdomain_takeover_test.py index 7be4f908f9..7d67042e8c 100644 --- a/tests/providers/aws/services/route53/route53_dangling_ip_subdomain_takeover/route53_dangling_ip_subdomain_takeover_test.py +++ b/tests/providers/aws/services/route53/route53_dangling_ip_subdomain_takeover/route53_dangling_ip_subdomain_takeover_test.py @@ -1,52 +1,16 @@ from re import search from unittest import mock -from boto3 import client, resource, session +from boto3 import client, resource from moto import mock_ec2, mock_route53 -from moto.core import DEFAULT_ACCOUNT_ID -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" - class Test_route53_dangling_ip_subdomain_takeover: - 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, - region_name=AWS_REGION, - ), - audited_account=DEFAULT_ACCOUNT_ID, - audited_account_arn=f"arn:aws:iam::{DEFAULT_ACCOUNT_ID}: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, - ), - ) - return audit_info - @mock_ec2 @mock_route53 def test_no_hosted_zones(self): @@ -80,7 +44,7 @@ class Test_route53_dangling_ip_subdomain_takeover: @mock_ec2 @mock_route53 def test_hosted_zone_no_records(self): - conn = client("route53", region_name=AWS_REGION) + conn = client("route53", region_name=AWS_REGION_EU_WEST_1) conn.create_hosted_zone( Name="testdns.aws.com.", CallerReference=str(hash("foo")) @@ -116,7 +80,7 @@ class Test_route53_dangling_ip_subdomain_takeover: @mock_ec2 @mock_route53 def test_hosted_zone_private_record(self): - conn = client("route53", region_name=AWS_REGION) + conn = client("route53", region_name=AWS_REGION_EU_WEST_1) zone_id = conn.create_hosted_zone( Name="testdns.aws.com.", CallerReference=str(hash("foo")) @@ -180,7 +144,7 @@ class Test_route53_dangling_ip_subdomain_takeover: @mock_ec2 @mock_route53 def test_hosted_zone_external_record(self): - conn = client("route53", region_name=AWS_REGION) + conn = client("route53", region_name=AWS_REGION_EU_WEST_1) zone_id = conn.create_hosted_zone( Name="testdns.aws.com.", CallerReference=str(hash("foo")) @@ -244,7 +208,7 @@ class Test_route53_dangling_ip_subdomain_takeover: @mock_ec2 @mock_route53 def test_hosted_zone_dangling_public_record(self): - conn = client("route53", region_name=AWS_REGION) + conn = client("route53", region_name=AWS_REGION_EU_WEST_1) zone_id = conn.create_hosted_zone( Name="testdns.aws.com.", CallerReference=str(hash("foo")) @@ -308,8 +272,8 @@ class Test_route53_dangling_ip_subdomain_takeover: @mock_ec2 @mock_route53 def test_hosted_zone_eip_record(self): - conn = client("route53", region_name=AWS_REGION) - ec2 = client("ec2", region_name=AWS_REGION) + conn = client("route53", region_name=AWS_REGION_EU_WEST_1) + ec2 = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2.allocate_address(Domain="vpc", Address="17.5.7.3") @@ -375,9 +339,9 @@ class Test_route53_dangling_ip_subdomain_takeover: @mock_ec2 @mock_route53 def test_hosted_zone_eni_record(self): - conn = client("route53", region_name=AWS_REGION) - ec2 = resource("ec2", region_name=AWS_REGION) - ec2_client = client("ec2", region_name=AWS_REGION) + conn = client("route53", region_name=AWS_REGION_EU_WEST_1) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) vpc = ec2.create_vpc(CidrBlock="10.0.0.0/16") subnet = ec2.create_subnet(VpcId=vpc.id, CidrBlock="10.0.0.0/18") eni_id = ec2.create_network_interface(SubnetId=subnet.id).id diff --git a/tests/providers/aws/services/route53/route53_domains_privacy_protection_enabled/route53_domains_privacy_protection_enabled_test.py b/tests/providers/aws/services/route53/route53_domains_privacy_protection_enabled/route53_domains_privacy_protection_enabled_test.py index 4466a0c6a4..90b0840da7 100644 --- a/tests/providers/aws/services/route53/route53_domains_privacy_protection_enabled/route53_domains_privacy_protection_enabled_test.py +++ b/tests/providers/aws/services/route53/route53_domains_privacy_protection_enabled/route53_domains_privacy_protection_enabled_test.py @@ -1,8 +1,7 @@ from unittest import mock from prowler.providers.aws.services.route53.route53_service import Domain - -AWS_REGION = "us-east-1" +from tests.providers.aws.audit_info_utils import AWS_REGION_EU_WEST_1 class Test_route53_domains_privacy_protection_enabled: @@ -29,7 +28,7 @@ class Test_route53_domains_privacy_protection_enabled: domain_name = "test-domain.com" route53domains.domains = { domain_name: Domain( - name=domain_name, region=AWS_REGION, admin_privacy=False + name=domain_name, region=AWS_REGION_EU_WEST_1, admin_privacy=False ) } @@ -47,7 +46,7 @@ class Test_route53_domains_privacy_protection_enabled: assert len(result) == 1 assert result[0].resource_id == domain_name - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].status == "FAIL" assert ( result[0].status_extended @@ -58,7 +57,9 @@ class Test_route53_domains_privacy_protection_enabled: route53domains = mock.MagicMock domain_name = "test-domain.com" route53domains.domains = { - domain_name: Domain(name=domain_name, region=AWS_REGION, admin_privacy=True) + domain_name: Domain( + name=domain_name, region=AWS_REGION_EU_WEST_1, admin_privacy=True + ) } with mock.patch( @@ -75,7 +76,7 @@ class Test_route53_domains_privacy_protection_enabled: assert len(result) == 1 assert result[0].resource_id == domain_name - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].status == "PASS" assert ( result[0].status_extended diff --git a/tests/providers/aws/services/route53/route53_domains_transferlock_enabled/route53_domains_transferlock_enabled_test.py b/tests/providers/aws/services/route53/route53_domains_transferlock_enabled/route53_domains_transferlock_enabled_test.py index 01122a0039..c60340821b 100644 --- a/tests/providers/aws/services/route53/route53_domains_transferlock_enabled/route53_domains_transferlock_enabled_test.py +++ b/tests/providers/aws/services/route53/route53_domains_transferlock_enabled/route53_domains_transferlock_enabled_test.py @@ -1,8 +1,7 @@ from unittest import mock from prowler.providers.aws.services.route53.route53_service import Domain - -AWS_REGION = "us-east-1" +from tests.providers.aws.audit_info_utils import AWS_REGION_EU_WEST_1 class Test_route53_domains_transferlock_enabled: @@ -30,7 +29,7 @@ class Test_route53_domains_transferlock_enabled: route53domains.domains = { domain_name: Domain( name=domain_name, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, admin_privacy=False, status_list=[""], ) @@ -50,7 +49,7 @@ class Test_route53_domains_transferlock_enabled: assert len(result) == 1 assert result[0].resource_id == domain_name - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].status == "FAIL" assert ( result[0].status_extended @@ -63,7 +62,7 @@ class Test_route53_domains_transferlock_enabled: route53domains.domains = { domain_name: Domain( name=domain_name, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, admin_privacy=False, status_list=["clientTransferProhibited"], ) @@ -83,7 +82,7 @@ class Test_route53_domains_transferlock_enabled: assert len(result) == 1 assert result[0].resource_id == domain_name - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].status == "PASS" assert ( result[0].status_extended diff --git a/tests/providers/aws/services/route53/route53_public_hosted_zones_cloudwatch_logging_enabled/route53_public_hosted_zones_cloudwatch_logging_enabled_test.py b/tests/providers/aws/services/route53/route53_public_hosted_zones_cloudwatch_logging_enabled/route53_public_hosted_zones_cloudwatch_logging_enabled_test.py index 2020217012..490b0135bd 100644 --- a/tests/providers/aws/services/route53/route53_public_hosted_zones_cloudwatch_logging_enabled/route53_public_hosted_zones_cloudwatch_logging_enabled_test.py +++ b/tests/providers/aws/services/route53/route53_public_hosted_zones_cloudwatch_logging_enabled/route53_public_hosted_zones_cloudwatch_logging_enabled_test.py @@ -6,8 +6,7 @@ from prowler.providers.aws.services.route53.route53_service import ( HostedZone, LoggingConfig, ) - -AWS_REGION = "us-east-1" +from tests.providers.aws.audit_info_utils import AWS_REGION_EU_WEST_1 class Test_route53_public_hosted_zones_cloudwatch_logging_enabled: @@ -37,16 +36,14 @@ class Test_route53_public_hosted_zones_cloudwatch_logging_enabled: hosted_zone_name = "test-domain.com" hosted_zone_id = "ABCDEF12345678" log_group_name = "test-log-group" - log_group_arn = ( - f"rn:aws:logs:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:log-group:{log_group_name}" - ) + log_group_arn = f"rn:aws:logs:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:log-group:{log_group_name}" route53.hosted_zones = { hosted_zone_name: HostedZone( name=hosted_zone_name, arn=f"arn:aws:route53:::{hosted_zone_id}", id=hosted_zone_id, private_zone=False, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, logging_config=LoggingConfig(cloudwatch_log_group_arn=log_group_arn), ) } @@ -68,7 +65,7 @@ class Test_route53_public_hosted_zones_cloudwatch_logging_enabled: assert len(result) == 1 assert result[0].resource_id == hosted_zone_id - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].status == "PASS" assert ( result[0].status_extended @@ -85,7 +82,7 @@ class Test_route53_public_hosted_zones_cloudwatch_logging_enabled: arn=f"arn:aws:route53:::{hosted_zone_id}", id=hosted_zone_id, private_zone=False, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) } @@ -106,7 +103,7 @@ class Test_route53_public_hosted_zones_cloudwatch_logging_enabled: assert len(result) == 1 assert result[0].resource_id == hosted_zone_id - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].status == "FAIL" assert ( result[0].status_extended @@ -123,7 +120,7 @@ class Test_route53_public_hosted_zones_cloudwatch_logging_enabled: arn=f"arn:aws:route53:::{hosted_zone_id}", id=hosted_zone_id, private_zone=True, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) } diff --git a/tests/providers/aws/services/route53/route53_service_test.py b/tests/providers/aws/services/route53/route53_service_test.py index 809ac8a17c..6ab2856c50 100644 --- a/tests/providers/aws/services/route53/route53_service_test.py +++ b/tests/providers/aws/services/route53/route53_service_test.py @@ -1,19 +1,17 @@ from unittest.mock import patch import botocore -from boto3 import client, session +from boto3 import client from moto import mock_logs, mock_route53 -from prowler.providers.aws.lib.audit_info.audit_info import AWS_Audit_Info from prowler.providers.aws.services.route53.route53_service import Route53 -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) # Mock Test Region -AWS_REGION = "us-east-1" + # Mocking Access Analyzer Calls make_api_call = botocore.client.BaseClient._make_api_call @@ -39,36 +37,6 @@ def mock_make_api_call(self, operation_name, kwarg): # Patch every AWS call using Boto3 and generate_regional_clients to have 1 client @patch("botocore.client.BaseClient._make_api_call", new=mock_make_api_call) class Test_Route53_Service: - 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=None, - audited_account_arn=None, - audited_user_id=None, - audited_partition="aws", - audited_identity_arn=None, - profile=None, - profile_region=AWS_REGION, - 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 Route53 Client @mock_route53 def test__get_client__(self): @@ -91,7 +59,7 @@ class Test_Route53_Service: @mock_logs def test__list_hosted_zones__private_with_logging(self): # Create Hosted Zone - r53_client = client("route53", region_name=AWS_REGION) + r53_client = client("route53", region_name=AWS_REGION_EU_WEST_1) hosted_zone_name = "testdns.aws.com." response = r53_client.create_hosted_zone( Name=hosted_zone_name, @@ -101,7 +69,7 @@ class Test_Route53_Service: hosted_zone_id = response["HostedZone"]["Id"].replace("/hostedzone/", "") hosted_zone_name = response["HostedZone"]["Name"] # CloudWatch Client - logs_client = client("logs", region_name=AWS_REGION) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) log_group_name = "test-log-group" _ = logs_client.create_log_group(logGroupName=log_group_name) log_group_arn = logs_client.describe_log_groups()["logGroups"][0]["arn"] @@ -127,7 +95,7 @@ class Test_Route53_Service: route53.hosted_zones[hosted_zone_id].logging_config.cloudwatch_log_group_arn == log_group_arn ) - assert route53.hosted_zones[hosted_zone_id].region == AWS_REGION + assert route53.hosted_zones[hosted_zone_id].region == AWS_REGION_EU_WEST_1 assert route53.hosted_zones[hosted_zone_id].tags == [ {"Key": "test", "Value": "test"}, ] @@ -136,7 +104,7 @@ class Test_Route53_Service: @mock_logs def test__list_hosted_zones__public_with_logging(self): # Create Hosted Zone - r53_client = client("route53", region_name=AWS_REGION) + r53_client = client("route53", region_name=AWS_REGION_EU_WEST_1) hosted_zone_name = "testdns.aws.com." response = r53_client.create_hosted_zone( Name=hosted_zone_name, @@ -146,7 +114,7 @@ class Test_Route53_Service: hosted_zone_id = response["HostedZone"]["Id"].replace("/hostedzone/", "") hosted_zone_name = response["HostedZone"]["Name"] # CloudWatch Client - logs_client = client("logs", region_name=AWS_REGION) + logs_client = client("logs", region_name=AWS_REGION_EU_WEST_1) log_group_name = "test-log-group" _ = logs_client.create_log_group(logGroupName=log_group_name) log_group_arn = logs_client.describe_log_groups()["logGroups"][0]["arn"] @@ -172,13 +140,13 @@ class Test_Route53_Service: route53.hosted_zones[hosted_zone_id].logging_config.cloudwatch_log_group_arn == log_group_arn ) - assert route53.hosted_zones[hosted_zone_id].region == AWS_REGION + assert route53.hosted_zones[hosted_zone_id].region == AWS_REGION_EU_WEST_1 @mock_route53 @mock_logs def test__list_hosted_zones__private_without_logging(self): # Create Hosted Zone - r53_client = client("route53", region_name=AWS_REGION) + r53_client = client("route53", region_name=AWS_REGION_EU_WEST_1) hosted_zone_name = "testdns.aws.com." response = r53_client.create_hosted_zone( Name=hosted_zone_name, @@ -200,13 +168,13 @@ class Test_Route53_Service: assert route53.hosted_zones[hosted_zone_id].name == hosted_zone_name assert route53.hosted_zones[hosted_zone_id].private_zone assert not route53.hosted_zones[hosted_zone_id].logging_config - assert route53.hosted_zones[hosted_zone_id].region == AWS_REGION + assert route53.hosted_zones[hosted_zone_id].region == AWS_REGION_EU_WEST_1 @mock_route53 @mock_logs def test__list_hosted_zones__public_without_logging(self): # Create Hosted Zone - r53_client = client("route53", region_name=AWS_REGION) + r53_client = client("route53", region_name=AWS_REGION_EU_WEST_1) hosted_zone_name = "testdns.aws.com." response = r53_client.create_hosted_zone( Name=hosted_zone_name, @@ -229,12 +197,12 @@ class Test_Route53_Service: assert not route53.hosted_zones[hosted_zone_id].private_zone assert not route53.hosted_zones[hosted_zone_id].logging_config - assert route53.hosted_zones[hosted_zone_id].region == AWS_REGION + assert route53.hosted_zones[hosted_zone_id].region == AWS_REGION_EU_WEST_1 @mock_route53 def test__list_resource_record_sets__(self): # Create Hosted Zone - r53_client = client("route53", region_name=AWS_REGION) + r53_client = client("route53", region_name=AWS_REGION_EU_WEST_1) zone = r53_client.create_hosted_zone( Name="testdns.aws.com", CallerReference=str(hash("foo")) ) @@ -268,4 +236,4 @@ class Test_Route53_Service: assert not set.is_alias assert set.records == ["1.2.3.4"] assert set.hosted_zone_id == zone_id.replace("/hostedzone/", "") - assert set.region == AWS_REGION + assert set.region == AWS_REGION_EU_WEST_1 diff --git a/tests/providers/aws/services/route53/route53domains_service_test.py b/tests/providers/aws/services/route53/route53domains_service_test.py index f1266201d9..7bf55084c7 100644 --- a/tests/providers/aws/services/route53/route53domains_service_test.py +++ b/tests/providers/aws/services/route53/route53domains_service_test.py @@ -2,18 +2,15 @@ from datetime import datetime from unittest.mock import patch import botocore -from boto3 import session -from prowler.providers.aws.lib.audit_info.audit_info import AWS_Audit_Info from prowler.providers.aws.services.route53.route53_service import Route53Domains -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) # Mock Test Region -AWS_REGION = "us-east-1" + # Mocking Access Analyzer Calls make_api_call = botocore.client.BaseClient._make_api_call @@ -75,36 +72,6 @@ def mock_make_api_call(self, operation_name, kwarg): # Patch every AWS call using Boto3 and generate_regional_clients to have 1 client @patch("botocore.client.BaseClient._make_api_call", new=mock_make_api_call) class Test_Route53_Service: - 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=None, - audited_account_arn=None, - audited_user_id=None, - audited_partition="aws", - audited_identity_arn=None, - profile=None, - profile_region=AWS_REGION, - 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 Route53Domains Client def test__get_client__(self): route53domains = Route53Domains( @@ -135,7 +102,7 @@ class Test_Route53_Service: assert route53domains.domains assert route53domains.domains[domain_name] assert route53domains.domains[domain_name].name == domain_name - assert route53domains.domains[domain_name].region == AWS_REGION + assert route53domains.domains[domain_name].region == AWS_REGION_EU_WEST_1 assert route53domains.domains[domain_name].admin_privacy assert route53domains.domains[domain_name].status_list assert len(route53domains.domains[domain_name].status_list) == 1 diff --git a/tests/providers/aws/services/s3/s3_account_level_public_access_blocks/s3_account_level_public_access_blocks_test.py b/tests/providers/aws/services/s3/s3_account_level_public_access_blocks/s3_account_level_public_access_blocks_test.py index f120f833a9..6ac4e08a09 100644 --- a/tests/providers/aws/services/s3/s3_account_level_public_access_blocks/s3_account_level_public_access_blocks_test.py +++ b/tests/providers/aws/services/s3/s3_account_level_public_access_blocks/s3_account_level_public_access_blocks_test.py @@ -1,57 +1,23 @@ from unittest import mock -from boto3 import client, session +from boto3 import client from moto import mock_s3, mock_s3control -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" -AWS_REGION = "us-east-1" class Test_s3_account_level_public_access_blocks: - 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, - region_name=AWS_REGION, - ), - 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=AWS_REGION, - 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 - @mock_s3 @mock_s3control def test_bucket_account_public_block(self): # Generate S3Control Client - s3control_client = client("s3control", region_name=AWS_REGION) + s3control_client = client("s3control", region_name=AWS_REGION_EU_WEST_1) s3control_client.put_public_access_block( AccountId=AWS_ACCOUNT_NUMBER, PublicAccessBlockConfiguration={ @@ -91,13 +57,13 @@ class Test_s3_account_level_public_access_blocks: ) assert result[0].resource_id == AWS_ACCOUNT_NUMBER assert result[0].resource_arn == AWS_ACCOUNT_ARN - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_s3 @mock_s3control def test_bucket_without_account_public_block(self): # Generate S3Control Client - s3control_client = client("s3control", region_name=AWS_REGION) + s3control_client = client("s3control", region_name=AWS_REGION_EU_WEST_1) s3control_client.put_public_access_block( AccountId=AWS_ACCOUNT_NUMBER, PublicAccessBlockConfiguration={ @@ -137,13 +103,13 @@ class Test_s3_account_level_public_access_blocks: ) assert result[0].resource_id == AWS_ACCOUNT_NUMBER assert result[0].resource_arn == AWS_ACCOUNT_ARN - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_s3 @mock_s3control def test_bucket_without_account_public_block_ignoring(self): # Generate S3Control Client - s3control_client = client("s3control", region_name=AWS_REGION) + s3control_client = client("s3control", region_name=AWS_REGION_EU_WEST_1) s3control_client.put_public_access_block( AccountId=AWS_ACCOUNT_NUMBER, PublicAccessBlockConfiguration={ diff --git a/tests/providers/aws/services/s3/s3_bucket_acl_prohibited/s3_bucket_acl_prohibited_test.py b/tests/providers/aws/services/s3/s3_bucket_acl_prohibited/s3_bucket_acl_prohibited_test.py index 8930bd3350..cd81024c54 100644 --- a/tests/providers/aws/services/s3/s3_bucket_acl_prohibited/s3_bucket_acl_prohibited_test.py +++ b/tests/providers/aws/services/s3/s3_bucket_acl_prohibited/s3_bucket_acl_prohibited_test.py @@ -1,53 +1,19 @@ from re import search from unittest import mock -from boto3 import client, session +from boto3 import client from moto import mock_s3 -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" -AWS_REGION = "us-east-1" class Test_s3_bucket_acl_prohibited: - 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, - region_name=AWS_REGION, - ), - 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=AWS_REGION, - 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 - @mock_s3 def test_bucket_no_ownership(self): s3_client_us_east_1 = client("s3", region_name="us-east-1") diff --git a/tests/providers/aws/services/s3/s3_bucket_default_encryption/s3_bucket_default_encryption_test.py b/tests/providers/aws/services/s3/s3_bucket_default_encryption/s3_bucket_default_encryption_test.py index d03f3e1fb6..f2b5c35ace 100644 --- a/tests/providers/aws/services/s3/s3_bucket_default_encryption/s3_bucket_default_encryption_test.py +++ b/tests/providers/aws/services/s3/s3_bucket_default_encryption/s3_bucket_default_encryption_test.py @@ -1,53 +1,19 @@ from re import search from unittest import mock -from boto3 import client, session +from boto3 import client from moto import mock_s3 -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" -AWS_REGION = "us-east-1" AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" class Test_s3_bucket_default_encryption: - 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, - region_name=AWS_REGION, - ), - 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=AWS_REGION, - 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 - @mock_s3 def test_bucket_no_encryption(self): s3_client_us_east_1 = client("s3", region_name="us-east-1") diff --git a/tests/providers/aws/services/s3/s3_bucket_kms_encryption/s3_bucket_kms_encryption_test.py b/tests/providers/aws/services/s3/s3_bucket_kms_encryption/s3_bucket_kms_encryption_test.py index 8765ceff89..9fdd6a198a 100644 --- a/tests/providers/aws/services/s3/s3_bucket_kms_encryption/s3_bucket_kms_encryption_test.py +++ b/tests/providers/aws/services/s3/s3_bucket_kms_encryption/s3_bucket_kms_encryption_test.py @@ -1,52 +1,18 @@ from unittest import mock -from boto3 import client, session +from boto3 import client from moto import mock_s3 -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" -AWS_REGION = "us-east-1" AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" class Test_s3_bucket_kms_encryption: - 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, - region_name=AWS_REGION, - ), - 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=AWS_REGION, - 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 - @mock_s3 def test_no_buckets(self): from prowler.providers.aws.services.s3.s3_service import S3 @@ -72,7 +38,7 @@ class Test_s3_bucket_kms_encryption: @mock_s3 def test_bucket_no_encryption(self): - s3_client_us_east_1 = client("s3", region_name=AWS_REGION) + s3_client_us_east_1 = client("s3", region_name=AWS_REGION_EU_WEST_1) bucket_name_us = "bucket_test_us" s3_client_us_east_1.create_bucket(Bucket=bucket_name_us) @@ -107,11 +73,11 @@ class Test_s3_bucket_kms_encryption: == f"arn:{audit_info.audited_partition}:s3:::{bucket_name_us}" ) assert result[0].resource_tags == [] - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_s3 def test_bucket_no_kms_encryption(self): - s3_client_us_east_1 = client("s3", region_name=AWS_REGION) + s3_client_us_east_1 = client("s3", region_name=AWS_REGION_EU_WEST_1) bucket_name_us = "bucket_test_us" s3_client_us_east_1.create_bucket( Bucket=bucket_name_us, ObjectOwnership="BucketOwnerEnforced" @@ -161,11 +127,11 @@ class Test_s3_bucket_kms_encryption: == f"arn:{audit_info.audited_partition}:s3:::{bucket_name_us}" ) assert result[0].resource_tags == [] - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_s3 def test_bucket_kms_encryption(self): - s3_client_us_east_1 = client("s3", region_name=AWS_REGION) + s3_client_us_east_1 = client("s3", region_name=AWS_REGION_EU_WEST_1) bucket_name_us = "bucket_test_us" s3_client_us_east_1.create_bucket( Bucket=bucket_name_us, ObjectOwnership="BucketOwnerEnforced" @@ -218,11 +184,11 @@ class Test_s3_bucket_kms_encryption: == f"arn:{audit_info.audited_partition}:s3:::{bucket_name_us}" ) assert result[0].resource_tags == [] - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_s3 def test_bucket_kms_dsse_encryption(self): - s3_client_us_east_1 = client("s3", region_name=AWS_REGION) + s3_client_us_east_1 = client("s3", region_name=AWS_REGION_EU_WEST_1) bucket_name_us = "bucket_test_us" s3_client_us_east_1.create_bucket( Bucket=bucket_name_us, ObjectOwnership="BucketOwnerEnforced" @@ -275,4 +241,4 @@ class Test_s3_bucket_kms_encryption: == f"arn:{audit_info.audited_partition}:s3:::{bucket_name_us}" ) assert result[0].resource_tags == [] - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 diff --git a/tests/providers/aws/services/s3/s3_bucket_level_public_access_block/s3_bucket_level_public_access_block_test.py b/tests/providers/aws/services/s3/s3_bucket_level_public_access_block/s3_bucket_level_public_access_block_test.py index cafa4d1a81..0f5d6efe0e 100644 --- a/tests/providers/aws/services/s3/s3_bucket_level_public_access_block/s3_bucket_level_public_access_block_test.py +++ b/tests/providers/aws/services/s3/s3_bucket_level_public_access_block/s3_bucket_level_public_access_block_test.py @@ -1,52 +1,18 @@ from unittest import mock -from boto3 import client, session +from boto3 import client from moto import mock_s3, mock_s3control -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" -AWS_REGION = "us-east-1" AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" class Test_s3_bucket_level_public_access_block: - 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, - region_name=AWS_REGION, - ), - 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=AWS_REGION, - 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 - @mock_s3 @mock_s3control def test_no_buckets(self): @@ -79,7 +45,7 @@ class Test_s3_bucket_level_public_access_block: @mock_s3 @mock_s3control def test_bucket_without_public_block(self): - s3_client = client("s3", region_name=AWS_REGION) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) bucket_name_us = "bucket_test_us" s3_client.create_bucket(Bucket=bucket_name_us) s3_client.put_public_access_block( @@ -91,7 +57,7 @@ class Test_s3_bucket_level_public_access_block: "RestrictPublicBuckets": False, }, ) - s3control_client = client("s3control", region_name=AWS_REGION) + s3control_client = client("s3control", region_name=AWS_REGION_EU_WEST_1) s3control_client.put_public_access_block( AccountId=AWS_ACCOUNT_NUMBER, PublicAccessBlockConfiguration={ @@ -136,12 +102,12 @@ class Test_s3_bucket_level_public_access_block: result[0].resource_arn == f"arn:{audit_info.audited_partition}:s3:::{bucket_name_us}" ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_s3 @mock_s3control def test_bucket_public_block(self): - s3_client = client("s3", region_name=AWS_REGION) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) bucket_name_us = "bucket_test_us" s3_client.create_bucket(Bucket=bucket_name_us) s3_client.put_public_access_block( @@ -153,7 +119,7 @@ class Test_s3_bucket_level_public_access_block: "RestrictPublicBuckets": True, }, ) - s3control_client = client("s3control", region_name=AWS_REGION) + s3control_client = client("s3control", region_name=AWS_REGION_EU_WEST_1) s3control_client.put_public_access_block( AccountId=AWS_ACCOUNT_NUMBER, PublicAccessBlockConfiguration={ @@ -199,12 +165,12 @@ class Test_s3_bucket_level_public_access_block: result[0].resource_arn == f"arn:{audit_info.audited_partition}:s3:::{bucket_name_us}" ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_s3 @mock_s3control def test_bucket_public_block_at_account(self): - s3_client = client("s3", region_name=AWS_REGION) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) bucket_name_us = "bucket_test_us" s3_client.create_bucket(Bucket=bucket_name_us) s3_client.put_public_access_block( @@ -216,7 +182,7 @@ class Test_s3_bucket_level_public_access_block: "RestrictPublicBuckets": False, }, ) - s3control_client = client("s3control", region_name=AWS_REGION) + s3control_client = client("s3control", region_name=AWS_REGION_EU_WEST_1) s3control_client.put_public_access_block( AccountId=AWS_ACCOUNT_NUMBER, PublicAccessBlockConfiguration={ @@ -262,12 +228,12 @@ class Test_s3_bucket_level_public_access_block: result[0].resource_arn == f"arn:{audit_info.audited_partition}:s3:::{bucket_name_us}" ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_s3 @mock_s3control def test_bucket_can_not_retrieve_public_access_block(self): - s3_client = client("s3", region_name=AWS_REGION) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) bucket_name_us = "bucket_test_us" s3_client.create_bucket(Bucket=bucket_name_us) s3_client.put_public_access_block( @@ -279,7 +245,7 @@ class Test_s3_bucket_level_public_access_block: "RestrictPublicBuckets": True, }, ) - s3control_client = client("s3control", region_name=AWS_REGION) + s3control_client = client("s3control", region_name=AWS_REGION_EU_WEST_1) s3control_client.put_public_access_block( AccountId=AWS_ACCOUNT_NUMBER, PublicAccessBlockConfiguration={ diff --git a/tests/providers/aws/services/s3/s3_bucket_no_mfa_delete/s3_bucket_no_mfa_delete_test.py b/tests/providers/aws/services/s3/s3_bucket_no_mfa_delete/s3_bucket_no_mfa_delete_test.py index c9b2038958..93d23f73b8 100644 --- a/tests/providers/aws/services/s3/s3_bucket_no_mfa_delete/s3_bucket_no_mfa_delete_test.py +++ b/tests/providers/aws/services/s3/s3_bucket_no_mfa_delete/s3_bucket_no_mfa_delete_test.py @@ -1,53 +1,19 @@ from re import search from unittest import mock -from boto3 import client, session +from boto3 import client from moto import mock_s3 -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" -AWS_REGION = "us-east-1" class Test_s3_bucket_no_mfa_delete: - 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, - region_name=AWS_REGION, - ), - 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=AWS_REGION, - 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 - @mock_s3 def test_no_buckets(self): from prowler.providers.aws.services.s3.s3_service import S3 diff --git a/tests/providers/aws/services/s3/s3_bucket_object_lock/s3_bucket_object_lock_test.py b/tests/providers/aws/services/s3/s3_bucket_object_lock/s3_bucket_object_lock_test.py index d161b7e1e7..904cba4f29 100644 --- a/tests/providers/aws/services/s3/s3_bucket_object_lock/s3_bucket_object_lock_test.py +++ b/tests/providers/aws/services/s3/s3_bucket_object_lock/s3_bucket_object_lock_test.py @@ -1,53 +1,19 @@ from re import search from unittest import mock -from boto3 import client, session +from boto3 import client from moto import mock_s3 -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" -AWS_REGION = "us-east-1" class Test_s3_bucket_object_lock: - 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, - region_name=AWS_REGION, - ), - 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=AWS_REGION, - 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 - @mock_s3 def test_no_buckets(self): from prowler.providers.aws.services.s3.s3_service import S3 diff --git a/tests/providers/aws/services/s3/s3_bucket_object_versioning/s3_bucket_object_versioning_test.py b/tests/providers/aws/services/s3/s3_bucket_object_versioning/s3_bucket_object_versioning_test.py index 53efa428eb..5758b66138 100644 --- a/tests/providers/aws/services/s3/s3_bucket_object_versioning/s3_bucket_object_versioning_test.py +++ b/tests/providers/aws/services/s3/s3_bucket_object_versioning/s3_bucket_object_versioning_test.py @@ -1,53 +1,19 @@ from re import search from unittest import mock -from boto3 import client, session +from boto3 import client from moto import mock_s3 -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" -AWS_REGION = "us-east-1" class Test_s3_bucket_object_versioning: - 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, - region_name=AWS_REGION, - ), - 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=AWS_REGION, - 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 - @mock_s3 def test_bucket_no_object_versioning(self): s3_client_us_east_1 = client("s3", region_name="us-east-1") diff --git a/tests/providers/aws/services/s3/s3_bucket_policy_public_write_access/s3_bucket_policy_public_write_access_test.py b/tests/providers/aws/services/s3/s3_bucket_policy_public_write_access/s3_bucket_policy_public_write_access_test.py index 4fea2e8011..1590f90361 100644 --- a/tests/providers/aws/services/s3/s3_bucket_policy_public_write_access/s3_bucket_policy_public_write_access_test.py +++ b/tests/providers/aws/services/s3/s3_bucket_policy_public_write_access/s3_bucket_policy_public_write_access_test.py @@ -1,52 +1,18 @@ from unittest import mock -from boto3 import client, session +from boto3 import client from moto import mock_s3, mock_s3control -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" -AWS_REGION = "us-east-1" class Test_s3_bucket_policy_public_write_access: - 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, - region_name=AWS_REGION, - ), - 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=AWS_REGION, - 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 - @mock_s3control @mock_s3 def test_bucket_no_policy(self): @@ -102,7 +68,7 @@ class Test_s3_bucket_policy_public_write_access: Policy=encryption_policy, ) - s3control_client = client("s3control", region_name=AWS_REGION) + s3control_client = client("s3control", region_name=AWS_REGION_EU_WEST_1) s3control_client.put_public_access_block( AccountId=AWS_ACCOUNT_NUMBER, PublicAccessBlockConfiguration={ @@ -174,7 +140,7 @@ class Test_s3_bucket_policy_public_write_access: }, ) - s3control_client = client("s3control", region_name=AWS_REGION) + s3control_client = client("s3control", region_name=AWS_REGION_EU_WEST_1) s3control_client.put_public_access_block( AccountId=AWS_ACCOUNT_NUMBER, PublicAccessBlockConfiguration={ @@ -238,7 +204,7 @@ class Test_s3_bucket_policy_public_write_access: ) # Generate S3Control Client - s3control_client = client("s3control", region_name=AWS_REGION) + s3control_client = client("s3control", region_name=AWS_REGION_EU_WEST_1) s3control_client.put_public_access_block( AccountId=AWS_ACCOUNT_NUMBER, PublicAccessBlockConfiguration={ @@ -301,7 +267,7 @@ class Test_s3_bucket_policy_public_write_access: ) # Generate S3Control Client - s3control_client = client("s3control", region_name=AWS_REGION) + s3control_client = client("s3control", region_name=AWS_REGION_EU_WEST_1) s3control_client.put_public_access_block( AccountId=AWS_ACCOUNT_NUMBER, PublicAccessBlockConfiguration={ diff --git a/tests/providers/aws/services/s3/s3_bucket_public_access/s3_bucket_public_access_test.py b/tests/providers/aws/services/s3/s3_bucket_public_access/s3_bucket_public_access_test.py index 663d70c624..5485b75118 100644 --- a/tests/providers/aws/services/s3/s3_bucket_public_access/s3_bucket_public_access_test.py +++ b/tests/providers/aws/services/s3/s3_bucket_public_access/s3_bucket_public_access_test.py @@ -1,53 +1,19 @@ from re import search from unittest import mock -from boto3 import client, session +from boto3 import client from moto import mock_s3, mock_s3control -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" -AWS_REGION = "us-east-1" class Test_s3_bucket_public_access: - 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, - region_name=AWS_REGION, - ), - 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=AWS_REGION, - 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 - @mock_s3 @mock_s3control def test_no_buckets(self): @@ -81,7 +47,7 @@ class Test_s3_bucket_public_access: @mock_s3control def test_bucket_account_public_block_without_buckets(self): # Generate S3Control Client - s3control_client = client("s3control", region_name=AWS_REGION) + s3control_client = client("s3control", region_name=AWS_REGION_EU_WEST_1) s3control_client.put_public_access_block( AccountId=AWS_ACCOUNT_NUMBER, PublicAccessBlockConfiguration={ @@ -123,16 +89,16 @@ class Test_s3_bucket_public_access: ) assert result[0].resource_id == AWS_ACCOUNT_NUMBER assert result[0].resource_arn == AWS_ACCOUNT_ARN - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_s3 @mock_s3control def test_bucket_account_public_block(self): - s3_client = client("s3", region_name=AWS_REGION) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) bucket_name_us = "bucket_test_us" s3_client.create_bucket(Bucket=bucket_name_us) # Generate S3Control Client - s3control_client = client("s3control", region_name=AWS_REGION) + s3control_client = client("s3control", region_name=AWS_REGION_EU_WEST_1) s3control_client.put_public_access_block( AccountId=AWS_ACCOUNT_NUMBER, PublicAccessBlockConfiguration={ @@ -174,16 +140,16 @@ class Test_s3_bucket_public_access: ) assert result[0].resource_id == AWS_ACCOUNT_NUMBER assert result[0].resource_arn == AWS_ACCOUNT_ARN - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_s3 @mock_s3control def test_bucket_public_block(self): - s3_client = client("s3", region_name=AWS_REGION) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) bucket_name_us = "bucket_test_us" s3_client.create_bucket(Bucket=bucket_name_us) # Generate S3Control Client - s3control_client = client("s3control", region_name=AWS_REGION) + s3control_client = client("s3control", region_name=AWS_REGION_EU_WEST_1) s3control_client.put_public_access_block( AccountId=AWS_ACCOUNT_NUMBER, PublicAccessBlockConfiguration={ @@ -237,17 +203,17 @@ class Test_s3_bucket_public_access: result[0].resource_arn == f"arn:{audit_info.audited_partition}:s3:::{bucket_name_us}" ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_s3 @mock_s3control def test_bucket_public_ACL(self): - s3_client = client("s3", region_name=AWS_REGION) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) bucket_name_us = "bucket_test_us" s3_client.create_bucket(Bucket=bucket_name_us) bucket_owner = s3_client.get_bucket_acl(Bucket=bucket_name_us)["Owner"] # Generate S3Control Client - s3control_client = client("s3control", region_name=AWS_REGION) + s3control_client = client("s3control", region_name=AWS_REGION_EU_WEST_1) s3control_client.put_public_access_block( AccountId=AWS_ACCOUNT_NUMBER, PublicAccessBlockConfiguration={ @@ -316,16 +282,16 @@ class Test_s3_bucket_public_access: result[0].resource_arn == f"arn:{audit_info.audited_partition}:s3:::{bucket_name_us}" ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_s3 @mock_s3control def test_bucket_public_policy(self): - s3_client = client("s3", region_name=AWS_REGION) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) bucket_name_us = "bucket_test_us" s3_client.create_bucket(Bucket=bucket_name_us) # Generate S3Control Client - s3control_client = client("s3control", region_name=AWS_REGION) + s3control_client = client("s3control", region_name=AWS_REGION_EU_WEST_1) s3control_client.put_public_access_block( AccountId=AWS_ACCOUNT_NUMBER, PublicAccessBlockConfiguration={ @@ -384,12 +350,12 @@ class Test_s3_bucket_public_access: result[0].resource_arn == f"arn:{audit_info.audited_partition}:s3:::{bucket_name_us}" ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_s3 @mock_s3control def test_bucket_not_public(self): - s3_client = client("s3", region_name=AWS_REGION) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) bucket_name_us = "bucket_test_us" s3_client.create_bucket(Bucket=bucket_name_us) s3_client.put_public_access_block( @@ -436,12 +402,12 @@ class Test_s3_bucket_public_access: result[0].resource_arn == f"arn:{audit_info.audited_partition}:s3:::{bucket_name_us}" ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_s3 @mock_s3control def test_bucket_can_not_retrieve_public_access_block(self): - s3_client = client("s3", region_name=AWS_REGION) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) bucket_name_us = "bucket_test_us" s3_client.create_bucket(Bucket=bucket_name_us) s3_client.put_public_access_block( diff --git a/tests/providers/aws/services/s3/s3_bucket_public_list_acl/s3_bucket_public_list_acl_test.py b/tests/providers/aws/services/s3/s3_bucket_public_list_acl/s3_bucket_public_list_acl_test.py index 661c4993db..9cdb300ae6 100644 --- a/tests/providers/aws/services/s3/s3_bucket_public_list_acl/s3_bucket_public_list_acl_test.py +++ b/tests/providers/aws/services/s3/s3_bucket_public_list_acl/s3_bucket_public_list_acl_test.py @@ -1,52 +1,18 @@ from unittest import mock -from boto3 import client, session +from boto3 import client from moto import mock_s3, mock_s3control -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" -AWS_REGION = "us-east-1" class Test_s3_bucket_public_list_acl: - 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, - region_name=AWS_REGION, - ), - 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=AWS_REGION, - 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 - @mock_s3 @mock_s3control def test_no_buckets(self): @@ -80,7 +46,7 @@ class Test_s3_bucket_public_list_acl: @mock_s3control def test_bucket_account_public_block_without_buckets(self): # Generate S3Control Client - s3control_client = client("s3control", region_name=AWS_REGION) + s3control_client = client("s3control", region_name=AWS_REGION_EU_WEST_1) s3control_client.put_public_access_block( AccountId=AWS_ACCOUNT_NUMBER, PublicAccessBlockConfiguration={ @@ -122,16 +88,16 @@ class Test_s3_bucket_public_list_acl: ) assert result[0].resource_id == AWS_ACCOUNT_NUMBER assert result[0].resource_arn == AWS_ACCOUNT_ARN - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_s3 @mock_s3control def test_bucket_account_public_block(self): - s3_client = client("s3", region_name=AWS_REGION) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) bucket_name_us = "bucket_test_us" s3_client.create_bucket(Bucket=bucket_name_us) # Generate S3Control Client - s3control_client = client("s3control", region_name=AWS_REGION) + s3control_client = client("s3control", region_name=AWS_REGION_EU_WEST_1) s3control_client.put_public_access_block( AccountId=AWS_ACCOUNT_NUMBER, PublicAccessBlockConfiguration={ @@ -173,16 +139,16 @@ class Test_s3_bucket_public_list_acl: ) assert result[0].resource_id == AWS_ACCOUNT_NUMBER assert result[0].resource_arn == AWS_ACCOUNT_ARN - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_s3 @mock_s3control def test_bucket_public_block(self): - s3_client = client("s3", region_name=AWS_REGION) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) bucket_name_us = "bucket_test_us" s3_client.create_bucket(Bucket=bucket_name_us) # Generate S3Control Client - s3control_client = client("s3control", region_name=AWS_REGION) + s3control_client = client("s3control", region_name=AWS_REGION_EU_WEST_1) s3control_client.put_public_access_block( AccountId=AWS_ACCOUNT_NUMBER, PublicAccessBlockConfiguration={ @@ -236,17 +202,17 @@ class Test_s3_bucket_public_list_acl: result[0].resource_arn == f"arn:{audit_info.audited_partition}:s3:::{bucket_name_us}" ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_s3 @mock_s3control def test_bucket_public_list_ACL_AllUsers_READ(self): - s3_client = client("s3", region_name=AWS_REGION) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) bucket_name_us = "bucket_test_us" s3_client.create_bucket(Bucket=bucket_name_us) bucket_owner = s3_client.get_bucket_acl(Bucket=bucket_name_us)["Owner"] # Generate S3Control Client - s3control_client = client("s3control", region_name=AWS_REGION) + s3control_client = client("s3control", region_name=AWS_REGION_EU_WEST_1) s3control_client.put_public_access_block( AccountId=AWS_ACCOUNT_NUMBER, PublicAccessBlockConfiguration={ @@ -316,17 +282,17 @@ class Test_s3_bucket_public_list_acl: result[0].resource_arn == f"arn:{audit_info.audited_partition}:s3:::{bucket_name_us}" ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_s3 @mock_s3control def test_bucket_public_list_ACL_AllUsers_READ_ACP(self): - s3_client = client("s3", region_name=AWS_REGION) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) bucket_name_us = "bucket_test_us" s3_client.create_bucket(Bucket=bucket_name_us) bucket_owner = s3_client.get_bucket_acl(Bucket=bucket_name_us)["Owner"] # Generate S3Control Client - s3control_client = client("s3control", region_name=AWS_REGION) + s3control_client = client("s3control", region_name=AWS_REGION_EU_WEST_1) s3control_client.put_public_access_block( AccountId=AWS_ACCOUNT_NUMBER, PublicAccessBlockConfiguration={ @@ -396,17 +362,17 @@ class Test_s3_bucket_public_list_acl: result[0].resource_arn == f"arn:{audit_info.audited_partition}:s3:::{bucket_name_us}" ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_s3 @mock_s3control def test_bucket_public_list_ACL_AllUsers_FULL_CONTROL(self): - s3_client = client("s3", region_name=AWS_REGION) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) bucket_name_us = "bucket_test_us" s3_client.create_bucket(Bucket=bucket_name_us) bucket_owner = s3_client.get_bucket_acl(Bucket=bucket_name_us)["Owner"] # Generate S3Control Client - s3control_client = client("s3control", region_name=AWS_REGION) + s3control_client = client("s3control", region_name=AWS_REGION_EU_WEST_1) s3control_client.put_public_access_block( AccountId=AWS_ACCOUNT_NUMBER, PublicAccessBlockConfiguration={ @@ -476,17 +442,17 @@ class Test_s3_bucket_public_list_acl: result[0].resource_arn == f"arn:{audit_info.audited_partition}:s3:::{bucket_name_us}" ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_s3 @mock_s3control def test_bucket_public_list_ACL_AuthenticatedUsers_READ(self): - s3_client = client("s3", region_name=AWS_REGION) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) bucket_name_us = "bucket_test_us" s3_client.create_bucket(Bucket=bucket_name_us) bucket_owner = s3_client.get_bucket_acl(Bucket=bucket_name_us)["Owner"] # Generate S3Control Client - s3control_client = client("s3control", region_name=AWS_REGION) + s3control_client = client("s3control", region_name=AWS_REGION_EU_WEST_1) s3control_client.put_public_access_block( AccountId=AWS_ACCOUNT_NUMBER, PublicAccessBlockConfiguration={ @@ -556,17 +522,17 @@ class Test_s3_bucket_public_list_acl: result[0].resource_arn == f"arn:{audit_info.audited_partition}:s3:::{bucket_name_us}" ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_s3 @mock_s3control def test_bucket_public_list_ACL_AuthenticatedUsers_READ_ACP(self): - s3_client = client("s3", region_name=AWS_REGION) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) bucket_name_us = "bucket_test_us" s3_client.create_bucket(Bucket=bucket_name_us) bucket_owner = s3_client.get_bucket_acl(Bucket=bucket_name_us)["Owner"] # Generate S3Control Client - s3control_client = client("s3control", region_name=AWS_REGION) + s3control_client = client("s3control", region_name=AWS_REGION_EU_WEST_1) s3control_client.put_public_access_block( AccountId=AWS_ACCOUNT_NUMBER, PublicAccessBlockConfiguration={ @@ -636,17 +602,17 @@ class Test_s3_bucket_public_list_acl: result[0].resource_arn == f"arn:{audit_info.audited_partition}:s3:::{bucket_name_us}" ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_s3 @mock_s3control def test_bucket_public_list_ACL_AuthenticatedUsers_FULL_CONTROL(self): - s3_client = client("s3", region_name=AWS_REGION) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) bucket_name_us = "bucket_test_us" s3_client.create_bucket(Bucket=bucket_name_us) bucket_owner = s3_client.get_bucket_acl(Bucket=bucket_name_us)["Owner"] # Generate S3Control Client - s3control_client = client("s3control", region_name=AWS_REGION) + s3control_client = client("s3control", region_name=AWS_REGION_EU_WEST_1) s3control_client.put_public_access_block( AccountId=AWS_ACCOUNT_NUMBER, PublicAccessBlockConfiguration={ @@ -716,4 +682,4 @@ class Test_s3_bucket_public_list_acl: result[0].resource_arn == f"arn:{audit_info.audited_partition}:s3:::{bucket_name_us}" ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 diff --git a/tests/providers/aws/services/s3/s3_bucket_public_write_acl/s3_bucket_public_write_acl_test.py b/tests/providers/aws/services/s3/s3_bucket_public_write_acl/s3_bucket_public_write_acl_test.py index 247a66bd47..fd0b202f80 100644 --- a/tests/providers/aws/services/s3/s3_bucket_public_write_acl/s3_bucket_public_write_acl_test.py +++ b/tests/providers/aws/services/s3/s3_bucket_public_write_acl/s3_bucket_public_write_acl_test.py @@ -1,52 +1,18 @@ from unittest import mock -from boto3 import client, session +from boto3 import client from moto import mock_s3, mock_s3control -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" -AWS_REGION = "us-east-1" class Test_s3_bucket_public_write_acl: - 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, - region_name=AWS_REGION, - ), - 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=AWS_REGION, - 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 - @mock_s3 @mock_s3control def test_no_buckets(self): @@ -80,7 +46,7 @@ class Test_s3_bucket_public_write_acl: @mock_s3control def test_bucket_account_public_block_without_buckets(self): # Generate S3Control Client - s3control_client = client("s3control", region_name=AWS_REGION) + s3control_client = client("s3control", region_name=AWS_REGION_EU_WEST_1) s3control_client.put_public_access_block( AccountId=AWS_ACCOUNT_NUMBER, PublicAccessBlockConfiguration={ @@ -122,16 +88,16 @@ class Test_s3_bucket_public_write_acl: ) assert result[0].resource_id == AWS_ACCOUNT_NUMBER assert result[0].resource_arn == AWS_ACCOUNT_ARN - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_s3 @mock_s3control def test_bucket_account_public_block(self): - s3_client = client("s3", region_name=AWS_REGION) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) bucket_name_us = "bucket_test_us" s3_client.create_bucket(Bucket=bucket_name_us) # Generate S3Control Client - s3control_client = client("s3control", region_name=AWS_REGION) + s3control_client = client("s3control", region_name=AWS_REGION_EU_WEST_1) s3control_client.put_public_access_block( AccountId=AWS_ACCOUNT_NUMBER, PublicAccessBlockConfiguration={ @@ -173,16 +139,16 @@ class Test_s3_bucket_public_write_acl: ) assert result[0].resource_id == AWS_ACCOUNT_NUMBER assert result[0].resource_arn == AWS_ACCOUNT_ARN - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_s3 @mock_s3control def test_bucket_public_block(self): - s3_client = client("s3", region_name=AWS_REGION) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) bucket_name_us = "bucket_test_us" s3_client.create_bucket(Bucket=bucket_name_us) # Generate S3Control Client - s3control_client = client("s3control", region_name=AWS_REGION) + s3control_client = client("s3control", region_name=AWS_REGION_EU_WEST_1) s3control_client.put_public_access_block( AccountId=AWS_ACCOUNT_NUMBER, PublicAccessBlockConfiguration={ @@ -236,17 +202,17 @@ class Test_s3_bucket_public_write_acl: result[0].resource_arn == f"arn:{audit_info.audited_partition}:s3:::{bucket_name_us}" ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_s3 @mock_s3control def test_bucket_public_write_ACL_AllUsers_WRITE(self): - s3_client = client("s3", region_name=AWS_REGION) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) bucket_name_us = "bucket_test_us" s3_client.create_bucket(Bucket=bucket_name_us) bucket_owner = s3_client.get_bucket_acl(Bucket=bucket_name_us)["Owner"] # Generate S3Control Client - s3control_client = client("s3control", region_name=AWS_REGION) + s3control_client = client("s3control", region_name=AWS_REGION_EU_WEST_1) s3control_client.put_public_access_block( AccountId=AWS_ACCOUNT_NUMBER, PublicAccessBlockConfiguration={ @@ -316,17 +282,17 @@ class Test_s3_bucket_public_write_acl: result[0].resource_arn == f"arn:{audit_info.audited_partition}:s3:::{bucket_name_us}" ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_s3 @mock_s3control def test_bucket_public_write_ACL_AllUsers_WRITE_ACP(self): - s3_client = client("s3", region_name=AWS_REGION) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) bucket_name_us = "bucket_test_us" s3_client.create_bucket(Bucket=bucket_name_us) bucket_owner = s3_client.get_bucket_acl(Bucket=bucket_name_us)["Owner"] # Generate S3Control Client - s3control_client = client("s3control", region_name=AWS_REGION) + s3control_client = client("s3control", region_name=AWS_REGION_EU_WEST_1) s3control_client.put_public_access_block( AccountId=AWS_ACCOUNT_NUMBER, PublicAccessBlockConfiguration={ @@ -396,17 +362,17 @@ class Test_s3_bucket_public_write_acl: result[0].resource_arn == f"arn:{audit_info.audited_partition}:s3:::{bucket_name_us}" ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_s3 @mock_s3control def test_bucket_public_write_ACL_AllUsers_FULL_CONTROL(self): - s3_client = client("s3", region_name=AWS_REGION) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) bucket_name_us = "bucket_test_us" s3_client.create_bucket(Bucket=bucket_name_us) bucket_owner = s3_client.get_bucket_acl(Bucket=bucket_name_us)["Owner"] # Generate S3Control Client - s3control_client = client("s3control", region_name=AWS_REGION) + s3control_client = client("s3control", region_name=AWS_REGION_EU_WEST_1) s3control_client.put_public_access_block( AccountId=AWS_ACCOUNT_NUMBER, PublicAccessBlockConfiguration={ @@ -476,17 +442,17 @@ class Test_s3_bucket_public_write_acl: result[0].resource_arn == f"arn:{audit_info.audited_partition}:s3:::{bucket_name_us}" ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_s3 @mock_s3control def test_bucket_public_write_ACL_AuthenticatedUsers_WRITE(self): - s3_client = client("s3", region_name=AWS_REGION) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) bucket_name_us = "bucket_test_us" s3_client.create_bucket(Bucket=bucket_name_us) bucket_owner = s3_client.get_bucket_acl(Bucket=bucket_name_us)["Owner"] # Generate S3Control Client - s3control_client = client("s3control", region_name=AWS_REGION) + s3control_client = client("s3control", region_name=AWS_REGION_EU_WEST_1) s3control_client.put_public_access_block( AccountId=AWS_ACCOUNT_NUMBER, PublicAccessBlockConfiguration={ @@ -556,17 +522,17 @@ class Test_s3_bucket_public_write_acl: result[0].resource_arn == f"arn:{audit_info.audited_partition}:s3:::{bucket_name_us}" ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_s3 @mock_s3control def test_bucket_public_write_ACL_AuthenticatedUsers_WRITE_ACP(self): - s3_client = client("s3", region_name=AWS_REGION) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) bucket_name_us = "bucket_test_us" s3_client.create_bucket(Bucket=bucket_name_us) bucket_owner = s3_client.get_bucket_acl(Bucket=bucket_name_us)["Owner"] # Generate S3Control Client - s3control_client = client("s3control", region_name=AWS_REGION) + s3control_client = client("s3control", region_name=AWS_REGION_EU_WEST_1) s3control_client.put_public_access_block( AccountId=AWS_ACCOUNT_NUMBER, PublicAccessBlockConfiguration={ @@ -636,17 +602,17 @@ class Test_s3_bucket_public_write_acl: result[0].resource_arn == f"arn:{audit_info.audited_partition}:s3:::{bucket_name_us}" ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_s3 @mock_s3control def test_bucket_public_write_ACL_AuthenticatedUsers_FULL_CONTROL(self): - s3_client = client("s3", region_name=AWS_REGION) + s3_client = client("s3", region_name=AWS_REGION_EU_WEST_1) bucket_name_us = "bucket_test_us" s3_client.create_bucket(Bucket=bucket_name_us) bucket_owner = s3_client.get_bucket_acl(Bucket=bucket_name_us)["Owner"] # Generate S3Control Client - s3control_client = client("s3control", region_name=AWS_REGION) + s3control_client = client("s3control", region_name=AWS_REGION_EU_WEST_1) s3control_client.put_public_access_block( AccountId=AWS_ACCOUNT_NUMBER, PublicAccessBlockConfiguration={ @@ -716,4 +682,4 @@ class Test_s3_bucket_public_write_acl: result[0].resource_arn == f"arn:{audit_info.audited_partition}:s3:::{bucket_name_us}" ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 diff --git a/tests/providers/aws/services/s3/s3_bucket_secure_transport_policy/s3_bucket_secure_transport_policy_test.py b/tests/providers/aws/services/s3/s3_bucket_secure_transport_policy/s3_bucket_secure_transport_policy_test.py index 0e42437df2..f3ce06e811 100644 --- a/tests/providers/aws/services/s3/s3_bucket_secure_transport_policy/s3_bucket_secure_transport_policy_test.py +++ b/tests/providers/aws/services/s3/s3_bucket_secure_transport_policy/s3_bucket_secure_transport_policy_test.py @@ -1,53 +1,19 @@ from re import search from unittest import mock -from boto3 import client, session +from boto3 import client from moto import mock_s3 -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" -AWS_REGION = "us-east-1" class Test_s3_bucket_secure_transport_policy: - 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, - region_name=AWS_REGION, - ), - 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=AWS_REGION, - 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 - @mock_s3 def test_bucket_no_policy(self): s3_client_us_east_1 = client("s3", region_name="us-east-1") diff --git a/tests/providers/aws/services/s3/s3_bucket_server_access_logging_enabled/s3_bucket_server_access_logging_enabled_test.py b/tests/providers/aws/services/s3/s3_bucket_server_access_logging_enabled/s3_bucket_server_access_logging_enabled_test.py index 6b21ae5099..36fa941254 100644 --- a/tests/providers/aws/services/s3/s3_bucket_server_access_logging_enabled/s3_bucket_server_access_logging_enabled_test.py +++ b/tests/providers/aws/services/s3/s3_bucket_server_access_logging_enabled/s3_bucket_server_access_logging_enabled_test.py @@ -1,53 +1,19 @@ from re import search from unittest import mock -from boto3 import client, session +from boto3 import client from moto import mock_s3 -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" -AWS_REGION = "us-east-1" class Test_s3_bucket_server_access_logging_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, - region_name=AWS_REGION, - ), - 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=AWS_REGION, - 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 - @mock_s3 def test_bucket_no_logging(self): s3_client_us_east_1 = client("s3", region_name="us-east-1") diff --git a/tests/providers/aws/services/s3/s3_service_test.py b/tests/providers/aws/services/s3/s3_service_test.py index c43579a8c9..9b21aed09b 100644 --- a/tests/providers/aws/services/s3/s3_service_test.py +++ b/tests/providers/aws/services/s3/s3_service_test.py @@ -1,52 +1,17 @@ import json -from boto3 import client, session +from boto3 import client from moto import mock_s3, mock_s3control -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info from prowler.providers.aws.services.s3.s3_service import S3, S3Control -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" -AWS_REGION = "us-east-1" - class Test_S3_Service: - 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, - region_name=AWS_REGION, - ), - 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=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 S3 Service @mock_s3 def test_service(self): @@ -375,7 +340,7 @@ class Test_S3_Service: @mock_s3control def test__get_public_access_block__s3_control(self): # Generate S3Control Client - s3control_client = client("s3control", region_name=AWS_REGION) + s3control_client = client("s3control", region_name=AWS_REGION_EU_WEST_1) s3control_client.put_public_access_block( AccountId=AWS_ACCOUNT_NUMBER, PublicAccessBlockConfiguration={ diff --git a/tests/providers/aws/services/sagemaker/sagemaker_models_network_isolation_enabled/sagemaker_models_network_isolation_enabled_test.py b/tests/providers/aws/services/sagemaker/sagemaker_models_network_isolation_enabled/sagemaker_models_network_isolation_enabled_test.py index 0f147e92fe..3ab35950a9 100644 --- a/tests/providers/aws/services/sagemaker/sagemaker_models_network_isolation_enabled/sagemaker_models_network_isolation_enabled_test.py +++ b/tests/providers/aws/services/sagemaker/sagemaker_models_network_isolation_enabled/sagemaker_models_network_isolation_enabled_test.py @@ -3,12 +3,13 @@ from unittest import mock from uuid import uuid4 from prowler.providers.aws.services.sagemaker.sagemaker_service import Model - -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, + AWS_REGION_EU_WEST_1, +) test_notebook_instance = "test-notebook-instance" -notebook_instance_arn = f"arn:aws:sagemaker:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:notebook-instance/{test_notebook_instance}" +notebook_instance_arn = f"arn:aws:sagemaker:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:notebook-instance/{test_notebook_instance}" subnet_id = "subnet-" + str(uuid4()) @@ -35,7 +36,7 @@ class Test_sagemaker_models_network_isolation_enabled: Model( name=test_notebook_instance, arn=notebook_instance_arn, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, network_isolation=True, ) ) @@ -62,7 +63,7 @@ class Test_sagemaker_models_network_isolation_enabled: Model( name=test_notebook_instance, arn=notebook_instance_arn, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, network_isolation=False, ) ) diff --git a/tests/providers/aws/services/sagemaker/sagemaker_models_vpc_settings_configured/sagemaker_models_vpc_settings_configured_test.py b/tests/providers/aws/services/sagemaker/sagemaker_models_vpc_settings_configured/sagemaker_models_vpc_settings_configured_test.py index 0c50178276..1d10eb0faa 100644 --- a/tests/providers/aws/services/sagemaker/sagemaker_models_vpc_settings_configured/sagemaker_models_vpc_settings_configured_test.py +++ b/tests/providers/aws/services/sagemaker/sagemaker_models_vpc_settings_configured/sagemaker_models_vpc_settings_configured_test.py @@ -3,12 +3,13 @@ from unittest import mock from uuid import uuid4 from prowler.providers.aws.services.sagemaker.sagemaker_service import Model - -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, + AWS_REGION_EU_WEST_1, +) test_notebook_instance = "test-notebook-instance" -notebook_instance_arn = f"arn:aws:sagemaker:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:notebook-instance/{test_notebook_instance}" +notebook_instance_arn = f"arn:aws:sagemaker:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:notebook-instance/{test_notebook_instance}" subnet_id = "subnet-" + str(uuid4()) @@ -35,7 +36,7 @@ class Test_sagemaker_models_vpc_settings_configured: Model( name=test_notebook_instance, arn=notebook_instance_arn, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, vpc_config_subnets=[subnet_id], ) ) @@ -62,7 +63,7 @@ class Test_sagemaker_models_vpc_settings_configured: Model( name=test_notebook_instance, arn=notebook_instance_arn, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) ) with mock.patch( diff --git a/tests/providers/aws/services/sagemaker/sagemaker_notebook_instance_encryption_enabled/sagemaker_notebook_instance_encryption_enabled_test.py b/tests/providers/aws/services/sagemaker/sagemaker_notebook_instance_encryption_enabled/sagemaker_notebook_instance_encryption_enabled_test.py index 8c0ff7b517..16a9d3c30f 100644 --- a/tests/providers/aws/services/sagemaker/sagemaker_notebook_instance_encryption_enabled/sagemaker_notebook_instance_encryption_enabled_test.py +++ b/tests/providers/aws/services/sagemaker/sagemaker_notebook_instance_encryption_enabled/sagemaker_notebook_instance_encryption_enabled_test.py @@ -3,12 +3,13 @@ from unittest import mock from uuid import uuid4 from prowler.providers.aws.services.sagemaker.sagemaker_service import NotebookInstance - -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, + AWS_REGION_EU_WEST_1, +) test_notebook_instance = "test-notebook-instance" -notebook_instance_arn = f"arn:aws:sagemaker:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:notebook-instance/{test_notebook_instance}" +notebook_instance_arn = f"arn:aws:sagemaker:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:notebook-instance/{test_notebook_instance}" kms_key = str(uuid4()) @@ -35,7 +36,7 @@ class Test_sagemaker_notebook_instance_encryption_enabled: NotebookInstance( name=test_notebook_instance, arn=notebook_instance_arn, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, kms_key_id=kms_key, ) ) @@ -62,7 +63,7 @@ class Test_sagemaker_notebook_instance_encryption_enabled: NotebookInstance( name=test_notebook_instance, arn=notebook_instance_arn, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) ) with mock.patch( diff --git a/tests/providers/aws/services/sagemaker/sagemaker_notebook_instance_root_access_disabled/sagemaker_notebook_instance_root_access_disabled_test.py b/tests/providers/aws/services/sagemaker/sagemaker_notebook_instance_root_access_disabled/sagemaker_notebook_instance_root_access_disabled_test.py index 8939fc1a55..7ce5a7e538 100644 --- a/tests/providers/aws/services/sagemaker/sagemaker_notebook_instance_root_access_disabled/sagemaker_notebook_instance_root_access_disabled_test.py +++ b/tests/providers/aws/services/sagemaker/sagemaker_notebook_instance_root_access_disabled/sagemaker_notebook_instance_root_access_disabled_test.py @@ -2,12 +2,13 @@ from re import search from unittest import mock from prowler.providers.aws.services.sagemaker.sagemaker_service import NotebookInstance - -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, + AWS_REGION_EU_WEST_1, +) test_notebook_instance = "test-notebook-instance" -notebook_instance_arn = f"arn:aws:sagemaker:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:notebook-instance/{test_notebook_instance}" +notebook_instance_arn = f"arn:aws:sagemaker:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:notebook-instance/{test_notebook_instance}" class Test_sagemaker_notebook_instance_root_access_disabled: @@ -33,7 +34,7 @@ class Test_sagemaker_notebook_instance_root_access_disabled: NotebookInstance( name=test_notebook_instance, arn=notebook_instance_arn, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, root_access=False, ) ) @@ -60,7 +61,7 @@ class Test_sagemaker_notebook_instance_root_access_disabled: NotebookInstance( name=test_notebook_instance, arn=notebook_instance_arn, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, root_access=True, ) ) diff --git a/tests/providers/aws/services/sagemaker/sagemaker_notebook_instance_vpc_settings_configured/sagemaker_notebook_instance_vpc_settings_configured_test.py b/tests/providers/aws/services/sagemaker/sagemaker_notebook_instance_vpc_settings_configured/sagemaker_notebook_instance_vpc_settings_configured_test.py index 5eb49a9b96..5c01364172 100644 --- a/tests/providers/aws/services/sagemaker/sagemaker_notebook_instance_vpc_settings_configured/sagemaker_notebook_instance_vpc_settings_configured_test.py +++ b/tests/providers/aws/services/sagemaker/sagemaker_notebook_instance_vpc_settings_configured/sagemaker_notebook_instance_vpc_settings_configured_test.py @@ -3,12 +3,13 @@ from unittest import mock from uuid import uuid4 from prowler.providers.aws.services.sagemaker.sagemaker_service import NotebookInstance - -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, + AWS_REGION_EU_WEST_1, +) test_notebook_instance = "test-notebook-instance" -notebook_instance_arn = f"arn:aws:sagemaker:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:notebook-instance/{test_notebook_instance}" +notebook_instance_arn = f"arn:aws:sagemaker:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:notebook-instance/{test_notebook_instance}" subnet_id = "subnet-" + str(uuid4()) @@ -35,7 +36,7 @@ class Test_sagemaker_notebook_instance_vpc_settings_configured: NotebookInstance( name=test_notebook_instance, arn=notebook_instance_arn, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, subnet_id=subnet_id, ) ) @@ -62,7 +63,7 @@ class Test_sagemaker_notebook_instance_vpc_settings_configured: NotebookInstance( name=test_notebook_instance, arn=notebook_instance_arn, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, root_access=True, ) ) diff --git a/tests/providers/aws/services/sagemaker/sagemaker_notebook_instance_without_direct_internet_access_configured/sagemaker_notebook_instance_without_direct_internet_access_configured_test.py b/tests/providers/aws/services/sagemaker/sagemaker_notebook_instance_without_direct_internet_access_configured/sagemaker_notebook_instance_without_direct_internet_access_configured_test.py index dbebcfa64a..6b968db27e 100644 --- a/tests/providers/aws/services/sagemaker/sagemaker_notebook_instance_without_direct_internet_access_configured/sagemaker_notebook_instance_without_direct_internet_access_configured_test.py +++ b/tests/providers/aws/services/sagemaker/sagemaker_notebook_instance_without_direct_internet_access_configured/sagemaker_notebook_instance_without_direct_internet_access_configured_test.py @@ -2,12 +2,13 @@ from re import search from unittest import mock from prowler.providers.aws.services.sagemaker.sagemaker_service import NotebookInstance - -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, + AWS_REGION_EU_WEST_1, +) test_notebook_instance = "test-notebook-instance" -notebook_instance_arn = f"arn:aws:sagemaker:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:notebook-instance/{test_notebook_instance}" +notebook_instance_arn = f"arn:aws:sagemaker:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:notebook-instance/{test_notebook_instance}" class Test_sagemaker_notebook_instance_without_direct_internet_access_configured: @@ -35,7 +36,7 @@ class Test_sagemaker_notebook_instance_without_direct_internet_access_configured NotebookInstance( name=test_notebook_instance, arn=notebook_instance_arn, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, direct_internet_access=False, ) ) @@ -66,7 +67,7 @@ class Test_sagemaker_notebook_instance_without_direct_internet_access_configured NotebookInstance( name=test_notebook_instance, arn=notebook_instance_arn, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, direct_internet_access=True, ) ) diff --git a/tests/providers/aws/services/sagemaker/sagemaker_service_test.py b/tests/providers/aws/services/sagemaker/sagemaker_service_test.py index 56f47a96e8..c8d873836d 100644 --- a/tests/providers/aws/services/sagemaker/sagemaker_service_test.py +++ b/tests/providers/aws/services/sagemaker/sagemaker_service_test.py @@ -2,29 +2,22 @@ from unittest.mock import patch from uuid import uuid4 import botocore -from boto3 import session -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info from prowler.providers.aws.services.sagemaker.sagemaker_service import SageMaker -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" -AWS_REGION = "eu-west-1" - test_notebook_instance = "test-notebook-instance" -notebook_instance_arn = f"arn:aws:sagemaker:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:notebook-instance/{test_notebook_instance}" +notebook_instance_arn = f"arn:aws:sagemaker:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:notebook-instance/{test_notebook_instance}" test_model = "test-model" test_arn_model = ( - f"arn:aws:sagemaker:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:model/{test_model}" + f"arn:aws:sagemaker:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:model/{test_model}" ) test_training_job = "test-training-job" -test_arn_training_job = ( - f"arn:aws:sagemaker:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:training-job/{test_model}" -) +test_arn_training_job = f"arn:aws:sagemaker:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:training-job/{test_model}" subnet_id = "subnet-" + str(uuid4()) kms_key_id = str(uuid4()) @@ -98,9 +91,11 @@ def mock_make_api_call(self, operation_name, kwarg): 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_EU_WEST_1 + ) + regional_client.region = AWS_REGION_EU_WEST_1 + return {AWS_REGION_EU_WEST_1: regional_client} @patch("botocore.client.BaseClient._make_api_call", new=mock_make_api_call) @@ -109,36 +104,6 @@ def mock_generate_regional_clients(service, audit_info, _): new=mock_generate_regional_clients, ) class Test_SageMaker_Service: - 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=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=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 SageMaker Service def test_service(self): audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) @@ -165,7 +130,7 @@ class Test_SageMaker_Service: assert len(sagemaker.sagemaker_notebook_instances) == 1 assert sagemaker.sagemaker_notebook_instances[0].name == test_notebook_instance assert sagemaker.sagemaker_notebook_instances[0].arn == notebook_instance_arn - assert sagemaker.sagemaker_notebook_instances[0].region == AWS_REGION + assert sagemaker.sagemaker_notebook_instances[0].region == AWS_REGION_EU_WEST_1 assert sagemaker.sagemaker_notebook_instances[0].tags == [ {"Key": "test", "Value": "test"}, ] @@ -177,7 +142,7 @@ class Test_SageMaker_Service: assert len(sagemaker.sagemaker_models) == 1 assert sagemaker.sagemaker_models[0].name == test_model assert sagemaker.sagemaker_models[0].arn == test_arn_model - assert sagemaker.sagemaker_models[0].region == AWS_REGION + assert sagemaker.sagemaker_models[0].region == AWS_REGION_EU_WEST_1 assert sagemaker.sagemaker_models[0].tags == [ {"Key": "test", "Value": "test"}, ] @@ -189,7 +154,7 @@ class Test_SageMaker_Service: assert len(sagemaker.sagemaker_training_jobs) == 1 assert sagemaker.sagemaker_training_jobs[0].name == test_training_job assert sagemaker.sagemaker_training_jobs[0].arn == test_arn_training_job - assert sagemaker.sagemaker_training_jobs[0].region == AWS_REGION + assert sagemaker.sagemaker_training_jobs[0].region == AWS_REGION_EU_WEST_1 assert sagemaker.sagemaker_training_jobs[0].tags == [ {"Key": "test", "Value": "test"}, ] diff --git a/tests/providers/aws/services/sagemaker/sagemaker_training_jobs_intercontainer_encryption_enabled/sagemaker_training_jobs_intercontainer_encryption_enabled_test.py b/tests/providers/aws/services/sagemaker/sagemaker_training_jobs_intercontainer_encryption_enabled/sagemaker_training_jobs_intercontainer_encryption_enabled_test.py index 9c3d48d7c0..ffd12f9051 100644 --- a/tests/providers/aws/services/sagemaker/sagemaker_training_jobs_intercontainer_encryption_enabled/sagemaker_training_jobs_intercontainer_encryption_enabled_test.py +++ b/tests/providers/aws/services/sagemaker/sagemaker_training_jobs_intercontainer_encryption_enabled/sagemaker_training_jobs_intercontainer_encryption_enabled_test.py @@ -2,12 +2,13 @@ from re import search from unittest import mock from prowler.providers.aws.services.sagemaker.sagemaker_service import TrainingJob - -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, + AWS_REGION_EU_WEST_1, +) test_training_job = "test-training-job" -training_job_arn = f"arn:aws:sagemaker:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:training-job/{test_training_job}" +training_job_arn = f"arn:aws:sagemaker:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:training-job/{test_training_job}" class Test_sagemaker_training_jobs_intercontainer_encryption_enabled: @@ -33,7 +34,7 @@ class Test_sagemaker_training_jobs_intercontainer_encryption_enabled: TrainingJob( name=test_training_job, arn=training_job_arn, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, container_traffic_encryption=True, ) ) @@ -62,7 +63,7 @@ class Test_sagemaker_training_jobs_intercontainer_encryption_enabled: TrainingJob( name=test_training_job, arn=training_job_arn, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) ) with mock.patch( diff --git a/tests/providers/aws/services/sagemaker/sagemaker_training_jobs_network_isolation_enabled/sagemaker_training_jobs_network_isolation_enabled_test.py b/tests/providers/aws/services/sagemaker/sagemaker_training_jobs_network_isolation_enabled/sagemaker_training_jobs_network_isolation_enabled_test.py index e070b7832a..29308fa24d 100644 --- a/tests/providers/aws/services/sagemaker/sagemaker_training_jobs_network_isolation_enabled/sagemaker_training_jobs_network_isolation_enabled_test.py +++ b/tests/providers/aws/services/sagemaker/sagemaker_training_jobs_network_isolation_enabled/sagemaker_training_jobs_network_isolation_enabled_test.py @@ -3,12 +3,13 @@ from unittest import mock from uuid import uuid4 from prowler.providers.aws.services.sagemaker.sagemaker_service import TrainingJob - -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, + AWS_REGION_EU_WEST_1, +) test_training_job = "test-training-job" -training_job_arn = f"arn:aws:sagemaker:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:training-job/{test_training_job}" +training_job_arn = f"arn:aws:sagemaker:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:training-job/{test_training_job}" kms_key_id = str(uuid4()) @@ -35,7 +36,7 @@ class Test_sagemaker_training_jobs_network_isolation_enabled: TrainingJob( name=test_training_job, arn=training_job_arn, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, network_isolation=True, ) ) @@ -62,7 +63,7 @@ class Test_sagemaker_training_jobs_network_isolation_enabled: TrainingJob( name=test_training_job, arn=training_job_arn, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) ) with mock.patch( diff --git a/tests/providers/aws/services/sagemaker/sagemaker_training_jobs_volume_and_output_encryption_enabled/sagemaker_training_jobs_volume_and_output_encryption_enabled_test.py b/tests/providers/aws/services/sagemaker/sagemaker_training_jobs_volume_and_output_encryption_enabled/sagemaker_training_jobs_volume_and_output_encryption_enabled_test.py index f9df2fe58e..c894df0e80 100644 --- a/tests/providers/aws/services/sagemaker/sagemaker_training_jobs_volume_and_output_encryption_enabled/sagemaker_training_jobs_volume_and_output_encryption_enabled_test.py +++ b/tests/providers/aws/services/sagemaker/sagemaker_training_jobs_volume_and_output_encryption_enabled/sagemaker_training_jobs_volume_and_output_encryption_enabled_test.py @@ -3,12 +3,13 @@ from unittest import mock from uuid import uuid4 from prowler.providers.aws.services.sagemaker.sagemaker_service import TrainingJob - -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, + AWS_REGION_EU_WEST_1, +) test_training_job = "test-training-job" -training_job_arn = f"arn:aws:sagemaker:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:training-job/{test_training_job}" +training_job_arn = f"arn:aws:sagemaker:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:training-job/{test_training_job}" kms_key_id = str(uuid4()) @@ -35,7 +36,7 @@ class Test_sagemaker_training_jobs_volume_and_output_encryption_enabled: TrainingJob( name=test_training_job, arn=training_job_arn, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, volume_kms_key_id=kms_key_id, ) ) @@ -62,7 +63,7 @@ class Test_sagemaker_training_jobs_volume_and_output_encryption_enabled: TrainingJob( name=test_training_job, arn=training_job_arn, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) ) with mock.patch( diff --git a/tests/providers/aws/services/sagemaker/sagemaker_training_jobs_vpc_settings_configured/sagemaker_training_jobs_vpc_settings_configured_test.py b/tests/providers/aws/services/sagemaker/sagemaker_training_jobs_vpc_settings_configured/sagemaker_training_jobs_vpc_settings_configured_test.py index 45bdf3d50c..8c57eea3bb 100644 --- a/tests/providers/aws/services/sagemaker/sagemaker_training_jobs_vpc_settings_configured/sagemaker_training_jobs_vpc_settings_configured_test.py +++ b/tests/providers/aws/services/sagemaker/sagemaker_training_jobs_vpc_settings_configured/sagemaker_training_jobs_vpc_settings_configured_test.py @@ -3,12 +3,13 @@ from unittest import mock from uuid import uuid4 from prowler.providers.aws.services.sagemaker.sagemaker_service import TrainingJob - -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, + AWS_REGION_EU_WEST_1, +) test_training_job = "test-training-job" -training_job_arn = f"arn:aws:sagemaker:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:training-job/{test_training_job}" +training_job_arn = f"arn:aws:sagemaker:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:training-job/{test_training_job}" subnet_id = "subnet-" + str(uuid4()) @@ -35,7 +36,7 @@ class Test_sagemaker_training_jobs_vpc_settings_configured: TrainingJob( name=test_training_job, arn=training_job_arn, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, vpc_config_subnets=[subnet_id], ) ) @@ -65,7 +66,7 @@ class Test_sagemaker_training_jobs_vpc_settings_configured: TrainingJob( name=test_training_job, arn=training_job_arn, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) ) with mock.patch( diff --git a/tests/providers/aws/services/secretsmanager/secretsmanager_automatic_rotation_enabled/secretsmanager_automatic_rotation_enabled_test.py b/tests/providers/aws/services/secretsmanager/secretsmanager_automatic_rotation_enabled/secretsmanager_automatic_rotation_enabled_test.py index ad1f6c1edf..a3de534a41 100644 --- a/tests/providers/aws/services/secretsmanager/secretsmanager_automatic_rotation_enabled/secretsmanager_automatic_rotation_enabled_test.py +++ b/tests/providers/aws/services/secretsmanager/secretsmanager_automatic_rotation_enabled/secretsmanager_automatic_rotation_enabled_test.py @@ -3,9 +3,7 @@ from unittest import mock from moto.core import DEFAULT_ACCOUNT_ID from prowler.providers.aws.services.secretsmanager.secretsmanager_service import Secret - -# Mock Test Region -AWS_REGION = "eu-west-1" +from tests.providers.aws.audit_info_utils import AWS_REGION_EU_WEST_1 class Test_secretsmanager_automatic_rotation_enabled: @@ -29,11 +27,11 @@ class Test_secretsmanager_automatic_rotation_enabled: def test_secret_rotation_disabled(self): secretsmanager_client = mock.MagicMock secret_name = "test-secret" - secret_arn = f"arn:aws:secretsmanager:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:secret:{secret_name}" + secret_arn = f"arn:aws:secretsmanager:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:secret:{secret_name}" secretsmanager_client.secrets = { secret_name: Secret( arn=secret_arn, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, name=secret_name, rotation_enabled=False, ) @@ -51,7 +49,7 @@ class Test_secretsmanager_automatic_rotation_enabled: result = check.execute() assert len(result) == 1 - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_id == secret_name assert result[0].resource_arn == secret_arn assert result[0].status == "FAIL" @@ -63,11 +61,11 @@ class Test_secretsmanager_automatic_rotation_enabled: def test_secret_rotation_enabled(self): secretsmanager_client = mock.MagicMock secret_name = "test-secret" - secret_arn = f"arn:aws:secretsmanager:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:secret:{secret_name}" + secret_arn = f"arn:aws:secretsmanager:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:secret:{secret_name}" secretsmanager_client.secrets = { secret_name: Secret( arn=secret_arn, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, name=secret_name, rotation_enabled=True, ) @@ -85,7 +83,7 @@ class Test_secretsmanager_automatic_rotation_enabled: result = check.execute() assert len(result) == 1 - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_id == secret_name assert result[0].resource_arn == secret_arn assert result[0].status == "PASS" diff --git a/tests/providers/aws/services/secretsmanager/secretsmanager_service_test.py b/tests/providers/aws/services/secretsmanager/secretsmanager_service_test.py index e251afa116..1debd557c5 100644 --- a/tests/providers/aws/services/secretsmanager/secretsmanager_service_test.py +++ b/tests/providers/aws/services/secretsmanager/secretsmanager_service_test.py @@ -2,29 +2,25 @@ import io import zipfile from unittest.mock import patch -from boto3 import client, resource, session +from boto3 import client, resource from moto import mock_ec2, mock_iam, mock_lambda, mock_s3, mock_secretsmanager -from moto.core import DEFAULT_ACCOUNT_ID -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info from prowler.providers.aws.services.secretsmanager.secretsmanager_service import ( SecretsManager, ) -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -# Mock Test Region -AWS_REGION = "eu-west-1" - # Mock generate_regional_clients() 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_EU_WEST_1 + ) + regional_client.region = AWS_REGION_EU_WEST_1 + return {AWS_REGION_EU_WEST_1: regional_client} # Patch every AWS call using Boto3 and generate_regional_clients to have 1 client @@ -33,43 +29,13 @@ def mock_generate_regional_clients(service, audit_info, _): new=mock_generate_regional_clients, ) class Test_SecretsManager_Service: - 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=DEFAULT_ACCOUNT_ID, - audited_account_arn=f"arn:aws:iam::{DEFAULT_ACCOUNT_ID}: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=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 SecretsManager Client @mock_secretsmanager def test__get_client__(self): audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) secretsmanager = SecretsManager(audit_info) assert ( - secretsmanager.regional_clients[AWS_REGION].__class__.__name__ + secretsmanager.regional_clients[AWS_REGION_EU_WEST_1].__class__.__name__ == "SecretsManager" ) @@ -93,7 +59,9 @@ class Test_SecretsManager_Service: @mock_iam @mock_s3 def test__list_secrets__(self): - secretsmanager_client = client("secretsmanager", region_name=AWS_REGION) + secretsmanager_client = client( + "secretsmanager", region_name=AWS_REGION_EU_WEST_1 + ) # Create Secret resp = secretsmanager_client.create_secret( Name="test-secret", @@ -105,17 +73,17 @@ class Test_SecretsManager_Service: secret_arn = resp["ARN"] secret_name = resp["Name"] # Create IAM Lambda Role - iam_client = client("iam", region_name=AWS_REGION) + iam_client = client("iam", region_name=AWS_REGION_EU_WEST_1) iam_role = iam_client.create_role( RoleName="rotation-lambda-role", AssumeRolePolicyDocument="test-policy", Path="/", )["Role"]["Arn"] # Create S3 Bucket - s3_client = resource("s3", region_name=AWS_REGION) + s3_client = resource("s3", region_name=AWS_REGION_EU_WEST_1) s3_client.create_bucket( Bucket="test-bucket", - CreateBucketConfiguration={"LocationConstraint": AWS_REGION}, + CreateBucketConfiguration={"LocationConstraint": AWS_REGION_EU_WEST_1}, ) # Create Lambda Code zip_output = io.BytesIO() @@ -131,7 +99,7 @@ class Test_SecretsManager_Service: zip_file.close() zip_output.seek(0) # Create Rotation Lambda - lambda_client = client("lambda", region_name=AWS_REGION) + lambda_client = client("lambda", region_name=AWS_REGION_EU_WEST_1) resp = lambda_client.create_function( FunctionName="rotation-lambda", Runtime="python3.7", @@ -170,7 +138,7 @@ class Test_SecretsManager_Service: assert secretsmanager.secrets[secret_arn] assert secretsmanager.secrets[secret_arn].name == secret_name assert secretsmanager.secrets[secret_arn].arn == secret_arn - assert secretsmanager.secrets[secret_arn].region == AWS_REGION + assert secretsmanager.secrets[secret_arn].region == AWS_REGION_EU_WEST_1 assert secretsmanager.secrets[secret_arn].rotation_enabled is True assert secretsmanager.secrets[secret_arn].tags == [ {"Key": "test", "Value": "test"}, diff --git a/tests/providers/aws/services/securityhub/securityhub_enabled/securityhub_enabled_test.py b/tests/providers/aws/services/securityhub/securityhub_enabled/securityhub_enabled_test.py index 977ab1a48f..400418d7d9 100644 --- a/tests/providers/aws/services/securityhub/securityhub_enabled/securityhub_enabled_test.py +++ b/tests/providers/aws/services/securityhub/securityhub_enabled/securityhub_enabled_test.py @@ -3,16 +3,18 @@ from unittest import mock from prowler.providers.aws.services.securityhub.securityhub_service import ( SecurityHubHub, ) +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, + AWS_REGION_EU_WEST_1, +) -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_ID = "123456789012" -AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_ID}:root" +AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" class Test_securityhub_enabled: def test_securityhub_hub_inactive(self): securityhub_client = mock.MagicMock - securityhub_client.region = AWS_REGION + securityhub_client.region = AWS_REGION_EU_WEST_1 securityhub_client.securityhubs = [ SecurityHubHub( arn=AWS_ACCOUNT_ARN, @@ -20,7 +22,7 @@ class Test_securityhub_enabled: status="NOT_AVAILABLE", standards="", integrations="", - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) ] with mock.patch( @@ -39,7 +41,7 @@ class Test_securityhub_enabled: assert result[0].status_extended == "Security Hub is not enabled." assert result[0].resource_id == "Security Hub" assert result[0].resource_arn == AWS_ACCOUNT_ARN - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 def test_securityhub_hub_active_with_standards(self): securityhub_client = mock.MagicMock @@ -75,7 +77,7 @@ class Test_securityhub_enabled: result[0].resource_arn == "arn:aws:securityhub:us-east-1:0123456789012:hub/default" ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 def test_securityhub_hub_active_with_integrations(self): securityhub_client = mock.MagicMock @@ -111,11 +113,11 @@ class Test_securityhub_enabled: result[0].resource_arn == "arn:aws:securityhub:us-east-1:0123456789012:hub/default" ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 def test_securityhub_hub_active_without_integrations_or_standards(self): securityhub_client = mock.MagicMock - securityhub_client.region = AWS_REGION + securityhub_client.region = AWS_REGION_EU_WEST_1 securityhub_client.securityhubs = [ SecurityHubHub( arn="arn:aws:securityhub:us-east-1:0123456789012:hub/default", @@ -148,12 +150,12 @@ class Test_securityhub_enabled: result[0].resource_arn == "arn:aws:securityhub:us-east-1:0123456789012:hub/default" ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 def test_securityhub_hub_active_without_integrations_or_standards_allowlisted(self): securityhub_client = mock.MagicMock securityhub_client.audit_config = {"allowlist_non_default_regions": True} - securityhub_client.region = AWS_REGION + securityhub_client.region = AWS_REGION_EU_WEST_1 securityhub_client.securityhubs = [ SecurityHubHub( arn="arn:aws:securityhub:us-east-1:0123456789012:hub/default", diff --git a/tests/providers/aws/services/securityhub/securityhub_service_test.py b/tests/providers/aws/services/securityhub/securityhub_service_test.py index ded822c474..7d74f8a026 100644 --- a/tests/providers/aws/services/securityhub/securityhub_service_test.py +++ b/tests/providers/aws/services/securityhub/securityhub_service_test.py @@ -8,9 +8,6 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -# Mock Test Region -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" # Mocking Access Analyzer Calls make_api_call = botocore.client.BaseClient._make_api_call @@ -48,9 +45,11 @@ def mock_make_api_call(self, operation_name, kwarg): # Mock generate_regional_clients() 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_EU_WEST_1 + ) + regional_client.region = AWS_REGION_EU_WEST_1 + return {AWS_REGION_EU_WEST_1: regional_client} # Patch every AWS call using Boto3 and generate_regional_clients to have 1 client @@ -64,7 +63,7 @@ class Test_SecurityHub_Service: def test__get_client__(self): security_hub = SecurityHub(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])) assert ( - security_hub.regional_clients[AWS_REGION].__class__.__name__ + security_hub.regional_clients[AWS_REGION_EU_WEST_1].__class__.__name__ == "SecurityHub" ) diff --git a/tests/providers/aws/services/shield/shield_advanced_protection_in_associated_elastic_ips/shield_advanced_protection_in_associated_elastic_ips_test.py b/tests/providers/aws/services/shield/shield_advanced_protection_in_associated_elastic_ips/shield_advanced_protection_in_associated_elastic_ips_test.py index 6131139551..829c162d06 100644 --- a/tests/providers/aws/services/shield/shield_advanced_protection_in_associated_elastic_ips/shield_advanced_protection_in_associated_elastic_ips_test.py +++ b/tests/providers/aws/services/shield/shield_advanced_protection_in_associated_elastic_ips/shield_advanced_protection_in_associated_elastic_ips_test.py @@ -1,26 +1,24 @@ from unittest import mock -from boto3 import client, session +from boto3 import client from mock import patch from moto import mock_ec2 from moto.core import DEFAULT_ACCOUNT_ID -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info from prowler.providers.aws.services.shield.shield_service import Protection -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_REGION = "eu-west-1" - # Mock generate_regional_clients() 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_EU_WEST_1 + ) + regional_client.region = AWS_REGION_EU_WEST_1 + return {AWS_REGION_EU_WEST_1: regional_client} # Patch every AWS call using Boto3 and generate_regional_clients to have 1 client @@ -29,36 +27,6 @@ def mock_generate_regional_clients(service, audit_info, _): new=mock_generate_regional_clients, ) class Test_shield_advanced_protection_in_associated_elastic_ips: - 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=DEFAULT_ACCOUNT_ID, - audited_account_arn=f"arn:aws:iam::{DEFAULT_ACCOUNT_ID}:root", - audited_user_id=None, - audited_partition="aws", - audited_identity_arn=None, - profile=None, - profile_region=AWS_REGION, - 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 - @mock_ec2 def test_no_shield_not_active(self): # Shield Client @@ -90,15 +58,15 @@ class Test_shield_advanced_protection_in_associated_elastic_ips: @mock_ec2 def test_shield_enabled_ip_protected(self): # EC2 Client - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) resp = ec2_client.allocate_address(Domain="vpc", Address="127.38.43.222") allocation_id = resp["AllocationId"] - elastic_ip_arn = f"arn:aws:ec2:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:eip-allocation/{allocation_id}" + elastic_ip_arn = f"arn:aws:ec2:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:eip-allocation/{allocation_id}" # Shield Client shield_client = mock.MagicMock shield_client.enabled = True - shield_client.region = AWS_REGION + shield_client.region = AWS_REGION_EU_WEST_1 protection_id = "test-protection" shield_client.protections = { protection_id: Protection( @@ -106,7 +74,7 @@ class Test_shield_advanced_protection_in_associated_elastic_ips: name="", resource_arn=elastic_ip_arn, protection_arn="", - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) } @@ -131,7 +99,7 @@ class Test_shield_advanced_protection_in_associated_elastic_ips: result = check.execute() assert len(result) == 1 - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_id == allocation_id assert result[0].resource_arn == elastic_ip_arn assert result[0].status == "PASS" @@ -143,15 +111,15 @@ class Test_shield_advanced_protection_in_associated_elastic_ips: @mock_ec2 def test_shield_enabled_ip_not_protected(self): # EC2 Client - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) resp = ec2_client.allocate_address(Domain="vpc", Address="127.38.43.222") allocation_id = resp["AllocationId"] - elastic_ip_arn = f"arn:aws:ec2:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:eip-allocation/{allocation_id}" + elastic_ip_arn = f"arn:aws:ec2:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:eip-allocation/{allocation_id}" # Shield Client shield_client = mock.MagicMock shield_client.enabled = True - shield_client.region = AWS_REGION + shield_client.region = AWS_REGION_EU_WEST_1 shield_client.protections = {} from prowler.providers.aws.services.ec2.ec2_service import EC2 @@ -175,7 +143,7 @@ class Test_shield_advanced_protection_in_associated_elastic_ips: result = check.execute() assert len(result) == 1 - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_id == allocation_id assert result[0].resource_arn == elastic_ip_arn assert result[0].status == "FAIL" @@ -187,15 +155,15 @@ class Test_shield_advanced_protection_in_associated_elastic_ips: @mock_ec2 def test_shield_disabled_ip_not_protected(self): # EC2 Client - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) resp = ec2_client.allocate_address(Domain="vpc", Address="127.38.43.222") allocation_id = resp["AllocationId"] - _ = f"arn:aws:ec2:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:eip-allocation/{allocation_id}" + _ = f"arn:aws:ec2:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:eip-allocation/{allocation_id}" # Shield Client shield_client = mock.MagicMock shield_client.enabled = False - shield_client.region = AWS_REGION + shield_client.region = AWS_REGION_EU_WEST_1 shield_client.protections = {} from prowler.providers.aws.services.ec2.ec2_service import EC2 diff --git a/tests/providers/aws/services/shield/shield_advanced_protection_in_classic_load_balancers/shield_advanced_protection_in_classic_load_balancers_test.py b/tests/providers/aws/services/shield/shield_advanced_protection_in_classic_load_balancers/shield_advanced_protection_in_classic_load_balancers_test.py index 990fec31ef..de56bd8b0e 100644 --- a/tests/providers/aws/services/shield/shield_advanced_protection_in_classic_load_balancers/shield_advanced_protection_in_classic_load_balancers_test.py +++ b/tests/providers/aws/services/shield/shield_advanced_protection_in_classic_load_balancers/shield_advanced_protection_in_classic_load_balancers_test.py @@ -1,51 +1,17 @@ from unittest import mock -from boto3 import client, resource, session +from boto3 import client, resource from moto import mock_ec2, mock_elb from moto.core import DEFAULT_ACCOUNT_ID -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info from prowler.providers.aws.services.shield.shield_service import Protection -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_REGION = "eu-west-1" - class Test_shield_advanced_protection_in_classic_load_balancers: - 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=DEFAULT_ACCOUNT_ID, - audited_account_arn=f"arn:aws:iam::{DEFAULT_ACCOUNT_ID}:root", - audited_user_id=None, - audited_partition="aws", - audited_identity_arn=None, - profile=None, - profile_region=AWS_REGION, - 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 - @mock_elb @mock_ec2 def test_no_shield_not_active(self): @@ -79,8 +45,8 @@ class Test_shield_advanced_protection_in_classic_load_balancers: @mock_elb def test_shield_enabled_elb_protected(self): # ELB Client - elb = client("elb", region_name=AWS_REGION) - ec2 = resource("ec2", region_name=AWS_REGION) + elb = client("elb", region_name=AWS_REGION_EU_WEST_1) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) security_group = ec2.create_security_group( GroupName="sg01", Description="Test security group sg01" @@ -92,16 +58,16 @@ class Test_shield_advanced_protection_in_classic_load_balancers: {"Protocol": "tcp", "LoadBalancerPort": 80, "InstancePort": 8080}, {"Protocol": "http", "LoadBalancerPort": 81, "InstancePort": 9000}, ], - AvailabilityZones=[f"{AWS_REGION}a"], + AvailabilityZones=[f"{AWS_REGION_EU_WEST_1}a"], Scheme="internet-facing", SecurityGroups=[security_group.id], ) - elb_arn = f"arn:aws:elasticloadbalancing:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:loadbalancer/{elb_name}" + elb_arn = f"arn:aws:elasticloadbalancing:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:loadbalancer/{elb_name}" # Shield Client shield_client = mock.MagicMock shield_client.enabled = True - shield_client.region = AWS_REGION + shield_client.region = AWS_REGION_EU_WEST_1 protection_id = "test-protection" shield_client.protections = { protection_id: Protection( @@ -109,7 +75,7 @@ class Test_shield_advanced_protection_in_classic_load_balancers: name="", resource_arn=elb_arn, protection_arn="", - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) } @@ -134,7 +100,7 @@ class Test_shield_advanced_protection_in_classic_load_balancers: result = check.execute() assert len(result) == 1 - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_id == elb_name assert result[0].resource_arn == elb_arn assert result[0].status == "PASS" @@ -147,8 +113,8 @@ class Test_shield_advanced_protection_in_classic_load_balancers: @mock_ec2 def test_shield_enabled_elb_not_protected(self): # ELB Client - elb = client("elb", region_name=AWS_REGION) - ec2 = resource("ec2", region_name=AWS_REGION) + elb = client("elb", region_name=AWS_REGION_EU_WEST_1) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) security_group = ec2.create_security_group( GroupName="sg01", Description="Test security group sg01" @@ -160,16 +126,16 @@ class Test_shield_advanced_protection_in_classic_load_balancers: {"Protocol": "tcp", "LoadBalancerPort": 80, "InstancePort": 8080}, {"Protocol": "http", "LoadBalancerPort": 81, "InstancePort": 9000}, ], - AvailabilityZones=[f"{AWS_REGION}a"], + AvailabilityZones=[f"{AWS_REGION_EU_WEST_1}a"], Scheme="internet-facing", SecurityGroups=[security_group.id], ) - elb_arn = f"arn:aws:elasticloadbalancing:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:loadbalancer/{elb_name}" + elb_arn = f"arn:aws:elasticloadbalancing:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:loadbalancer/{elb_name}" # Shield Client shield_client = mock.MagicMock shield_client.enabled = True - shield_client.region = AWS_REGION + shield_client.region = AWS_REGION_EU_WEST_1 shield_client.protections = {} from prowler.providers.aws.services.elb.elb_service import ELB @@ -193,7 +159,7 @@ class Test_shield_advanced_protection_in_classic_load_balancers: result = check.execute() assert len(result) == 1 - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_id == elb_name assert result[0].resource_arn == elb_arn assert result[0].status == "FAIL" @@ -206,8 +172,8 @@ class Test_shield_advanced_protection_in_classic_load_balancers: @mock_ec2 def test_shield_disabled_elb_not_protected(self): # ELB Client - elb = client("elb", region_name=AWS_REGION) - ec2 = resource("ec2", region_name=AWS_REGION) + elb = client("elb", region_name=AWS_REGION_EU_WEST_1) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) security_group = ec2.create_security_group( GroupName="sg01", Description="Test security group sg01" @@ -219,16 +185,16 @@ class Test_shield_advanced_protection_in_classic_load_balancers: {"Protocol": "tcp", "LoadBalancerPort": 80, "InstancePort": 8080}, {"Protocol": "http", "LoadBalancerPort": 81, "InstancePort": 9000}, ], - AvailabilityZones=[f"{AWS_REGION}a"], + AvailabilityZones=[f"{AWS_REGION_EU_WEST_1}a"], Scheme="internet-facing", SecurityGroups=[security_group.id], ) - _ = f"arn:aws:elasticloadbalancing:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:loadbalancer/{elb_name}" + _ = f"arn:aws:elasticloadbalancing:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:loadbalancer/{elb_name}" # Shield Client shield_client = mock.MagicMock shield_client.enabled = False - shield_client.region = AWS_REGION + shield_client.region = AWS_REGION_EU_WEST_1 shield_client.protections = {} from prowler.providers.aws.services.elb.elb_service import ELB diff --git a/tests/providers/aws/services/shield/shield_advanced_protection_in_cloudfront_distributions/shield_advanced_protection_in_cloudfront_distributions_test.py b/tests/providers/aws/services/shield/shield_advanced_protection_in_cloudfront_distributions/shield_advanced_protection_in_cloudfront_distributions_test.py index 0f3bbda9ec..52fe6df6c9 100644 --- a/tests/providers/aws/services/shield/shield_advanced_protection_in_cloudfront_distributions/shield_advanced_protection_in_cloudfront_distributions_test.py +++ b/tests/providers/aws/services/shield/shield_advanced_protection_in_cloudfront_distributions/shield_advanced_protection_in_cloudfront_distributions_test.py @@ -4,8 +4,7 @@ from moto.core import DEFAULT_ACCOUNT_ID from prowler.providers.aws.services.cloudfront.cloudfront_service import Distribution from prowler.providers.aws.services.shield.shield_service import Protection - -AWS_REGION = "eu-west-1" +from tests.providers.aws.audit_info_utils import AWS_REGION_EU_WEST_1 class Test_shield_advanced_protection_in_cloudfront_distributions: @@ -41,14 +40,17 @@ class Test_shield_advanced_protection_in_cloudfront_distributions: ) cloudfront_client.distributions = { distribution_id: Distribution( - arn=distribution_arn, id=distribution_id, region=AWS_REGION, origins=[] + arn=distribution_arn, + id=distribution_id, + region=AWS_REGION_EU_WEST_1, + origins=[], ) } # Shield Client shield_client = mock.MagicMock shield_client.enabled = True - shield_client.region = AWS_REGION + shield_client.region = AWS_REGION_EU_WEST_1 protection_id = "test-protection" shield_client.protections = { protection_id: Protection( @@ -56,7 +58,7 @@ class Test_shield_advanced_protection_in_cloudfront_distributions: name="", resource_arn=distribution_arn, protection_arn="", - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) } @@ -76,7 +78,7 @@ class Test_shield_advanced_protection_in_cloudfront_distributions: result = check.execute() assert len(result) == 1 - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_id == distribution_id assert result[0].resource_arn == distribution_arn assert result[0].status == "PASS" @@ -94,14 +96,17 @@ class Test_shield_advanced_protection_in_cloudfront_distributions: ) cloudfront_client.distributions = { distribution_id: Distribution( - arn=distribution_arn, id=distribution_id, region=AWS_REGION, origins=[] + arn=distribution_arn, + id=distribution_id, + region=AWS_REGION_EU_WEST_1, + origins=[], ) } # Shield Client shield_client = mock.MagicMock shield_client.enabled = True - shield_client.region = AWS_REGION + shield_client.region = AWS_REGION_EU_WEST_1 shield_client.protections = {} with mock.patch( @@ -120,7 +125,7 @@ class Test_shield_advanced_protection_in_cloudfront_distributions: result = check.execute() assert len(result) == 1 - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_id == distribution_id assert result[0].resource_arn == distribution_arn assert result[0].status == "FAIL" @@ -138,14 +143,17 @@ class Test_shield_advanced_protection_in_cloudfront_distributions: ) cloudfront_client.distributions = { distribution_id: Distribution( - arn=distribution_arn, id=distribution_id, region=AWS_REGION, origins=[] + arn=distribution_arn, + id=distribution_id, + region=AWS_REGION_EU_WEST_1, + origins=[], ) } # Shield Client shield_client = mock.MagicMock shield_client.enabled = False - shield_client.region = AWS_REGION + shield_client.region = AWS_REGION_EU_WEST_1 shield_client.protections = {} with mock.patch( diff --git a/tests/providers/aws/services/shield/shield_advanced_protection_in_global_accelerators/shield_advanced_protection_in_global_accelerators_test.py b/tests/providers/aws/services/shield/shield_advanced_protection_in_global_accelerators/shield_advanced_protection_in_global_accelerators_test.py index 77f8ecda2c..e7bfc652e9 100644 --- a/tests/providers/aws/services/shield/shield_advanced_protection_in_global_accelerators/shield_advanced_protection_in_global_accelerators_test.py +++ b/tests/providers/aws/services/shield/shield_advanced_protection_in_global_accelerators/shield_advanced_protection_in_global_accelerators_test.py @@ -6,8 +6,7 @@ from prowler.providers.aws.services.globalaccelerator.globalaccelerator_service Accelerator, ) from prowler.providers.aws.services.shield.shield_service import Protection - -AWS_REGION = "eu-west-1" +from tests.providers.aws.audit_info_utils import AWS_REGION_EU_WEST_1 class Test_shield_advanced_protection_in_global_accelerators: @@ -44,7 +43,7 @@ class Test_shield_advanced_protection_in_global_accelerators: accelerator_name: Accelerator( arn=accelerator_arn, name=accelerator_name, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, enabled=True, ) } @@ -52,7 +51,7 @@ class Test_shield_advanced_protection_in_global_accelerators: # Shield Client shield_client = mock.MagicMock shield_client.enabled = True - shield_client.region = AWS_REGION + shield_client.region = AWS_REGION_EU_WEST_1 protection_id = "test-protection" shield_client.protections = { protection_id: Protection( @@ -60,7 +59,7 @@ class Test_shield_advanced_protection_in_global_accelerators: name="", resource_arn=accelerator_arn, protection_arn="", - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) } @@ -80,7 +79,7 @@ class Test_shield_advanced_protection_in_global_accelerators: result = check.execute() assert len(result) == 1 - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_id == accelerator_id assert result[0].resource_arn == accelerator_arn assert result[0].status == "PASS" @@ -99,7 +98,7 @@ class Test_shield_advanced_protection_in_global_accelerators: accelerator_name: Accelerator( arn=accelerator_arn, name=accelerator_name, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, enabled=True, ) } @@ -107,7 +106,7 @@ class Test_shield_advanced_protection_in_global_accelerators: # Shield Client shield_client = mock.MagicMock shield_client.enabled = True - shield_client.region = AWS_REGION + shield_client.region = AWS_REGION_EU_WEST_1 shield_client.protections = {} with mock.patch( @@ -126,7 +125,7 @@ class Test_shield_advanced_protection_in_global_accelerators: result = check.execute() assert len(result) == 1 - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_id == accelerator_id assert result[0].resource_arn == accelerator_arn assert result[0].status == "FAIL" @@ -145,7 +144,7 @@ class Test_shield_advanced_protection_in_global_accelerators: accelerator_name: Accelerator( arn=accelerator_arn, name=accelerator_name, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, enabled=True, ) } @@ -153,7 +152,7 @@ class Test_shield_advanced_protection_in_global_accelerators: # Shield Client shield_client = mock.MagicMock shield_client.enabled = False - shield_client.region = AWS_REGION + shield_client.region = AWS_REGION_EU_WEST_1 shield_client.protections = {} with mock.patch( diff --git a/tests/providers/aws/services/shield/shield_advanced_protection_in_internet_facing_load_balancers/shield_advanced_protection_in_internet_facing_load_balancers_test.py b/tests/providers/aws/services/shield/shield_advanced_protection_in_internet_facing_load_balancers/shield_advanced_protection_in_internet_facing_load_balancers_test.py index 96886cefcc..d427c9cdf3 100644 --- a/tests/providers/aws/services/shield/shield_advanced_protection_in_internet_facing_load_balancers/shield_advanced_protection_in_internet_facing_load_balancers_test.py +++ b/tests/providers/aws/services/shield/shield_advanced_protection_in_internet_facing_load_balancers/shield_advanced_protection_in_internet_facing_load_balancers_test.py @@ -1,26 +1,23 @@ from unittest import mock -from boto3 import client, resource, session +from boto3 import client, resource from mock import patch from moto import mock_ec2, mock_elbv2 -from moto.core import DEFAULT_ACCOUNT_ID as AWS_ACCOUNT_NUMBER -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info from prowler.providers.aws.services.shield.shield_service import Protection -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_REGION = "eu-west-1" - # Mock generate_regional_clients() 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_EU_WEST_1 + ) + regional_client.region = AWS_REGION_EU_WEST_1 + return {AWS_REGION_EU_WEST_1: regional_client} # Patch every AWS call using Boto3 and generate_regional_clients to have 1 client @@ -29,36 +26,6 @@ def mock_generate_regional_clients(service, audit_info, _): new=mock_generate_regional_clients, ) class Test_shield_advanced_protection_in_internet_facing_load_balancers: - 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=f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root", - audited_user_id=None, - audited_partition="aws", - audited_identity_arn=None, - profile=None, - profile_region=AWS_REGION, - 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 - @mock_ec2 @mock_elbv2 def test_no_shield_not_active(self): @@ -92,8 +59,8 @@ class Test_shield_advanced_protection_in_internet_facing_load_balancers: @mock_elbv2 def test_shield_enabled_elbv2_internet_facing_protected(self): # ELBv2 Client - conn = client("elbv2", region_name=AWS_REGION) - ec2 = resource("ec2", region_name=AWS_REGION) + conn = client("elbv2", region_name=AWS_REGION_EU_WEST_1) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) security_group = ec2.create_security_group( GroupName="a-security-group", Description="First One" @@ -102,12 +69,12 @@ class Test_shield_advanced_protection_in_internet_facing_load_balancers: subnet1 = ec2.create_subnet( VpcId=vpc.id, CidrBlock="172.28.7.192/26", - AvailabilityZone=f"{AWS_REGION}a", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}a", ) subnet2 = ec2.create_subnet( VpcId=vpc.id, CidrBlock="172.28.7.0/26", - AvailabilityZone=f"{AWS_REGION}b", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}b", ) lb_name = "my-lb" lb = conn.create_load_balancer( @@ -122,7 +89,7 @@ class Test_shield_advanced_protection_in_internet_facing_load_balancers: # Shield Client shield_client = mock.MagicMock shield_client.enabled = True - shield_client.region = AWS_REGION + shield_client.region = AWS_REGION_EU_WEST_1 protection_id = "test-protection" shield_client.protections = { protection_id: Protection( @@ -130,7 +97,7 @@ class Test_shield_advanced_protection_in_internet_facing_load_balancers: name="", resource_arn=lb_arn, protection_arn="", - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) } @@ -155,7 +122,7 @@ class Test_shield_advanced_protection_in_internet_facing_load_balancers: result = check.execute() assert len(result) == 1 - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_id == lb_name assert result[0].resource_arn == lb["LoadBalancerArn"] assert result[0].status == "PASS" @@ -168,8 +135,8 @@ class Test_shield_advanced_protection_in_internet_facing_load_balancers: @mock_elbv2 def test_shield_enabled_elbv2_internal_protected(self): # ELBv2 Client - conn = client("elbv2", region_name=AWS_REGION) - ec2 = resource("ec2", region_name=AWS_REGION) + conn = client("elbv2", region_name=AWS_REGION_EU_WEST_1) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) security_group = ec2.create_security_group( GroupName="a-security-group", Description="First One" @@ -178,12 +145,12 @@ class Test_shield_advanced_protection_in_internet_facing_load_balancers: subnet1 = ec2.create_subnet( VpcId=vpc.id, CidrBlock="172.28.7.192/26", - AvailabilityZone=f"{AWS_REGION}a", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}a", ) subnet2 = ec2.create_subnet( VpcId=vpc.id, CidrBlock="172.28.7.0/26", - AvailabilityZone=f"{AWS_REGION}b", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}b", ) lb_name = "my-lb" lb = conn.create_load_balancer( @@ -198,7 +165,7 @@ class Test_shield_advanced_protection_in_internet_facing_load_balancers: # Shield Client shield_client = mock.MagicMock shield_client.enabled = True - shield_client.region = AWS_REGION + shield_client.region = AWS_REGION_EU_WEST_1 protection_id = "test-protection" shield_client.protections = { protection_id: Protection( @@ -206,7 +173,7 @@ class Test_shield_advanced_protection_in_internet_facing_load_balancers: name="", resource_arn=lb_arn, protection_arn="", - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) } @@ -236,18 +203,22 @@ class Test_shield_advanced_protection_in_internet_facing_load_balancers: @mock_elbv2 def test_shield_enabled_elbv2_internet_facing_not_protected(self): # ELBv2 Client - conn = client("elbv2", region_name=AWS_REGION) - ec2 = resource("ec2", region_name=AWS_REGION) + conn = client("elbv2", region_name=AWS_REGION_EU_WEST_1) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) security_group = ec2.create_security_group( GroupName="a-security-group", Description="First One" ) vpc = ec2.create_vpc(CidrBlock="172.28.7.0/24", InstanceTenancy="default") subnet1 = ec2.create_subnet( - VpcId=vpc.id, CidrBlock="172.28.7.192/26", AvailabilityZone=f"{AWS_REGION}a" + VpcId=vpc.id, + CidrBlock="172.28.7.192/26", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}a", ) subnet2 = ec2.create_subnet( - VpcId=vpc.id, CidrBlock="172.28.7.0/26", AvailabilityZone=f"{AWS_REGION}b" + VpcId=vpc.id, + CidrBlock="172.28.7.0/26", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}b", ) lb_name = "my-lb" lb = conn.create_load_balancer( @@ -262,7 +233,7 @@ class Test_shield_advanced_protection_in_internet_facing_load_balancers: # Shield Client shield_client = mock.MagicMock shield_client.enabled = True - shield_client.region = AWS_REGION + shield_client.region = AWS_REGION_EU_WEST_1 shield_client.protections = {} from prowler.providers.aws.services.elbv2.elbv2_service import ELBv2 @@ -286,7 +257,7 @@ class Test_shield_advanced_protection_in_internet_facing_load_balancers: result = check.execute() assert len(result) == 1 - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_id == lb_name assert result[0].resource_arn == lb_arn assert result[0].status == "FAIL" @@ -299,18 +270,22 @@ class Test_shield_advanced_protection_in_internet_facing_load_balancers: @mock_elbv2 def test_shield_disabled_elbv2_internet_facing_not_protected(self): # ELBv2 Client - conn = client("elbv2", region_name=AWS_REGION) - ec2 = resource("ec2", region_name=AWS_REGION) + conn = client("elbv2", region_name=AWS_REGION_EU_WEST_1) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) security_group = ec2.create_security_group( GroupName="a-security-group", Description="First One" ) vpc = ec2.create_vpc(CidrBlock="172.28.7.0/24", InstanceTenancy="default") subnet1 = ec2.create_subnet( - VpcId=vpc.id, CidrBlock="172.28.7.192/26", AvailabilityZone=f"{AWS_REGION}a" + VpcId=vpc.id, + CidrBlock="172.28.7.192/26", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}a", ) subnet2 = ec2.create_subnet( - VpcId=vpc.id, CidrBlock="172.28.7.0/26", AvailabilityZone=f"{AWS_REGION}b" + VpcId=vpc.id, + CidrBlock="172.28.7.0/26", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}b", ) lb_name = "my-lb" lb = conn.create_load_balancer( @@ -325,7 +300,7 @@ class Test_shield_advanced_protection_in_internet_facing_load_balancers: # Shield Client shield_client = mock.MagicMock shield_client.enabled = False - shield_client.region = AWS_REGION + shield_client.region = AWS_REGION_EU_WEST_1 shield_client.protections = {} from prowler.providers.aws.services.elbv2.elbv2_service import ELBv2 diff --git a/tests/providers/aws/services/shield/shield_advanced_protection_in_route53_hosted_zones/shield_advanced_protection_in_route53_hosted_zones_test.py b/tests/providers/aws/services/shield/shield_advanced_protection_in_route53_hosted_zones/shield_advanced_protection_in_route53_hosted_zones_test.py index e0c2860216..8a65fe8115 100644 --- a/tests/providers/aws/services/shield/shield_advanced_protection_in_route53_hosted_zones/shield_advanced_protection_in_route53_hosted_zones_test.py +++ b/tests/providers/aws/services/shield/shield_advanced_protection_in_route53_hosted_zones/shield_advanced_protection_in_route53_hosted_zones_test.py @@ -2,8 +2,7 @@ from unittest import mock from prowler.providers.aws.services.route53.route53_service import HostedZone from prowler.providers.aws.services.shield.shield_service import Protection - -AWS_REGION = "eu-west-1" +from tests.providers.aws.audit_info_utils import AWS_REGION_EU_WEST_1 class Test_shield_advanced_protection_in_route53_hosted_zones: @@ -47,14 +46,14 @@ class Test_shield_advanced_protection_in_route53_hosted_zones: name=hosted_zone_name, hosted_zone_name=hosted_zone_name, private_zone=False, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) } # Shield Client shield_client = mock.MagicMock shield_client.enabled = True - shield_client.region = AWS_REGION + shield_client.region = AWS_REGION_EU_WEST_1 protection_id = "test-protection" shield_client.protections = { protection_id: Protection( @@ -62,7 +61,7 @@ class Test_shield_advanced_protection_in_route53_hosted_zones: name="", resource_arn=hosted_zone_arn, protection_arn="", - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) } @@ -85,7 +84,7 @@ class Test_shield_advanced_protection_in_route53_hosted_zones: result = check.execute() assert len(result) == 1 - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_id == hosted_zone_id assert result[0].resource_arn == hosted_zone_arn assert result[0].status == "PASS" @@ -108,14 +107,14 @@ class Test_shield_advanced_protection_in_route53_hosted_zones: name=hosted_zone_name, hosted_zone_name=hosted_zone_name, private_zone=False, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) } # Shield Client shield_client = mock.MagicMock shield_client.enabled = True - shield_client.region = AWS_REGION + shield_client.region = AWS_REGION_EU_WEST_1 shield_client.protections = {} with mock.patch( @@ -137,7 +136,7 @@ class Test_shield_advanced_protection_in_route53_hosted_zones: result = check.execute() assert len(result) == 1 - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_id == hosted_zone_id assert result[0].resource_arn == hosted_zone_arn assert result[0].status == "FAIL" @@ -160,14 +159,14 @@ class Test_shield_advanced_protection_in_route53_hosted_zones: name=hosted_zone_name, hosted_zone_name=hosted_zone_name, private_zone=False, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) } # Shield Client shield_client = mock.MagicMock shield_client.enabled = False - shield_client.region = AWS_REGION + shield_client.region = AWS_REGION_EU_WEST_1 shield_client.protections = {} with mock.patch( diff --git a/tests/providers/aws/services/shield/shield_service_test.py b/tests/providers/aws/services/shield/shield_service_test.py index f93b9ebaac..f90dd67ae8 100644 --- a/tests/providers/aws/services/shield/shield_service_test.py +++ b/tests/providers/aws/services/shield/shield_service_test.py @@ -1,19 +1,13 @@ import botocore -from boto3 import session from mock import patch from moto.core import DEFAULT_ACCOUNT_ID -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info from prowler.providers.aws.services.shield.shield_service import Shield -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -# Mock Test Region -AWS_REGION = "eu-west-1" - # Mocking Access Analyzer Calls make_api_call = botocore.client.BaseClient._make_api_call @@ -39,36 +33,6 @@ def mock_make_api_call(self, operation_name, kwarg): # Patch every AWS call using Boto3 and generate_regional_clients to have 1 client @patch("botocore.client.BaseClient._make_api_call", new=mock_make_api_call) class Test_Shield_Service: - 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=DEFAULT_ACCOUNT_ID, - audited_account_arn=f"arn:aws:iam::{DEFAULT_ACCOUNT_ID}:root", - audited_user_id=None, - audited_partition="aws", - audited_identity_arn=None, - profile=None, - profile_region=AWS_REGION, - 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 Shield Service def test_service(self): # Shield client for this test class diff --git a/tests/providers/aws/services/sns/sns_service_test.py b/tests/providers/aws/services/sns/sns_service_test.py index b3af49d270..ae8d31c02e 100644 --- a/tests/providers/aws/services/sns/sns_service_test.py +++ b/tests/providers/aws/services/sns/sns_service_test.py @@ -3,20 +3,16 @@ from unittest.mock import patch from uuid import uuid4 import botocore -from boto3 import client, session +from boto3 import client from moto import mock_sns -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info from prowler.providers.aws.services.sns.sns_service import SNS -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" -AWS_REGION = "eu-west-1" - topic_name = "test-topic" test_policy = { "Statement": [ @@ -24,7 +20,7 @@ test_policy = { "Effect": "Allow", "Principal": {"AWS": f"{AWS_ACCOUNT_NUMBER}"}, "Action": ["sns:Publish"], - "Resource": f"arn:aws:sns:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:{topic_name}", + "Resource": f"arn:aws:sns:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:{topic_name}", } ] } @@ -42,9 +38,11 @@ def mock_make_api_call(self, operation_name, kwarg): 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_EU_WEST_1 + ) + regional_client.region = AWS_REGION_EU_WEST_1 + return {AWS_REGION_EU_WEST_1: regional_client} @patch("botocore.client.BaseClient._make_api_call", new=mock_make_api_call) @@ -53,36 +51,6 @@ def mock_generate_regional_clients(service, audit_info, _): new=mock_generate_regional_clients, ) class Test_SNS_Service: - 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=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=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 SNS Service def test_service(self): audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) @@ -105,7 +73,7 @@ class Test_SNS_Service: @mock_sns # Test SNS session def test__list_topics__(self): - sns_client = client("sns", region_name=AWS_REGION) + sns_client = client("sns", region_name=AWS_REGION_EU_WEST_1) sns_client.create_topic( Name=topic_name, Tags=[ @@ -120,9 +88,9 @@ class Test_SNS_Service: assert sns.topics[0].name == topic_name assert ( sns.topics[0].arn - == f"arn:aws:sns:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:{topic_name}" + == f"arn:aws:sns:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:{topic_name}" ) - assert sns.topics[0].region == AWS_REGION + assert sns.topics[0].region == AWS_REGION_EU_WEST_1 assert sns.topics[0].tags == [ {"Key": "test", "Value": "test"}, ] @@ -130,7 +98,7 @@ class Test_SNS_Service: @mock_sns # Test SNS session def test__get_topic_attributes__(self): - sns_client = client("sns", region_name=AWS_REGION) + sns_client = client("sns", region_name=AWS_REGION_EU_WEST_1) sns_client.create_topic(Name=topic_name) audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) @@ -139,8 +107,8 @@ class Test_SNS_Service: assert len(sns.topics) == 1 assert ( sns.topics[0].arn - == f"arn:aws:sns:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:{topic_name}" + == f"arn:aws:sns:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:{topic_name}" ) - assert sns.topics[0].region == AWS_REGION + assert sns.topics[0].region == AWS_REGION_EU_WEST_1 assert sns.topics[0].policy assert sns.topics[0].kms_master_key_id == kms_key_id diff --git a/tests/providers/aws/services/sns/sns_topics_kms_encryption_at_rest_enabled/sns_topics_kms_encryption_at_rest_enabled_test.py b/tests/providers/aws/services/sns/sns_topics_kms_encryption_at_rest_enabled/sns_topics_kms_encryption_at_rest_enabled_test.py index 4d0eea1e57..29ec8b130a 100644 --- a/tests/providers/aws/services/sns/sns_topics_kms_encryption_at_rest_enabled/sns_topics_kms_encryption_at_rest_enabled_test.py +++ b/tests/providers/aws/services/sns/sns_topics_kms_encryption_at_rest_enabled/sns_topics_kms_encryption_at_rest_enabled_test.py @@ -3,13 +3,14 @@ from unittest import mock from uuid import uuid4 from prowler.providers.aws.services.sns.sns_service import Topic - -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, + AWS_REGION_EU_WEST_1, +) kms_key_id = str(uuid4()) topic_name = "test-topic" -topic_arn = f"arn:aws:sns:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:{topic_name}" +topic_arn = f"arn:aws:sns:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:{topic_name}" class Test_sns_topics_kms_encryption_at_rest_enabled: @@ -36,7 +37,7 @@ class Test_sns_topics_kms_encryption_at_rest_enabled: arn=topic_arn, name=topic_name, kms_master_key_id=kms_key_id, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) ) with mock.patch( @@ -59,7 +60,7 @@ class Test_sns_topics_kms_encryption_at_rest_enabled: sns_client = mock.MagicMock sns_client.topics = [] sns_client.topics.append( - Topic(arn=topic_arn, name=topic_name, region=AWS_REGION) + Topic(arn=topic_arn, name=topic_name, region=AWS_REGION_EU_WEST_1) ) with mock.patch( "prowler.providers.aws.services.sns.sns_service.SNS", diff --git a/tests/providers/aws/services/sns/sns_topics_not_publicly_accessible/sns_topics_not_publicly_accessible_test.py b/tests/providers/aws/services/sns/sns_topics_not_publicly_accessible/sns_topics_not_publicly_accessible_test.py index 0f45f52f60..ad6704f1aa 100644 --- a/tests/providers/aws/services/sns/sns_topics_not_publicly_accessible/sns_topics_not_publicly_accessible_test.py +++ b/tests/providers/aws/services/sns/sns_topics_not_publicly_accessible/sns_topics_not_publicly_accessible_test.py @@ -2,20 +2,21 @@ from unittest import mock from uuid import uuid4 from prowler.providers.aws.services.sns.sns_service import Topic - -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, + AWS_REGION_EU_WEST_1, +) kms_key_id = str(uuid4()) topic_name = "test-topic" -topic_arn = f"arn:aws:sns:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:{topic_name}" +topic_arn = f"arn:aws:sns:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:{topic_name}" test_policy_restricted = { "Statement": [ { "Effect": "Allow", "Principal": {"AWS": f"{AWS_ACCOUNT_NUMBER}"}, "Action": ["sns:Publish"], - "Resource": f"arn:aws:sns:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:{topic_name}", + "Resource": f"arn:aws:sns:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:{topic_name}", } ] } @@ -26,7 +27,7 @@ test_policy_restricted_condition = { "Effect": "Allow", "Principal": {"AWS": "*"}, "Action": ["sns:Publish"], - "Resource": f"arn:aws:sns:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:{topic_name}", + "Resource": f"arn:aws:sns:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:{topic_name}", "Condition": {"StringEquals": {"aws:SourceAccount": AWS_ACCOUNT_NUMBER}}, } ] @@ -38,7 +39,7 @@ test_policy_restricted_default_condition = { "Effect": "Allow", "Principal": {"AWS": "*"}, "Action": ["sns:Publish"], - "Resource": f"arn:aws:sns:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:{topic_name}", + "Resource": f"arn:aws:sns:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:{topic_name}", "Condition": {"StringEquals": {"aws:SourceOwner": AWS_ACCOUNT_NUMBER}}, } ] @@ -50,7 +51,7 @@ test_policy_not_restricted = { "Effect": "Allow", "Principal": {"AWS": "*"}, "Action": ["sns:Publish"], - "Resource": f"arn:aws:sns:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:{topic_name}", + "Resource": f"arn:aws:sns:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:{topic_name}", } ] } @@ -80,7 +81,7 @@ class Test_sns_topics_not_publicly_accessible: arn=topic_arn, name=topic_name, policy=test_policy_restricted, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) ) with mock.patch( @@ -101,14 +102,14 @@ class Test_sns_topics_not_publicly_accessible: ) assert result[0].resource_id == topic_name assert result[0].resource_arn == topic_arn - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_tags == [] def test_topic_no_policy(self): sns_client = mock.MagicMock sns_client.topics = [] sns_client.topics.append( - Topic(arn=topic_arn, name=topic_name, region=AWS_REGION) + Topic(arn=topic_arn, name=topic_name, region=AWS_REGION_EU_WEST_1) ) with mock.patch( "prowler.providers.aws.services.sns.sns_service.SNS", @@ -128,7 +129,7 @@ class Test_sns_topics_not_publicly_accessible: ) assert result[0].resource_id == topic_name assert result[0].resource_arn == topic_arn - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_tags == [] def test_topic_public_with_condition(self): @@ -140,7 +141,7 @@ class Test_sns_topics_not_publicly_accessible: arn=topic_arn, name=topic_name, policy=test_policy_restricted_condition, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) ) with mock.patch( @@ -161,7 +162,7 @@ class Test_sns_topics_not_publicly_accessible: ) assert result[0].resource_id == topic_name assert result[0].resource_arn == topic_arn - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_tags == [] def test_topic_public_with_default_condition(self): @@ -173,7 +174,7 @@ class Test_sns_topics_not_publicly_accessible: arn=topic_arn, name=topic_name, policy=test_policy_restricted_default_condition, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) ) with mock.patch( @@ -194,7 +195,7 @@ class Test_sns_topics_not_publicly_accessible: ) assert result[0].resource_id == topic_name assert result[0].resource_arn == topic_arn - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_tags == [] def test_topic_public(self): @@ -204,7 +205,7 @@ class Test_sns_topics_not_publicly_accessible: Topic( arn=topic_arn, name=topic_name, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, policy=test_policy_not_restricted, ) ) @@ -226,5 +227,5 @@ class Test_sns_topics_not_publicly_accessible: ) assert result[0].resource_id == topic_name assert result[0].resource_arn == topic_arn - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_tags == [] diff --git a/tests/providers/aws/services/sqs/sqs_queues_not_publicly_accessible/sqs_queues_not_publicly_accessible_test.py b/tests/providers/aws/services/sqs/sqs_queues_not_publicly_accessible/sqs_queues_not_publicly_accessible_test.py index cb679d2627..35eb561405 100644 --- a/tests/providers/aws/services/sqs/sqs_queues_not_publicly_accessible/sqs_queues_not_publicly_accessible_test.py +++ b/tests/providers/aws/services/sqs/sqs_queues_not_publicly_accessible/sqs_queues_not_publicly_accessible_test.py @@ -3,15 +3,16 @@ from unittest import mock from uuid import uuid4 from prowler.providers.aws.services.sqs.sqs_service import Queue - -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, + AWS_REGION_EU_WEST_1, +) test_queue_name = str(uuid4()) -test_queue_url = ( - f"https://sqs.{AWS_REGION}.amazonaws.com/{AWS_ACCOUNT_NUMBER}/{test_queue_name}" +test_queue_url = f"https://sqs.{AWS_REGION_EU_WEST_1}.amazonaws.com/{AWS_ACCOUNT_NUMBER}/{test_queue_name}" +test_queue_arn = ( + f"arn:aws:sqs:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:{test_queue_name}" ) -test_queue_arn = f"arn:aws:sqs:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:{test_queue_name}" test_restricted_policy = { "Version": "2012-10-17", @@ -115,7 +116,7 @@ class Test_sqs_queues_not_publicly_accessible: Queue( id=test_queue_url, name=test_queue_name, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, policy=test_restricted_policy, arn=test_queue_arn, ) @@ -136,7 +137,7 @@ class Test_sqs_queues_not_publicly_accessible: assert result[0].resource_id == test_queue_url assert result[0].resource_arn == test_queue_arn assert result[0].resource_tags == [] - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 def test_queues_public(self): sqs_client = mock.MagicMock @@ -145,7 +146,7 @@ class Test_sqs_queues_not_publicly_accessible: Queue( id=test_queue_url, name=test_queue_name, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, policy=test_public_policy, arn=test_queue_arn, ) @@ -169,7 +170,7 @@ class Test_sqs_queues_not_publicly_accessible: assert result[0].resource_id == test_queue_url assert result[0].resource_arn == test_queue_arn assert result[0].resource_tags == [] - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 def test_queues_public_with_condition_not_valid(self): sqs_client = mock.MagicMock @@ -179,7 +180,7 @@ class Test_sqs_queues_not_publicly_accessible: Queue( id=test_queue_url, name=test_queue_name, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, policy=test_public_policy_with_condition_same_account_not_valid, arn=test_queue_arn, ) @@ -203,7 +204,7 @@ class Test_sqs_queues_not_publicly_accessible: assert result[0].resource_id == test_queue_url assert result[0].resource_arn == test_queue_arn assert result[0].resource_tags == [] - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 def test_queues_public_with_condition_valid(self): sqs_client = mock.MagicMock @@ -213,7 +214,7 @@ class Test_sqs_queues_not_publicly_accessible: Queue( id=test_queue_url, name=test_queue_name, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, policy=test_public_policy_with_condition_same_account, arn=test_queue_arn, ) @@ -237,7 +238,7 @@ class Test_sqs_queues_not_publicly_accessible: assert result[0].resource_id == test_queue_url assert result[0].resource_arn == test_queue_arn assert result[0].resource_tags == [] - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 def test_queues_public_with_condition_invalid_other_account(self): sqs_client = mock.MagicMock @@ -247,7 +248,7 @@ class Test_sqs_queues_not_publicly_accessible: Queue( id=test_queue_url, name=test_queue_name, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, policy=test_public_policy_with_condition_diff_account, arn=test_queue_arn, ) @@ -271,4 +272,4 @@ class Test_sqs_queues_not_publicly_accessible: assert result[0].resource_id == test_queue_url assert result[0].resource_arn == test_queue_arn assert result[0].resource_tags == [] - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 diff --git a/tests/providers/aws/services/sqs/sqs_queues_server_side_encryption_enabled/sqs_queues_server_side_encryption_enabled_test.py b/tests/providers/aws/services/sqs/sqs_queues_server_side_encryption_enabled/sqs_queues_server_side_encryption_enabled_test.py index 7afbb48a78..e5f005dfac 100644 --- a/tests/providers/aws/services/sqs/sqs_queues_server_side_encryption_enabled/sqs_queues_server_side_encryption_enabled_test.py +++ b/tests/providers/aws/services/sqs/sqs_queues_server_side_encryption_enabled/sqs_queues_server_side_encryption_enabled_test.py @@ -3,16 +3,17 @@ from unittest import mock from uuid import uuid4 from prowler.providers.aws.services.sqs.sqs_service import Queue - -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, + AWS_REGION_EU_WEST_1, +) test_kms_key_id = str(uuid4()) test_queue_name = str(uuid4()) -test_queue_url = ( - f"https://sqs.{AWS_REGION}.amazonaws.com/{AWS_ACCOUNT_NUMBER}/{test_queue_name}" +test_queue_url = f"https://sqs.{AWS_REGION_EU_WEST_1}.amazonaws.com/{AWS_ACCOUNT_NUMBER}/{test_queue_name}" +test_queue_arn = ( + f"arn:aws:sqs:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:{test_queue_name}" ) -test_queue_arn = f"arn:aws:sqs:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:{test_queue_name}" class Test_sqs_queues_server_side_encryption_enabled: @@ -38,7 +39,7 @@ class Test_sqs_queues_server_side_encryption_enabled: Queue( id=test_queue_url, name=test_queue_name, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, kms_key_id=test_kms_key_id, arn=test_queue_arn, ) @@ -66,7 +67,7 @@ class Test_sqs_queues_server_side_encryption_enabled: Queue( id=test_queue_url, name=test_queue_name, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, arn=test_queue_arn, ) ) diff --git a/tests/providers/aws/services/sqs/sqs_service_test.py b/tests/providers/aws/services/sqs/sqs_service_test.py index c6ede7017f..c8961d1a90 100644 --- a/tests/providers/aws/services/sqs/sqs_service_test.py +++ b/tests/providers/aws/services/sqs/sqs_service_test.py @@ -3,23 +3,19 @@ from unittest.mock import patch from uuid import uuid4 import botocore -from boto3 import client, session +from boto3 import client from moto import mock_sqs -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info from prowler.providers.aws.services.sqs.sqs_service import SQS -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" -AWS_REGION = "eu-west-1" - test_queue = "test-queue" test_key = str(uuid4()) -test_queue_arn = f"arn:aws:sqs:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:{test_queue}" +test_queue_arn = f"arn:aws:sqs:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:{test_queue}" test_policy = { "Version": "2012-10-17", "Statement": [ @@ -44,9 +40,11 @@ def mock_make_api_call(self, operation_name, kwarg): 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_EU_WEST_1 + ) + regional_client.region = AWS_REGION_EU_WEST_1 + return {AWS_REGION_EU_WEST_1: regional_client} @patch("botocore.client.BaseClient._make_api_call", new=mock_make_api_call) @@ -55,36 +53,6 @@ def mock_generate_regional_clients(service, audit_info, _): new=mock_generate_regional_clients, ) class Test_SQS_Service: - 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=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=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 SQS Service def test_service(self): audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) @@ -107,7 +75,7 @@ class Test_SQS_Service: @mock_sqs # Test SQS list queues def test__list_queues__(self): - sqs_client = client("sqs", region_name=AWS_REGION) + sqs_client = client("sqs", region_name=AWS_REGION_EU_WEST_1) queue = sqs_client.create_queue(QueueName=test_queue, tags={"test": "test"}) audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) sqs = SQS(audit_info) @@ -117,7 +85,7 @@ class Test_SQS_Service: assert sqs.queues[0].name == sqs.queues[0].arn.split(":")[-1] assert sqs.queues[0].name == sqs.queues[0].id.split("/")[-1] assert sqs.queues[0].arn == test_queue_arn - assert sqs.queues[0].region == AWS_REGION + assert sqs.queues[0].region == AWS_REGION_EU_WEST_1 assert sqs.queues[0].tags == [{"test": "test"}] # moto does not properly mock this and is hardcoded to return 1000 queues @@ -125,7 +93,7 @@ class Test_SQS_Service: # @mock_sqs # # Test SQS list queues for over 1000 queues # def test__list_queues__pagination_over_a_thousand(self): - # sqs_client = client("sqs", region_name=AWS_REGION) + # sqs_client = client("sqs", region_name=AWS_REGION_EU_WEST_1) # for i in range(0,1050): # sqs_client.create_queue(QueueName=f"{test_queue}-{i}", tags={"test": "test"}) # audit_info = set_mocked_aws_audit_info( @@ -137,7 +105,7 @@ class Test_SQS_Service: @mock_sqs # Test SQS list queues def test__get_queue_attributes__(self): - sqs_client = client("sqs", region_name=AWS_REGION) + sqs_client = client("sqs", region_name=AWS_REGION_EU_WEST_1) queue = sqs_client.create_queue( QueueName=test_queue, ) @@ -145,6 +113,6 @@ class Test_SQS_Service: sqs = SQS(audit_info) assert len(sqs.queues) == 1 assert sqs.queues[0].id == queue["QueueUrl"] - assert sqs.queues[0].region == AWS_REGION + assert sqs.queues[0].region == AWS_REGION_EU_WEST_1 assert sqs.queues[0].policy assert sqs.queues[0].kms_key_id == test_key diff --git a/tests/providers/aws/services/ssm/ssm_document_secrets/ssm_document_secrets_test.py b/tests/providers/aws/services/ssm/ssm_document_secrets/ssm_document_secrets_test.py index 2ebfd33e6c..97a85c58bd 100644 --- a/tests/providers/aws/services/ssm/ssm_document_secrets/ssm_document_secrets_test.py +++ b/tests/providers/aws/services/ssm/ssm_document_secrets/ssm_document_secrets_test.py @@ -3,8 +3,7 @@ from unittest import mock from moto.core import DEFAULT_ACCOUNT_ID from prowler.providers.aws.services.ssm.ssm_service import Document - -AWS_REGION = "eu-west-1" +from tests.providers.aws.audit_info_utils import AWS_REGION_EU_WEST_1 class Test_ssm_documents_secrets: @@ -28,15 +27,13 @@ class Test_ssm_documents_secrets: def test_document_with_secrets(self): ssm_client = mock.MagicMock document_name = "test-document" - document_arn = ( - f"arn:aws:ssm:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:document/{document_name}" - ) + document_arn = f"arn:aws:ssm:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:document/{document_name}" ssm_client.audited_account = DEFAULT_ACCOUNT_ID ssm_client.documents = { document_name: Document( arn=document_arn, name=document_name, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, content={"db_password": "test-password"}, account_owners=[], ) @@ -54,7 +51,7 @@ class Test_ssm_documents_secrets: result = check.execute() assert len(result) == 1 - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_id == document_name assert result[0].resource_arn == document_arn assert result[0].status == "FAIL" @@ -66,15 +63,13 @@ class Test_ssm_documents_secrets: def test_document_no_secrets(self): ssm_client = mock.MagicMock document_name = "test-document" - document_arn = ( - f"arn:aws:ssm:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:document/{document_name}" - ) + document_arn = f"arn:aws:ssm:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:document/{document_name}" ssm_client.audited_account = DEFAULT_ACCOUNT_ID ssm_client.documents = { document_name: Document( arn=document_arn, name=document_name, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, content={"profile": "test"}, account_owners=[], ) @@ -92,7 +87,7 @@ class Test_ssm_documents_secrets: result = check.execute() assert len(result) == 1 - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_id == document_name assert result[0].resource_arn == document_arn assert result[0].status == "PASS" diff --git a/tests/providers/aws/services/ssm/ssm_documents_set_as_public/ssm_documents_set_as_public_test.py b/tests/providers/aws/services/ssm/ssm_documents_set_as_public/ssm_documents_set_as_public_test.py index 4216b62fcc..e8f7383aa8 100644 --- a/tests/providers/aws/services/ssm/ssm_documents_set_as_public/ssm_documents_set_as_public_test.py +++ b/tests/providers/aws/services/ssm/ssm_documents_set_as_public/ssm_documents_set_as_public_test.py @@ -3,8 +3,7 @@ from unittest import mock from moto.core import DEFAULT_ACCOUNT_ID from prowler.providers.aws.services.ssm.ssm_service import Document - -AWS_REGION = "eu-west-1" +from tests.providers.aws.audit_info_utils import AWS_REGION_EU_WEST_1 class Test_ssm_documents_set_as_public: @@ -28,15 +27,13 @@ class Test_ssm_documents_set_as_public: def test_document_public(self): ssm_client = mock.MagicMock document_name = "test-document" - document_arn = ( - f"arn:aws:ssm:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:document/{document_name}" - ) + document_arn = f"arn:aws:ssm:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:document/{document_name}" ssm_client.audited_account = DEFAULT_ACCOUNT_ID ssm_client.documents = { document_name: Document( arn=document_arn, name=document_name, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, content="", account_owners=["111111111111", "111111222222"], ) @@ -54,7 +51,7 @@ class Test_ssm_documents_set_as_public: result = check.execute() assert len(result) == 1 - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_id == document_name assert result[0].resource_arn == document_arn assert result[0].status == "FAIL" @@ -65,15 +62,13 @@ class Test_ssm_documents_set_as_public: def test_document_not_public(self): ssm_client = mock.MagicMock document_name = "test-document" - document_arn = ( - f"arn:aws:ssm:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:document/{document_name}" - ) + document_arn = f"arn:aws:ssm:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:document/{document_name}" ssm_client.audited_account = DEFAULT_ACCOUNT_ID ssm_client.documents = { document_name: Document( arn=document_arn, name=document_name, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, content="", account_owners=[], ) @@ -91,7 +86,7 @@ class Test_ssm_documents_set_as_public: result = check.execute() assert len(result) == 1 - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_id == document_name assert result[0].resource_arn == document_arn assert result[0].status == "PASS" diff --git a/tests/providers/aws/services/ssm/ssm_managed_compliant_patching/ssm_managed_compliant_patching_test.py b/tests/providers/aws/services/ssm/ssm_managed_compliant_patching/ssm_managed_compliant_patching_test.py index 898a0fb25b..dd06997fd0 100644 --- a/tests/providers/aws/services/ssm/ssm_managed_compliant_patching/ssm_managed_compliant_patching_test.py +++ b/tests/providers/aws/services/ssm/ssm_managed_compliant_patching/ssm_managed_compliant_patching_test.py @@ -6,8 +6,7 @@ from prowler.providers.aws.services.ssm.ssm_service import ( ComplianceResource, ResourceStatus, ) - -AWS_REGION = "eu-west-1" +from tests.providers.aws.audit_info_utils import AWS_REGION_EU_WEST_1 class Test_ssm_managed_compliant_patching: @@ -35,7 +34,7 @@ class Test_ssm_managed_compliant_patching: ssm_client.compliance_resources = { instance_id: ComplianceResource( id="i-1234567890abcdef0", - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, status=ResourceStatus.COMPLIANT, ) } @@ -53,7 +52,7 @@ class Test_ssm_managed_compliant_patching: result = check.execute() assert len(result) == 1 - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_id == instance_id assert result[0].status == "PASS" assert ( @@ -68,7 +67,7 @@ class Test_ssm_managed_compliant_patching: ssm_client.compliance_resources = { instance_id: ComplianceResource( id="i-1234567890abcdef0", - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, status=ResourceStatus.NON_COMPLIANT, ) } @@ -86,7 +85,7 @@ class Test_ssm_managed_compliant_patching: result = check.execute() assert len(result) == 1 - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_id == instance_id assert result[0].status == "FAIL" assert ( diff --git a/tests/providers/aws/services/ssm/ssm_service_test.py b/tests/providers/aws/services/ssm/ssm_service_test.py index 3c6176adc2..d6f2f1a9e3 100644 --- a/tests/providers/aws/services/ssm/ssm_service_test.py +++ b/tests/providers/aws/services/ssm/ssm_service_test.py @@ -2,21 +2,16 @@ from unittest.mock import patch import botocore import yaml -from boto3 import client, session +from boto3 import client from moto import mock_ssm from moto.core import DEFAULT_ACCOUNT_ID -from prowler.providers.aws.lib.audit_info.audit_info import AWS_Audit_Info from prowler.providers.aws.services.ssm.ssm_service import SSM, ResourceStatus -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -# Mock Test Region -AWS_REGION = "eu-west-1" - # Mocking Access Analyzer Calls make_api_call = botocore.client.BaseClient._make_api_call @@ -72,9 +67,11 @@ def mock_make_api_call(self, operation_name, kwarg): # Mock generate_regional_clients() 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_EU_WEST_1 + ) + regional_client.region = AWS_REGION_EU_WEST_1 + return {AWS_REGION_EU_WEST_1: regional_client} # SSM Document YAML Template @@ -136,41 +133,11 @@ mainSteps: new=mock_generate_regional_clients, ) class Test_SSM_Service: - 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=DEFAULT_ACCOUNT_ID, - audited_account_arn=f"arn:aws:iam::{DEFAULT_ACCOUNT_ID}:root", - audited_user_id=None, - audited_partition="aws", - audited_identity_arn=None, - profile=None, - profile_region=AWS_REGION, - 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 SSM Client @mock_ssm def test__get_client__(self): ssm = SSM(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])) - assert ssm.regional_clients[AWS_REGION].__class__.__name__ == "SSM" + assert ssm.regional_clients[AWS_REGION_EU_WEST_1].__class__.__name__ == "SSM" # Test SSM Session @mock_ssm @@ -187,7 +154,7 @@ class Test_SSM_Service: @mock_ssm def test__list_documents__(self): # Create SSM Document - ssm_client = client("ssm", region_name=AWS_REGION) + ssm_client = client("ssm", region_name=AWS_REGION_EU_WEST_1) ssm_document_name = "test-document" _ = ssm_client.create_document( Content=ssm_document_yaml, @@ -207,14 +174,14 @@ class Test_SSM_Service: ssm = SSM(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])) - document_arn = f"arn:aws:ssm:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:document/{ssm_document_name}" + document_arn = f"arn:aws:ssm:{AWS_REGION_EU_WEST_1}:{DEFAULT_ACCOUNT_ID}:document/{ssm_document_name}" assert len(ssm.documents) == 1 assert ssm.documents assert ssm.documents[document_arn] assert ssm.documents[document_arn].arn == document_arn assert ssm.documents[document_arn].name == ssm_document_name - assert ssm.documents[document_arn].region == AWS_REGION + assert ssm.documents[document_arn].region == AWS_REGION_EU_WEST_1 assert ssm.documents[document_arn].tags == [ {"Key": "test", "Value": "test"}, ] @@ -229,5 +196,5 @@ class Test_SSM_Service: assert ssm.compliance_resources assert ssm.compliance_resources[instance_id] assert ssm.compliance_resources[instance_id].id == instance_id - assert ssm.compliance_resources[instance_id].region == AWS_REGION + assert ssm.compliance_resources[instance_id].region == AWS_REGION_EU_WEST_1 assert ssm.compliance_resources[instance_id].status == ResourceStatus.COMPLIANT diff --git a/tests/providers/aws/services/ssmincidents/ssmincidents_enabled_with_plans/ssmincidents_enabled_with_plans_test.py b/tests/providers/aws/services/ssmincidents/ssmincidents_enabled_with_plans/ssmincidents_enabled_with_plans_test.py index 32a98d2860..c527b331de 100644 --- a/tests/providers/aws/services/ssmincidents/ssmincidents_enabled_with_plans/ssmincidents_enabled_with_plans_test.py +++ b/tests/providers/aws/services/ssmincidents/ssmincidents_enabled_with_plans/ssmincidents_enabled_with_plans_test.py @@ -4,11 +4,13 @@ from prowler.providers.aws.services.ssmincidents.ssmincidents_service import ( ReplicationSet, ResponsePlan, ) +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, + AWS_REGION_EU_WEST_1, +) -AWS_REGION = "us-east-1" REPLICATION_SET_ARN = "arn:aws:ssm-incidents::111122223333:replication-set/40bd98f0-4110-2dee-b35e-b87006f9e172" RESPONSE_PLAN_ARN = "arn:aws:ssm-incidents::111122223333:response-plan/example-response" -AWS_ACCOUNT_NUMBER = "123456789012" class Test_ssmincidents_enabled_with_plans: @@ -18,7 +20,7 @@ class Test_ssmincidents_enabled_with_plans: ssmincidents_client.audited_account_arn = ( f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" ) - ssmincidents_client.region = AWS_REGION + ssmincidents_client.region = AWS_REGION_EU_WEST_1 ssmincidents_client.replication_set = [] with mock.patch( "prowler.providers.aws.services.ssmincidents.ssmincidents_service.SSMIncidents", @@ -39,7 +41,7 @@ class Test_ssmincidents_enabled_with_plans: ) assert result[0].resource_id == AWS_ACCOUNT_NUMBER assert result[0].resource_arn == f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 def test_ssmincidents_replicationset_not_active(self): ssmincidents_client = mock.MagicMock @@ -47,7 +49,7 @@ class Test_ssmincidents_enabled_with_plans: ssmincidents_client.audited_account_arn = ( f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" ) - ssmincidents_client.region = AWS_REGION + ssmincidents_client.region = AWS_REGION_EU_WEST_1 ssmincidents_client.replication_set = [ ReplicationSet(arn=REPLICATION_SET_ARN, status="CREATING") ] @@ -71,7 +73,7 @@ class Test_ssmincidents_enabled_with_plans: ) assert result[0].resource_id == AWS_ACCOUNT_NUMBER assert result[0].resource_arn == REPLICATION_SET_ARN - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 def test_ssmincidents_replicationset_active_no_plans(self): ssmincidents_client = mock.MagicMock @@ -79,7 +81,7 @@ class Test_ssmincidents_enabled_with_plans: ssmincidents_client.audited_account_arn = ( f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" ) - ssmincidents_client.region = AWS_REGION + ssmincidents_client.region = AWS_REGION_EU_WEST_1 ssmincidents_client.replication_set = [ ReplicationSet(arn=REPLICATION_SET_ARN, status="ACTIVE") ] @@ -104,7 +106,7 @@ class Test_ssmincidents_enabled_with_plans: ) assert result[0].resource_id == AWS_ACCOUNT_NUMBER assert result[0].resource_arn == REPLICATION_SET_ARN - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 def test_ssmincidents_replicationset_active_with_plans(self): ssmincidents_client = mock.MagicMock @@ -112,12 +114,14 @@ class Test_ssmincidents_enabled_with_plans: ssmincidents_client.audited_account_arn = ( f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" ) - ssmincidents_client.region = AWS_REGION + ssmincidents_client.region = AWS_REGION_EU_WEST_1 ssmincidents_client.replication_set = [ ReplicationSet(arn=REPLICATION_SET_ARN, status="ACTIVE") ] ssmincidents_client.response_plans = [ - ResponsePlan(arn=RESPONSE_PLAN_ARN, name="test", region=AWS_REGION) + ResponsePlan( + arn=RESPONSE_PLAN_ARN, name="test", region=AWS_REGION_EU_WEST_1 + ) ] with mock.patch( "prowler.providers.aws.services.ssmincidents.ssmincidents_service.SSMIncidents", @@ -139,4 +143,4 @@ class Test_ssmincidents_enabled_with_plans: ) assert result[0].resource_id == AWS_ACCOUNT_NUMBER assert result[0].resource_arn == REPLICATION_SET_ARN - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 diff --git a/tests/providers/aws/services/ssmincidents/ssmincidents_service_test.py b/tests/providers/aws/services/ssmincidents/ssmincidents_service_test.py index b919cf154e..18fae39b31 100644 --- a/tests/providers/aws/services/ssmincidents/ssmincidents_service_test.py +++ b/tests/providers/aws/services/ssmincidents/ssmincidents_service_test.py @@ -2,20 +2,17 @@ from datetime import datetime from unittest.mock import patch import botocore -from boto3 import session -from prowler.providers.aws.lib.audit_info.audit_info import AWS_Audit_Info from prowler.providers.aws.services.ssmincidents.ssmincidents_service import ( SSMIncidents, ) -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) # Mock Test Region -AWS_REGION = "us-east-1" + REPLICATION_SET_ARN = "arn:aws:ssm-incidents::111122223333:replication-set/40bd98f0-4110-2dee-b35e-b87006f9e172" RESPONSE_PLAN_ARN = "arn:aws:ssm-incidents::111122223333:response-plan/example-response" @@ -37,7 +34,7 @@ def mock_make_api_call(self, operation_name, kwargs): "lastModifiedBy": datetime(2024, 1, 1), "lastModifiedTime": datetime(2024, 1, 1), "regionMap": { - AWS_REGION: { + AWS_REGION_EU_WEST_1: { "sseKmsKeyId": "DefaultKey", "status": "ACTIVE", "statusMessage": "Test", @@ -60,9 +57,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_EU_WEST_1 + ) + regional_client.region = AWS_REGION_EU_WEST_1 + return {AWS_REGION_EU_WEST_1: regional_client} # Patch every AWS call using Boto3 and generate_regional_clients to have 1 client @@ -72,41 +71,11 @@ def mock_generate_regional_clients(service, audit_info, _): new=mock_generate_regional_clients, ) class Test_SSMIncidents_Service: - 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=None, - audited_account_arn=None, - 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 - def test__get_client__(self): audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) ssmincidents = SSMIncidents(audit_info) assert ( - ssmincidents.regional_clients[AWS_REGION].__class__.__name__ + ssmincidents.regional_clients[AWS_REGION_EU_WEST_1].__class__.__name__ == "SSMIncidents" ) @@ -126,7 +95,7 @@ class Test_SSMIncidents_Service: assert ssmincidents.replication_set[0].arn == REPLICATION_SET_ARN assert ssmincidents.replication_set[0].status == "ACTIVE" for region in ssmincidents.replication_set[0].region_map: - assert region.region == AWS_REGION + assert region.region == AWS_REGION_EU_WEST_1 assert region.status == "ACTIVE" assert region.sse_kms_id == "DefaultKey" @@ -136,7 +105,7 @@ class Test_SSMIncidents_Service: assert len(ssmincidents.response_plans) == 1 assert ssmincidents.response_plans[0].arn == RESPONSE_PLAN_ARN assert ssmincidents.response_plans[0].name == "test" - assert ssmincidents.response_plans[0].region == AWS_REGION + assert ssmincidents.response_plans[0].region == AWS_REGION_EU_WEST_1 assert ssmincidents.response_plans[0].tags == {"tag_test": "tag_value"} def test__list_tags_for_resource__(self): diff --git a/tests/providers/aws/services/trustedadvisor/trustedadvisor_errors_and_warnings/trustedadvisor_errors_and_warnings_test.py b/tests/providers/aws/services/trustedadvisor/trustedadvisor_errors_and_warnings/trustedadvisor_errors_and_warnings_test.py index 53250fc585..412f8f63af 100644 --- a/tests/providers/aws/services/trustedadvisor/trustedadvisor_errors_and_warnings/trustedadvisor_errors_and_warnings_test.py +++ b/tests/providers/aws/services/trustedadvisor/trustedadvisor_errors_and_warnings/trustedadvisor_errors_and_warnings_test.py @@ -4,9 +4,11 @@ from prowler.providers.aws.services.trustedadvisor.trustedadvisor_service import Check, PremiumSupport, ) +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, + AWS_REGION_EU_WEST_1, +) -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" CHECK_NAME = "test-check" @@ -19,7 +21,7 @@ class Test_trustedadvisor_errors_and_warnings: trustedadvisor_client.premium_support = PremiumSupport(enabled=False) trustedadvisor_client.audited_account = AWS_ACCOUNT_NUMBER trustedadvisor_client.audited_account_arn = AWS_ACCOUNT_ARN - trustedadvisor_client.region = AWS_REGION + trustedadvisor_client.region = AWS_REGION_EU_WEST_1 with mock.patch( "prowler.providers.aws.services.trustedadvisor.trustedadvisor_service.TrustedAdvisor", trustedadvisor_client, @@ -36,7 +38,7 @@ class Test_trustedadvisor_errors_and_warnings: result[0].status_extended == "Amazon Web Services Premium Support Subscription is required to use this service." ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_id == AWS_ACCOUNT_NUMBER assert result[0].resource_arn == AWS_ACCOUNT_ARN @@ -50,7 +52,7 @@ class Test_trustedadvisor_errors_and_warnings: Check( id=CHECK_NAME, name=CHECK_NAME, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, status="ok", ) ) @@ -71,7 +73,7 @@ class Test_trustedadvisor_errors_and_warnings: == f"Trusted Advisor check {CHECK_NAME} is in state ok." ) assert result[0].resource_id == CHECK_NAME - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 def test_trustedadvisor_error_check(self): trustedadvisor_client = mock.MagicMock @@ -83,7 +85,7 @@ class Test_trustedadvisor_errors_and_warnings: Check( id=CHECK_NAME, name=CHECK_NAME, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, status="error", ) ) @@ -104,7 +106,7 @@ class Test_trustedadvisor_errors_and_warnings: == f"Trusted Advisor check {CHECK_NAME} is in state error." ) assert result[0].resource_id == CHECK_NAME - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 def test_trustedadvisor_not_available_check(self): trustedadvisor_client = mock.MagicMock @@ -116,7 +118,7 @@ class Test_trustedadvisor_errors_and_warnings: Check( id=CHECK_NAME, name=CHECK_NAME, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, status="not_available", ) ) diff --git a/tests/providers/aws/services/trustedadvisor/trustedadvisor_premium_support_plan_subscribed/trustedadvisor_premium_support_plan_subscribed_test.py b/tests/providers/aws/services/trustedadvisor/trustedadvisor_premium_support_plan_subscribed/trustedadvisor_premium_support_plan_subscribed_test.py index 9324061580..b341590de9 100644 --- a/tests/providers/aws/services/trustedadvisor/trustedadvisor_premium_support_plan_subscribed/trustedadvisor_premium_support_plan_subscribed_test.py +++ b/tests/providers/aws/services/trustedadvisor/trustedadvisor_premium_support_plan_subscribed/trustedadvisor_premium_support_plan_subscribed_test.py @@ -3,9 +3,11 @@ from unittest import mock from prowler.providers.aws.services.trustedadvisor.trustedadvisor_service import ( PremiumSupport, ) +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, + AWS_REGION_EU_WEST_1, +) -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" @@ -16,7 +18,7 @@ class Test_trustedadvisor_premium_support_plan_subscribed: trustedadvisor_client.premium_support = PremiumSupport(enabled=False) trustedadvisor_client.audited_account = AWS_ACCOUNT_NUMBER trustedadvisor_client.audited_account_arn = AWS_ACCOUNT_ARN - trustedadvisor_client.region = AWS_REGION + trustedadvisor_client.region = AWS_REGION_EU_WEST_1 # Set verify_premium_support_plans config trustedadvisor_client.audit_config = {"verify_premium_support_plans": True} @@ -37,7 +39,7 @@ class Test_trustedadvisor_premium_support_plan_subscribed: result[0].status_extended == "Amazon Web Services Premium Support Plan isn't subscribed." ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_id == AWS_ACCOUNT_NUMBER assert result[0].resource_arn == AWS_ACCOUNT_ARN @@ -47,7 +49,7 @@ class Test_trustedadvisor_premium_support_plan_subscribed: trustedadvisor_client.premium_support = PremiumSupport(enabled=True) trustedadvisor_client.audited_account = AWS_ACCOUNT_NUMBER trustedadvisor_client.audited_account_arn = AWS_ACCOUNT_ARN - trustedadvisor_client.region = AWS_REGION + trustedadvisor_client.region = AWS_REGION_EU_WEST_1 # Set verify_premium_support_plans config trustedadvisor_client.audit_config = {"verify_premium_support_plans": True} @@ -68,6 +70,6 @@ class Test_trustedadvisor_premium_support_plan_subscribed: result[0].status_extended == "Amazon Web Services Premium Support Plan is subscribed." ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 assert result[0].resource_id == AWS_ACCOUNT_NUMBER assert result[0].resource_arn == AWS_ACCOUNT_ARN diff --git a/tests/providers/aws/services/trustedadvisor/trustedadvisor_service_test.py b/tests/providers/aws/services/trustedadvisor/trustedadvisor_service_test.py index 8b3e619862..c3150938a3 100644 --- a/tests/providers/aws/services/trustedadvisor/trustedadvisor_service_test.py +++ b/tests/providers/aws/services/trustedadvisor/trustedadvisor_service_test.py @@ -1,22 +1,16 @@ from unittest.mock import patch import botocore -from boto3 import session from moto import mock_support -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info from prowler.providers.aws.services.trustedadvisor.trustedadvisor_service import ( TrustedAdvisor, ) -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" -AWS_REGION = "us-east-1" - make_api_call = botocore.client.BaseClient._make_api_call @@ -43,36 +37,6 @@ def mock_make_api_call(self, operation_name, kwarg): @patch("botocore.client.BaseClient._make_api_call", new=mock_make_api_call) class Test_TrustedAdvisor_Service: - 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=f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root", - audited_user_id=None, - audited_partition="aws", - audited_identity_arn=None, - profile=None, - profile_region=AWS_REGION, - 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 TrustedAdvisor Service def test_service(self): audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) @@ -98,4 +62,4 @@ class Test_TrustedAdvisor_Service: trustedadvisor = TrustedAdvisor(audit_info) assert trustedadvisor.premium_support.enabled assert len(trustedadvisor.checks) == 104 # Default checks - assert trustedadvisor.checks[0].region == AWS_REGION + assert trustedadvisor.checks[0].region == AWS_REGION_EU_WEST_1 diff --git a/tests/providers/aws/services/vpc/vpc_endpoint_connections_trust_boundaries/vpc_endpoint_connections_trust_boundaries_test.py b/tests/providers/aws/services/vpc/vpc_endpoint_connections_trust_boundaries/vpc_endpoint_connections_trust_boundaries_test.py index ee37d0aaac..e2f6a1bc3d 100644 --- a/tests/providers/aws/services/vpc/vpc_endpoint_connections_trust_boundaries/vpc_endpoint_connections_trust_boundaries_test.py +++ b/tests/providers/aws/services/vpc/vpc_endpoint_connections_trust_boundaries/vpc_endpoint_connections_trust_boundaries_test.py @@ -5,12 +5,11 @@ from boto3 import client from moto import mock_ec2 from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" -AWS_ACCOUNT_NUMBER = "123456789012" TRUSTED_AWS_ACCOUNT_NUMBER = "111122223333" NON_TRUSTED_AWS_ACCOUNT_NUMBER = "000011112222" @@ -45,7 +44,7 @@ class Test_vpc_endpoint_connections_trust_boundaries: @mock_ec2 def test_vpc_aws_endpoint(self): # Create VPC Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) vpc = ec2_client.create_vpc(CidrBlock="10.0.0.0/16")["Vpc"] @@ -84,7 +83,7 @@ class Test_vpc_endpoint_connections_trust_boundaries: @mock_ec2 def test_vpc_endpoint_with_full_access(self): # Create VPC Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) vpc = ec2_client.create_vpc(CidrBlock="10.0.0.0/16")["Vpc"] @@ -140,12 +139,12 @@ class Test_vpc_endpoint_connections_trust_boundaries: result[0].resource_id == vpc_endpoint["VpcEndpoint"]["VpcEndpointId"] ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_ec2 def test_vpc_endpoint_with_trusted_account_arn(self): # Create VPC Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) vpc = ec2_client.create_vpc(CidrBlock="10.0.0.0/16")["Vpc"] @@ -202,12 +201,12 @@ class Test_vpc_endpoint_connections_trust_boundaries: result[0].resource_id == vpc_endpoint["VpcEndpoint"]["VpcEndpointId"] ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_ec2 def test_vpc_endpoint_with_trusted_account_id(self): # Create VPC Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) vpc = ec2_client.create_vpc(CidrBlock="10.0.0.0/16")["Vpc"] @@ -262,12 +261,12 @@ class Test_vpc_endpoint_connections_trust_boundaries: result[0].resource_id == vpc_endpoint["VpcEndpoint"]["VpcEndpointId"] ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_ec2 def test_vpc_endpoint_with_untrusted_account(self): # Create VPC Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) vpc = ec2_client.create_vpc(CidrBlock="10.0.0.0/16")["Vpc"] @@ -329,7 +328,7 @@ class Test_vpc_endpoint_connections_trust_boundaries: @mock_ec2 def test_vpc_endpoint_with_config_trusted_account_with_arn(self): # Create VPC Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) vpc = ec2_client.create_vpc(CidrBlock="10.0.0.0/16")["Vpc"] @@ -389,12 +388,12 @@ class Test_vpc_endpoint_connections_trust_boundaries: result[0].resource_id == vpc_endpoint["VpcEndpoint"]["VpcEndpointId"] ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_ec2 def test_vpc_endpoint_with_config_trusted_account(self): # Create VPC Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) vpc = ec2_client.create_vpc(CidrBlock="10.0.0.0/16")["Vpc"] @@ -452,12 +451,12 @@ class Test_vpc_endpoint_connections_trust_boundaries: result[0].resource_id == vpc_endpoint["VpcEndpoint"]["VpcEndpointId"] ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_ec2 def test_vpc_endpoint_with_two_account_ids_one_trusted_one_not(self): # Create VPC Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) vpc = ec2_client.create_vpc(CidrBlock="10.0.0.0/16")["Vpc"] @@ -517,12 +516,12 @@ class Test_vpc_endpoint_connections_trust_boundaries: result[0].resource_id == vpc_endpoint["VpcEndpoint"]["VpcEndpointId"] ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_ec2 def test_vpc_endpoint_with_aws_principal_all(self): # Create VPC Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) vpc = ec2_client.create_vpc(CidrBlock="10.0.0.0/16")["Vpc"] @@ -577,14 +576,14 @@ class Test_vpc_endpoint_connections_trust_boundaries: result[0].resource_id == vpc_endpoint["VpcEndpoint"]["VpcEndpointId"] ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_ec2 def test_vpc_endpoint_with_aws_principal_all_but_restricted_condition_with_SourceAccount( self, ): # Create VPC Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) vpc = ec2_client.create_vpc(CidrBlock="10.0.0.0/16")["Vpc"] @@ -644,14 +643,14 @@ class Test_vpc_endpoint_connections_trust_boundaries: result[0].resource_id == vpc_endpoint["VpcEndpoint"]["VpcEndpointId"] ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_ec2 def test_vpc_endpoint_with_aws_principal_all_but_restricted_condition_with_PrincipalAccount( self, ): # Create VPC Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) vpc = ec2_client.create_vpc(CidrBlock="10.0.0.0/16")["Vpc"] @@ -711,4 +710,4 @@ class Test_vpc_endpoint_connections_trust_boundaries: result[0].resource_id == vpc_endpoint["VpcEndpoint"]["VpcEndpointId"] ) - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 diff --git a/tests/providers/aws/services/vpc/vpc_endpoint_services_allowed_principals_trust_boundaries/vpc_endpoint_services_allowed_principals_trust_boundaries_test.py b/tests/providers/aws/services/vpc/vpc_endpoint_services_allowed_principals_trust_boundaries/vpc_endpoint_services_allowed_principals_trust_boundaries_test.py index 5695ad9bc0..59968b12a0 100644 --- a/tests/providers/aws/services/vpc/vpc_endpoint_services_allowed_principals_trust_boundaries/vpc_endpoint_services_allowed_principals_trust_boundaries_test.py +++ b/tests/providers/aws/services/vpc/vpc_endpoint_services_allowed_principals_trust_boundaries/vpc_endpoint_services_allowed_principals_trust_boundaries_test.py @@ -4,12 +4,12 @@ from boto3 import client from moto import mock_ec2, mock_elbv2 from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_ARN, + AWS_ACCOUNT_NUMBER, AWS_REGION_US_EAST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" -AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" AWS_ACCOUNT_NUMBER_2 = "111122223333" AWS_ACCOUNT_ARN_2 = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER_2}:root" diff --git a/tests/providers/aws/services/vpc/vpc_flow_logs_enabled/vpc_flow_logs_enabled_test.py b/tests/providers/aws/services/vpc/vpc_flow_logs_enabled/vpc_flow_logs_enabled_test.py index 42b083ec94..0ec5a1be0f 100644 --- a/tests/providers/aws/services/vpc/vpc_flow_logs_enabled/vpc_flow_logs_enabled_test.py +++ b/tests/providers/aws/services/vpc/vpc_flow_logs_enabled/vpc_flow_logs_enabled_test.py @@ -1,50 +1,16 @@ 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.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_vpc_flow_logs_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_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=["us-east-1", "eu-west-1"], - 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 - @mock_ec2 def test_vpc_only_default_vpcs(self): from prowler.providers.aws.services.vpc.vpc_service import VPC @@ -73,7 +39,7 @@ class Test_vpc_flow_logs_enabled: from prowler.providers.aws.services.vpc.vpc_service import VPC # Create VPC Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) vpc = ec2_client.create_vpc( CidrBlock="10.0.0.0/16", @@ -129,7 +95,7 @@ class Test_vpc_flow_logs_enabled: from prowler.providers.aws.services.vpc.vpc_service import VPC # Create VPC Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) vpc = ec2_client.create_vpc(CidrBlock="10.0.0.0/16")["Vpc"] @@ -165,7 +131,7 @@ class Test_vpc_flow_logs_enabled: from prowler.providers.aws.services.vpc.vpc_service import VPC # Create VPC Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) ec2_client.create_vpc(CidrBlock="10.0.0.0/16")["Vpc"] @@ -194,7 +160,7 @@ class Test_vpc_flow_logs_enabled: from prowler.providers.aws.services.vpc.vpc_service import VPC # Create VPC Mocked Resources - ec2 = resource("ec2", region_name=AWS_REGION) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) vpc = ec2.create_vpc(CidrBlock="10.0.0.0/16") subnet = ec2.create_subnet(VpcId=vpc.id, CidrBlock="10.0.0.0/18") diff --git a/tests/providers/aws/services/vpc/vpc_peering_routing_tables_with_least_privilege/vpc_peering_routing_tables_with_least_privilege_test.py b/tests/providers/aws/services/vpc/vpc_peering_routing_tables_with_least_privilege/vpc_peering_routing_tables_with_least_privilege_test.py index bcbe82079f..8ccd84f17d 100644 --- a/tests/providers/aws/services/vpc/vpc_peering_routing_tables_with_least_privilege/vpc_peering_routing_tables_with_least_privilege_test.py +++ b/tests/providers/aws/services/vpc/vpc_peering_routing_tables_with_least_privilege/vpc_peering_routing_tables_with_least_privilege_test.py @@ -8,9 +8,6 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_vpc_peering_routing_tables_with_least_privilege: @mock_ec2 @@ -40,8 +37,8 @@ class Test_vpc_peering_routing_tables_with_least_privilege: @mock_ec2 def test_vpc_comply_peering_connection_(self): # Create VPC Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) - ec2_resource = resource("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) + ec2_resource = resource("ec2", region_name=AWS_REGION_EU_WEST_1) # Create VPCs peers as well as a comply route vpc = ec2_client.create_vpc(CidrBlock="10.0.0.0/16") @@ -102,13 +99,13 @@ class Test_vpc_peering_routing_tables_with_least_privilege: == f"VPC Peering Connection {vpc_pcx_id} comply with least privilege access." ) assert result[0].resource_id == vpc_pcx_id - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_ec2 def test_vpc_comply_peering_connection_edge_case(self): # Create VPC Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) - ec2_resource = resource("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) + ec2_resource = resource("ec2", region_name=AWS_REGION_EU_WEST_1) # Create VPCs peers as well as a comply route vpc = ec2_client.create_vpc(CidrBlock="10.0.0.0/16") @@ -167,13 +164,13 @@ class Test_vpc_peering_routing_tables_with_least_privilege: == f"VPC Peering Connection {vpc_pcx_id} comply with least privilege access." ) assert result[0].resource_id == vpc_pcx_id - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_ec2 def test_vpc_not_comply_peering_connection_(self): # Create VPC Mocked Resources - ec2_client = client("ec2", region_name=AWS_REGION) - ec2_resource = resource("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) + ec2_resource = resource("ec2", region_name=AWS_REGION_EU_WEST_1) # Create VPCs peers as well as a comply route vpc = ec2_client.create_vpc(CidrBlock="10.0.0.0/16") @@ -234,4 +231,4 @@ class Test_vpc_peering_routing_tables_with_least_privilege: == f"VPC Peering Connection {vpc_pcx_id} does not comply with least privilege access since it accepts whole VPCs CIDR in its route tables." ) assert result[0].resource_id == vpc_pcx_id - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 diff --git a/tests/providers/aws/services/vpc/vpc_service_test.py b/tests/providers/aws/services/vpc/vpc_service_test.py index 35bef6adec..1189f7aff9 100644 --- a/tests/providers/aws/services/vpc/vpc_service_test.py +++ b/tests/providers/aws/services/vpc/vpc_service_test.py @@ -1,51 +1,17 @@ import json -from boto3 import client, resource, session +from boto3 import client, resource from moto import mock_ec2, mock_elbv2 -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info from prowler.providers.aws.services.vpc.vpc_service import VPC, Route -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" -AWS_REGION = "us-east-1" - class Test_VPC_Service: - 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=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=["eu-west-1", "us-east-1"], - 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 VPC Service @mock_ec2 def test_service(self): @@ -83,7 +49,7 @@ class Test_VPC_Service: @mock_ec2 def test__describe_vpcs__(self): # Generate VPC Client - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) # Create VPC vpc = ec2_client.create_vpc( CidrBlock="10.0.0.0/16", @@ -112,7 +78,7 @@ class Test_VPC_Service: @mock_ec2 def test__describe_flow_logs__(self): # Generate VPC Client - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) new_vpc = ec2_client.create_vpc(CidrBlock="10.0.0.0/16")["Vpc"] # Create VPC Flow log ec2_client.create_flow_logs( @@ -137,7 +103,7 @@ class Test_VPC_Service: @mock_ec2 def test__describe_vpc_peering_connections__(self): # Generate VPC Client - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) # Create VPCs peers vpc = ec2_client.create_vpc(CidrBlock="10.0.0.0/16") peer_vpc = ec2_client.create_vpc(CidrBlock="11.0.0.0/16") @@ -171,8 +137,8 @@ class Test_VPC_Service: @mock_ec2 def test__describe_route_tables__(self): # Generate VPC Client - ec2_client = client("ec2", region_name=AWS_REGION) - _ = resource("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) + _ = resource("ec2", region_name=AWS_REGION_EU_WEST_1) # Create VPCs peers as well as a route vpc = ec2_client.create_vpc(CidrBlock="10.0.0.0/16") @@ -213,7 +179,7 @@ class Test_VPC_Service: @mock_ec2 def test__describe_vpc_endpoints__(self): # Generate VPC Client - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) # Create VPC endpoint vpc = ec2_client.create_vpc(CidrBlock="10.0.0.0/16")["Vpc"] @@ -258,8 +224,8 @@ class Test_VPC_Service: @mock_elbv2 def test__describe_vpc_endpoint_services__(self): # Generate VPC Client - ec2_client = client("ec2", region_name=AWS_REGION) - elbv2_client = client("elbv2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) + elbv2_client = client("elbv2", region_name=AWS_REGION_EU_WEST_1) vpc = ec2_client.create_vpc( CidrBlock="172.28.7.0/24", InstanceTenancy="default" @@ -267,7 +233,7 @@ class Test_VPC_Service: subnet = ec2_client.create_subnet( VpcId=vpc["Vpc"]["VpcId"], CidrBlock="172.28.7.192/26", - AvailabilityZone=f"{AWS_REGION}a", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}a", ) lb_name = "lb_vpce-test" lb_arn = elbv2_client.create_load_balancer( @@ -289,7 +255,7 @@ class Test_VPC_Service: ], ) endpoint_id = endpoint["ServiceConfiguration"]["ServiceId"] - endpoint_arn = f"arn:aws:ec2:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:vpc-endpoint-service/{endpoint_id}" + endpoint_arn = f"arn:aws:ec2:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:vpc-endpoint-service/{endpoint_id}" endpoint_service = endpoint["ServiceConfiguration"]["ServiceName"] # VPC client for this test class @@ -302,14 +268,14 @@ class Test_VPC_Service: assert vpce.service == endpoint_service assert vpce.owner_id == AWS_ACCOUNT_NUMBER assert vpce.allowed_principals == [] - assert vpce.region == AWS_REGION + assert vpce.region == AWS_REGION_EU_WEST_1 assert vpce.tags == [] # Test VPC Describe VPC Subnets @mock_ec2 def test__describe_vpc_subnets__(self): # Generate VPC Client - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) # Create VPC vpc = ec2_client.create_vpc( CidrBlock="172.28.7.0/24", InstanceTenancy="default" @@ -317,7 +283,7 @@ class Test_VPC_Service: subnet = ec2_client.create_subnet( VpcId=vpc["Vpc"]["VpcId"], CidrBlock="172.28.7.192/26", - AvailabilityZone=f"{AWS_REGION}a", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}a", ) # VPC client for this test class audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) @@ -331,8 +297,8 @@ class Test_VPC_Service: assert vpc.subnets[0].default is False assert vpc.subnets[0].vpc_id == vpc.id assert vpc.subnets[0].cidr_block == "172.28.7.192/26" - assert vpc.subnets[0].availability_zone == f"{AWS_REGION}a" + assert vpc.subnets[0].availability_zone == f"{AWS_REGION_EU_WEST_1}a" assert vpc.subnets[0].public is False assert vpc.subnets[0].nat_gateway is False - assert vpc.subnets[0].region == AWS_REGION + assert vpc.subnets[0].region == AWS_REGION_EU_WEST_1 assert vpc.subnets[0].tags is None diff --git a/tests/providers/aws/services/vpc/vpc_subnet_different_az/vpc_subnet_different_az_test.py b/tests/providers/aws/services/vpc/vpc_subnet_different_az/vpc_subnet_different_az_test.py index e3af1afe63..fcbe6c3725 100644 --- a/tests/providers/aws/services/vpc/vpc_subnet_different_az/vpc_subnet_different_az_test.py +++ b/tests/providers/aws/services/vpc/vpc_subnet_different_az/vpc_subnet_different_az_test.py @@ -8,14 +8,11 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_vpc_subnet_different_az: @mock_ec2 def test_vpc_subnet_different_az(self): - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) vpc = ec2_client.create_vpc( CidrBlock="172.28.7.0/24", InstanceTenancy="default", @@ -32,14 +29,14 @@ class Test_vpc_subnet_different_az: ec2_client.create_subnet( VpcId=vpc["Vpc"]["VpcId"], CidrBlock="172.28.7.192/26", - AvailabilityZone=f"{AWS_REGION}a", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}a", ) # VPC AZ 2 ec2_client.create_subnet( VpcId=vpc["Vpc"]["VpcId"], CidrBlock="172.28.7.0/26", - AvailabilityZone=f"{AWS_REGION}b", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}b", ) from prowler.providers.aws.services.vpc.vpc_service import VPC @@ -74,13 +71,13 @@ class Test_vpc_subnet_different_az: assert result.resource_tags == [ {"Key": "Name", "Value": "vpc_name"} ] - assert result.region == AWS_REGION + assert result.region == AWS_REGION_EU_WEST_1 if not found: assert False @mock_ec2 def test_vpc_subnet_same_az(self): - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) vpc = ec2_client.create_vpc( CidrBlock="172.28.7.0/24", InstanceTenancy="default" ) @@ -88,14 +85,14 @@ class Test_vpc_subnet_different_az: ec2_client.create_subnet( VpcId=vpc["Vpc"]["VpcId"], CidrBlock="172.28.7.192/26", - AvailabilityZone=f"{AWS_REGION}a", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}a", ) # VPC AZ 2 ec2_client.create_subnet( VpcId=vpc["Vpc"]["VpcId"], CidrBlock="172.28.7.0/26", - AvailabilityZone=f"{AWS_REGION}a", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}a", ) from prowler.providers.aws.services.vpc.vpc_service import VPC @@ -124,17 +121,17 @@ class Test_vpc_subnet_different_az: assert result.status == "FAIL" assert ( result.status_extended - == f"VPC {vpc['Vpc']['VpcId']} has only subnets in {AWS_REGION}a." + == f"VPC {vpc['Vpc']['VpcId']} has only subnets in {AWS_REGION_EU_WEST_1}a." ) assert result.resource_id == vpc["Vpc"]["VpcId"] assert result.resource_tags == [] - assert result.region == AWS_REGION + assert result.region == AWS_REGION_EU_WEST_1 if not found: assert False @mock_ec2 def test_vpc_no_subnets(self): - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) vpc = ec2_client.create_vpc( CidrBlock="172.28.7.0/24", InstanceTenancy="default" ) @@ -169,6 +166,6 @@ class Test_vpc_subnet_different_az: ) assert result.resource_id == vpc["Vpc"]["VpcId"] assert result.resource_tags == [] - assert result.region == AWS_REGION + assert result.region == AWS_REGION_EU_WEST_1 if not found: assert False diff --git a/tests/providers/aws/services/vpc/vpc_subnet_no_public_ip_by_default/vpc_subnet_no_public_ip_by_default_test.py b/tests/providers/aws/services/vpc/vpc_subnet_no_public_ip_by_default/vpc_subnet_no_public_ip_by_default_test.py index 7ffbc4d5b5..8cc1c9bcb2 100644 --- a/tests/providers/aws/services/vpc/vpc_subnet_no_public_ip_by_default/vpc_subnet_no_public_ip_by_default_test.py +++ b/tests/providers/aws/services/vpc/vpc_subnet_no_public_ip_by_default/vpc_subnet_no_public_ip_by_default_test.py @@ -8,21 +8,18 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_vpc_subnet_no_public_ip_by_default: @mock_ec2 def test_vpc_with_map_ip_on_launch(self): - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) vpc = ec2_client.create_vpc( CidrBlock="172.28.7.0/24", InstanceTenancy="default" ) subnet_private = ec2_client.create_subnet( VpcId=vpc["Vpc"]["VpcId"], CidrBlock="172.28.7.192/26", - AvailabilityZone=f"{AWS_REGION}a", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}a", TagSpecifications=[ { "ResourceType": "subnet", @@ -67,14 +64,14 @@ class Test_vpc_subnet_no_public_ip_by_default: @mock_ec2 def test_vpc_without_map_ip_on_launch(self): - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) vpc = ec2_client.create_vpc( CidrBlock="172.28.7.0/24", InstanceTenancy="default" ) subnet_private = ec2_client.create_subnet( VpcId=vpc["Vpc"]["VpcId"], CidrBlock="172.28.7.192/26", - AvailabilityZone=f"{AWS_REGION}a", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}a", ) ec2_client.modify_subnet_attribute( diff --git a/tests/providers/aws/services/vpc/vpc_subnet_separate_private_public/vpc_subnet_separate_private_public_test.py b/tests/providers/aws/services/vpc/vpc_subnet_separate_private_public/vpc_subnet_separate_private_public_test.py index 6f9140120f..5ee7f9d4e9 100644 --- a/tests/providers/aws/services/vpc/vpc_subnet_separate_private_public/vpc_subnet_separate_private_public_test.py +++ b/tests/providers/aws/services/vpc/vpc_subnet_separate_private_public/vpc_subnet_separate_private_public_test.py @@ -8,14 +8,11 @@ from tests.providers.aws.audit_info_utils import ( set_mocked_aws_audit_info, ) -AWS_REGION = "us-east-1" -AWS_ACCOUNT_NUMBER = "123456789012" - class Test_vpc_subnet_separate_private_public: @mock_ec2 def test_vpc_subnet_only_private(self): - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) vpc = ec2_client.create_vpc( CidrBlock="172.28.7.0/24", InstanceTenancy="default", @@ -32,7 +29,7 @@ class Test_vpc_subnet_separate_private_public: subnet_private = ec2_client.create_subnet( VpcId=vpc["Vpc"]["VpcId"], CidrBlock="172.28.7.192/26", - AvailabilityZone=f"{AWS_REGION}a", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}a", ) route_table_private = ec2_client.create_route_table( VpcId=vpc["Vpc"]["VpcId"], @@ -78,13 +75,13 @@ class Test_vpc_subnet_separate_private_public: assert result.resource_tags == [ {"Key": "Name", "Value": "vpc_name"} ] - assert result.region == AWS_REGION + assert result.region == AWS_REGION_EU_WEST_1 if not found: assert False @mock_ec2 def test_vpc_subnet_only_public(self): - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) vpc = ec2_client.create_vpc( CidrBlock="172.28.7.0/24", InstanceTenancy="default" ) @@ -92,7 +89,7 @@ class Test_vpc_subnet_separate_private_public: subnet_public = ec2_client.create_subnet( VpcId=vpc["Vpc"]["VpcId"], CidrBlock="172.28.7.192/26", - AvailabilityZone=f"{AWS_REGION}a", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}a", ) route_table_public = ec2_client.create_route_table( VpcId=vpc["Vpc"]["VpcId"], @@ -138,13 +135,13 @@ class Test_vpc_subnet_separate_private_public: ) assert result.resource_id == vpc["Vpc"]["VpcId"] assert result.resource_tags == [] - assert result.region == AWS_REGION + assert result.region == AWS_REGION_EU_WEST_1 if not found: assert False @mock_ec2 def test_vpc_subnet_private_and_public(self): - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) vpc = ec2_client.create_vpc( CidrBlock="172.28.7.0/24", InstanceTenancy="default" ) @@ -152,7 +149,7 @@ class Test_vpc_subnet_separate_private_public: subnet_private = ec2_client.create_subnet( VpcId=vpc["Vpc"]["VpcId"], CidrBlock="172.28.7.192/26", - AvailabilityZone=f"{AWS_REGION}a", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}a", ) route_table_private = ec2_client.create_route_table( VpcId=vpc["Vpc"]["VpcId"], @@ -169,7 +166,7 @@ class Test_vpc_subnet_separate_private_public: subnet_public = ec2_client.create_subnet( VpcId=vpc["Vpc"]["VpcId"], CidrBlock="172.28.7.0/26", - AvailabilityZone=f"{AWS_REGION}a", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}a", ) route_table_public = ec2_client.create_route_table( VpcId=vpc["Vpc"]["VpcId"], @@ -215,6 +212,6 @@ class Test_vpc_subnet_separate_private_public: ) assert result.resource_id == vpc["Vpc"]["VpcId"] assert result.resource_tags == [] - assert result.region == AWS_REGION + assert result.region == AWS_REGION_EU_WEST_1 if not found: assert False diff --git a/tests/providers/aws/services/waf/waf_service_test.py b/tests/providers/aws/services/waf/waf_service_test.py index 9e18cd06ce..c6edbc338d 100644 --- a/tests/providers/aws/services/waf/waf_service_test.py +++ b/tests/providers/aws/services/waf/waf_service_test.py @@ -1,19 +1,13 @@ from unittest.mock import patch import botocore -from boto3 import session -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info from prowler.providers.aws.services.waf.waf_service import WAF -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" -AWS_REGION = "us-east-1" - # Mocking WAF-Regional Calls make_api_call = botocore.client.BaseClient._make_api_call @@ -38,9 +32,11 @@ def mock_make_api_call(self, operation_name, kwarg): # Mock generate_regional_clients() 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_EU_WEST_1 + ) + regional_client.region = AWS_REGION_EU_WEST_1 + return {AWS_REGION_EU_WEST_1: regional_client} # Patch every AWS call using Boto3 and generate_regional_clients to have 1 client @@ -50,36 +46,6 @@ def mock_generate_regional_clients(service, audit_info, _): new=mock_generate_regional_clients, ) class Test_WAF_Service: - 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=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=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 WAF Service def test_service(self): # WAF client for this test class @@ -109,7 +75,7 @@ class Test_WAF_Service: waf = WAF(audit_info) assert len(waf.web_acls) == 1 assert waf.web_acls[0].name == "my-web-acl" - assert waf.web_acls[0].region == AWS_REGION + assert waf.web_acls[0].region == AWS_REGION_EU_WEST_1 assert waf.web_acls[0].id == "my-web-acl-id" # Test WAF Describe Web ACLs Resources diff --git a/tests/providers/aws/services/wafv2/wafv2_service_test.py b/tests/providers/aws/services/wafv2/wafv2_service_test.py index 314d7a083c..2b8d13c0c8 100644 --- a/tests/providers/aws/services/wafv2/wafv2_service_test.py +++ b/tests/providers/aws/services/wafv2/wafv2_service_test.py @@ -1,49 +1,14 @@ -from boto3 import client, resource, session +from boto3 import client, resource from moto import mock_ec2, mock_elbv2, mock_wafv2 -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info from prowler.providers.aws.services.wafv2.wafv2_service import WAFv2 -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" -AWS_REGION = "us-east-1" - class Test_WAFv2_Service: - 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=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=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 WAFv2 Service @mock_wafv2 def test_service(self): @@ -88,7 +53,7 @@ class Test_WAFv2_Service: wafv2 = WAFv2(audit_info) assert len(wafv2.web_acls) == 1 assert wafv2.web_acls[0].name == waf["Name"] - assert wafv2.web_acls[0].region == AWS_REGION + assert wafv2.web_acls[0].region == AWS_REGION_EU_WEST_1 assert wafv2.web_acls[0].arn == waf["ARN"] assert wafv2.web_acls[0].id == waf["Id"] @@ -98,8 +63,8 @@ class Test_WAFv2_Service: @mock_wafv2 def test__list_resources_for_web_acl__(self): wafv2 = client("wafv2", region_name="us-east-1") - conn = client("elbv2", region_name=AWS_REGION) - ec2 = resource("ec2", region_name=AWS_REGION) + conn = client("elbv2", region_name=AWS_REGION_EU_WEST_1) + ec2 = resource("ec2", region_name=AWS_REGION_EU_WEST_1) waf = wafv2.create_web_acl( Scope="REGIONAL", Name="my-web-acl", @@ -115,10 +80,14 @@ class Test_WAFv2_Service: ) vpc = ec2.create_vpc(CidrBlock="172.28.7.0/24", InstanceTenancy="default") subnet1 = ec2.create_subnet( - VpcId=vpc.id, CidrBlock="172.28.7.192/26", AvailabilityZone=f"{AWS_REGION}a" + VpcId=vpc.id, + CidrBlock="172.28.7.192/26", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}a", ) subnet2 = ec2.create_subnet( - VpcId=vpc.id, CidrBlock="172.28.7.0/26", AvailabilityZone=f"{AWS_REGION}b" + VpcId=vpc.id, + CidrBlock="172.28.7.0/26", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}b", ) lb = conn.create_load_balancer( diff --git a/tests/providers/aws/services/wafv2/wafv2_webacl_logging_enabled/wafv2_webacl_logging_enabled_test.py b/tests/providers/aws/services/wafv2/wafv2_webacl_logging_enabled/wafv2_webacl_logging_enabled_test.py index 8e782fcbb3..1f557324c7 100644 --- a/tests/providers/aws/services/wafv2/wafv2_webacl_logging_enabled/wafv2_webacl_logging_enabled_test.py +++ b/tests/providers/aws/services/wafv2/wafv2_webacl_logging_enabled/wafv2_webacl_logging_enabled_test.py @@ -2,12 +2,14 @@ from unittest import mock from uuid import uuid4 from prowler.providers.aws.services.wafv2.wafv2_service import WebAclv2 +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, + AWS_REGION_EU_WEST_1, +) -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" waf_id = str(uuid4()) waf_name = "waf-example" -waf_arn = f"arn:aws:wafv2:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:regional/webacl/{waf_name}/{waf_id}" +waf_arn = f"arn:aws:wafv2:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:regional/webacl/{waf_name}/{waf_id}" class Test_wafv2_webacl_logging_enabled: @@ -39,7 +41,7 @@ class Test_wafv2_webacl_logging_enabled: name=waf_name, id=waf_id, albs=[], - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, logging_enabled=True, ) ) @@ -64,7 +66,7 @@ class Test_wafv2_webacl_logging_enabled: ) assert result[0].resource_id == waf_id assert result[0].resource_arn == waf_arn - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 def test_wafv2_wb_acl_without_logging(self): wafv2_client = mock.MagicMock @@ -76,7 +78,7 @@ class Test_wafv2_webacl_logging_enabled: name=waf_name, id=waf_id, albs=[], - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, logging_enabled=False, ) ) @@ -101,4 +103,4 @@ class Test_wafv2_webacl_logging_enabled: ) assert result[0].resource_id == waf_id assert result[0].resource_arn == waf_arn - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 diff --git a/tests/providers/aws/services/wellarchitected/wellarchitected_service_test.py b/tests/providers/aws/services/wellarchitected/wellarchitected_service_test.py index 1a61ec78ac..dec25964d9 100644 --- a/tests/providers/aws/services/wellarchitected/wellarchitected_service_test.py +++ b/tests/providers/aws/services/wellarchitected/wellarchitected_service_test.py @@ -2,22 +2,16 @@ from unittest.mock import patch from uuid import uuid4 import botocore -from boto3 import session -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info from prowler.providers.aws.services.wellarchitected.wellarchitected_service import ( WellArchitected, ) -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" -AWS_REGION = "eu-west-1" - - workload_id = str(uuid4()) make_api_call = botocore.client.BaseClient._make_api_call @@ -29,7 +23,7 @@ def mock_make_api_call(self, operation_name, kwarg): "WorkloadSummaries": [ { "WorkloadId": workload_id, - "WorkloadArn": f"arn:aws:wellarchitected:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:workload/{workload_id}", + "WorkloadArn": f"arn:aws:wellarchitected:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:workload/{workload_id}", "WorkloadName": "test", "Owner": AWS_ACCOUNT_NUMBER, "UpdatedAt": "2023-06-07T15:40:24+02:00", @@ -47,9 +41,11 @@ def mock_make_api_call(self, operation_name, kwarg): 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_EU_WEST_1 + ) + regional_client.region = AWS_REGION_EU_WEST_1 + return {AWS_REGION_EU_WEST_1: regional_client} @patch("botocore.client.BaseClient._make_api_call", new=mock_make_api_call) @@ -58,36 +54,6 @@ def mock_generate_regional_clients(service, audit_info, _): new=mock_generate_regional_clients, ) class Test_WellArchitected_Service: - 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=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=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 WellArchitected Service def test_service(self): audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) @@ -115,10 +81,10 @@ class Test_WellArchitected_Service: assert wellarchitected.workloads[0].id == workload_id assert ( wellarchitected.workloads[0].arn - == f"arn:aws:wellarchitected:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:workload/{workload_id}" + == f"arn:aws:wellarchitected:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:workload/{workload_id}" ) assert wellarchitected.workloads[0].name == "test" - assert wellarchitected.workloads[0].region == AWS_REGION + assert wellarchitected.workloads[0].region == AWS_REGION_EU_WEST_1 assert wellarchitected.workloads[0].tags == [ {"Key": "test", "Value": "test"}, ] diff --git a/tests/providers/aws/services/wellarchitected/wellarchitected_workload_no_high_or_medium_risks/wellarchitected_workload_no_high_or_medium_risks_test.py b/tests/providers/aws/services/wellarchitected/wellarchitected_workload_no_high_or_medium_risks/wellarchitected_workload_no_high_or_medium_risks_test.py index 9d6cd2f246..99e0ce765f 100644 --- a/tests/providers/aws/services/wellarchitected/wellarchitected_workload_no_high_or_medium_risks/wellarchitected_workload_no_high_or_medium_risks_test.py +++ b/tests/providers/aws/services/wellarchitected/wellarchitected_workload_no_high_or_medium_risks/wellarchitected_workload_no_high_or_medium_risks_test.py @@ -5,9 +5,10 @@ from uuid import uuid4 from prowler.providers.aws.services.wellarchitected.wellarchitected_service import ( Workload, ) - -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, + AWS_REGION_EU_WEST_1, +) workload_id = str(uuid4()) @@ -37,12 +38,12 @@ class Test_wellarchitected_workload_no_high_or_medium_risks: wellarchitected_client.workloads.append( Workload( id=workload_id, - arn=f"arn:aws:wellarchitected:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:workload/{workload_id}", + arn=f"arn:aws:wellarchitected:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:workload/{workload_id}", name="test", lenses=["wellarchitected", "serverless", "softwareasaservice"], improvement_status="NOT_APPLICABLE", risks={}, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) ) with mock.patch( @@ -66,7 +67,7 @@ class Test_wellarchitected_workload_no_high_or_medium_risks: assert result[0].resource_id == workload_id assert ( result[0].resource_arn - == f"arn:aws:wellarchitected:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:workload/{workload_id}" + == f"arn:aws:wellarchitected:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:workload/{workload_id}" ) def test_wellarchitected_no_high_medium_risks(self): @@ -75,7 +76,7 @@ class Test_wellarchitected_workload_no_high_or_medium_risks: wellarchitected_client.workloads.append( Workload( id=workload_id, - arn=f"arn:aws:wellarchitected:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:workload/{workload_id}", + arn=f"arn:aws:wellarchitected:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:workload/{workload_id}", name="test", lenses=["wellarchitected", "serverless", "softwareasaservice"], improvement_status="NOT_APPLICABLE", @@ -83,7 +84,7 @@ class Test_wellarchitected_workload_no_high_or_medium_risks: "UNANSWERED": 56, "NOT_APPLICABLE": 4, }, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) ) with mock.patch( @@ -107,7 +108,7 @@ class Test_wellarchitected_workload_no_high_or_medium_risks: assert result[0].resource_id == workload_id assert ( result[0].resource_arn - == f"arn:aws:wellarchitected:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:workload/{workload_id}" + == f"arn:aws:wellarchitected:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:workload/{workload_id}" ) def test_wellarchitected_with_high_medium_risks(self): @@ -116,7 +117,7 @@ class Test_wellarchitected_workload_no_high_or_medium_risks: wellarchitected_client.workloads.append( Workload( id=workload_id, - arn=f"arn:aws:wellarchitected:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:workload/{workload_id}", + arn=f"arn:aws:wellarchitected:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:workload/{workload_id}", name="test", lenses=["wellarchitected", "serverless", "softwareasaservice"], improvement_status="NOT_APPLICABLE", @@ -126,7 +127,7 @@ class Test_wellarchitected_workload_no_high_or_medium_risks: "HIGH": 10, "MEDIUM": 20, }, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, ) ) with mock.patch( @@ -150,5 +151,5 @@ class Test_wellarchitected_workload_no_high_or_medium_risks: assert result[0].resource_id == workload_id assert ( result[0].resource_arn - == f"arn:aws:wellarchitected:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:workload/{workload_id}" + == f"arn:aws:wellarchitected:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:workload/{workload_id}" ) diff --git a/tests/providers/aws/services/workspaces/workspaces_service_test.py b/tests/providers/aws/services/workspaces/workspaces_service_test.py index 626866de88..b68e91d4c0 100644 --- a/tests/providers/aws/services/workspaces/workspaces_service_test.py +++ b/tests/providers/aws/services/workspaces/workspaces_service_test.py @@ -2,20 +2,13 @@ from unittest.mock import patch from uuid import uuid4 import botocore -from boto3 import session -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info from prowler.providers.aws.services.workspaces.workspaces_service import WorkSpaces -from prowler.providers.common.models import Audit_Metadata from tests.providers.aws.audit_info_utils import ( AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_ACCOUNT_NUMBER = "123456789012" -AWS_REGION = "eu-west-1" - - workspace_id = str(uuid4()) make_api_call = botocore.client.BaseClient._make_api_call @@ -43,9 +36,11 @@ def mock_make_api_call(self, operation_name, kwarg): 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_EU_WEST_1 + ) + regional_client.region = AWS_REGION_EU_WEST_1 + return {AWS_REGION_EU_WEST_1: regional_client} @patch("botocore.client.BaseClient._make_api_call", new=mock_make_api_call) @@ -54,36 +49,6 @@ def mock_generate_regional_clients(service, audit_info, _): new=mock_generate_regional_clients, ) class Test_WorkSpaces_Service: - 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=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=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 WorkSpaces Service def test_service(self): audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) @@ -109,7 +74,7 @@ class Test_WorkSpaces_Service: workspaces = WorkSpaces(audit_info) assert len(workspaces.workspaces) == 1 assert workspaces.workspaces[0].id == workspace_id - assert workspaces.workspaces[0].region == AWS_REGION + assert workspaces.workspaces[0].region == AWS_REGION_EU_WEST_1 assert workspaces.workspaces[0].tags == [ {"Key": "test", "Value": "test"}, ] diff --git a/tests/providers/aws/services/workspaces/workspaces_volume_encryption_enabled/workspaces_volume_encryption_enabled_test.py b/tests/providers/aws/services/workspaces/workspaces_volume_encryption_enabled/workspaces_volume_encryption_enabled_test.py index d92d40db94..5ae74c3ff5 100644 --- a/tests/providers/aws/services/workspaces/workspaces_volume_encryption_enabled/workspaces_volume_encryption_enabled_test.py +++ b/tests/providers/aws/services/workspaces/workspaces_volume_encryption_enabled/workspaces_volume_encryption_enabled_test.py @@ -3,14 +3,14 @@ from unittest import mock from uuid import uuid4 from prowler.providers.aws.services.workspaces.workspaces_service import WorkSpace - -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" -WORKSPACE_ID = str(uuid4()) -WORKSPACE_ARN = ( - f"arn:aws:workspaces:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:workspace/{WORKSPACE_ID}" +from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, + AWS_REGION_EU_WEST_1, ) +WORKSPACE_ID = str(uuid4()) +WORKSPACE_ARN = f"arn:aws:workspaces:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:workspace/{WORKSPACE_ID}" + class Test_workspaces_volume_encryption_enabled: def test_no_workspaces(self): @@ -38,7 +38,7 @@ class Test_workspaces_volume_encryption_enabled: WorkSpace( id=WORKSPACE_ID, arn=WORKSPACE_ARN, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, user_volume_encryption_enabled=True, root_volume_encryption_enabled=True, subnet_id="subnet-12345678", @@ -64,7 +64,7 @@ class Test_workspaces_volume_encryption_enabled: ) assert result[0].resource_id == WORKSPACE_ID assert result[0].resource_arn == WORKSPACE_ARN - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 def test_workspaces_user_not_encrypted(self): workspaces_client = mock.MagicMock @@ -73,7 +73,7 @@ class Test_workspaces_volume_encryption_enabled: WorkSpace( id=WORKSPACE_ID, arn=WORKSPACE_ARN, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, user_volume_encryption_enabled=False, root_volume_encryption_enabled=True, subnet_id="subnet-12345678", @@ -97,7 +97,7 @@ class Test_workspaces_volume_encryption_enabled: assert search("user unencrypted volumes", result[0].status_extended) assert result[0].resource_id == WORKSPACE_ID assert result[0].resource_arn == WORKSPACE_ARN - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 def test_workspaces_root_not_encrypted(self): workspaces_client = mock.MagicMock @@ -106,7 +106,7 @@ class Test_workspaces_volume_encryption_enabled: WorkSpace( id=WORKSPACE_ID, arn=WORKSPACE_ARN, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, user_volume_encryption_enabled=True, root_volume_encryption_enabled=False, subnet_id="subnet-12345678", @@ -130,7 +130,7 @@ class Test_workspaces_volume_encryption_enabled: assert search("root unencrypted volumes", result[0].status_extended) assert result[0].resource_id == WORKSPACE_ID assert result[0].resource_arn == WORKSPACE_ARN - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 def test_workspaces_user_and_root_not_encrypted(self): workspaces_client = mock.MagicMock @@ -139,7 +139,7 @@ class Test_workspaces_volume_encryption_enabled: WorkSpace( id=WORKSPACE_ID, arn=WORKSPACE_ARN, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, user_volume_encryption_enabled=False, root_volume_encryption_enabled=False, subnet_id="subnet-12345678", @@ -165,4 +165,4 @@ class Test_workspaces_volume_encryption_enabled: ) assert result[0].resource_id == WORKSPACE_ID assert result[0].resource_arn == WORKSPACE_ARN - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 diff --git a/tests/providers/aws/services/workspaces/workspaces_vpc_2private_1public_subnets_nat/workspaces_vpc_2private_1public_subnets_nat_test.py b/tests/providers/aws/services/workspaces/workspaces_vpc_2private_1public_subnets_nat/workspaces_vpc_2private_1public_subnets_nat_test.py index 79d5a0830a..b043bfb16b 100644 --- a/tests/providers/aws/services/workspaces/workspaces_vpc_2private_1public_subnets_nat/workspaces_vpc_2private_1public_subnets_nat_test.py +++ b/tests/providers/aws/services/workspaces/workspaces_vpc_2private_1public_subnets_nat/workspaces_vpc_2private_1public_subnets_nat_test.py @@ -7,16 +7,13 @@ from moto import mock_ec2 from prowler.providers.aws.services.vpc.vpc_service import VPC from prowler.providers.aws.services.workspaces.workspaces_service import WorkSpace from tests.providers.aws.audit_info_utils import ( + AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, set_mocked_aws_audit_info, ) -AWS_REGION = "eu-west-1" -AWS_ACCOUNT_NUMBER = "123456789012" WORKSPACE_ID = str(uuid4()) -WORKSPACE_ARN = ( - f"arn:aws:workspaces:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:workspace/{WORKSPACE_ID}" -) +WORKSPACE_ARN = f"arn:aws:workspaces:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:workspace/{WORKSPACE_ID}" class Test_workspaces_vpc_2private_1public_subnets_nat: @@ -49,7 +46,7 @@ class Test_workspaces_vpc_2private_1public_subnets_nat: WorkSpace( id=WORKSPACE_ID, arn=WORKSPACE_ARN, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, user_volume_encryption_enabled=True, root_volume_encryption_enabled=True, ) @@ -83,12 +80,12 @@ class Test_workspaces_vpc_2private_1public_subnets_nat: ) assert result[0].resource_id == WORKSPACE_ID assert result[0].resource_arn == WORKSPACE_ARN - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_ec2 def test_workspaces_vpc_one_private_subnet(self): # EC2 Client - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) vpc = ec2_client.create_vpc( CidrBlock="172.28.7.0/24", InstanceTenancy="default" ) @@ -96,7 +93,7 @@ class Test_workspaces_vpc_2private_1public_subnets_nat: subnet_private = ec2_client.create_subnet( VpcId=vpc["Vpc"]["VpcId"], CidrBlock="172.28.7.0/26", - AvailabilityZone=f"{AWS_REGION}a", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}a", ) route_table_private = ec2_client.create_route_table( VpcId=vpc["Vpc"]["VpcId"], @@ -116,7 +113,7 @@ class Test_workspaces_vpc_2private_1public_subnets_nat: WorkSpace( id=WORKSPACE_ID, arn=WORKSPACE_ARN, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, user_volume_encryption_enabled=True, root_volume_encryption_enabled=True, subnet_id=subnet_private["Subnet"]["SubnetId"], @@ -151,12 +148,12 @@ class Test_workspaces_vpc_2private_1public_subnets_nat: ) assert result[0].resource_id == WORKSPACE_ID assert result[0].resource_arn == WORKSPACE_ARN - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_ec2 def test_workspaces_vpc_two_private_subnet(self): # EC2 Client - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) vpc = ec2_client.create_vpc( CidrBlock="172.28.7.0/24", InstanceTenancy="default" ) @@ -164,7 +161,7 @@ class Test_workspaces_vpc_2private_1public_subnets_nat: subnet_private = ec2_client.create_subnet( VpcId=vpc["Vpc"]["VpcId"], CidrBlock="172.28.7.0/26", - AvailabilityZone=f"{AWS_REGION}a", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}a", ) route_table_private = ec2_client.create_route_table( VpcId=vpc["Vpc"]["VpcId"], @@ -181,7 +178,7 @@ class Test_workspaces_vpc_2private_1public_subnets_nat: subnet_private_2 = ec2_client.create_subnet( VpcId=vpc["Vpc"]["VpcId"], CidrBlock="172.28.7.64/26", - AvailabilityZone=f"{AWS_REGION}a", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}a", ) route_table_private_2 = ec2_client.create_route_table( VpcId=vpc["Vpc"]["VpcId"], @@ -201,7 +198,7 @@ class Test_workspaces_vpc_2private_1public_subnets_nat: WorkSpace( id=WORKSPACE_ID, arn=WORKSPACE_ARN, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, user_volume_encryption_enabled=True, root_volume_encryption_enabled=True, subnet_id=subnet_private["Subnet"]["SubnetId"], @@ -236,12 +233,12 @@ class Test_workspaces_vpc_2private_1public_subnets_nat: ) assert result[0].resource_id == WORKSPACE_ID assert result[0].resource_arn == WORKSPACE_ARN - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_ec2 def test_workspaces_vpc_two_private_subnet_one_public(self): # EC2 Client - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) vpc = ec2_client.create_vpc( CidrBlock="172.28.7.0/24", InstanceTenancy="default" ) @@ -249,7 +246,7 @@ class Test_workspaces_vpc_2private_1public_subnets_nat: subnet_private = ec2_client.create_subnet( VpcId=vpc["Vpc"]["VpcId"], CidrBlock="172.28.7.0/26", - AvailabilityZone=f"{AWS_REGION}a", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}a", ) route_table_private = ec2_client.create_route_table( VpcId=vpc["Vpc"]["VpcId"], @@ -266,7 +263,7 @@ class Test_workspaces_vpc_2private_1public_subnets_nat: subnet_private_2 = ec2_client.create_subnet( VpcId=vpc["Vpc"]["VpcId"], CidrBlock="172.28.7.64/26", - AvailabilityZone=f"{AWS_REGION}a", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}a", ) route_table_private_2 = ec2_client.create_route_table( VpcId=vpc["Vpc"]["VpcId"], @@ -283,7 +280,7 @@ class Test_workspaces_vpc_2private_1public_subnets_nat: subnet_public = ec2_client.create_subnet( VpcId=vpc["Vpc"]["VpcId"], CidrBlock="172.28.7.192/26", - AvailabilityZone=f"{AWS_REGION}a", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}a", ) route_table_public = ec2_client.create_route_table( VpcId=vpc["Vpc"]["VpcId"], @@ -305,7 +302,7 @@ class Test_workspaces_vpc_2private_1public_subnets_nat: WorkSpace( id=WORKSPACE_ID, arn=WORKSPACE_ARN, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, user_volume_encryption_enabled=True, root_volume_encryption_enabled=True, subnet_id=subnet_private["Subnet"]["SubnetId"], @@ -340,12 +337,12 @@ class Test_workspaces_vpc_2private_1public_subnets_nat: ) assert result[0].resource_id == WORKSPACE_ID assert result[0].resource_arn == WORKSPACE_ARN - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1 @mock_ec2 def test_workspaces_vpc_two_private_subnet_one_public_and_nat(self): # EC2 Client - ec2_client = client("ec2", region_name=AWS_REGION) + ec2_client = client("ec2", region_name=AWS_REGION_EU_WEST_1) vpc = ec2_client.create_vpc( CidrBlock="172.28.7.0/24", InstanceTenancy="default" ) @@ -353,7 +350,7 @@ class Test_workspaces_vpc_2private_1public_subnets_nat: subnet_private = ec2_client.create_subnet( VpcId=vpc["Vpc"]["VpcId"], CidrBlock="172.28.7.0/26", - AvailabilityZone=f"{AWS_REGION}a", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}a", ) route_table_private = ec2_client.create_route_table( VpcId=vpc["Vpc"]["VpcId"], @@ -370,7 +367,7 @@ class Test_workspaces_vpc_2private_1public_subnets_nat: subnet_private_2 = ec2_client.create_subnet( VpcId=vpc["Vpc"]["VpcId"], CidrBlock="172.28.7.64/26", - AvailabilityZone=f"{AWS_REGION}a", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}a", ) route_table_private_2 = ec2_client.create_route_table( VpcId=vpc["Vpc"]["VpcId"], @@ -395,7 +392,7 @@ class Test_workspaces_vpc_2private_1public_subnets_nat: subnet_public = ec2_client.create_subnet( VpcId=vpc["Vpc"]["VpcId"], CidrBlock="172.28.7.192/26", - AvailabilityZone=f"{AWS_REGION}a", + AvailabilityZone=f"{AWS_REGION_EU_WEST_1}a", ) route_table_public = ec2_client.create_route_table( VpcId=vpc["Vpc"]["VpcId"], @@ -417,7 +414,7 @@ class Test_workspaces_vpc_2private_1public_subnets_nat: WorkSpace( id=WORKSPACE_ID, arn=WORKSPACE_ARN, - region=AWS_REGION, + region=AWS_REGION_EU_WEST_1, user_volume_encryption_enabled=True, root_volume_encryption_enabled=True, subnet_id=subnet_private["Subnet"]["SubnetId"], @@ -452,4 +449,4 @@ class Test_workspaces_vpc_2private_1public_subnets_nat: ) assert result[0].resource_id == WORKSPACE_ID assert result[0].resource_arn == WORKSPACE_ARN - assert result[0].region == AWS_REGION + assert result[0].region == AWS_REGION_EU_WEST_1