diff --git a/tests/providers/aws/services/cloudfront/cloudfront_service_test.py b/tests/providers/aws/services/cloudfront/cloudfront_service_test.py index 725137c17a..863c165c53 100644 --- a/tests/providers/aws/services/cloudfront/cloudfront_service_test.py +++ b/tests/providers/aws/services/cloudfront/cloudfront_service_test.py @@ -12,6 +12,10 @@ from prowler.providers.aws.services.cloudfront.cloudfront_service import ( 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" @@ -155,7 +159,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: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -190,24 +193,24 @@ class Test_CloudFront_Service: # Test CloudFront Client @mock_cloudfront def test__get_client__(self): - cloudfront = CloudFront(self.set_mocked_audit_info()) + cloudfront = CloudFront(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])) assert cloudfront.client.__class__.__name__ == "CloudFront" # Test CloudFront Session @mock_cloudfront def test__get_session__(self): - cloudfront = CloudFront(self.set_mocked_audit_info()) + cloudfront = CloudFront(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])) assert cloudfront.session.__class__.__name__ == "Session" # Test CloudFront Service @mock_cloudfront def test__get_service__(self): - cloudfront = CloudFront(self.set_mocked_audit_info()) + cloudfront = CloudFront(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])) assert cloudfront.service == "cloudfront" @mock_cloudfront def test__list_distributions__zero(self): - cloudfront = CloudFront(self.set_mocked_audit_info()) + cloudfront = CloudFront(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])) assert len(cloudfront.distributions) == 0 @@ -218,7 +221,7 @@ class Test_CloudFront_Service: response = cloudfront_client.create_distribution(DistributionConfig=config) cloudfront_distribution_id = response["Distribution"]["Id"] cloudfront_distribution_arn = response["Distribution"]["ARN"] - cloudfront = CloudFront(self.set_mocked_audit_info()) + cloudfront = CloudFront(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])) assert len(cloudfront.distributions) == 1 assert ( @@ -231,7 +234,9 @@ class Test_CloudFront_Service: ) assert ( cloudfront.distributions[cloudfront_distribution_id].region - == self.set_mocked_audit_info().audit_session.region_name + == set_mocked_aws_audit_info( + [AWS_REGION_EU_WEST_1] + ).audit_session.region_name ) assert ( cloudfront.distributions[cloudfront_distribution_id].logging_enabled is True 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 d47afb2b0a..a00cec591f 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 @@ -9,6 +9,10 @@ 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" @@ -49,7 +53,7 @@ class Test_cloudtrail_bucket_requires_mfa_delete: @mock_cloudtrail def test_no_trails(self): - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -70,7 +74,7 @@ class Test_cloudtrail_bucket_requires_mfa_delete: @mock_cloudtrail @mock_s3 def test_trails_with_no_mfa_bucket(self): - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) cloudtrail_client_us_east_1 = client("cloudtrail", region_name="us-east-1") s3_client_us_east_1 = client("s3", region_name="us-east-1") @@ -131,7 +135,7 @@ class Test_cloudtrail_bucket_requires_mfa_delete: new=mock_make_api_call_getbucketversioning_mfadelete_enabled, ) def test_trails_with_mfa_bucket(self): - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) cloudtrail_client_us_east_1 = client("cloudtrail", region_name="us-east-1") s3_client_us_east_1 = client("s3", region_name="us-east-1") @@ -175,7 +179,7 @@ class Test_cloudtrail_bucket_requires_mfa_delete: @mock_cloudtrail @mock_s3 def test_trails_with_no_mfa_bucket_cross(self): - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) cloudtrail_client_us_east_1 = client("cloudtrail", region_name="us-east-1") s3_client_us_east_1 = client("s3", region_name="us-east-1") @@ -228,7 +232,7 @@ class Test_cloudtrail_bucket_requires_mfa_delete: new=mock_make_api_call_getbucketversioning_mfadelete_enabled, ) def test_trails_with_mfa_bucket_cross(self): - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) cloudtrail_client_us_east_1 = client("cloudtrail", region_name="us-east-1") s3_client_us_east_1 = client("s3", region_name="us-east-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 80eddc6ac2..deb3605ce0 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 @@ -7,6 +7,10 @@ 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" @@ -45,7 +49,7 @@ class Test_cloudtrail_cloudwatch_logging_enabled: @mock_cloudtrail @mock_s3 def test_no_trails(self): - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.cloudtrail.cloudtrail_service import ( Cloudtrail, @@ -97,11 +101,11 @@ class Test_cloudtrail_cloudwatch_logging_enabled: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ): with mock.patch( "prowler.providers.aws.services.cloudtrail.cloudtrail_cloudwatch_logging_enabled.cloudtrail_cloudwatch_logging_enabled.cloudtrail_client", - new=Cloudtrail(self.set_mocked_audit_info()), + new=Cloudtrail(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ) as service_client: # Test Check from prowler.providers.aws.services.cloudtrail.cloudtrail_cloudwatch_logging_enabled.cloudtrail_cloudwatch_logging_enabled import ( @@ -177,11 +181,11 @@ class Test_cloudtrail_cloudwatch_logging_enabled: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ): with mock.patch( "prowler.providers.aws.services.cloudtrail.cloudtrail_cloudwatch_logging_enabled.cloudtrail_cloudwatch_logging_enabled.cloudtrail_client", - new=Cloudtrail(self.set_mocked_audit_info()), + new=Cloudtrail(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ) as service_client: # Test Check from prowler.providers.aws.services.cloudtrail.cloudtrail_cloudwatch_logging_enabled.cloudtrail_cloudwatch_logging_enabled import ( @@ -258,11 +262,11 @@ class Test_cloudtrail_cloudwatch_logging_enabled: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ): with mock.patch( "prowler.providers.aws.services.cloudtrail.cloudtrail_cloudwatch_logging_enabled.cloudtrail_cloudwatch_logging_enabled.cloudtrail_client", - new=Cloudtrail(self.set_mocked_audit_info()), + new=Cloudtrail(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ) as service_client: # Test Check from prowler.providers.aws.services.cloudtrail.cloudtrail_cloudwatch_logging_enabled.cloudtrail_cloudwatch_logging_enabled import ( 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 e40274dc4f..fcfc25f849 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 @@ -6,6 +6,10 @@ 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" @@ -43,7 +47,7 @@ class Test_cloudtrail_insights_exist: @mock_cloudtrail def test_no_trails(self): - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -65,7 +69,7 @@ class Test_cloudtrail_insights_exist: @mock_cloudtrail @mock_s3 def test_trails_with_no_insight_selector(self): - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) cloudtrail_client_us_east_1 = client("cloudtrail", region_name="us-east-1") s3_client_us_east_1 = client("s3", region_name="us-east-1") @@ -107,7 +111,7 @@ class Test_cloudtrail_insights_exist: @mock_cloudtrail @mock_s3 def test_trails_with_insight_selector(self): - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) cloudtrail_client_us_east_1 = client("cloudtrail", region_name="us-east-1") s3_client_us_east_1 = client("s3", region_name="us-east-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 4328f3ff60..577be91e38 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 @@ -6,6 +6,10 @@ 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" @@ -50,10 +54,10 @@ class Test_cloudtrail_kms_encryption_enabled: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.cloudtrail.cloudtrail_kms_encryption_enabled.cloudtrail_kms_encryption_enabled.cloudtrail_client", - new=Cloudtrail(self.set_mocked_audit_info()), + new=Cloudtrail(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ): # Test Check from prowler.providers.aws.services.cloudtrail.cloudtrail_kms_encryption_enabled.cloudtrail_kms_encryption_enabled import ( @@ -83,10 +87,10 @@ class Test_cloudtrail_kms_encryption_enabled: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.cloudtrail.cloudtrail_kms_encryption_enabled.cloudtrail_kms_encryption_enabled.cloudtrail_client", - new=Cloudtrail(self.set_mocked_audit_info()), + new=Cloudtrail(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ): # Test Check from prowler.providers.aws.services.cloudtrail.cloudtrail_kms_encryption_enabled.cloudtrail_kms_encryption_enabled import ( @@ -131,10 +135,10 @@ class Test_cloudtrail_kms_encryption_enabled: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.cloudtrail.cloudtrail_kms_encryption_enabled.cloudtrail_kms_encryption_enabled.cloudtrail_client", - new=Cloudtrail(self.set_mocked_audit_info()), + new=Cloudtrail(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ): # Test Check from prowler.providers.aws.services.cloudtrail.cloudtrail_kms_encryption_enabled.cloudtrail_kms_encryption_enabled import ( 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 2e1042b2ae..66c5b892df 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 @@ -6,6 +6,10 @@ 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" @@ -50,10 +54,10 @@ class Test_cloudtrail_log_file_validation_enabled: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.cloudtrail.cloudtrail_log_file_validation_enabled.cloudtrail_log_file_validation_enabled.cloudtrail_client", - new=Cloudtrail(self.set_mocked_audit_info()), + new=Cloudtrail(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ): # Test Check from prowler.providers.aws.services.cloudtrail.cloudtrail_log_file_validation_enabled.cloudtrail_log_file_validation_enabled import ( @@ -82,10 +86,10 @@ class Test_cloudtrail_log_file_validation_enabled: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.cloudtrail.cloudtrail_log_file_validation_enabled.cloudtrail_log_file_validation_enabled.cloudtrail_client", - new=Cloudtrail(self.set_mocked_audit_info()), + new=Cloudtrail(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ): # Test Check from prowler.providers.aws.services.cloudtrail.cloudtrail_log_file_validation_enabled.cloudtrail_log_file_validation_enabled import ( @@ -135,10 +139,10 @@ class Test_cloudtrail_log_file_validation_enabled: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.cloudtrail.cloudtrail_log_file_validation_enabled.cloudtrail_log_file_validation_enabled.cloudtrail_client", - new=Cloudtrail(self.set_mocked_audit_info()), + new=Cloudtrail(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ) as service_client: # Test Check from prowler.providers.aws.services.cloudtrail.cloudtrail_log_file_validation_enabled.cloudtrail_log_file_validation_enabled import ( 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 80efd00474..2696385199 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 @@ -6,6 +6,10 @@ 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" @@ -51,13 +55,13 @@ class Test_cloudtrail_logs_s3_bucket_access_logging_enabled: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.cloudtrail.cloudtrail_logs_s3_bucket_access_logging_enabled.cloudtrail_logs_s3_bucket_access_logging_enabled.cloudtrail_client", - new=Cloudtrail(self.set_mocked_audit_info()), + new=Cloudtrail(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ), mock.patch( "prowler.providers.aws.services.cloudtrail.cloudtrail_logs_s3_bucket_access_logging_enabled.cloudtrail_logs_s3_bucket_access_logging_enabled.s3_client", - new=S3(self.set_mocked_audit_info()), + new=S3(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ): # Test Check from prowler.providers.aws.services.cloudtrail.cloudtrail_logs_s3_bucket_access_logging_enabled.cloudtrail_logs_s3_bucket_access_logging_enabled import ( @@ -88,13 +92,13 @@ class Test_cloudtrail_logs_s3_bucket_access_logging_enabled: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.cloudtrail.cloudtrail_logs_s3_bucket_access_logging_enabled.cloudtrail_logs_s3_bucket_access_logging_enabled.cloudtrail_client", - new=Cloudtrail(self.set_mocked_audit_info()), + new=Cloudtrail(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ), mock.patch( "prowler.providers.aws.services.cloudtrail.cloudtrail_logs_s3_bucket_access_logging_enabled.cloudtrail_logs_s3_bucket_access_logging_enabled.s3_client", - new=S3(self.set_mocked_audit_info()), + new=S3(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ): # Test Check from prowler.providers.aws.services.cloudtrail.cloudtrail_logs_s3_bucket_access_logging_enabled.cloudtrail_logs_s3_bucket_access_logging_enabled import ( @@ -154,13 +158,13 @@ class Test_cloudtrail_logs_s3_bucket_access_logging_enabled: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.cloudtrail.cloudtrail_logs_s3_bucket_access_logging_enabled.cloudtrail_logs_s3_bucket_access_logging_enabled.cloudtrail_client", - new=Cloudtrail(self.set_mocked_audit_info()), + new=Cloudtrail(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ), mock.patch( "prowler.providers.aws.services.cloudtrail.cloudtrail_logs_s3_bucket_access_logging_enabled.cloudtrail_logs_s3_bucket_access_logging_enabled.s3_client", - new=S3(self.set_mocked_audit_info()), + new=S3(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ): # Test Check from prowler.providers.aws.services.cloudtrail.cloudtrail_logs_s3_bucket_access_logging_enabled.cloudtrail_logs_s3_bucket_access_logging_enabled import ( @@ -200,13 +204,13 @@ class Test_cloudtrail_logs_s3_bucket_access_logging_enabled: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.cloudtrail.cloudtrail_logs_s3_bucket_access_logging_enabled.cloudtrail_logs_s3_bucket_access_logging_enabled.cloudtrail_client", - new=Cloudtrail(self.set_mocked_audit_info()), + new=Cloudtrail(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ), mock.patch( "prowler.providers.aws.services.cloudtrail.cloudtrail_logs_s3_bucket_access_logging_enabled.cloudtrail_logs_s3_bucket_access_logging_enabled.s3_client", - new=S3(self.set_mocked_audit_info()), + new=S3(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ) as s3_client: # Test Check from prowler.providers.aws.services.cloudtrail.cloudtrail_logs_s3_bucket_access_logging_enabled.cloudtrail_logs_s3_bucket_access_logging_enabled import ( 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 d27354ee8c..3b06f0650e 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 @@ -6,6 +6,10 @@ 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" @@ -51,13 +55,13 @@ class Test_cloudtrail_logs_s3_bucket_is_not_publicly_accessible: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.cloudtrail.cloudtrail_logs_s3_bucket_is_not_publicly_accessible.cloudtrail_logs_s3_bucket_is_not_publicly_accessible.cloudtrail_client", - new=Cloudtrail(self.set_mocked_audit_info()), + new=Cloudtrail(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ), mock.patch( "prowler.providers.aws.services.cloudtrail.cloudtrail_logs_s3_bucket_is_not_publicly_accessible.cloudtrail_logs_s3_bucket_is_not_publicly_accessible.s3_client", - new=S3(self.set_mocked_audit_info()), + new=S3(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ): # Test Check from prowler.providers.aws.services.cloudtrail.cloudtrail_logs_s3_bucket_is_not_publicly_accessible.cloudtrail_logs_s3_bucket_is_not_publicly_accessible import ( @@ -88,13 +92,13 @@ class Test_cloudtrail_logs_s3_bucket_is_not_publicly_accessible: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.cloudtrail.cloudtrail_logs_s3_bucket_is_not_publicly_accessible.cloudtrail_logs_s3_bucket_is_not_publicly_accessible.cloudtrail_client", - new=Cloudtrail(self.set_mocked_audit_info()), + new=Cloudtrail(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ), mock.patch( "prowler.providers.aws.services.cloudtrail.cloudtrail_logs_s3_bucket_is_not_publicly_accessible.cloudtrail_logs_s3_bucket_is_not_publicly_accessible.s3_client", - new=S3(self.set_mocked_audit_info()), + new=S3(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ): # Test Check from prowler.providers.aws.services.cloudtrail.cloudtrail_logs_s3_bucket_is_not_publicly_accessible.cloudtrail_logs_s3_bucket_is_not_publicly_accessible import ( @@ -154,13 +158,13 @@ class Test_cloudtrail_logs_s3_bucket_is_not_publicly_accessible: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.cloudtrail.cloudtrail_logs_s3_bucket_is_not_publicly_accessible.cloudtrail_logs_s3_bucket_is_not_publicly_accessible.cloudtrail_client", - new=Cloudtrail(self.set_mocked_audit_info()), + new=Cloudtrail(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ), mock.patch( "prowler.providers.aws.services.cloudtrail.cloudtrail_logs_s3_bucket_is_not_publicly_accessible.cloudtrail_logs_s3_bucket_is_not_publicly_accessible.s3_client", - new=S3(self.set_mocked_audit_info()), + new=S3(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ): # Test Check from prowler.providers.aws.services.cloudtrail.cloudtrail_logs_s3_bucket_is_not_publicly_accessible.cloudtrail_logs_s3_bucket_is_not_publicly_accessible import ( @@ -218,13 +222,13 @@ class Test_cloudtrail_logs_s3_bucket_is_not_publicly_accessible: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.cloudtrail.cloudtrail_logs_s3_bucket_is_not_publicly_accessible.cloudtrail_logs_s3_bucket_is_not_publicly_accessible.cloudtrail_client", - new=Cloudtrail(self.set_mocked_audit_info()), + new=Cloudtrail(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ), mock.patch( "prowler.providers.aws.services.cloudtrail.cloudtrail_logs_s3_bucket_is_not_publicly_accessible.cloudtrail_logs_s3_bucket_is_not_publicly_accessible.s3_client", - new=S3(self.set_mocked_audit_info()), + new=S3(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ): # Test Check from prowler.providers.aws.services.cloudtrail.cloudtrail_logs_s3_bucket_is_not_publicly_accessible.cloudtrail_logs_s3_bucket_is_not_publicly_accessible import ( @@ -264,13 +268,13 @@ class Test_cloudtrail_logs_s3_bucket_is_not_publicly_accessible: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.cloudtrail.cloudtrail_logs_s3_bucket_is_not_publicly_accessible.cloudtrail_logs_s3_bucket_is_not_publicly_accessible.cloudtrail_client", - new=Cloudtrail(self.set_mocked_audit_info()), + new=Cloudtrail(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ), mock.patch( "prowler.providers.aws.services.cloudtrail.cloudtrail_logs_s3_bucket_is_not_publicly_accessible.cloudtrail_logs_s3_bucket_is_not_publicly_accessible.s3_client", - new=S3(self.set_mocked_audit_info()), + new=S3(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ) as s3_client: # Test Check from prowler.providers.aws.services.cloudtrail.cloudtrail_logs_s3_bucket_is_not_publicly_accessible.cloudtrail_logs_s3_bucket_is_not_publicly_accessible import ( 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 13b39513fe..5f9577398a 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 @@ -6,10 +6,13 @@ 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" AWS_REGION_US_EAST_1 = "us-east-1" -AWS_REGION_EU_WEST_1 = "eu-west-1" class Test_cloudtrail_multi_region_enabled: @@ -49,7 +52,7 @@ class Test_cloudtrail_multi_region_enabled: Cloudtrail, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -124,7 +127,7 @@ class Test_cloudtrail_multi_region_enabled: Cloudtrail, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -201,7 +204,7 @@ class Test_cloudtrail_multi_region_enabled: Cloudtrail, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -277,7 +280,7 @@ class Test_cloudtrail_multi_region_enabled: Cloudtrail, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", 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 46de6580c8..06b503e993 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 @@ -5,6 +5,10 @@ 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" AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" @@ -48,7 +52,7 @@ class Test_cloudtrail_multi_region_enabled_logging_management_events: Cloudtrail, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -103,7 +107,7 @@ class Test_cloudtrail_multi_region_enabled_logging_management_events: Cloudtrail, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -159,7 +163,7 @@ class Test_cloudtrail_multi_region_enabled_logging_management_events: Cloudtrail, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -212,7 +216,7 @@ class Test_cloudtrail_multi_region_enabled_logging_management_events: Cloudtrail, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -266,7 +270,7 @@ class Test_cloudtrail_multi_region_enabled_logging_management_events: Cloudtrail, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", diff --git a/tests/providers/aws/services/cloudtrail/cloudtrail_service_test.py b/tests/providers/aws/services/cloudtrail/cloudtrail_service_test.py index 2eb5c61ff7..1b0e889b9e 100644 --- a/tests/providers/aws/services/cloudtrail/cloudtrail_service_test.py +++ b/tests/providers/aws/services/cloudtrail/cloudtrail_service_test.py @@ -4,12 +4,15 @@ 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_Service: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -43,14 +46,14 @@ class Test_Cloudtrail_Service: # Test Cloudtrail Service @mock_cloudtrail def test_service(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) cloudtrail = Cloudtrail(audit_info) assert cloudtrail.service == "cloudtrail" # Test Cloudtrail client @mock_cloudtrail def test_client(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) cloudtrail = Cloudtrail(audit_info) for regional_client in cloudtrail.regional_clients.values(): assert regional_client.__class__.__name__ == "CloudTrail" @@ -58,14 +61,14 @@ class Test_Cloudtrail_Service: # Test Cloudtrail session @mock_cloudtrail def test__get_session__(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) cloudtrail = Cloudtrail(audit_info) assert cloudtrail.session.__class__.__name__ == "Session" # Test Cloudtrail Session @mock_cloudtrail def test_audited_account(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) cloudtrail = Cloudtrail(audit_info) assert cloudtrail.audited_account == AWS_ACCOUNT_NUMBER @@ -101,7 +104,7 @@ class Test_Cloudtrail_Service: {"Key": "test", "Value": "test"}, ], ) - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) cloudtrail = Cloudtrail(audit_info) assert len(cloudtrail.trails) == 2 for trail in cloudtrail.trails: @@ -149,7 +152,7 @@ class Test_Cloudtrail_Service: cloudtrail_client_eu_west_1.create_trail( Name=trail_name_eu, S3BucketName=bucket_name_eu, IsMultiRegionTrail=False ) - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) cloudtrail = Cloudtrail(audit_info) assert len(cloudtrail.trails) == len(audit_info.audited_regions) for trail in cloudtrail.trails: @@ -190,7 +193,7 @@ class Test_Cloudtrail_Service: } ], )["EventSelectors"] - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) cloudtrail = Cloudtrail(audit_info) assert len(cloudtrail.trails) == len(audit_info.audited_regions) for trail in cloudtrail.trails: @@ -235,7 +238,7 @@ class Test_Cloudtrail_Service: }, ], )["AdvancedEventSelectors"] - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) cloudtrail = Cloudtrail(audit_info) assert len(cloudtrail.trails) == len(audit_info.audited_regions) for trail in cloudtrail.trails: 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 c1a96b06a9..f7fe6cdcc8 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 @@ -1,48 +1,19 @@ from unittest import mock -from boto3 import client, session +from boto3 import client from moto import mock_cloudtrail, mock_cloudwatch, mock_logs, mock_s3 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" AWS_ACCOUNT_NUMBER = "123456789012" class Test_cloudwatch_changes_to_network_acls_alarm_configured: - 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_logs @mock_cloudtrail @mock_cloudwatch @@ -55,7 +26,7 @@ class Test_cloudwatch_changes_to_network_acls_alarm_configured: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -114,7 +85,7 @@ class Test_cloudwatch_changes_to_network_acls_alarm_configured: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -179,7 +150,7 @@ class Test_cloudwatch_changes_to_network_acls_alarm_configured: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -256,7 +227,7 @@ class Test_cloudwatch_changes_to_network_acls_alarm_configured: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -345,7 +316,7 @@ class Test_cloudwatch_changes_to_network_acls_alarm_configured: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -434,7 +405,7 @@ class Test_cloudwatch_changes_to_network_acls_alarm_configured: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -523,7 +494,7 @@ class Test_cloudwatch_changes_to_network_acls_alarm_configured: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata 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 e72e295240..4fcad064b1 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 @@ -1,48 +1,19 @@ from unittest import mock -from boto3 import client, session +from boto3 import client from moto import mock_cloudtrail, mock_cloudwatch, mock_logs, mock_s3 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" AWS_ACCOUNT_NUMBER = "123456789012" class Test_cloudwatch_changes_to_network_gateways_alarm_configured: - 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_logs @mock_cloudtrail @mock_cloudwatch @@ -55,7 +26,7 @@ class Test_cloudwatch_changes_to_network_gateways_alarm_configured: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -114,7 +85,7 @@ class Test_cloudwatch_changes_to_network_gateways_alarm_configured: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -179,7 +150,7 @@ class Test_cloudwatch_changes_to_network_gateways_alarm_configured: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -256,7 +227,7 @@ class Test_cloudwatch_changes_to_network_gateways_alarm_configured: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -345,7 +316,7 @@ class Test_cloudwatch_changes_to_network_gateways_alarm_configured: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -434,7 +405,7 @@ class Test_cloudwatch_changes_to_network_gateways_alarm_configured: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -523,7 +494,7 @@ class Test_cloudwatch_changes_to_network_gateways_alarm_configured: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata 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 7361219cef..787c0e8df4 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 @@ -1,48 +1,19 @@ from unittest import mock -from boto3 import client, session +from boto3 import client from moto import mock_cloudtrail, mock_cloudwatch, mock_logs, mock_s3 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" AWS_ACCOUNT_NUMBER = "123456789012" class Test_cloudwatch_changes_to_network_route_tables_alarm_configured: - 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_logs @mock_cloudtrail @mock_cloudwatch @@ -55,7 +26,7 @@ class Test_cloudwatch_changes_to_network_route_tables_alarm_configured: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -114,7 +85,7 @@ class Test_cloudwatch_changes_to_network_route_tables_alarm_configured: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -179,7 +150,7 @@ class Test_cloudwatch_changes_to_network_route_tables_alarm_configured: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -256,7 +227,7 @@ class Test_cloudwatch_changes_to_network_route_tables_alarm_configured: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -345,7 +316,7 @@ class Test_cloudwatch_changes_to_network_route_tables_alarm_configured: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -434,7 +405,7 @@ class Test_cloudwatch_changes_to_network_route_tables_alarm_configured: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -523,7 +494,7 @@ class Test_cloudwatch_changes_to_network_route_tables_alarm_configured: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata 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 ee3d906061..0380cc359d 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 @@ -1,48 +1,19 @@ from unittest import mock -from boto3 import client, session +from boto3 import client from moto import mock_cloudtrail, mock_cloudwatch, mock_logs, mock_s3 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" AWS_ACCOUNT_NUMBER = "123456789012" class Test_cloudwatch_changes_to_vpcs_alarm_configured: - 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_logs @mock_cloudtrail @mock_cloudwatch @@ -55,7 +26,7 @@ class Test_cloudwatch_changes_to_vpcs_alarm_configured: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -114,7 +85,7 @@ class Test_cloudwatch_changes_to_vpcs_alarm_configured: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -179,7 +150,7 @@ class Test_cloudwatch_changes_to_vpcs_alarm_configured: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -256,7 +227,7 @@ class Test_cloudwatch_changes_to_vpcs_alarm_configured: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -345,7 +316,7 @@ class Test_cloudwatch_changes_to_vpcs_alarm_configured: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -434,7 +405,7 @@ class Test_cloudwatch_changes_to_vpcs_alarm_configured: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -523,7 +494,7 @@ class Test_cloudwatch_changes_to_vpcs_alarm_configured: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata 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 60c665730f..e04da599dc 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 @@ -1,52 +1,23 @@ 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_REGION = "us-east-1" AWS_ACCOUNT_NUMBER = "123456789012" class Test_cloudwatch_cross_account_sharing_disabled: - 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_iam def test_cloudwatch_without_cross_account_role(self): from prowler.providers.aws.services.iam.iam_service import IAM - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -91,7 +62,7 @@ class Test_cloudwatch_cross_account_sharing_disabled: ) from prowler.providers.aws.services.iam.iam_service import IAM - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata 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 df1d423a4e..7b12ee24de 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 @@ -1,51 +1,22 @@ from unittest import mock -from boto3 import client, session +from boto3 import client from moto import mock_logs -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_cloudwatch_log_group_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 - def test_cloudwatch_no_log_groups(self): from prowler.providers.aws.services.cloudwatch.cloudwatch_service import Logs - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -85,7 +56,7 @@ class Test_cloudwatch_log_group_kms_encryption_enabled: from prowler.providers.aws.services.cloudwatch.cloudwatch_service import Logs - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -129,7 +100,7 @@ class Test_cloudwatch_log_group_kms_encryption_enabled: from prowler.providers.aws.services.cloudwatch.cloudwatch_service import Logs - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata 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 a409e5535f..bbd2fa8976 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 @@ -1,53 +1,24 @@ from re import search from unittest import mock -from boto3 import client, session +from boto3 import client from moto import mock_logs from moto.core.utils import unix_time_millis -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_cloudwatch_log_group_no_secrets_in_logs: - 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 - def test_cloudwatch_no_log_groups(self): from prowler.providers.aws.services.cloudwatch.cloudwatch_service import Logs - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -95,7 +66,7 @@ class Test_cloudwatch_log_group_no_secrets_in_logs: ) from prowler.providers.aws.services.cloudwatch.cloudwatch_service import Logs - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -146,7 +117,7 @@ class Test_cloudwatch_log_group_no_secrets_in_logs: ) from prowler.providers.aws.services.cloudwatch.cloudwatch_service import Logs - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata 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 17aaac34ed..55cef4e7c5 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 @@ -1,51 +1,22 @@ from unittest import mock -from boto3 import client, session +from boto3 import client from moto import mock_logs -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_cloudwatch_log_group_retention_policy_specific_days_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 - def test_cloudwatch_no_log_groups(self): from prowler.providers.aws.services.cloudwatch.cloudwatch_service import Logs - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) current_audit_info.audit_config = {"log_group_retention_days": 365} from prowler.providers.common.models import Audit_Metadata @@ -85,7 +56,7 @@ class Test_cloudwatch_log_group_retention_policy_specific_days_enabled: ) from prowler.providers.aws.services.cloudwatch.cloudwatch_service import Logs - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) current_audit_info.audit_config = {"log_group_retention_days": 365} from prowler.providers.common.models import Audit_Metadata @@ -137,7 +108,7 @@ class Test_cloudwatch_log_group_retention_policy_specific_days_enabled: logs_client.put_retention_policy(logGroupName="test", retentionInDays=400) from prowler.providers.aws.services.cloudwatch.cloudwatch_service import Logs - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) current_audit_info.audit_config = {"log_group_retention_days": 365} from prowler.providers.common.models import Audit_Metadata @@ -189,7 +160,7 @@ class Test_cloudwatch_log_group_retention_policy_specific_days_enabled: logs_client.put_retention_policy(logGroupName="test", retentionInDays=7) from prowler.providers.aws.services.cloudwatch.cloudwatch_service import Logs - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) current_audit_info.audit_config = {"log_group_retention_days": 365} from prowler.providers.common.models import Audit_Metadata 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 7710fbd71c..9a6a91115b 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 @@ -1,48 +1,19 @@ from unittest import mock -from boto3 import client, session +from boto3 import client from moto import mock_cloudtrail, mock_cloudwatch, mock_logs, mock_s3 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" AWS_ACCOUNT_NUMBER = "123456789012" class Test_cloudwatch_log_metric_filter_and_alarm_for_aws_config_configuration_changes_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_logs @mock_cloudtrail @mock_cloudwatch @@ -55,7 +26,7 @@ class Test_cloudwatch_log_metric_filter_and_alarm_for_aws_config_configuration_c Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -116,7 +87,7 @@ class Test_cloudwatch_log_metric_filter_and_alarm_for_aws_config_configuration_c Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -183,7 +154,7 @@ class Test_cloudwatch_log_metric_filter_and_alarm_for_aws_config_configuration_c Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -262,7 +233,7 @@ class Test_cloudwatch_log_metric_filter_and_alarm_for_aws_config_configuration_c Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -353,7 +324,7 @@ class Test_cloudwatch_log_metric_filter_and_alarm_for_aws_config_configuration_c Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -444,7 +415,7 @@ class Test_cloudwatch_log_metric_filter_and_alarm_for_aws_config_configuration_c Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -535,7 +506,7 @@ class Test_cloudwatch_log_metric_filter_and_alarm_for_aws_config_configuration_c Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata 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 4bcb257ca3..9f8c993967 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 @@ -1,48 +1,19 @@ from unittest import mock -from boto3 import client, session +from boto3 import client from moto import mock_cloudtrail, mock_cloudwatch, mock_logs, mock_s3 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" AWS_ACCOUNT_NUMBER = "123456789012" class Test_cloudwatch_log_metric_filter_and_alarm_for_cloudtrail_configuration_changes_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_logs @mock_cloudtrail @mock_cloudwatch @@ -55,7 +26,7 @@ class Test_cloudwatch_log_metric_filter_and_alarm_for_cloudtrail_configuration_c Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -116,7 +87,7 @@ class Test_cloudwatch_log_metric_filter_and_alarm_for_cloudtrail_configuration_c Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -183,7 +154,7 @@ class Test_cloudwatch_log_metric_filter_and_alarm_for_cloudtrail_configuration_c Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -262,7 +233,7 @@ class Test_cloudwatch_log_metric_filter_and_alarm_for_cloudtrail_configuration_c Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -353,7 +324,7 @@ class Test_cloudwatch_log_metric_filter_and_alarm_for_cloudtrail_configuration_c Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -444,7 +415,7 @@ class Test_cloudwatch_log_metric_filter_and_alarm_for_cloudtrail_configuration_c Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -535,7 +506,7 @@ class Test_cloudwatch_log_metric_filter_and_alarm_for_cloudtrail_configuration_c Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata 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 478b5c6d6b..08d2cb807a 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 @@ -1,48 +1,19 @@ from unittest import mock -from boto3 import client, session +from boto3 import client from moto import mock_cloudtrail, mock_cloudwatch, mock_logs, mock_s3 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" AWS_ACCOUNT_NUMBER = "123456789012" class Test_cloudwatch_log_metric_filter_authentication_failures: - 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_logs @mock_cloudtrail @mock_cloudwatch @@ -55,7 +26,7 @@ class Test_cloudwatch_log_metric_filter_authentication_failures: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -114,7 +85,7 @@ class Test_cloudwatch_log_metric_filter_authentication_failures: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -179,7 +150,7 @@ class Test_cloudwatch_log_metric_filter_authentication_failures: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -256,7 +227,7 @@ class Test_cloudwatch_log_metric_filter_authentication_failures: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -345,7 +316,7 @@ class Test_cloudwatch_log_metric_filter_authentication_failures: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -434,7 +405,7 @@ class Test_cloudwatch_log_metric_filter_authentication_failures: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -523,7 +494,7 @@ class Test_cloudwatch_log_metric_filter_authentication_failures: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata 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 d8fab8f2ba..1aff71b26c 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 @@ -1,48 +1,19 @@ from unittest import mock -from boto3 import client, session +from boto3 import client from moto import mock_cloudtrail, mock_cloudwatch, mock_logs, mock_s3 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" AWS_ACCOUNT_NUMBER = "123456789012" class Test_cloudwatch_log_metric_filter_aws_organizations_changes: - 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_logs @mock_cloudtrail @mock_cloudwatch @@ -55,7 +26,7 @@ class Test_cloudwatch_log_metric_filter_aws_organizations_changes: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -114,7 +85,7 @@ class Test_cloudwatch_log_metric_filter_aws_organizations_changes: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -179,7 +150,7 @@ class Test_cloudwatch_log_metric_filter_aws_organizations_changes: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -256,7 +227,7 @@ class Test_cloudwatch_log_metric_filter_aws_organizations_changes: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -345,7 +316,7 @@ class Test_cloudwatch_log_metric_filter_aws_organizations_changes: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -434,7 +405,7 @@ class Test_cloudwatch_log_metric_filter_aws_organizations_changes: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -523,7 +494,7 @@ class Test_cloudwatch_log_metric_filter_aws_organizations_changes: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata 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 ef3929e548..be6dfeb14a 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 @@ -1,48 +1,19 @@ from unittest import mock -from boto3 import client, session +from boto3 import client from moto import mock_cloudtrail, mock_cloudwatch, mock_logs, mock_s3 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" AWS_ACCOUNT_NUMBER = "123456789012" class Test_cloudwatch_log_metric_filter_disable_or_scheduled_deletion_of_kms_cmk: - 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_logs @mock_cloudtrail @mock_cloudwatch @@ -55,7 +26,7 @@ class Test_cloudwatch_log_metric_filter_disable_or_scheduled_deletion_of_kms_cmk Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -116,7 +87,7 @@ class Test_cloudwatch_log_metric_filter_disable_or_scheduled_deletion_of_kms_cmk Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -183,7 +154,7 @@ class Test_cloudwatch_log_metric_filter_disable_or_scheduled_deletion_of_kms_cmk Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -262,7 +233,7 @@ class Test_cloudwatch_log_metric_filter_disable_or_scheduled_deletion_of_kms_cmk Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -353,7 +324,7 @@ class Test_cloudwatch_log_metric_filter_disable_or_scheduled_deletion_of_kms_cmk Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -444,7 +415,7 @@ class Test_cloudwatch_log_metric_filter_disable_or_scheduled_deletion_of_kms_cmk Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -535,7 +506,7 @@ class Test_cloudwatch_log_metric_filter_disable_or_scheduled_deletion_of_kms_cmk Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata 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 1938528bf9..c1fa2a76ac 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 @@ -1,48 +1,19 @@ from unittest import mock -from boto3 import client, session +from boto3 import client from moto import mock_cloudtrail, mock_cloudwatch, mock_logs, mock_s3 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" AWS_ACCOUNT_NUMBER = "123456789012" class Test_cloudwatch_log_metric_filter_for_s3_bucket_policy_changes: - 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_logs @mock_cloudtrail @mock_cloudwatch @@ -55,7 +26,7 @@ class Test_cloudwatch_log_metric_filter_for_s3_bucket_policy_changes: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -114,7 +85,7 @@ class Test_cloudwatch_log_metric_filter_for_s3_bucket_policy_changes: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -179,7 +150,7 @@ class Test_cloudwatch_log_metric_filter_for_s3_bucket_policy_changes: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -256,7 +227,7 @@ class Test_cloudwatch_log_metric_filter_for_s3_bucket_policy_changes: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -345,7 +316,7 @@ class Test_cloudwatch_log_metric_filter_for_s3_bucket_policy_changes: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -434,7 +405,7 @@ class Test_cloudwatch_log_metric_filter_for_s3_bucket_policy_changes: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -523,7 +494,7 @@ class Test_cloudwatch_log_metric_filter_for_s3_bucket_policy_changes: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata 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 c4eab9e94b..9a89fce1c8 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 @@ -1,48 +1,19 @@ from unittest import mock -from boto3 import client, session +from boto3 import client from moto import mock_cloudtrail, mock_cloudwatch, mock_logs, mock_s3 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" AWS_ACCOUNT_NUMBER = "123456789012" class Test_cloudwatch_log_metric_filter_unauthorized_api_calls: - 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_logs @mock_cloudtrail @mock_cloudwatch @@ -55,7 +26,7 @@ class Test_cloudwatch_log_metric_filter_unauthorized_api_calls: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -114,7 +85,7 @@ class Test_cloudwatch_log_metric_filter_unauthorized_api_calls: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -179,7 +150,7 @@ class Test_cloudwatch_log_metric_filter_unauthorized_api_calls: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -256,7 +227,7 @@ class Test_cloudwatch_log_metric_filter_unauthorized_api_calls: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -345,7 +316,7 @@ class Test_cloudwatch_log_metric_filter_unauthorized_api_calls: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -434,7 +405,7 @@ class Test_cloudwatch_log_metric_filter_unauthorized_api_calls: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -523,7 +494,7 @@ class Test_cloudwatch_log_metric_filter_unauthorized_api_calls: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata 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 9047d3baf2..ad640229e6 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 @@ -1,48 +1,19 @@ from unittest import mock -from boto3 import client, session +from boto3 import client from moto import mock_cloudtrail, mock_cloudwatch, mock_logs, mock_s3 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" AWS_ACCOUNT_NUMBER = "123456789012" class Test_cloudwatch_log_metric_filter_root_usage: - 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_logs @mock_cloudtrail @mock_cloudwatch @@ -55,7 +26,7 @@ class Test_cloudwatch_log_metric_filter_root_usage: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -114,7 +85,7 @@ class Test_cloudwatch_log_metric_filter_root_usage: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -179,7 +150,7 @@ class Test_cloudwatch_log_metric_filter_root_usage: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -256,7 +227,7 @@ class Test_cloudwatch_log_metric_filter_root_usage: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -345,7 +316,7 @@ class Test_cloudwatch_log_metric_filter_root_usage: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -434,7 +405,7 @@ class Test_cloudwatch_log_metric_filter_root_usage: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -523,7 +494,7 @@ class Test_cloudwatch_log_metric_filter_root_usage: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata 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 2c5e001098..538016c1bc 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 @@ -1,48 +1,19 @@ from unittest import mock -from boto3 import client, session +from boto3 import client from moto import mock_cloudtrail, mock_cloudwatch, mock_logs, mock_s3 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" AWS_ACCOUNT_NUMBER = "123456789012" class Test_cloudwatch_log_metric_filter_unauthorized_api_calls: - 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_logs @mock_cloudtrail @mock_cloudwatch @@ -55,7 +26,7 @@ class Test_cloudwatch_log_metric_filter_unauthorized_api_calls: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -114,7 +85,7 @@ class Test_cloudwatch_log_metric_filter_unauthorized_api_calls: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -179,7 +150,7 @@ class Test_cloudwatch_log_metric_filter_unauthorized_api_calls: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -256,7 +227,7 @@ class Test_cloudwatch_log_metric_filter_unauthorized_api_calls: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -345,7 +316,7 @@ class Test_cloudwatch_log_metric_filter_unauthorized_api_calls: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -434,7 +405,7 @@ class Test_cloudwatch_log_metric_filter_unauthorized_api_calls: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -523,7 +494,7 @@ class Test_cloudwatch_log_metric_filter_unauthorized_api_calls: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata 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 df12dd5869..e079f78eba 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 @@ -1,48 +1,19 @@ from unittest import mock -from boto3 import client, session +from boto3 import client from moto import mock_cloudtrail, mock_cloudwatch, mock_logs, mock_s3 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" AWS_ACCOUNT_NUMBER = "123456789012" class Test_cloudwatch_log_metric_filter_sign_in_without_mfa: - 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_logs @mock_cloudtrail @mock_cloudwatch @@ -55,7 +26,7 @@ class Test_cloudwatch_log_metric_filter_sign_in_without_mfa: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -114,7 +85,7 @@ class Test_cloudwatch_log_metric_filter_sign_in_without_mfa: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -179,7 +150,7 @@ class Test_cloudwatch_log_metric_filter_sign_in_without_mfa: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -256,7 +227,7 @@ class Test_cloudwatch_log_metric_filter_sign_in_without_mfa: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -345,7 +316,7 @@ class Test_cloudwatch_log_metric_filter_sign_in_without_mfa: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -434,7 +405,7 @@ class Test_cloudwatch_log_metric_filter_sign_in_without_mfa: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -523,7 +494,7 @@ class Test_cloudwatch_log_metric_filter_sign_in_without_mfa: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata 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 e860c14503..cdd4722598 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 @@ -1,48 +1,19 @@ from unittest import mock -from boto3 import client, session +from boto3 import client from moto import mock_cloudtrail, mock_cloudwatch, mock_logs, mock_s3 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" AWS_ACCOUNT_NUMBER = "123456789012" class Test_cloudwatch_log_metric_filter_unauthorized_api_calls: - 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_logs @mock_cloudtrail @mock_cloudwatch @@ -55,7 +26,7 @@ class Test_cloudwatch_log_metric_filter_unauthorized_api_calls: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -114,7 +85,7 @@ class Test_cloudwatch_log_metric_filter_unauthorized_api_calls: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -179,7 +150,7 @@ class Test_cloudwatch_log_metric_filter_unauthorized_api_calls: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -256,7 +227,7 @@ class Test_cloudwatch_log_metric_filter_unauthorized_api_calls: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -345,7 +316,7 @@ class Test_cloudwatch_log_metric_filter_unauthorized_api_calls: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -434,7 +405,7 @@ class Test_cloudwatch_log_metric_filter_unauthorized_api_calls: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata @@ -523,7 +494,7 @@ class Test_cloudwatch_log_metric_filter_unauthorized_api_calls: Logs, ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.common.models import Audit_Metadata diff --git a/tests/providers/aws/services/cloudwatch/cloudwatch_service_test.py b/tests/providers/aws/services/cloudwatch/cloudwatch_service_test.py index 43e8999cc1..774b45d11e 100644 --- a/tests/providers/aws/services/cloudwatch/cloudwatch_service_test.py +++ b/tests/providers/aws/services/cloudwatch/cloudwatch_service_test.py @@ -7,13 +7,16 @@ from prowler.providers.aws.services.cloudwatch.cloudwatch_service import ( Logs, ) 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_CloudWatch_Service: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -49,7 +52,7 @@ class Test_CloudWatch_Service: @mock_cloudwatch def test_service(self): # CloudWatch client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) cloudwatch = CloudWatch(audit_info) assert cloudwatch.service == "cloudwatch" @@ -57,7 +60,7 @@ class Test_CloudWatch_Service: @mock_cloudwatch def test_client(self): # CloudWatch client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) cloudwatch = CloudWatch(audit_info) for client_ in cloudwatch.regional_clients.values(): assert client_.__class__.__name__ == "CloudWatch" @@ -66,7 +69,7 @@ class Test_CloudWatch_Service: @mock_cloudwatch def test__get_session__(self): # CloudWatch client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) cloudwatch = CloudWatch(audit_info) assert cloudwatch.session.__class__.__name__ == "Session" @@ -74,7 +77,7 @@ class Test_CloudWatch_Service: @mock_cloudwatch def test_audited_account(self): # CloudWatch client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) cloudwatch = CloudWatch(audit_info) assert cloudwatch.audited_account == AWS_ACCOUNT_NUMBER @@ -82,7 +85,7 @@ class Test_CloudWatch_Service: @mock_logs def test_logs_service(self): # Logs client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) logs = Logs(audit_info) assert logs.service == "logs" @@ -90,7 +93,7 @@ class Test_CloudWatch_Service: @mock_logs def test_logs_client(self): # Logs client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) logs = Logs(audit_info) for client_ in logs.regional_clients.values(): assert client_.__class__.__name__ == "CloudWatchLogs" @@ -99,7 +102,7 @@ class Test_CloudWatch_Service: @mock_logs def test__logs_get_session__(self): # Logs client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) logs = Logs(audit_info) assert logs.session.__class__.__name__ == "Session" @@ -107,7 +110,7 @@ class Test_CloudWatch_Service: @mock_logs def test_logs_audited_account(self): # Logs client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) logs = Logs(audit_info) assert logs.audited_account == AWS_ACCOUNT_NUMBER @@ -133,7 +136,7 @@ class Test_CloudWatch_Service: Unit="Seconds", Tags=[{"Key": "key-1", "Value": "value-1"}], ) - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) cloudwatch = CloudWatch(audit_info) assert len(cloudwatch.metric_alarms) == 1 assert ( @@ -165,7 +168,7 @@ class Test_CloudWatch_Service: } ], ) - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) logs = Logs(audit_info) assert len(logs.metric_filters) == 1 assert logs.metric_filters[0].log_group == "/log-group/test" @@ -187,7 +190,7 @@ class Test_CloudWatch_Service: logs_client.put_retention_policy( logGroupName="/log-group/test", retentionInDays=400 ) - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) logs = Logs(audit_info) assert len(logs.log_groups) == 1 assert ( @@ -213,7 +216,7 @@ class Test_CloudWatch_Service: tags={"tag_key_1": "tag_value_1", "tag_key_2": "tag_value_2"}, ) - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) logs = Logs(audit_info) assert len(logs.log_groups) == 1 assert ( diff --git a/tests/providers/aws/services/codeartifact/codeartifact_service_test.py b/tests/providers/aws/services/codeartifact/codeartifact_service_test.py index 7104545c20..6fc99e4a17 100644 --- a/tests/providers/aws/services/codeartifact/codeartifact_service_test.py +++ b/tests/providers/aws/services/codeartifact/codeartifact_service_test.py @@ -1,17 +1,18 @@ from unittest.mock import patch import botocore -from boto3 import session from moto.core import DEFAULT_ACCOUNT_ID -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info from prowler.providers.aws.services.codeartifact.codeartifact_service import ( CodeArtifact, LatestPackageVersionStatus, OriginInformationValues, RestrictionValues, ) -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" @@ -104,40 +105,9 @@ def mock_generate_regional_clients(service, audit_info, _): new=mock_generate_regional_clients, ) class Test_CodeArtifact_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", "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 - # Test CodeArtifact Client def test__get_client__(self): - codeartifact = CodeArtifact(self.set_mocked_audit_info()) + codeartifact = CodeArtifact(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])) assert ( codeartifact.regional_clients[AWS_REGION].__class__.__name__ == "CodeArtifact" @@ -145,17 +115,17 @@ class Test_CodeArtifact_Service: # Test CodeArtifact Session def test__get_session__(self): - codeartifact = CodeArtifact(self.set_mocked_audit_info()) + codeartifact = CodeArtifact(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])) assert codeartifact.session.__class__.__name__ == "Session" # Test CodeArtifact Service def test__get_service__(self): - codeartifact = CodeArtifact(self.set_mocked_audit_info()) + codeartifact = CodeArtifact(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])) assert codeartifact.service == "codeartifact" def test__list_repositories__(self): # Set partition for the service - codeartifact = CodeArtifact(self.set_mocked_audit_info()) + codeartifact = CodeArtifact(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])) assert len(codeartifact.repositories) == 1 assert codeartifact.repositories diff --git a/tests/providers/aws/services/codebuild/codebuild_service_test.py b/tests/providers/aws/services/codebuild/codebuild_service_test.py index fe156dfeb9..0ded35cf87 100644 --- a/tests/providers/aws/services/codebuild/codebuild_service_test.py +++ b/tests/providers/aws/services/codebuild/codebuild_service_test.py @@ -7,6 +7,10 @@ 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" @@ -85,22 +89,22 @@ class Test_Codebuild_Service: # Test Codebuild Session def test__get_session__(self): - codebuild = Codebuild(self.set_mocked_audit_info()) + codebuild = Codebuild(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])) assert codebuild.session.__class__.__name__ == "Session" # Test Codebuild Service def test__get_service__(self): - codebuild = Codebuild(self.set_mocked_audit_info()) + codebuild = Codebuild(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])) assert codebuild.service == "codebuild" def test__list_projects__(self): - codebuild = Codebuild(self.set_mocked_audit_info()) + 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 def test__list_builds_for_project__(self): - codebuild = Codebuild(self.set_mocked_audit_info()) + 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 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 653f42441e..ebc28fca97 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 @@ -1,10 +1,12 @@ from unittest import mock -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.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" @@ -12,43 +14,11 @@ AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" class Test_config_recorder_all_regions_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=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=["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={}, - ) - - return audit_info - @mock_config def test_config_no_recorders(self): from prowler.providers.aws.services.config.config_service import Config - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -86,7 +56,7 @@ class Test_config_recorder_all_regions_enabled: ) from prowler.providers.aws.services.config.config_service import Config - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) current_audit_info.audited_regions = [AWS_REGION] with mock.patch( @@ -131,7 +101,7 @@ class Test_config_recorder_all_regions_enabled: config_client.start_configuration_recorder(ConfigurationRecorderName="default") from prowler.providers.aws.services.config.config_service import Config - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) current_audit_info.audited_regions = [AWS_REGION] with mock.patch( @@ -171,7 +141,7 @@ class Test_config_recorder_all_regions_enabled: ) from prowler.providers.aws.services.config.config_service import Config - current_audit_info = self.set_mocked_audit_info() + 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.audit_config = {"allowlist_non_default_regions": True} diff --git a/tests/providers/aws/services/config/config_service_test.py b/tests/providers/aws/services/config/config_service_test.py index b9aae1e4a8..1ea3e63ea2 100644 --- a/tests/providers/aws/services/config/config_service_test.py +++ b/tests/providers/aws/services/config/config_service_test.py @@ -4,13 +4,16 @@ 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_REGION_EU_WEST_1, + set_mocked_aws_audit_info, +) AWS_ACCOUNT_NUMBER = "123456789012" AWS_REGION = "us-east-1" class Test_Config_Service: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -45,7 +48,7 @@ class Test_Config_Service: @mock_config def test_service(self): # Config client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) config = Config(audit_info) assert config.service == "config" @@ -53,7 +56,7 @@ class Test_Config_Service: @mock_config def test_client(self): # Config client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) config = Config(audit_info) for regional_client in config.regional_clients.values(): assert regional_client.__class__.__name__ == "ConfigService" @@ -62,7 +65,7 @@ class Test_Config_Service: @mock_config def test__get_session__(self): # Config client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) config = Config(audit_info) assert config.session.__class__.__name__ == "Session" @@ -70,7 +73,7 @@ class Test_Config_Service: @mock_config def test_audited_account(self): # Config client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) config = Config(audit_info) assert config.audited_account == AWS_ACCOUNT_NUMBER @@ -89,7 +92,7 @@ class Test_Config_Service: ) config_client.start_configuration_recorder(ConfigurationRecorderName="default") # Config client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) config = Config(audit_info) # One recorder per region assert len(config.recorders) == 2 diff --git a/tests/providers/aws/services/directoryservice/directoryservice_service_test.py b/tests/providers/aws/services/directoryservice/directoryservice_service_test.py index 8bae198a17..87cae0ffa8 100644 --- a/tests/providers/aws/services/directoryservice/directoryservice_service_test.py +++ b/tests/providers/aws/services/directoryservice/directoryservice_service_test.py @@ -2,11 +2,9 @@ from datetime import datetime from unittest.mock import patch import botocore -from boto3 import session from moto import mock_ds from moto.core import DEFAULT_ACCOUNT_ID -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info from prowler.providers.aws.services.directoryservice.directoryservice_service import ( AuthenticationProtocol, CertificateState, @@ -16,7 +14,10 @@ from prowler.providers.aws.services.directoryservice.directoryservice_service im EventTopicStatus, RadiusStatus, ) -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" @@ -119,41 +120,12 @@ def mock_generate_regional_clients(service, audit_info, _): new=mock_generate_regional_clients, ) class Test_DirectoryService_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", "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 - # Test DirectoryService Client @mock_ds def test__get_client__(self): - directoryservice = DirectoryService(self.set_mocked_audit_info()) + directoryservice = DirectoryService( + set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) + ) assert ( directoryservice.regional_clients[AWS_REGION].__class__.__name__ == "DirectoryService" @@ -162,19 +134,25 @@ class Test_DirectoryService_Service: # Test DirectoryService Session @mock_ds def test__get_session__(self): - directoryservice = DirectoryService(self.set_mocked_audit_info()) + directoryservice = DirectoryService( + set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) + ) assert directoryservice.session.__class__.__name__ == "Session" # Test DirectoryService Service @mock_ds def test__get_service__(self): - directoryservice = DirectoryService(self.set_mocked_audit_info()) + directoryservice = DirectoryService( + set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) + ) assert directoryservice.service == "ds" @mock_ds def test__describe_directories__(self): # Set partition for the service - directoryservice = DirectoryService(self.set_mocked_audit_info()) + directoryservice = DirectoryService( + set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) + ) # __describe_directories__ assert directoryservice.directories["d-12345a1b2"].id == "d-12345a1b2" 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 eeb11e952b..4e86d65584 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 @@ -6,6 +6,10 @@ 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_REGION_EU_WEST_1, + set_mocked_aws_audit_info, +) AWS_ACCOUNT_NUMBER = "123456789012" AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" @@ -53,7 +57,7 @@ class Test_dlm_ebs_snapshot_lifecycle_policy_exists: dlm_client.audited_account_arn = AWS_ACCOUNT_ARN dlm_client.lifecycle_policies = {} - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.ec2.ec2_service import EC2 @@ -116,7 +120,7 @@ class Test_dlm_ebs_snapshot_lifecycle_policy_exists: } } - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.ec2.ec2_service import EC2 @@ -174,7 +178,7 @@ class Test_dlm_ebs_snapshot_lifecycle_policy_exists: # from prowler.providers.aws.services.ec2.ec2_service import EC2 - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.ec2.ec2_service import EC2 @@ -215,7 +219,7 @@ class Test_dlm_ebs_snapshot_lifecycle_policy_exists: # from prowler.providers.aws.services.ec2.ec2_service import EC2 - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.ec2.ec2_service import EC2 diff --git a/tests/providers/aws/services/dlm/dlm_service_test.py b/tests/providers/aws/services/dlm/dlm_service_test.py index 6bfb74a3c7..ba12080ef1 100644 --- a/tests/providers/aws/services/dlm/dlm_service_test.py +++ b/tests/providers/aws/services/dlm/dlm_service_test.py @@ -5,6 +5,10 @@ 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_REGION_EU_WEST_1, + set_mocked_aws_audit_info, +) AWS_ACCOUNT_NUMBER = "123456789012" AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" @@ -53,7 +57,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: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -86,32 +89,32 @@ class Test_DLM_Service: # Test DLM Service def test_service(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) dlm = DLM(audit_info) assert dlm.service == "dlm" # Test DLM Client def test_client(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) dlm = DLM(audit_info) assert dlm.client.__class__.__name__ == "DLM" # Test DLM Session def test__get_session__(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) dlm = DLM(audit_info) assert dlm.session.__class__.__name__ == "Session" # Test DLM Session def test_audited_account(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) dlm = DLM(audit_info) assert dlm.audited_account == AWS_ACCOUNT_NUMBER # Test DLM Get DLM Contacts def test_get_lifecycle_policies(self): # DLM client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) dlm = DLM(audit_info) assert dlm.lifecycle_policies == { AWS_REGION: { diff --git a/tests/providers/aws/services/documentdb/documentdb_service_test.py b/tests/providers/aws/services/documentdb/documentdb_service_test.py index 5af692519d..eb5446e0a0 100644 --- a/tests/providers/aws/services/documentdb/documentdb_service_test.py +++ b/tests/providers/aws/services/documentdb/documentdb_service_test.py @@ -8,6 +8,10 @@ from prowler.providers.aws.services.documentdb.documentdb_service import ( Instance, ) 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_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" @@ -73,7 +77,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: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -106,31 +109,31 @@ class Test_DocumentDB_Service: # Test DocumentDB Service def test_service(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) docdb = DocumentDB(audit_info) assert docdb.service == "docdb" # Test DocumentDB Client def test_client(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) docdb = DocumentDB(audit_info) assert docdb.client.__class__.__name__ == "DocDB" # Test DocumentDB Session def test__get_session__(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) docdb = DocumentDB(audit_info) assert docdb.session.__class__.__name__ == "Session" # Test DocumentDB Session def test_audited_account(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) docdb = DocumentDB(audit_info) assert docdb.audited_account == AWS_ACCOUNT_NUMBER # Test DocumentDB Get DocumentDB Contacts def test_describe_db_instances(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) docdb = DocumentDB(audit_info) assert docdb.db_instances == { DOC_DB_INSTANCE_ARN: Instance( diff --git a/tests/providers/aws/services/drs/drs_service_test.py b/tests/providers/aws/services/drs/drs_service_test.py index 1c85ce714c..ead739e14c 100644 --- a/tests/providers/aws/services/drs/drs_service_test.py +++ b/tests/providers/aws/services/drs/drs_service_test.py @@ -7,6 +7,10 @@ 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" @@ -56,7 +60,6 @@ def mock_generate_regional_clients(service, audit_info, _): new=mock_generate_regional_clients, ) class Test_DRS_Service: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -88,17 +91,17 @@ class Test_DRS_Service: return audit_info def test__get_client__(self): - audit_info = self.set_mocked_audit_info() + 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" def test__get_service__(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) drs = DRS(audit_info) assert drs.service == "drs" def test__describe_jobs__(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) drs = DRS(audit_info) assert len(drs.drs_services) == 1 assert drs.drs_services[0].id == "DRS" 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 b0e2e4cd05..1191b5360f 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 @@ -7,6 +7,10 @@ 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" @@ -47,7 +51,7 @@ class Test_dynamodb_accelerator_cluster_encryption_enabled: def test_dax_no_clusters(self): from prowler.providers.aws.services.dynamodb.dynamodb_service import DAX - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -78,7 +82,7 @@ class Test_dynamodb_accelerator_cluster_encryption_enabled: )["Cluster"] from prowler.providers.aws.services.dynamodb.dynamodb_service import DAX - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -119,7 +123,7 @@ class Test_dynamodb_accelerator_cluster_encryption_enabled: )["Cluster"] from prowler.providers.aws.services.dynamodb.dynamodb_service import DAX - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", diff --git a/tests/providers/aws/services/dynamodb/dynamodb_service_test.py b/tests/providers/aws/services/dynamodb/dynamodb_service_test.py index f6726b297d..d45d6fae8b 100644 --- a/tests/providers/aws/services/dynamodb/dynamodb_service_test.py +++ b/tests/providers/aws/services/dynamodb/dynamodb_service_test.py @@ -4,13 +4,16 @@ 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_REGION_EU_WEST_1, + set_mocked_aws_audit_info, +) AWS_ACCOUNT_NUMBER = "123456789012" AWS_REGION = "us-east-1" class Test_DynamoDB_Service: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -45,7 +48,7 @@ class Test_DynamoDB_Service: @mock_dynamodb def test_service(self): # Dynamo client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) dynamodb = DynamoDB(audit_info) assert dynamodb.service == "dynamodb" @@ -53,7 +56,7 @@ class Test_DynamoDB_Service: @mock_dynamodb def test_client(self): # Dynamo client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) dynamodb = DynamoDB(audit_info) for regional_client in dynamodb.regional_clients.values(): assert regional_client.__class__.__name__ == "DynamoDB" @@ -62,7 +65,7 @@ class Test_DynamoDB_Service: @mock_dynamodb def test__get_session__(self): # Dynamo client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) dynamodb = DynamoDB(audit_info) assert dynamodb.session.__class__.__name__ == "Session" @@ -70,7 +73,7 @@ class Test_DynamoDB_Service: @mock_dynamodb def test_audited_account(self): # Dynamo client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) dynamodb = DynamoDB(audit_info) assert dynamodb.audited_account == AWS_ACCOUNT_NUMBER @@ -105,7 +108,7 @@ class Test_DynamoDB_Service: BillingMode="PAY_PER_REQUEST", ) # DynamoDB client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) dynamo = DynamoDB(audit_info) assert len(dynamo.tables) == 2 assert dynamo.tables[0].name == "test1" @@ -135,7 +138,7 @@ class Test_DynamoDB_Service: ], )["TableDescription"] # DynamoDB client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) dynamo = DynamoDB(audit_info) assert len(dynamo.tables) == 1 assert dynamo.tables[0].arn == table["TableArn"] @@ -168,7 +171,7 @@ class Test_DynamoDB_Service: PointInTimeRecoverySpecification={"PointInTimeRecoveryEnabled": True}, ) # DynamoDB client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) dynamo = DynamoDB(audit_info) assert len(dynamo.tables) == 1 assert dynamo.tables[0].arn == table["TableArn"] @@ -204,7 +207,7 @@ class Test_DynamoDB_Service: ], ) # DAX client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) dax = DAX(audit_info) assert len(dax.clusters) == 2 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 b8561dff27..18eaf38158 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 @@ -1,53 +1,24 @@ from re import search from unittest import mock -from boto3 import client, session +from boto3 import client from moto import mock_dynamodb -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_dynamodb_tables_kms_cmk_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_dynamodb def test_dynamodb_no_tables(self): from prowler.providers.aws.services.dynamodb.dynamodb_service import DynamoDB - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -84,7 +55,7 @@ class Test_dynamodb_tables_kms_cmk_encryption_enabled: )["TableDescription"] from prowler.providers.aws.services.dynamodb.dynamodb_service import DynamoDB - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -126,7 +97,7 @@ class Test_dynamodb_tables_kms_cmk_encryption_enabled: )["TableDescription"] from prowler.providers.aws.services.dynamodb.dynamodb_service import DynamoDB - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", 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 1c89eab1dc..793a8d8980 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 @@ -1,53 +1,24 @@ from re import search from unittest import mock -from boto3 import client, session +from boto3 import client from moto import mock_dynamodb -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_dynamodb_tables_pitr_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_dynamodb def test_dynamodb_no_tables(self): from prowler.providers.aws.services.dynamodb.dynamodb_service import DynamoDB - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -83,7 +54,7 @@ class Test_dynamodb_tables_pitr_enabled: )["TableDescription"] from prowler.providers.aws.services.dynamodb.dynamodb_service import DynamoDB - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -132,7 +103,7 @@ class Test_dynamodb_tables_pitr_enabled: ) from prowler.providers.aws.services.dynamodb.dynamodb_service import DynamoDB - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", 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 77f0e582c8..1bcefe8dd2 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 @@ -1,10 +1,12 @@ 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_REGION_EU_WEST_1, + set_mocked_aws_audit_info, +) AWS_REGION = "us-east-1" EXAMPLE_AMI_ID = "ami-12c6146b" @@ -12,42 +14,11 @@ AWS_ACCOUNT_NUMBER = "123456789012" class Test_ec2_ami_public: - 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_no_amis(self): from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -80,7 +51,7 @@ class Test_ec2_ami_public: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -130,7 +101,7 @@ class Test_ec2_ami_public: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", 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 3e2ef101bd..b2778f77c6 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 @@ -1,10 +1,12 @@ 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_REGION_EU_WEST_1, + set_mocked_aws_audit_info, +) AWS_REGION = "us-east-1" EXAMPLE_AMI_ID = "ami-12c6146b" @@ -12,37 +14,6 @@ AWS_ACCOUNT_NUMBER = "123456789012" class Test_ec2_ebs_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, - ), - 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_ec2_ebs_encryption_enabled(self): # Create EC2 Mocked Resources @@ -51,7 +22,7 @@ class Test_ec2_ebs_default_encryption: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -85,7 +56,7 @@ class Test_ec2_ebs_default_encryption: def test_ec2_ebs_encryption_disabled(self): from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -115,7 +86,7 @@ class Test_ec2_ebs_default_encryption: def test_ec2_ebs_encryption_disabled_ignored(self): from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) current_audit_info.ignore_unused_services = True with mock.patch( @@ -143,7 +114,7 @@ class Test_ec2_ebs_default_encryption: ec2.create_volume(Size=36, AvailabilityZone=f"{AWS_REGION}a") from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) current_audit_info.ignore_unused_services = True with mock.patch( 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 d507431e57..373ca6dfe4 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 @@ -1,11 +1,13 @@ from unittest import mock -from boto3 import client, resource, session +from boto3 import client, 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_REGION_EU_WEST_1, + set_mocked_aws_audit_info, +) AWS_REGION = "us-east-1" AWS_ACCOUNT_NUMBER = "123456789012" @@ -22,42 +24,11 @@ def mock_generate_regional_clients(service, audit_info, _): new=mock_generate_regional_clients, ) class Test_ec2_ebs_public_snapshot: - 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_ec2_default_snapshots(self): from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -93,7 +64,7 @@ class Test_ec2_ebs_public_snapshot: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -138,7 +109,7 @@ class Test_ec2_ebs_public_snapshot: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", 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 bc1f7f3853..08fb69db0a 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 @@ -1,11 +1,13 @@ 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_REGION_EU_WEST_1, + set_mocked_aws_audit_info, +) AWS_REGION = "us-east-1" AWS_ACCOUNT_NUMBER = "123456789012" @@ -22,42 +24,11 @@ def mock_generate_regional_clients(service, audit_info, _): new=mock_generate_regional_clients, ) class Test_ec2_ebs_snapshots_encrypted: - 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_ec2_default_snapshots(self): from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -86,7 +57,7 @@ class Test_ec2_ebs_snapshots_encrypted: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -131,7 +102,7 @@ class Test_ec2_ebs_snapshots_encrypted: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", 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 165388a2dc..ea60fba19e 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 @@ -1,52 +1,23 @@ from unittest import mock -from boto3 import resource, session +from boto3 import 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_REGION_EU_WEST_1, + set_mocked_aws_audit_info, +) AWS_REGION = "us-east-1" AWS_ACCOUNT_NUMBER = "123456789012" class Test_ec2_ebs_volume_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, - ), - 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_ec2_no_volumes(self): from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -73,7 +44,7 @@ class Test_ec2_ebs_volume_encryption: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -114,7 +85,7 @@ class Test_ec2_ebs_volume_encryption: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", 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 97435a88c9..a1b30139aa 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 @@ -6,6 +6,10 @@ 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_REGION_AZ = "us-east-1a" @@ -59,7 +63,7 @@ class Test_ec2_ebs_volume_snapshots_exists: def test_no_volumes(self): from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -85,7 +89,7 @@ class Test_ec2_ebs_volume_snapshots_exists: volume_arn = f"arn:aws:ec2:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:volume/{volume.id}" from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -123,7 +127,7 @@ class Test_ec2_ebs_volume_snapshots_exists: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -169,7 +173,7 @@ class Test_ec2_ebs_volume_snapshots_exists: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", 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 5ef1d4aec6..b6f01ec079 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 @@ -5,6 +5,10 @@ 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, +) EXAMPLE_AMI_ID = "ami-12c6146b" AWS_ACCOUNT_NUMBER = "123456789012" @@ -53,7 +57,7 @@ class Test_ec2_elastic_ip_shodan: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -81,7 +85,7 @@ class Test_ec2_elastic_ip_shodan: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -116,7 +120,7 @@ class Test_ec2_elastic_ip_shodan: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -154,7 +158,7 @@ class Test_ec2_elastic_ip_shodan: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) current_audit_info.audit_config = {"shodan_api_key": "XXXXXXX"} ports = ["22", "443"] 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 dc2f14977d..f1d0144b38 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 @@ -1,11 +1,13 @@ from re import search 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_REGION_EU_WEST_1, + set_mocked_aws_audit_info, +) AWS_REGION = "us-east-1" EXAMPLE_AMI_ID = "ami-12c6146b" @@ -13,42 +15,11 @@ AWS_ACCOUNT_NUMBER = "123456789012" class Test_ec2_elastic_ip_unassigned: - 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_no_eips(self): from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -77,7 +48,7 @@ class Test_ec2_elastic_ip_unassigned: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -128,7 +99,7 @@ class Test_ec2_elastic_ip_unassigned: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", 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 79bbc3de20..989106b572 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 @@ -1,10 +1,12 @@ from unittest import mock -from boto3 import resource, session +from boto3 import 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_REGION_EU_WEST_1, + set_mocked_aws_audit_info, +) AWS_REGION = "us-east-1" EXAMPLE_AMI_ID = "ami-12c6146b" @@ -12,42 +14,11 @@ AWS_ACCOUNT_NUMBER = "123456789012" class Test_ec2_instance_detailed_monitoring_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_ec2_no_instances(self): from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -78,7 +49,7 @@ class Test_ec2_instance_detailed_monitoring_enabled: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -121,7 +92,7 @@ class Test_ec2_instance_detailed_monitoring_enabled: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", 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 957aeb6cd8..1aeddeea47 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 @@ -1,11 +1,13 @@ from re import search from unittest import mock -from boto3 import resource, session +from boto3 import 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_REGION_EU_WEST_1, + set_mocked_aws_audit_info, +) AWS_REGION = "us-east-1" EXAMPLE_AMI_ID = "ami-12c6146b" @@ -13,42 +15,11 @@ AWS_ACCOUNT_NUMBER = "123456789012" class Test_ec2_instance_imdsv2_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_ec2_no_instances(self): from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -82,7 +53,7 @@ class Test_ec2_instance_imdsv2_enabled: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -131,7 +102,7 @@ class Test_ec2_instance_imdsv2_enabled: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -180,7 +151,7 @@ class Test_ec2_instance_imdsv2_enabled: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", 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 7cae4c59a6..398a001eea 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 @@ -1,11 +1,13 @@ 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_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_REGION = "us-east-1" EXAMPLE_AMI_ID = "ami-12c6146b" @@ -13,42 +15,11 @@ AWS_ACCOUNT_NUMBER = "123456789012" class Test_ec2_instance_internet_facing_with_instance_profile: - 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_ec2_no_instances(self): from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -94,7 +65,7 @@ class Test_ec2_instance_internet_facing_with_instance_profile: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -150,7 +121,7 @@ class Test_ec2_instance_internet_facing_with_instance_profile: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", 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 8b0f1baf89..053f230445 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 @@ -1,11 +1,13 @@ from unittest import mock -from boto3 import resource, session +from boto3 import resource from moto import mock_ec2 -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info from prowler.providers.aws.services.ssm.ssm_service import ManagedInstance -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" EXAMPLE_AMI_ID = "ami-12c6146b" @@ -13,42 +15,11 @@ AWS_ACCOUNT_NUMBER = "123456789012" class Test_ec2_instance_managed_by_ssm_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=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_ec2_no_instances(self): from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) ssm_client = mock.MagicMock ssm_client.managed_instances = {} @@ -94,7 +65,7 @@ class Test_ec2_instance_managed_by_ssm_test: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -148,7 +119,7 @@ class Test_ec2_instance_managed_by_ssm_test: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", 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 c23ffa3850..bb8e7b7621 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 @@ -2,12 +2,14 @@ import datetime from re import search from unittest import mock -from boto3 import resource, session +from boto3 import resource from dateutil.tz import tzutc 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" EXAMPLE_AMI_ID = "ami-12c6146b" @@ -15,42 +17,11 @@ AWS_ACCOUNT_NUMBER = "123456789012" class Test_ec2_instance_older_than_specific_days: - 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_ec2_no_instances(self): from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) current_audit_info.audit_config = {"max_ec2_instance_age_in_days": 180} with mock.patch( @@ -82,7 +53,7 @@ class Test_ec2_instance_older_than_specific_days: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) current_audit_info.audit_config = {"max_ec2_instance_age_in_days": 180} with mock.patch( @@ -124,7 +95,7 @@ class Test_ec2_instance_older_than_specific_days: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) current_audit_info.audit_config = {"max_ec2_instance_age_in_days": 180} with mock.patch( 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 d9979fb837..24eab39624 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 @@ -1,11 +1,13 @@ 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_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_REGION = "us-east-1" EXAMPLE_AMI_ID = "ami-12c6146b" @@ -13,42 +15,11 @@ AWS_ACCOUNT_NUMBER = "123456789012" class Test_ec2_instance_profile_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, - ), - 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_ec2_no_instances(self): from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -94,7 +65,7 @@ class Test_ec2_instance_profile_attached: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -144,7 +115,7 @@ class Test_ec2_instance_profile_attached: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", 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 99c043acf3..043b9c46a5 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 @@ -1,11 +1,13 @@ from re import search from unittest import mock -from boto3 import resource, session +from boto3 import 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_REGION_EU_WEST_1, + set_mocked_aws_audit_info, +) AWS_REGION = "us-east-1" EXAMPLE_AMI_ID = "ami-12c6146b" @@ -13,42 +15,11 @@ AWS_ACCOUNT_NUMBER = "123456789012" class Test_ec2_instance_public_ip: - 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_ec2_no_instances(self): from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -87,7 +58,7 @@ class Test_ec2_instance_public_ip: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -137,7 +108,7 @@ class Test_ec2_instance_public_ip: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", 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 cd9c883318..abc787c9f8 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 @@ -2,11 +2,13 @@ from os import path from pathlib import Path from unittest import mock -from boto3 import resource, session +from boto3 import 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_REGION_EU_WEST_1, + set_mocked_aws_audit_info, +) AWS_REGION = "us-east-1" EXAMPLE_AMI_ID = "ami-12c6146b" @@ -17,42 +19,11 @@ FIXTURES_DIR_NAME = "fixtures" class Test_ec2_instance_secrets_user_data: - 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_no_ec2(self): from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -83,7 +54,7 @@ class Test_ec2_instance_secrets_user_data: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -125,7 +96,7 @@ class Test_ec2_instance_secrets_user_data: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -170,7 +141,7 @@ class Test_ec2_instance_secrets_user_data: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -209,7 +180,7 @@ class Test_ec2_instance_secrets_user_data: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -254,7 +225,7 @@ class Test_ec2_instance_secrets_user_data: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", 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 829495b99e..bf01555003 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 @@ -1,52 +1,23 @@ 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_networkacl_allow_ingress_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=[], - completed_checks=0, - audit_progress=0, - ), - ) - - return audit_info - @mock_ec2 def test_ec2_default_nacls(self): from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -70,7 +41,7 @@ class Test_ec2_networkacl_allow_ingress_any_port: def test_ec2_non_default_compliant_nacl(self): from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -118,7 +89,7 @@ class Test_ec2_networkacl_allow_ingress_any_port: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -171,7 +142,7 @@ class Test_ec2_networkacl_allow_ingress_any_port: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -224,7 +195,7 @@ class Test_ec2_networkacl_allow_ingress_any_port: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) current_audit_info.ignore_unused_services = True with mock.patch( @@ -264,7 +235,7 @@ class Test_ec2_networkacl_allow_ingress_any_port: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) current_audit_info.ignore_unused_services = True with mock.patch( 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 3428a526e4..d555cebc44 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 @@ -1,52 +1,23 @@ 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_networkacl_allow_ingress_tcp_port_22: - 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_ec2_default_nacls(self): from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -70,7 +41,7 @@ class Test_ec2_networkacl_allow_ingress_tcp_port_22: def test_ec2_non_default_compliant_nacl(self): from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -119,7 +90,7 @@ class Test_ec2_networkacl_allow_ingress_tcp_port_22: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -173,7 +144,7 @@ class Test_ec2_networkacl_allow_ingress_tcp_port_22: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -226,7 +197,7 @@ class Test_ec2_networkacl_allow_ingress_tcp_port_22: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) current_audit_info.ignore_unused_services = True with mock.patch( @@ -266,7 +237,7 @@ class Test_ec2_networkacl_allow_ingress_tcp_port_22: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) current_audit_info.ignore_unused_services = True with mock.patch( 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 d7f76c7ccf..55c4545a5b 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 @@ -1,52 +1,23 @@ 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_networkacl_allow_ingress_tcp_port_3389: - 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_ec2_default_nacls(self): from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -70,7 +41,7 @@ class Test_ec2_networkacl_allow_ingress_tcp_port_3389: def test_ec2_non_default_compliant_nacl(self): from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -119,7 +90,7 @@ class Test_ec2_networkacl_allow_ingress_tcp_port_3389: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -173,7 +144,7 @@ class Test_ec2_networkacl_allow_ingress_tcp_port_3389: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -226,7 +197,7 @@ class Test_ec2_networkacl_allow_ingress_tcp_port_3389: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) current_audit_info.ignore_unused_services = True with mock.patch( @@ -266,7 +237,7 @@ class Test_ec2_networkacl_allow_ingress_tcp_port_3389: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) current_audit_info.ignore_unused_services = True with mock.patch( 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 9a53db143f..4cf1009994 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 @@ -6,6 +6,10 @@ 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" @@ -53,7 +57,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_any_port: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -102,7 +106,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_any_port: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -162,7 +166,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_any_port: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -227,7 +231,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_any_port: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -273,7 +277,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_any_port: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) current_audit_info.ignore_unused_services = True with mock.patch( @@ -311,7 +315,7 @@ 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 = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) current_audit_info.ignore_unused_services = True with mock.patch( 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 a61c8f75d0..cf4a13da5c 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 @@ -1,48 +1,19 @@ 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_port_mongodb_27017_27018: - 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_ec2_default_sgs(self): # Create EC2 Mocked Resources @@ -51,7 +22,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_port_mongodb_27017_2 from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -104,7 +75,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_port_mongodb_27017_2 from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -168,7 +139,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_port_mongodb_27017_2 from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -216,7 +187,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_port_mongodb_27017_2 from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) current_audit_info.ignore_unused_services = True with mock.patch( @@ -256,7 +227,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_port_mongodb_27017_2 default_sg["GroupName"] from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) current_audit_info.ignore_unused_services = True with mock.patch( 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 2a199b8e84..a82c750b44 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 @@ -1,48 +1,19 @@ 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_tcp_ftp_port_20_21: - 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_ec2_default_sgs(self): # Create EC2 Mocked Resources @@ -51,7 +22,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_ftp_port_20_21: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -104,7 +75,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_ftp_port_20_21: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -168,7 +139,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_ftp_port_20_21: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -216,7 +187,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_ftp_port_20_21: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) current_audit_info.ignore_unused_services = True with mock.patch( @@ -256,7 +227,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_ftp_port_20_21: default_sg["GroupName"] from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) current_audit_info.ignore_unused_services = True with mock.patch( 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 74ea0d6ff8..112119c8a1 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 @@ -1,49 +1,20 @@ from re import search 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_tcp_port_22: - 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_ec2_default_sgs(self): # Create EC2 Mocked Resources @@ -52,7 +23,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_22: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -103,7 +74,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_22: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -169,7 +140,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_22: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -215,7 +186,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_22: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) current_audit_info.ignore_unused_services = True with mock.patch( @@ -253,7 +224,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_22: default_sg["GroupName"] from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) current_audit_info.ignore_unused_services = True with mock.patch( 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 6240e45ab9..45074eb37a 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 @@ -1,48 +1,19 @@ 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_tcp_port_3389: - 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_ec2_default_sgs(self): # Create EC2 Mocked Resources @@ -51,7 +22,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_3389: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -86,7 +57,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_3389: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) current_audit_info.ignore_unused_services = True with mock.patch( @@ -124,7 +95,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_3389: default_sg["GroupName"] from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) current_audit_info.ignore_unused_services = True with mock.patch( @@ -173,7 +144,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_3389: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -235,7 +206,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_3389: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", 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 a2a5c0f293..2553828c0f 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 @@ -1,48 +1,19 @@ 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_tcp_port_cassandra_7199_9160_8888: - 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_ec2_default_sgs(self): # Create EC2 Mocked Resources @@ -51,7 +22,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_cassandra_7 from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -104,7 +75,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_cassandra_7 from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -168,7 +139,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_cassandra_7 from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -216,7 +187,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_cassandra_7 from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) current_audit_info.ignore_unused_services = True with mock.patch( @@ -256,7 +227,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_cassandra_7 default_sg["GroupName"] from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) current_audit_info.ignore_unused_services = True with mock.patch( 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 e30e7e76d1..bb00f705b6 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 @@ -1,48 +1,19 @@ 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_tcp_port_elasticsearch_kibana_9200_9300_5601: - 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_ec2_default_sgs(self): # Create EC2 Mocked Resources @@ -51,7 +22,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_elasticsear from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -104,7 +75,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_elasticsear from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -168,7 +139,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_elasticsear from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -216,7 +187,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_elasticsear from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) current_audit_info.ignore_unused_services = True with mock.patch( @@ -256,7 +227,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_elasticsear default_sg["GroupName"] from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) current_audit_info.ignore_unused_services = True with mock.patch( 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 355f8e723c..9de0938c17 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 @@ -1,48 +1,19 @@ 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_tcp_port_kafka_9092: - 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_ec2_default_sgs(self): # Create EC2 Mocked Resources @@ -51,7 +22,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_kafka_9092: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -104,7 +75,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_kafka_9092: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -168,7 +139,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_kafka_9092: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -216,7 +187,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_kafka_9092: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) current_audit_info.ignore_unused_services = True with mock.patch( @@ -256,7 +227,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_kafka_9092: default_sg["GroupName"] from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) current_audit_info.ignore_unused_services = True with mock.patch( 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 dbd12a22aa..e5f2967590 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 @@ -1,48 +1,19 @@ 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_tcp_port_memcached_11211: - 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_ec2_default_sgs(self): # Create EC2 Mocked Resources @@ -51,7 +22,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_memcached_1 from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -104,7 +75,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_memcached_1 from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -168,7 +139,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_memcached_1 from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -216,7 +187,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_memcached_1 from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) current_audit_info.ignore_unused_services = True with mock.patch( @@ -256,7 +227,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_memcached_1 default_sg["GroupName"] from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) current_audit_info.ignore_unused_services = True with mock.patch( 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 b2b0ea6529..f12ec65629 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 @@ -1,48 +1,19 @@ 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_tcp_port_mysql_3306: - 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_ec2_default_sgs(self): # Create EC2 Mocked Resources @@ -51,7 +22,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_mysql_3306: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -104,7 +75,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_mysql_3306: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -168,7 +139,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_mysql_3306: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -216,7 +187,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_mysql_3306: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) current_audit_info.ignore_unused_services = True with mock.patch( @@ -256,7 +227,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_mysql_3306: default_sg["GroupName"] from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) current_audit_info.ignore_unused_services = True with mock.patch( 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 5872d3dda0..310f8be7c3 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 @@ -1,48 +1,19 @@ 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_tcp_port_oracle_1521_2483: - 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_ec2_default_sgs(self): # Create EC2 Mocked Resources @@ -51,7 +22,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_oracle_1521 from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -104,7 +75,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_oracle_1521 from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -168,7 +139,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_oracle_1521 from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -216,7 +187,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_oracle_1521 from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) current_audit_info.ignore_unused_services = True with mock.patch( @@ -256,7 +227,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_oracle_1521 default_sg["GroupName"] from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) current_audit_info.ignore_unused_services = True with mock.patch( 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 0cf892954e..13805ff041 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 @@ -1,48 +1,19 @@ 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_tcp_port_postgres_5432: - 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_ec2_default_sgs(self): # Create EC2 Mocked Resources @@ -51,7 +22,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_postgres_54 from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -104,7 +75,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_postgres_54 from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -168,7 +139,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_postgres_54 from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -237,7 +208,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_postgres_54 from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -285,7 +256,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_postgres_54 from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) current_audit_info.ignore_unused_services = True with mock.patch( @@ -325,7 +296,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_postgres_54 default_sg["GroupName"] from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) current_audit_info.ignore_unused_services = True with mock.patch( 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 9cfc14959f..5a96aaa6cd 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 @@ -1,48 +1,19 @@ 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_tcp_port_sql_server_1433_1434: - 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_ec2_default_sgs(self): # Create EC2 Mocked Resources @@ -51,7 +22,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_sql_server_ from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -104,7 +75,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_sql_server_ from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -168,7 +139,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_sql_server_ from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -216,7 +187,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_sql_server_ from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) current_audit_info.ignore_unused_services = True with mock.patch( @@ -256,7 +227,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_sql_server_ default_sg["GroupName"] from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) current_audit_info.ignore_unused_services = True with mock.patch( 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 d7094ce065..771be6a99c 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 @@ -1,48 +1,19 @@ 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_tcp_port_telnet_23: - 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_ec2_default_sgs(self): # Create EC2 Mocked Resources @@ -51,7 +22,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_telnet_23: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -104,7 +75,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_telnet_23: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -168,7 +139,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_telnet_23: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -216,7 +187,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_telnet_23: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) current_audit_info.ignore_unused_services = True with mock.patch( @@ -256,7 +227,7 @@ class Test_ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_telnet_23: default_sg["GroupName"] from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) current_audit_info.ignore_unused_services = True with mock.patch( 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 64fd87cb57..e053f8f7eb 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 @@ -1,47 +1,18 @@ 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_allow_wide_open_public_ipv4: - 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_ec2_default_sgs(self): # Create EC2 Mocked Resources @@ -50,7 +21,7 @@ class Test_ec2_securitygroup_allow_wide_open_public_ipv4: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -96,7 +67,7 @@ class Test_ec2_securitygroup_allow_wide_open_public_ipv4: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -153,7 +124,7 @@ class Test_ec2_securitygroup_allow_wide_open_public_ipv4: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", 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 59530d38c2..5d2495661c 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 @@ -5,6 +5,10 @@ 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" @@ -66,7 +70,7 @@ class Test_ec2_securitygroup_default_restrict_traffic: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -129,7 +133,7 @@ class Test_ec2_securitygroup_default_restrict_traffic: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -174,7 +178,7 @@ class Test_ec2_securitygroup_default_restrict_traffic: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", 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 62df15f75f..8d720a7d97 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 @@ -1,10 +1,12 @@ 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_REGION_EU_WEST_1, + set_mocked_aws_audit_info, +) AWS_REGION = "us-east-1" EXAMPLE_AMI_ID = "ami-12c6146b" @@ -12,37 +14,6 @@ AWS_ACCOUNT_NUMBER = "123456789012" class Test_ec2_securitygroup_from_launch_wizard: - 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_ec2_default_sgs(self): # Create EC2 Mocked Resources @@ -51,7 +22,7 @@ class Test_ec2_securitygroup_from_launch_wizard: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -88,7 +59,7 @@ class Test_ec2_securitygroup_from_launch_wizard: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -145,7 +116,7 @@ class Test_ec2_securitygroup_from_launch_wizard: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", 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 cc1fa19569..bc77d4a6de 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 @@ -1,47 +1,18 @@ 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_with_many_ingress_egress_rules: - 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_ec2_default_sgs(self): # Create EC2 Mocked Resources @@ -50,7 +21,7 @@ class Test_ec2_securitygroup_with_many_ingress_egress_rules: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) current_audit_info.audit_config = {"max_security_group_rules": 50} with mock.patch( @@ -100,7 +71,7 @@ class Test_ec2_securitygroup_with_many_ingress_egress_rules: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) current_audit_info.audit_config = {"max_security_group_rules": 50} with mock.patch( @@ -160,7 +131,7 @@ class Test_ec2_securitygroup_with_many_ingress_egress_rules: from prowler.providers.aws.services.ec2.ec2_service import EC2 - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) current_audit_info.audit_config = {"max_security_group_rules": 50} with mock.patch( diff --git a/tests/providers/aws/services/ec2/ec2_service_test.py b/tests/providers/aws/services/ec2/ec2_service_test.py index 53d4a98659..98dadb0d94 100644 --- a/tests/providers/aws/services/ec2/ec2_service_test.py +++ b/tests/providers/aws/services/ec2/ec2_service_test.py @@ -11,6 +11,10 @@ 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_REGION_EU_WEST_1, + set_mocked_aws_audit_info, +) AWS_ACCOUNT_NUMBER = "123456789012" AWS_REGION = "us-east-1" @@ -19,7 +23,6 @@ MOCK_DATETIME = datetime(2023, 1, 4, 7, 27, 30, tzinfo=tzutc()) class Test_EC2_Service: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -56,7 +59,7 @@ class Test_EC2_Service: @mock_ec2 def test_service(self): # EC2 client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) ec2 = EC2(audit_info) assert ec2.service == "ec2" @@ -64,7 +67,7 @@ class Test_EC2_Service: @mock_ec2 def test_client(self): # EC2 client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) ec2 = EC2(audit_info) for regional_client in ec2.regional_clients.values(): assert regional_client.__class__.__name__ == "EC2" @@ -73,7 +76,7 @@ class Test_EC2_Service: @mock_ec2 def test__get_session__(self): # EC2 client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) ec2 = EC2(audit_info) assert ec2.session.__class__.__name__ == "Session" @@ -81,7 +84,7 @@ class Test_EC2_Service: @mock_ec2 def test_audited_account(self): # EC2 client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) ec2 = EC2(audit_info) assert ec2.audited_account == AWS_ACCOUNT_NUMBER @@ -102,7 +105,7 @@ class Test_EC2_Service: ImageId=image_id, ) # EC2 client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) ec2 = EC2(audit_info) assert len(ec2.instances) == 1 assert re.match(r"i-[0-9a-z]{17}", ec2.instances[0].id) @@ -157,7 +160,7 @@ class Test_EC2_Service: ], ) # EC2 client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) ec2 = EC2(audit_info) assert sg_id in str(ec2.security_groups) @@ -214,7 +217,7 @@ class Test_EC2_Service: ], ).id # EC2 client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) ec2 = EC2(audit_info) assert nacl_id in str(ec2.network_acls) @@ -257,7 +260,7 @@ class Test_EC2_Service: f"arn:aws:ec2:{AWS_REGION}:{AWS_ACCOUNT_NUMBER}:snapshot/{snapshot_id}" ) # EC2 client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) ec2 = EC2(audit_info) assert snapshot_id in str(ec2.snapshots) @@ -298,7 +301,7 @@ class Test_EC2_Service: SnapshotId=snapshot_id, ) # EC2 client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) ec2 = EC2(audit_info) assert snapshot_id in str(ec2.snapshots) @@ -325,7 +328,7 @@ class Test_EC2_Service: UserData="This is some user_data", ) # EC2 client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) ec2 = EC2(audit_info) assert user_data == b64decode(ec2.instances[0].user_data).decode("utf-8") @@ -335,7 +338,7 @@ class Test_EC2_Service: ec2_client = client("ec2", region_name=AWS_REGION) ec2_client.enable_ebs_encryption_by_default() # EC2 client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) ec2 = EC2(audit_info) # One result per region @@ -362,7 +365,7 @@ class Test_EC2_Service: ], )["AllocationId"] # EC2 client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) ec2 = EC2(audit_info) assert "127.38.43.222" in str(ec2.elastic_ips) assert ( @@ -391,7 +394,7 @@ class Test_EC2_Service: ) # EC2 client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) ec2 = EC2(audit_info) assert sg.id in str(ec2.security_groups) @@ -442,7 +445,7 @@ class Test_EC2_Service: ) # EC2 client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) ec2 = EC2(audit_info) assert len(ec2.network_interfaces) == 1 @@ -486,7 +489,7 @@ class Test_EC2_Service: )["ImageId"] # EC2 client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) ec2 = EC2(audit_info) assert len(ec2.images) == 1 @@ -527,7 +530,7 @@ class Test_EC2_Service: )["VolumeId"] # EC2 client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) ec2 = EC2(audit_info) assert len(ec2.volumes) == 1 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 a04412b7cc..d242eb17d8 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 @@ -10,6 +10,10 @@ from prowler.providers.aws.services.ecr.ecr_service import ( ScanningRule, ) 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" @@ -57,7 +61,7 @@ class Test_ecr_registry_scan_images_on_push_enabled: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - self.set_mocked_audit_info(), + set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.ecr.ecr_registry_scan_images_on_push_enabled.ecr_registry_scan_images_on_push_enabled.ecr_client", ecr_client, @@ -83,7 +87,7 @@ class Test_ecr_registry_scan_images_on_push_enabled: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - self.set_mocked_audit_info(), + set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.ecr.ecr_registry_scan_images_on_push_enabled.ecr_registry_scan_images_on_push_enabled.ecr_client", ecr_client, @@ -124,7 +128,7 @@ class Test_ecr_registry_scan_images_on_push_enabled: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - self.set_mocked_audit_info(), + set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.ecr.ecr_registry_scan_images_on_push_enabled.ecr_registry_scan_images_on_push_enabled.ecr_client", ecr_client, @@ -169,7 +173,7 @@ class Test_ecr_registry_scan_images_on_push_enabled: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - self.set_mocked_audit_info(), + set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.ecr.ecr_registry_scan_images_on_push_enabled.ecr_registry_scan_images_on_push_enabled.ecr_client", ecr_client, @@ -212,7 +216,7 @@ class Test_ecr_registry_scan_images_on_push_enabled: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - self.set_mocked_audit_info(), + set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.ecr.ecr_registry_scan_images_on_push_enabled.ecr_registry_scan_images_on_push_enabled.ecr_client", ecr_client, 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 1527078486..a45fa2c053 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 @@ -5,6 +5,10 @@ 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_REGION_EU_WEST_1, + set_mocked_aws_audit_info, +) # Mock Test Region AWS_REGION = "eu-west-1" @@ -27,7 +31,6 @@ repo_policy_public = { class Test_ecr_repositories_lifecycle_policy_enabled: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -64,7 +67,7 @@ class Test_ecr_repositories_lifecycle_policy_enabled: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - self.set_mocked_audit_info(), + set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.ecr.ecr_repositories_lifecycle_policy_enabled.ecr_repositories_lifecycle_policy_enabled.ecr_client", ecr_client, @@ -90,7 +93,7 @@ class Test_ecr_repositories_lifecycle_policy_enabled: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - self.set_mocked_audit_info(), + set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.ecr.ecr_repositories_lifecycle_policy_enabled.ecr_repositories_lifecycle_policy_enabled.ecr_client", ecr_client, @@ -126,7 +129,7 @@ class Test_ecr_repositories_lifecycle_policy_enabled: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - self.set_mocked_audit_info(), + set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.ecr.ecr_repositories_lifecycle_policy_enabled.ecr_repositories_lifecycle_policy_enabled.ecr_client", ecr_client, @@ -170,7 +173,7 @@ class Test_ecr_repositories_lifecycle_policy_enabled: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - self.set_mocked_audit_info(), + set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.ecr.ecr_repositories_lifecycle_policy_enabled.ecr_repositories_lifecycle_policy_enabled.ecr_client", ecr_client, 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 d6e0310e8c..ac07edfc61 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 @@ -5,6 +5,10 @@ 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_REGION_EU_WEST_1, + set_mocked_aws_audit_info, +) # Mock Test Region AWS_REGION = "eu-west-1" @@ -39,7 +43,6 @@ repo_policy_public = { class Test_ecr_repositories_not_publicly_accessible: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -76,7 +79,7 @@ class Test_ecr_repositories_not_publicly_accessible: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - self.set_mocked_audit_info(), + set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.ecr.ecr_repositories_not_publicly_accessible.ecr_repositories_not_publicly_accessible.ecr_client", ecr_client, @@ -102,7 +105,7 @@ class Test_ecr_repositories_not_publicly_accessible: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - self.set_mocked_audit_info(), + set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.ecr.ecr_repositories_not_publicly_accessible.ecr_repositories_not_publicly_accessible.ecr_client", ecr_client, @@ -138,7 +141,7 @@ class Test_ecr_repositories_not_publicly_accessible: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - self.set_mocked_audit_info(), + set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.ecr.ecr_repositories_not_publicly_accessible.ecr_repositories_not_publicly_accessible.ecr_client", ecr_client, @@ -181,7 +184,7 @@ class Test_ecr_repositories_not_publicly_accessible: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - self.set_mocked_audit_info(), + set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.ecr.ecr_repositories_not_publicly_accessible.ecr_repositories_not_publicly_accessible.ecr_client", ecr_client, 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 16a7cb2ac0..1a9206270f 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 @@ -5,6 +5,10 @@ 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_REGION_EU_WEST_1, + set_mocked_aws_audit_info, +) # Mock Test Region AWS_REGION = "eu-west-1" @@ -27,7 +31,6 @@ repo_policy_public = { class Test_ecr_repositories_scan_images_on_push_enabled: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -64,7 +67,7 @@ class Test_ecr_repositories_scan_images_on_push_enabled: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - self.set_mocked_audit_info(), + set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.ecr.ecr_repositories_scan_images_on_push_enabled.ecr_repositories_scan_images_on_push_enabled.ecr_client", ecr_client, @@ -90,7 +93,7 @@ class Test_ecr_repositories_scan_images_on_push_enabled: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - self.set_mocked_audit_info(), + set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.ecr.ecr_repositories_scan_images_on_push_enabled.ecr_repositories_scan_images_on_push_enabled.ecr_client", ecr_client, @@ -126,7 +129,7 @@ class Test_ecr_repositories_scan_images_on_push_enabled: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - self.set_mocked_audit_info(), + set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.ecr.ecr_repositories_scan_images_on_push_enabled.ecr_repositories_scan_images_on_push_enabled.ecr_client", ecr_client, @@ -169,7 +172,7 @@ class Test_ecr_repositories_scan_images_on_push_enabled: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - self.set_mocked_audit_info(), + set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.ecr.ecr_repositories_scan_images_on_push_enabled.ecr_repositories_scan_images_on_push_enabled.ecr_client", ecr_client, 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 5fc626831f..02d4337730 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 @@ -11,6 +11,10 @@ from prowler.providers.aws.services.ecr.ecr_service import ( Repository, ) 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" @@ -34,7 +38,6 @@ repo_policy_public = { class Test_ecr_repositories_scan_vulnerabilities_in_latest_image: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -72,7 +75,7 @@ class Test_ecr_repositories_scan_vulnerabilities_in_latest_image: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - self.set_mocked_audit_info(), + set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.ecr.ecr_repositories_scan_vulnerabilities_in_latest_image.ecr_repositories_scan_vulnerabilities_in_latest_image.ecr_client", ecr_client, @@ -99,7 +102,7 @@ class Test_ecr_repositories_scan_vulnerabilities_in_latest_image: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - self.set_mocked_audit_info(), + set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.ecr.ecr_repositories_scan_vulnerabilities_in_latest_image.ecr_repositories_scan_vulnerabilities_in_latest_image.ecr_client", ecr_client, @@ -136,7 +139,7 @@ class Test_ecr_repositories_scan_vulnerabilities_in_latest_image: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - self.set_mocked_audit_info(), + set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.ecr.ecr_repositories_scan_vulnerabilities_in_latest_image.ecr_repositories_scan_vulnerabilities_in_latest_image.ecr_client", ecr_client, @@ -183,7 +186,7 @@ class Test_ecr_repositories_scan_vulnerabilities_in_latest_image: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - self.set_mocked_audit_info(), + set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.ecr.ecr_repositories_scan_vulnerabilities_in_latest_image.ecr_repositories_scan_vulnerabilities_in_latest_image.ecr_client", ecr_client, @@ -241,7 +244,7 @@ class Test_ecr_repositories_scan_vulnerabilities_in_latest_image: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - self.set_mocked_audit_info(), + set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.ecr.ecr_repositories_scan_vulnerabilities_in_latest_image.ecr_repositories_scan_vulnerabilities_in_latest_image.ecr_client", ecr_client, @@ -299,7 +302,7 @@ class Test_ecr_repositories_scan_vulnerabilities_in_latest_image: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - self.set_mocked_audit_info(), + set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.ecr.ecr_repositories_scan_vulnerabilities_in_latest_image.ecr_repositories_scan_vulnerabilities_in_latest_image.ecr_client", ecr_client, @@ -357,7 +360,7 @@ class Test_ecr_repositories_scan_vulnerabilities_in_latest_image: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - self.set_mocked_audit_info(), + set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.ecr.ecr_repositories_scan_vulnerabilities_in_latest_image.ecr_repositories_scan_vulnerabilities_in_latest_image.ecr_client", ecr_client, @@ -415,7 +418,7 @@ class Test_ecr_repositories_scan_vulnerabilities_in_latest_image: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - self.set_mocked_audit_info(), + set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.ecr.ecr_repositories_scan_vulnerabilities_in_latest_image.ecr_repositories_scan_vulnerabilities_in_latest_image.ecr_client", ecr_client, @@ -475,7 +478,7 @@ class Test_ecr_repositories_scan_vulnerabilities_in_latest_image: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - self.set_mocked_audit_info(), + set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.ecr.ecr_repositories_scan_vulnerabilities_in_latest_image.ecr_repositories_scan_vulnerabilities_in_latest_image.ecr_client", ecr_client, @@ -529,7 +532,7 @@ class Test_ecr_repositories_scan_vulnerabilities_in_latest_image: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - self.set_mocked_audit_info(), + set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.ecr.ecr_repositories_scan_vulnerabilities_in_latest_image.ecr_repositories_scan_vulnerabilities_in_latest_image.ecr_client", ecr_client, @@ -583,7 +586,7 @@ class Test_ecr_repositories_scan_vulnerabilities_in_latest_image: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - self.set_mocked_audit_info(), + set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.ecr.ecr_repositories_scan_vulnerabilities_in_latest_image.ecr_repositories_scan_vulnerabilities_in_latest_image.ecr_client", ecr_client, diff --git a/tests/providers/aws/services/ecr/ecr_service_test.py b/tests/providers/aws/services/ecr/ecr_service_test.py index f05961a9ba..c5bc6c8188 100644 --- a/tests/providers/aws/services/ecr/ecr_service_test.py +++ b/tests/providers/aws/services/ecr/ecr_service_test.py @@ -8,6 +8,10 @@ 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_REGION_EU_WEST_1, + set_mocked_aws_audit_info, +) AWS_ACCOUNT_NUMBER = "123456789012" AWS_REGION = "eu-west-1" @@ -95,7 +99,6 @@ def mock_generate_regional_clients(service, audit_info, _): new=mock_generate_regional_clients, ) class Test_ECR_Service: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -128,20 +131,20 @@ class Test_ECR_Service: # Test ECR Service def test_service(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) ecr = ECR(audit_info) assert ecr.service == "ecr" # Test ECR client def test_client(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) ecr = ECR(audit_info) for regional_client in ecr.regional_clients.values(): assert regional_client.__class__.__name__ == "ECR" # Test ECR session def test__get_session__(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) ecr = ECR(audit_info) assert ecr.session.__class__.__name__ == "Session" @@ -156,7 +159,7 @@ class Test_ECR_Service: {"Key": "test", "Value": "test"}, ], ) - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) ecr = ECR(audit_info) assert len(ecr.registries) == 1 @@ -179,7 +182,7 @@ class Test_ECR_Service: repositoryName=repo_name, imageScanningConfiguration={"scanOnPush": True}, ) - audit_info = self.set_mocked_audit_info() + 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 @@ -221,7 +224,7 @@ class Test_ECR_Service: repositoryName=repo_name, imageScanningConfiguration={"scanOnPush": True}, ) - audit_info = self.set_mocked_audit_info() + 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 @@ -238,7 +241,7 @@ class Test_ECR_Service: repositoryName=repo_name, imageScanningConfiguration={"scanOnPush": True}, ) - audit_info = self.set_mocked_audit_info() + 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 @@ -331,7 +334,7 @@ class Test_ECR_Service: # Test get ECR Registries Scanning Configuration @mock_ecr def test__get_registry_scanning_configuration__(self): - audit_info = self.set_mocked_audit_info() + 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 diff --git a/tests/providers/aws/services/ecs/ecs_service_test.py b/tests/providers/aws/services/ecs/ecs_service_test.py index 98d10b71b9..0a6c89984b 100644 --- a/tests/providers/aws/services/ecs/ecs_service_test.py +++ b/tests/providers/aws/services/ecs/ecs_service_test.py @@ -6,6 +6,10 @@ 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" @@ -22,7 +26,6 @@ def mock_generate_regional_clients(service, audit_info, _): new=mock_generate_regional_clients, ) class Test_ECS_Service: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -55,20 +58,20 @@ class Test_ECS_Service: # Test ECS Service def test_service(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) ecs = ECS(audit_info) assert ecs.service == "ecs" # Test ECS client def test_client(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) ecs = ECS(audit_info) for reg_client in ecs.regional_clients.values(): assert reg_client.__class__.__name__ == "ECS" # Test ECS session def test__get_session__(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) ecs = ECS(audit_info) assert ecs.session.__class__.__name__ == "Session" @@ -89,7 +92,7 @@ class Test_ECS_Service: ) task_definition = ecs_client.register_task_definition(**definition) - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) ecs = ECS(audit_info) assert len(ecs.task_definitions) == 1 @@ -126,7 +129,7 @@ class Test_ECS_Service: ) task_definition = ecs_client.register_task_definition(**definition) - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) ecs = ECS(audit_info) assert len(ecs.task_definitions) == 1 diff --git a/tests/providers/aws/services/efs/efs_service_test.py b/tests/providers/aws/services/efs/efs_service_test.py index f484fa1f13..731f49a2bc 100644 --- a/tests/providers/aws/services/efs/efs_service_test.py +++ b/tests/providers/aws/services/efs/efs_service_test.py @@ -8,6 +8,10 @@ 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_REGION_EU_WEST_1, + set_mocked_aws_audit_info, +) # Mock Test Region AWS_REGION = "eu-west-1" @@ -87,12 +91,12 @@ class Test_EFS: # Test EFS Session def test__get_session__(self): - access_analyzer = EFS(self.set_mocked_audit_info()) + access_analyzer = EFS(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])) assert access_analyzer.session.__class__.__name__ == "Session" # Test EFS Service def test__get_service__(self): - access_analyzer = EFS(self.set_mocked_audit_info()) + access_analyzer = EFS(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])) assert access_analyzer.service == "efs" @mock_efs @@ -106,7 +110,7 @@ class Test_EFS: {"Key": "test", "Value": "test"}, ], ) - filesystem = EFS(self.set_mocked_audit_info()) + filesystem = EFS(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])) assert len(filesystem.filesystems) == 1 assert filesystem.filesystems[0].id == efs["FileSystemId"] assert filesystem.filesystems[0].encrypted == efs["Encrypted"] @@ -121,7 +125,7 @@ class Test_EFS: efs = efs_client.create_file_system( CreationToken=creation_token, Encrypted=True ) - filesystem = EFS(self.set_mocked_audit_info()) + filesystem = EFS(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])) assert len(filesystem.filesystems) == 1 assert filesystem.filesystems[0].id == efs["FileSystemId"] assert filesystem.filesystems[0].encrypted == efs["Encrypted"] diff --git a/tests/providers/aws/services/eks/eks_service_test.py b/tests/providers/aws/services/eks/eks_service_test.py index ec52e85a82..73f0a2e473 100644 --- a/tests/providers/aws/services/eks/eks_service_test.py +++ b/tests/providers/aws/services/eks/eks_service_test.py @@ -6,6 +6,10 @@ 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_REGION_EU_WEST_1, + set_mocked_aws_audit_info, +) AWS_ACCOUNT_NUMBER = "123456789012" AWS_REGION = "eu-west-1" @@ -27,7 +31,6 @@ def mock_generate_regional_clients(service, audit_info, _): new=mock_generate_regional_clients, ) class Test_EKS_Service: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -60,20 +63,20 @@ class Test_EKS_Service: # Test EKS Service def test_service(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) eks = EKS(audit_info) assert eks.service == "eks" # Test EKS client def test_client(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) eks = EKS(audit_info) for reg_client in eks.regional_clients.values(): assert reg_client.__class__.__name__ == "EKS" # Test EKS session def test__get_session__(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) eks = EKS(audit_info) assert eks.session.__class__.__name__ == "Session" @@ -103,7 +106,7 @@ class Test_EKS_Service: roleArn=f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:role/eks-service-role-AWSServiceRoleForAmazonEKS-J7ONKE3BQ4PI", tags={"test": "test"}, ) - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) eks = EKS(audit_info) assert len(eks.clusters) == 1 assert eks.clusters[0].name == cluster_name @@ -157,7 +160,7 @@ class Test_EKS_Service: }, ], ) - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) eks = EKS(audit_info) assert len(eks.clusters) == 1 assert eks.clusters[0].name == cluster_name 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 ae917ba8aa..776fb58918 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 @@ -8,6 +8,10 @@ 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_REGION_EU_WEST_1, + set_mocked_aws_audit_info, +) from tests.providers.aws.services.elasticache.elasticache_service_test import ( AWS_REGION_AZ1, AWS_REGION_AZ2, @@ -72,7 +76,7 @@ class Test_elasticache_cluster_uses_public_subnet: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.elasticache.elasticache_service.ElastiCache", new=elasticache_service, @@ -140,7 +144,7 @@ class Test_elasticache_cluster_uses_public_subnet: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.elasticache.elasticache_service.ElastiCache", new=elasticache_service, @@ -217,7 +221,7 @@ class Test_elasticache_cluster_uses_public_subnet: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.elasticache.elasticache_service.ElastiCache", new=elasticache_service, diff --git a/tests/providers/aws/services/elasticache/elasticache_service_test.py b/tests/providers/aws/services/elasticache/elasticache_service_test.py index e41853da91..af7204783e 100644 --- a/tests/providers/aws/services/elasticache/elasticache_service_test.py +++ b/tests/providers/aws/services/elasticache/elasticache_service_test.py @@ -8,6 +8,10 @@ from prowler.providers.aws.services.elasticache.elasticache_service import ( ElastiCache, ) 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_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" @@ -95,7 +99,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: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -128,31 +131,31 @@ class Test_ElastiCache_Service: # Test ElastiCache Service def test_service(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) elasticache = ElastiCache(audit_info) assert elasticache.service == "elasticache" # Test ElastiCache Client] def test_client(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) elasticache = ElastiCache(audit_info) assert elasticache.client.__class__.__name__ == "ElastiCache" # Test ElastiCache Session def test__get_session__(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) elasticache = ElastiCache(audit_info) assert elasticache.session.__class__.__name__ == "Session" # Test ElastiCache Session def test_audited_account(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) elasticache = ElastiCache(audit_info) assert elasticache.audited_account == AWS_ACCOUNT_NUMBER # Test ElastiCache Clusters def test_describe_cache_clusters(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) elasticache = ElastiCache(audit_info) assert len(elasticache.clusters) == 1 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 7a4c31bec8..b0c7ddd87f 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 @@ -1,11 +1,13 @@ 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_elb -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" @@ -15,47 +17,16 @@ elb_arn = ( class Test_elb_insecure_ssl_ciphers: - 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_elb def test_elb_no_balancers(self): from prowler.providers.aws.services.elb.elb_service import ELB with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.elb.elb_insecure_ssl_ciphers.elb_insecure_ssl_ciphers.elb_client", - new=ELB(self.set_mocked_audit_info()), + new=ELB(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ): # Test Check from prowler.providers.aws.services.elb.elb_insecure_ssl_ciphers.elb_insecure_ssl_ciphers import ( @@ -99,10 +70,10 @@ class Test_elb_insecure_ssl_ciphers: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.elb.elb_insecure_ssl_ciphers.elb_insecure_ssl_ciphers.elb_client", - new=ELB(self.set_mocked_audit_info()), + new=ELB(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ): from prowler.providers.aws.services.elb.elb_insecure_ssl_ciphers.elb_insecure_ssl_ciphers import ( elb_insecure_ssl_ciphers, @@ -145,10 +116,10 @@ class Test_elb_insecure_ssl_ciphers: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.elb.elb_insecure_ssl_ciphers.elb_insecure_ssl_ciphers.elb_client", - new=ELB(self.set_mocked_audit_info()), + new=ELB(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ): from prowler.providers.aws.services.elb.elb_insecure_ssl_ciphers.elb_insecure_ssl_ciphers import ( elb_insecure_ssl_ciphers, 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 0a6d38d3db..3d1c5c0624 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 @@ -1,11 +1,13 @@ 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_elb -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" @@ -15,47 +17,16 @@ elb_arn = ( class Test_elb_request_smugling: - 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_elb def test_elb_no_balancers(self): from prowler.providers.aws.services.elb.elb_service import ELB with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.elb.elb_internet_facing.elb_internet_facing.elb_client", - new=ELB(self.set_mocked_audit_info()), + new=ELB(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ): # Test Check from prowler.providers.aws.services.elb.elb_internet_facing.elb_internet_facing import ( @@ -92,10 +63,10 @@ class Test_elb_request_smugling: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.elb.elb_internet_facing.elb_internet_facing.elb_client", - new=ELB(self.set_mocked_audit_info()), + new=ELB(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ): from prowler.providers.aws.services.elb.elb_internet_facing.elb_internet_facing import ( elb_internet_facing, @@ -138,10 +109,10 @@ class Test_elb_request_smugling: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.elb.elb_internet_facing.elb_internet_facing.elb_client", - new=ELB(self.set_mocked_audit_info()), + new=ELB(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ): from prowler.providers.aws.services.elb.elb_internet_facing.elb_internet_facing import ( elb_internet_facing, 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 784a1b6a21..c922403e44 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 @@ -1,11 +1,13 @@ 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_elb -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" @@ -15,47 +17,16 @@ elb_arn = ( class Test_elb_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_elb def test_elb_no_balancers(self): from prowler.providers.aws.services.elb.elb_service import ELB with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.elb.elb_logging_enabled.elb_logging_enabled.elb_client", - new=ELB(self.set_mocked_audit_info()), + new=ELB(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ): # Test Check from prowler.providers.aws.services.elb.elb_logging_enabled.elb_logging_enabled import ( @@ -92,10 +63,10 @@ class Test_elb_logging_enabled: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.elb.elb_logging_enabled.elb_logging_enabled.elb_client", - new=ELB(self.set_mocked_audit_info()), + new=ELB(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ): from prowler.providers.aws.services.elb.elb_logging_enabled.elb_logging_enabled import ( elb_logging_enabled, @@ -150,10 +121,10 @@ class Test_elb_logging_enabled: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.elb.elb_logging_enabled.elb_logging_enabled.elb_client", - new=ELB(self.set_mocked_audit_info()), + new=ELB(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ): from prowler.providers.aws.services.elb.elb_logging_enabled.elb_logging_enabled import ( elb_logging_enabled, diff --git a/tests/providers/aws/services/elb/elb_service_test.py b/tests/providers/aws/services/elb/elb_service_test.py index 51c21c06cf..d008d2fd66 100644 --- a/tests/providers/aws/services/elb/elb_service_test.py +++ b/tests/providers/aws/services/elb/elb_service_test.py @@ -4,13 +4,16 @@ 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_REGION_EU_WEST_1, + set_mocked_aws_audit_info, +) AWS_ACCOUNT_NUMBER = "123456789012" AWS_REGION = "us-east-1" class Test_ELB_Service: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -45,7 +48,7 @@ class Test_ELB_Service: @mock_elb def test_service(self): # ELB client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) elb = ELB(audit_info) assert elb.service == "elb" @@ -53,7 +56,7 @@ class Test_ELB_Service: @mock_elb def test_client(self): # ELB client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) elb = ELB(audit_info) for regional_client in elb.regional_clients.values(): assert regional_client.__class__.__name__ == "ElasticLoadBalancing" @@ -62,7 +65,7 @@ class Test_ELB_Service: @mock_elb def test__get_session__(self): # ELB client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) elb = ELB(audit_info) assert elb.session.__class__.__name__ == "Session" @@ -88,7 +91,7 @@ class Test_ELB_Service: SecurityGroups=[security_group.id], ) # ELB client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) elb = ELB(audit_info) assert len(elb.loadbalancers) == 1 assert elb.loadbalancers[0].name == "my-lb" @@ -133,7 +136,7 @@ class Test_ELB_Service: }, ) # ELB client for this test class - audit_info = self.set_mocked_audit_info() + 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 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 885ba09aa2..00367013e1 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 @@ -1,11 +1,13 @@ 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_elb -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" @@ -15,47 +17,16 @@ elb_arn = ( class Test_elb_ssl_listeners: - 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_elb def test_elb_no_balancers(self): from prowler.providers.aws.services.elb.elb_service import ELB with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.elb.elb_ssl_listeners.elb_ssl_listeners.elb_client", - new=ELB(self.set_mocked_audit_info()), + new=ELB(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ): # Test Check from prowler.providers.aws.services.elb.elb_ssl_listeners.elb_ssl_listeners import ( @@ -92,10 +63,10 @@ class Test_elb_ssl_listeners: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.elb.elb_ssl_listeners.elb_ssl_listeners.elb_client", - new=ELB(self.set_mocked_audit_info()), + new=ELB(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ): from prowler.providers.aws.services.elb.elb_ssl_listeners.elb_ssl_listeners import ( elb_ssl_listeners, @@ -136,10 +107,10 @@ class Test_elb_ssl_listeners: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.elb.elb_ssl_listeners.elb_ssl_listeners.elb_client", - new=ELB(self.set_mocked_audit_info()), + new=ELB(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ): from prowler.providers.aws.services.elb.elb_ssl_listeners.elb_ssl_listeners import ( elb_ssl_listeners, 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 500647b3f1..6c5affba3a 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 @@ -1,58 +1,29 @@ 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_deletion_protection: - 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_elbv2 def test_elb_no_balancers(self): from prowler.providers.aws.services.elbv2.elbv2_service import ELBv2 with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.elbv2.elbv2_deletion_protection.elbv2_deletion_protection.elbv2_client", - new=ELBv2(self.set_mocked_audit_info()), + new=ELBv2(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ): # Test Check from prowler.providers.aws.services.elbv2.elbv2_deletion_protection.elbv2_deletion_protection import ( @@ -100,10 +71,10 @@ class Test_elbv2_deletion_protection: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.elbv2.elbv2_deletion_protection.elbv2_deletion_protection.elbv2_client", - new=ELBv2(self.set_mocked_audit_info()), + new=ELBv2(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ): from prowler.providers.aws.services.elbv2.elbv2_deletion_protection.elbv2_deletion_protection import ( elbv2_deletion_protection, @@ -156,10 +127,10 @@ class Test_elbv2_deletion_protection: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.elbv2.elbv2_deletion_protection.elbv2_deletion_protection.elbv2_client", - new=ELBv2(self.set_mocked_audit_info()), + new=ELBv2(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ): from prowler.providers.aws.services.elbv2.elbv2_deletion_protection.elbv2_deletion_protection import ( elbv2_deletion_protection, 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 23cf23f5b7..34a3e25022 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 @@ -6,6 +6,10 @@ 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" @@ -49,10 +53,10 @@ class Test_elbv2_desync_mitigation_mode: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.elbv2.elbv2_desync_mitigation_mode.elbv2_desync_mitigation_mode.elbv2_client", - new=ELBv2(self.set_mocked_audit_info()), + new=ELBv2(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ): # Test Check from prowler.providers.aws.services.elbv2.elbv2_desync_mitigation_mode.elbv2_desync_mitigation_mode import ( @@ -104,10 +108,10 @@ class Test_elbv2_desync_mitigation_mode: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.elbv2.elbv2_desync_mitigation_mode.elbv2_desync_mitigation_mode.elbv2_client", - new=ELBv2(self.set_mocked_audit_info()), + new=ELBv2(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ): from prowler.providers.aws.services.elbv2.elbv2_desync_mitigation_mode.elbv2_desync_mitigation_mode import ( elbv2_desync_mitigation_mode, @@ -165,10 +169,10 @@ class Test_elbv2_desync_mitigation_mode: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.elbv2.elbv2_desync_mitigation_mode.elbv2_desync_mitigation_mode.elbv2_client", - new=ELBv2(self.set_mocked_audit_info()), + new=ELBv2(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ): from prowler.providers.aws.services.elbv2.elbv2_desync_mitigation_mode.elbv2_desync_mitigation_mode import ( elbv2_desync_mitigation_mode, @@ -221,10 +225,10 @@ class Test_elbv2_desync_mitigation_mode: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.elbv2.elbv2_desync_mitigation_mode.elbv2_desync_mitigation_mode.elbv2_client", - new=ELBv2(self.set_mocked_audit_info()), + new=ELBv2(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ): from prowler.providers.aws.services.elbv2.elbv2_desync_mitigation_mode.elbv2_desync_mitigation_mode import ( elbv2_desync_mitigation_mode, 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 d5aadac008..a33307fe62 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 @@ -1,58 +1,29 @@ 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_insecure_ssl_ciphers: - 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_elbv2 def test_elb_no_balancers(self): from prowler.providers.aws.services.elbv2.elbv2_service import ELBv2 with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.elbv2.elbv2_insecure_ssl_ciphers.elbv2_insecure_ssl_ciphers.elbv2_client", - new=ELBv2(self.set_mocked_audit_info()), + new=ELBv2(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ): # Test Check from prowler.providers.aws.services.elbv2.elbv2_insecure_ssl_ciphers.elbv2_insecure_ssl_ciphers import ( @@ -117,10 +88,10 @@ class Test_elbv2_insecure_ssl_ciphers: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.elbv2.elbv2_insecure_ssl_ciphers.elbv2_insecure_ssl_ciphers.elbv2_client", - new=ELBv2(self.set_mocked_audit_info()), + new=ELBv2(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ): from prowler.providers.aws.services.elbv2.elbv2_insecure_ssl_ciphers.elbv2_insecure_ssl_ciphers import ( elbv2_insecure_ssl_ciphers, @@ -189,10 +160,10 @@ class Test_elbv2_insecure_ssl_ciphers: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.elbv2.elbv2_insecure_ssl_ciphers.elbv2_insecure_ssl_ciphers.elbv2_client", - new=ELBv2(self.set_mocked_audit_info()), + new=ELBv2(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ): from prowler.providers.aws.services.elbv2.elbv2_insecure_ssl_ciphers.elbv2_insecure_ssl_ciphers import ( elbv2_insecure_ssl_ciphers, 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 f0e513e656..c211a9ea83 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 @@ -1,58 +1,29 @@ 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_internet_facing: - 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_elbv2 def test_elb_no_balancers(self): from prowler.providers.aws.services.elbv2.elbv2_service import ELBv2 with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.elbv2.elbv2_internet_facing.elbv2_internet_facing.elbv2_client", - new=ELBv2(self.set_mocked_audit_info()), + new=ELBv2(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ): # Test Check from prowler.providers.aws.services.elbv2.elbv2_internet_facing.elbv2_internet_facing import ( @@ -93,10 +64,10 @@ class Test_elbv2_internet_facing: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.elbv2.elbv2_internet_facing.elbv2_internet_facing.elbv2_client", - new=ELBv2(self.set_mocked_audit_info()), + new=ELBv2(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ): from prowler.providers.aws.services.elbv2.elbv2_internet_facing.elbv2_internet_facing import ( elbv2_internet_facing, @@ -142,10 +113,10 @@ class Test_elbv2_internet_facing: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.elbv2.elbv2_internet_facing.elbv2_internet_facing.elbv2_client", - new=ELBv2(self.set_mocked_audit_info()), + new=ELBv2(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ): from prowler.providers.aws.services.elbv2.elbv2_internet_facing.elbv2_internet_facing import ( elbv2_internet_facing, 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 02b724fab7..f095a34d5f 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 @@ -1,58 +1,29 @@ 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_listeners_underneath: - 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_elbv2 def test_elb_no_balancers(self): from prowler.providers.aws.services.elbv2.elbv2_service import ELBv2 with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.elbv2.elbv2_listeners_underneath.elbv2_listeners_underneath.elbv2_client", - new=ELBv2(self.set_mocked_audit_info()), + new=ELBv2(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ): # Test Check from prowler.providers.aws.services.elbv2.elbv2_listeners_underneath.elbv2_listeners_underneath import ( @@ -93,10 +64,10 @@ class Test_elbv2_listeners_underneath: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.elbv2.elbv2_listeners_underneath.elbv2_listeners_underneath.elbv2_client", - new=ELBv2(self.set_mocked_audit_info()), + new=ELBv2(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ): from prowler.providers.aws.services.elbv2.elbv2_listeners_underneath.elbv2_listeners_underneath import ( elbv2_listeners_underneath, @@ -164,10 +135,10 @@ class Test_elbv2_listeners_underneath: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.elbv2.elbv2_listeners_underneath.elbv2_listeners_underneath.elbv2_client", - new=ELBv2(self.set_mocked_audit_info()), + new=ELBv2(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ): from prowler.providers.aws.services.elbv2.elbv2_listeners_underneath.elbv2_listeners_underneath import ( elbv2_listeners_underneath, 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 144c517450..ee6a9ee69d 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 @@ -1,58 +1,29 @@ 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_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_elbv2 def test_elb_no_balancers(self): from prowler.providers.aws.services.elbv2.elbv2_service import ELBv2 with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.elbv2.elbv2_logging_enabled.elbv2_logging_enabled.elbv2_client", - new=ELBv2(self.set_mocked_audit_info()), + new=ELBv2(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ): # Test Check from prowler.providers.aws.services.elbv2.elbv2_logging_enabled.elbv2_logging_enabled import ( @@ -103,10 +74,10 @@ class Test_elbv2_logging_enabled: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.elbv2.elbv2_logging_enabled.elbv2_logging_enabled.elbv2_client", - new=ELBv2(self.set_mocked_audit_info()), + new=ELBv2(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ): from prowler.providers.aws.services.elbv2.elbv2_logging_enabled.elbv2_logging_enabled import ( elbv2_logging_enabled, @@ -162,10 +133,10 @@ class Test_elbv2_logging_enabled: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.elbv2.elbv2_logging_enabled.elbv2_logging_enabled.elbv2_client", - new=ELBv2(self.set_mocked_audit_info()), + new=ELBv2(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ): from prowler.providers.aws.services.elbv2.elbv2_logging_enabled.elbv2_logging_enabled import ( elbv2_logging_enabled, diff --git a/tests/providers/aws/services/elbv2/elbv2_service_test.py b/tests/providers/aws/services/elbv2/elbv2_service_test.py index 5760ba2e0d..1911d216fd 100644 --- a/tests/providers/aws/services/elbv2/elbv2_service_test.py +++ b/tests/providers/aws/services/elbv2/elbv2_service_test.py @@ -4,13 +4,16 @@ 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: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -45,7 +48,7 @@ class Test_ELBv2_Service: @mock_elbv2 def test_service(self): # ELBv2 client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) elbv2 = ELBv2(audit_info) assert elbv2.service == "elbv2" @@ -53,7 +56,7 @@ class Test_ELBv2_Service: @mock_elbv2 def test_client(self): # ELBv2 client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) elbv2 = ELBv2(audit_info) for regional_client in elbv2.regional_clients.values(): assert regional_client.__class__.__name__ == "ElasticLoadBalancingv2" @@ -62,7 +65,7 @@ class Test_ELBv2_Service: @mock_elbv2 def test__get_session__(self): # ELBv2 client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) elbv2 = ELBv2(audit_info) assert elbv2.session.__class__.__name__ == "Session" @@ -91,7 +94,7 @@ class Test_ELBv2_Service: Scheme="internal", )["LoadBalancers"][0] # ELBv2 client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) elbv2 = ELBv2(audit_info) assert len(elbv2.loadbalancersv2) == 1 assert elbv2.loadbalancersv2[0].name == "my-lb" @@ -140,7 +143,7 @@ class Test_ELBv2_Service: ], ) # ELBv2 client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) elbv2 = ELBv2(audit_info) assert len(elbv2.loadbalancersv2[0].listeners) == 1 assert elbv2.loadbalancersv2[0].listeners[0].protocol == "HTTP" @@ -184,7 +187,7 @@ class Test_ELBv2_Service: ], ) # ELBv2 client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) elbv2 = ELBv2(audit_info) assert len(elbv2.loadbalancersv2) == 1 assert elbv2.loadbalancersv2[0].desync_mitigation_mode == "defensive" @@ -233,7 +236,7 @@ class Test_ELBv2_Service: DefaultActions=actions, ) # ELBv2 client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) elbv2 = ELBv2(audit_info) assert len(elbv2.loadbalancersv2) == 1 assert elbv2.loadbalancersv2[0].listeners[0].rules[0].actions == actions 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 e20ab90add..8630ff6984 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 @@ -1,58 +1,29 @@ 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_ssl_listeners: - 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_elbv2 def test_elb_no_balancers(self): from prowler.providers.aws.services.elbv2.elbv2_service import ELBv2 with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.elbv2.elbv2_ssl_listeners.elbv2_ssl_listeners.elbv2_client", - new=ELBv2(self.set_mocked_audit_info()), + new=ELBv2(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ): # Test Check from prowler.providers.aws.services.elbv2.elbv2_ssl_listeners.elbv2_ssl_listeners import ( @@ -115,10 +86,10 @@ class Test_elbv2_ssl_listeners: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.elbv2.elbv2_ssl_listeners.elbv2_ssl_listeners.elbv2_client", - new=ELBv2(self.set_mocked_audit_info()), + new=ELBv2(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ): from prowler.providers.aws.services.elbv2.elbv2_ssl_listeners.elbv2_ssl_listeners import ( elbv2_ssl_listeners, @@ -186,10 +157,10 @@ class Test_elbv2_ssl_listeners: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.elbv2.elbv2_ssl_listeners.elbv2_ssl_listeners.elbv2_client", - new=ELBv2(self.set_mocked_audit_info()), + new=ELBv2(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ): from prowler.providers.aws.services.elbv2.elbv2_ssl_listeners.elbv2_ssl_listeners import ( elbv2_ssl_listeners, @@ -250,10 +221,10 @@ class Test_elbv2_ssl_listeners: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.elbv2.elbv2_ssl_listeners.elbv2_ssl_listeners.elbv2_client", - new=ELBv2(self.set_mocked_audit_info()), + new=ELBv2(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ): from prowler.providers.aws.services.elbv2.elbv2_ssl_listeners.elbv2_ssl_listeners import ( elbv2_ssl_listeners, 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 cb5379b111..d543dd97d5 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 @@ -2,11 +2,13 @@ from re import search from unittest import mock import botocore -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.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" @@ -34,37 +36,6 @@ def mock_make_api_call(self, operation_name, kwarg): class Test_elbv2_waf_acl_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, - ), - 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_wafv2 @mock_elbv2 def test_elb_no_balancers(self): @@ -74,16 +45,16 @@ class Test_elbv2_waf_acl_attached: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.elbv2.elbv2_waf_acl_attached.elbv2_waf_acl_attached.elbv2_client", - new=ELBv2(self.set_mocked_audit_info()), + new=ELBv2(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ), mock.patch( "prowler.providers.aws.services.elbv2.elbv2_waf_acl_attached.elbv2_waf_acl_attached.wafv2_client", - new=WAFv2(self.set_mocked_audit_info()), + new=WAFv2(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ), mock.patch( "prowler.providers.aws.services.elbv2.elbv2_waf_acl_attached.elbv2_waf_acl_attached.waf_client", - new=WAF(self.set_mocked_audit_info()), + new=WAF(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ): # Test Check from prowler.providers.aws.services.elbv2.elbv2_waf_acl_attached.elbv2_waf_acl_attached import ( @@ -137,16 +108,16 @@ class Test_elbv2_waf_acl_attached: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.elbv2.elbv2_waf_acl_attached.elbv2_waf_acl_attached.elbv2_client", - new=ELBv2(self.set_mocked_audit_info()), + new=ELBv2(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ), mock.patch( "prowler.providers.aws.services.elbv2.elbv2_waf_acl_attached.elbv2_waf_acl_attached.wafv2_client", - new=WAFv2(self.set_mocked_audit_info()), + new=WAFv2(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ), mock.patch( "prowler.providers.aws.services.elbv2.elbv2_waf_acl_attached.elbv2_waf_acl_attached.waf_client", - new=WAF(self.set_mocked_audit_info()), + new=WAF(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ): # Test Check from prowler.providers.aws.services.elbv2.elbv2_waf_acl_attached.elbv2_waf_acl_attached import ( @@ -209,17 +180,17 @@ class Test_elbv2_waf_acl_attached: with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.elbv2.elbv2_waf_acl_attached.elbv2_waf_acl_attached.elbv2_client", - new=ELBv2(self.set_mocked_audit_info()), + new=ELBv2(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ), mock.patch( "prowler.providers.aws.services.elbv2.elbv2_waf_acl_attached.elbv2_waf_acl_attached.wafv2_client", - new=WAFv2(self.set_mocked_audit_info()), + new=WAFv2(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ) as service_client: with mock.patch( "prowler.providers.aws.services.elbv2.elbv2_waf_acl_attached.elbv2_waf_acl_attached.waf_client", - new=WAF(self.set_mocked_audit_info()), + new=WAF(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ): # Test Check from prowler.providers.aws.services.elbv2.elbv2_waf_acl_attached.elbv2_waf_acl_attached import ( 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 01498aa4f8..a95de75fff 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 @@ -8,12 +8,15 @@ 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: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -113,10 +116,10 @@ class Test_emr_cluster_publicly_accesible: new=emr_client, ), mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - self.set_mocked_audit_info(), + set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.emr.emr_cluster_publicly_accesible.emr_cluster_publicly_accesible.ec2_client", - new=EC2(self.set_mocked_audit_info()), + new=EC2(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ): # Test Check from prowler.providers.aws.services.emr.emr_cluster_publicly_accesible.emr_cluster_publicly_accesible import ( @@ -179,10 +182,10 @@ class Test_emr_cluster_publicly_accesible: new=emr_client, ), mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - self.set_mocked_audit_info(), + set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.emr.emr_cluster_publicly_accesible.emr_cluster_publicly_accesible.ec2_client", - new=EC2(self.set_mocked_audit_info()), + new=EC2(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ): # Test Check from prowler.providers.aws.services.emr.emr_cluster_publicly_accesible.emr_cluster_publicly_accesible import ( @@ -262,10 +265,10 @@ class Test_emr_cluster_publicly_accesible: new=emr_client, ), mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - self.set_mocked_audit_info(), + set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.emr.emr_cluster_publicly_accesible.emr_cluster_publicly_accesible.ec2_client", - new=EC2(self.set_mocked_audit_info()), + new=EC2(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ): # Test Check from prowler.providers.aws.services.emr.emr_cluster_publicly_accesible.emr_cluster_publicly_accesible import ( @@ -348,10 +351,10 @@ class Test_emr_cluster_publicly_accesible: new=emr_client, ), mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - self.set_mocked_audit_info(), + set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.emr.emr_cluster_publicly_accesible.emr_cluster_publicly_accesible.ec2_client", - new=EC2(self.set_mocked_audit_info()), + new=EC2(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ): # Test Check from prowler.providers.aws.services.emr.emr_cluster_publicly_accesible.emr_cluster_publicly_accesible import ( @@ -431,10 +434,10 @@ class Test_emr_cluster_publicly_accesible: new=emr_client, ), mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - self.set_mocked_audit_info(), + set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.emr.emr_cluster_publicly_accesible.emr_cluster_publicly_accesible.ec2_client", - new=EC2(self.set_mocked_audit_info()), + new=EC2(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ): # Test Check from prowler.providers.aws.services.emr.emr_cluster_publicly_accesible.emr_cluster_publicly_accesible import ( diff --git a/tests/providers/aws/services/emr/emr_service_test.py b/tests/providers/aws/services/emr/emr_service_test.py index 6a4cc8accf..e942d32b7f 100644 --- a/tests/providers/aws/services/emr/emr_service_test.py +++ b/tests/providers/aws/services/emr/emr_service_test.py @@ -9,6 +9,10 @@ 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" @@ -83,19 +87,19 @@ class Test_EMR_Service: # Test EMR Client @mock_emr def test__get_client__(self): - emr = EMR(self.set_mocked_audit_info()) + emr = EMR(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])) assert emr.regional_clients[AWS_REGION].__class__.__name__ == "EMR" # Test EMR Session @mock_emr def test__get_session__(self): - emr = EMR(self.set_mocked_audit_info()) + emr = EMR(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])) assert emr.session.__class__.__name__ == "Session" # Test EMR Service @mock_emr def test__get_service__(self): - emr = EMR(self.set_mocked_audit_info()) + emr = EMR(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])) assert emr.service == "emr" # Test __list_clusters__ and __describe_cluster__ @@ -123,7 +127,7 @@ class Test_EMR_Service: ) cluster_id = emr_client.run_job_flow(**run_job_flow_args)["JobFlowId"] # EMR Class - emr = EMR(self.set_mocked_audit_info()) + emr = EMR(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])) assert len(emr.clusters) == 1 assert emr.clusters[cluster_id].id == cluster_id @@ -145,7 +149,7 @@ class Test_EMR_Service: @mock_emr def test__get_block_public_access_configuration__(self): - emr = EMR(self.set_mocked_audit_info()) + emr = EMR(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])) assert len(emr.block_public_access_configuration) == 1 assert emr.block_public_access_configuration[ diff --git a/tests/providers/aws/services/fms/fms_service_test.py b/tests/providers/aws/services/fms/fms_service_test.py index 6d432db454..22cdf1ebc3 100644 --- a/tests/providers/aws/services/fms/fms_service_test.py +++ b/tests/providers/aws/services/fms/fms_service_test.py @@ -7,6 +7,10 @@ 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" @@ -65,7 +69,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: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -97,17 +100,17 @@ class Test_FMS_Service: return audit_info def test__get_client__(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) fms = FMS(audit_info) assert fms.client.__class__.__name__ == "FMS" def test__get_service__(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) fms = FMS(audit_info) assert fms.service == "fms" def test__list_policies__(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) fms = FMS(audit_info) assert len(fms.fms_policies) == 1 assert fms.fms_admin_account is True @@ -123,7 +126,7 @@ class Test_FMS_Service: ) def test__list_compliance_status__(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) fms = FMS(audit_info) assert len(fms.fms_policies) == 1 assert fms.fms_policies[0].compliance_status[0].status == "COMPLIANT" diff --git a/tests/providers/aws/services/glacier/glacier_service_test.py b/tests/providers/aws/services/glacier/glacier_service_test.py index 8c8a3f63a6..24ecd009f3 100644 --- a/tests/providers/aws/services/glacier/glacier_service_test.py +++ b/tests/providers/aws/services/glacier/glacier_service_test.py @@ -2,12 +2,13 @@ import json from unittest.mock import patch import botocore -from boto3 import session from moto.core import DEFAULT_ACCOUNT_ID -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info from prowler.providers.aws.services.glacier.glacier_service import Glacier -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" @@ -77,55 +78,24 @@ def mock_generate_regional_clients(service, audit_info, _): new=mock_generate_regional_clients, ) class Test_Glacier_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", "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 - # Test Glacier Client def test__get_client__(self): - glacier = Glacier(self.set_mocked_audit_info()) + glacier = Glacier(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])) assert glacier.regional_clients[AWS_REGION].__class__.__name__ == "Glacier" # Test Glacier Session def test__get_session__(self): - glacier = Glacier(self.set_mocked_audit_info()) + glacier = Glacier(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])) assert glacier.session.__class__.__name__ == "Session" # Test Glacier Service def test__get_service__(self): - glacier = Glacier(self.set_mocked_audit_info()) + glacier = Glacier(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])) assert glacier.service == "glacier" def test__list_vaults__(self): # Set partition for the service - glacier = Glacier(self.set_mocked_audit_info()) + glacier = Glacier(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])) vault_name = "examplevault" assert len(glacier.vaults) == 1 assert glacier.vaults[TEST_VAULT_ARN] @@ -139,7 +109,7 @@ class Test_Glacier_Service: def test__get_vault_access_policy__(self): # Set partition for the service - glacier = Glacier(self.set_mocked_audit_info()) + glacier = Glacier(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])) vault_name = "examplevault" assert len(glacier.vaults) == 1 assert glacier.vaults[TEST_VAULT_ARN] diff --git a/tests/providers/aws/services/globalaccelerator/globalaccelerator_service_test.py b/tests/providers/aws/services/globalaccelerator/globalaccelerator_service_test.py index 9e0f076d0d..bfc95b1601 100644 --- a/tests/providers/aws/services/globalaccelerator/globalaccelerator_service_test.py +++ b/tests/providers/aws/services/globalaccelerator/globalaccelerator_service_test.py @@ -8,6 +8,10 @@ from prowler.providers.aws.services.globalaccelerator.globalaccelerator_service 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" @@ -50,7 +54,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: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -84,27 +87,27 @@ class Test_GlobalAccelerator_Service: # Test GlobalAccelerator Service def test_service(self): # GlobalAccelerator client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) globalaccelerator = GlobalAccelerator(audit_info) assert globalaccelerator.service == "globalaccelerator" # Test GlobalAccelerator Client def test_client(self): # GlobalAccelerator client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) globalaccelerator = GlobalAccelerator(audit_info) assert globalaccelerator.client.__class__.__name__ == "GlobalAccelerator" # Test GlobalAccelerator Session def test__get_session__(self): # GlobalAccelerator client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) globalaccelerator = GlobalAccelerator(audit_info) assert globalaccelerator.session.__class__.__name__ == "Session" def test__list_accelerators__(self): # GlobalAccelerator client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) globalaccelerator = GlobalAccelerator(audit_info) accelerator_name = "TestAccelerator" 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 f1750d05cb..77b91c8f2f 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 @@ -5,13 +5,16 @@ 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: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -46,7 +49,7 @@ class Test_glue_data_catalogs_connection_passwords_encryption_enabled: def test_glue_no_settings(self): glue_client = mock.MagicMock - glue_client.audit_info = self.set_mocked_audit_info() + glue_client.audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) glue_client.catalog_encryption_settings = [] with mock.patch( @@ -65,7 +68,7 @@ class Test_glue_data_catalogs_connection_passwords_encryption_enabled: def test_glue_catalog_password_unencrypted(self): glue_client = mock.MagicMock - glue_client.audit_info = self.set_mocked_audit_info() + glue_client.audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) glue_client.catalog_encryption_settings = [ CatalogEncryptionSetting( mode="DISABLED", @@ -101,7 +104,7 @@ class Test_glue_data_catalogs_connection_passwords_encryption_enabled: def test_glue_catalog_password_unencrypted_ignoring(self): glue_client = mock.MagicMock - glue_client.audit_info = self.set_mocked_audit_info() + glue_client.audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) glue_client.catalog_encryption_settings = [ CatalogEncryptionSetting( mode="DISABLED", @@ -130,7 +133,7 @@ class Test_glue_data_catalogs_connection_passwords_encryption_enabled: def test_glue_catalog_password_unencrypted_ignoring_with_tables(self): glue_client = mock.MagicMock - glue_client.audit_info = self.set_mocked_audit_info() + glue_client.audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) glue_client.catalog_encryption_settings = [ CatalogEncryptionSetting( mode="DISABLED", @@ -166,7 +169,7 @@ class Test_glue_data_catalogs_connection_passwords_encryption_enabled: def test_glue_catalog_encrypted(self): glue_client = mock.MagicMock - glue_client.audit_info = self.set_mocked_audit_info() + glue_client.audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) glue_client.catalog_encryption_settings = [ CatalogEncryptionSetting( mode="DISABLED", 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 6adddca894..4d35f8e4cf 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 @@ -6,13 +6,16 @@ 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: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -47,7 +50,7 @@ class Test_glue_data_catalogs_metadata_encryption_enabled: def test_glue_no_settings(self): glue_client = mock.MagicMock - glue_client.audit_info = self.set_mocked_audit_info() + glue_client.audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) glue_client.catalog_encryption_settings = [] with mock.patch( @@ -66,7 +69,7 @@ class Test_glue_data_catalogs_metadata_encryption_enabled: def test_glue_catalog_unencrypted(self): glue_client = mock.MagicMock - glue_client.audit_info = self.set_mocked_audit_info() + glue_client.audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) glue_client.catalog_encryption_settings = [ CatalogEncryptionSetting( mode="disabled.", @@ -102,7 +105,7 @@ class Test_glue_data_catalogs_metadata_encryption_enabled: def test_glue_catalog_unencrypted_ignoring(self): glue_client = mock.MagicMock - glue_client.audit_info = self.set_mocked_audit_info() + glue_client.audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) glue_client.catalog_encryption_settings = [ CatalogEncryptionSetting( mode="disabled.", @@ -132,7 +135,7 @@ class Test_glue_data_catalogs_metadata_encryption_enabled: def test_glue_catalog_unencrypted_ignoring_with_tables(self): glue_client = mock.MagicMock - glue_client.audit_info = self.set_mocked_audit_info() + glue_client.audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) glue_client.catalog_encryption_settings = [ CatalogEncryptionSetting( mode="disabled.", @@ -169,7 +172,7 @@ class Test_glue_data_catalogs_metadata_encryption_enabled: def test_glue_catalog_encrypted(self): glue_client = mock.MagicMock - glue_client.audit_info = self.set_mocked_audit_info() + glue_client.audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) glue_client.catalog_encryption_settings = [ CatalogEncryptionSetting( mode="SSE-KMS", diff --git a/tests/providers/aws/services/glue/glue_service_test.py b/tests/providers/aws/services/glue/glue_service_test.py index bd92ae9c65..25fe81c9d0 100644 --- a/tests/providers/aws/services/glue/glue_service_test.py +++ b/tests/providers/aws/services/glue/glue_service_test.py @@ -7,6 +7,10 @@ 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_REGION_EU_WEST_1, + set_mocked_aws_audit_info, +) AWS_ACCOUNT_NUMBER = "123456789012" AWS_REGION = "us-east-1" @@ -118,7 +122,6 @@ def mock_generate_regional_clients(service, audit_info, _): new=mock_generate_regional_clients, ) class Test_Glue_Service: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -153,7 +156,7 @@ class Test_Glue_Service: @mock_glue def test_service(self): # Glue client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) glue = Glue(audit_info) assert glue.service == "glue" @@ -161,7 +164,7 @@ class Test_Glue_Service: @mock_glue def test_client(self): # Glue client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) glue = Glue(audit_info) for regional_client in glue.regional_clients.values(): assert regional_client.__class__.__name__ == "Glue" @@ -170,7 +173,7 @@ class Test_Glue_Service: @mock_glue def test__get_session__(self): # Glue client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) glue = Glue(audit_info) assert glue.session.__class__.__name__ == "Session" @@ -178,14 +181,14 @@ class Test_Glue_Service: @mock_glue def test_audited_account(self): # Glue client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) glue = Glue(audit_info) assert glue.audited_account == AWS_ACCOUNT_NUMBER # Test Glue Search Tables @mock_glue def test__search_tables__(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) glue = Glue(audit_info) assert len(glue.tables) == 1 assert glue.tables[0].name == "table" @@ -196,7 +199,7 @@ class Test_Glue_Service: # Test Glue Get Connections @mock_glue def test__get_connections__(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) glue = Glue(audit_info) assert len(glue.connections) == 1 assert glue.connections[0].name == "connection" @@ -213,7 +216,7 @@ class Test_Glue_Service: # Test Glue Get Catalog Encryption @mock_glue def test__get_data_catalog_encryption_settings__(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) glue = Glue(audit_info) assert len(glue.catalog_encryption_settings) == 1 assert glue.catalog_encryption_settings[0].mode == "SSE-KMS" @@ -225,7 +228,7 @@ class Test_Glue_Service: # Test Glue Get Dev Endpoints @mock_glue def test__get_dev_endpoints__(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) glue = Glue(audit_info) assert len(glue.dev_endpoints) == 1 assert glue.dev_endpoints[0].name == "endpoint" @@ -235,7 +238,7 @@ class Test_Glue_Service: # Test Glue Get Security Configs @mock_glue def test__get_security_configurations__(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) glue = Glue(audit_info) assert len(glue.security_configs) == 1 assert glue.security_configs[0].name == "test" @@ -247,7 +250,7 @@ class Test_Glue_Service: # Test Glue Get Security Configs @mock_glue def test__get_jobs__(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) glue = Glue(audit_info) assert len(glue.jobs) == 1 assert glue.jobs[0].name == "job" diff --git a/tests/providers/aws/services/guardduty/guardduty_service_test.py b/tests/providers/aws/services/guardduty/guardduty_service_test.py index 28be7744b4..c510baa89f 100644 --- a/tests/providers/aws/services/guardduty/guardduty_service_test.py +++ b/tests/providers/aws/services/guardduty/guardduty_service_test.py @@ -8,6 +8,10 @@ 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_REGION_EU_WEST_1, + set_mocked_aws_audit_info, +) AWS_ACCOUNT_NUMBER_ADMIN = "123456789013" AWS_ACCOUNT_NUMBER = "123456789012" @@ -60,7 +64,6 @@ def mock_generate_regional_clients(service, audit_info, _): new=mock_generate_regional_clients, ) class Test_GuardDuty_Service: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -93,20 +96,20 @@ class Test_GuardDuty_Service: # Test GuardDuty Service def test_service(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) guardduty = GuardDuty(audit_info) assert guardduty.service == "guardduty" # Test GuardDuty client def test_client(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) guardduty = GuardDuty(audit_info) for reg_client in guardduty.regional_clients.values(): assert reg_client.__class__.__name__ == "GuardDuty" # Test GuardDuty session def test__get_session__(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) guardduty = GuardDuty(audit_info) assert guardduty.session.__class__.__name__ == "Session" @@ -116,7 +119,7 @@ class Test_GuardDuty_Service: guardduty_client = client("guardduty", region_name=AWS_REGION) response = guardduty_client.create_detector(Enable=True, Tags={"test": "test"}) - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) guardduty = GuardDuty(audit_info) assert len(guardduty.detectors) == 1 @@ -138,7 +141,7 @@ class Test_GuardDuty_Service: guardduty_client = client("guardduty", region_name=AWS_REGION) response = guardduty_client.create_detector(Enable=True) - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) guardduty = GuardDuty(audit_info) assert len(guardduty.detectors) == 1 @@ -160,7 +163,7 @@ class Test_GuardDuty_Service: guardduty_client = client("guardduty", region_name=AWS_REGION) response = guardduty_client.create_detector(Enable=True) - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) guardduty = GuardDuty(audit_info) assert len(guardduty.detectors) == 1 @@ -181,7 +184,7 @@ class Test_GuardDuty_Service: guardduty_client = client("guardduty", region_name=AWS_REGION) response = guardduty_client.create_detector(Enable=True) - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) guardduty = GuardDuty(audit_info) assert len(guardduty.detectors) == 1 @@ -203,7 +206,7 @@ class Test_GuardDuty_Service: guardduty_client = client("guardduty", region_name=AWS_REGION) response = guardduty_client.create_detector(Enable=True) - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) guardduty = GuardDuty(audit_info) assert len(guardduty.detectors) == 1 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 90a01b1048..d6323b194a 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 @@ -2,49 +2,19 @@ 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.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_administrator_access_with_mfa_test: - # Mocked Audit Info - def set_mocked_audit_info(self): - audit_info = AWS_Audit_Info( - session_config=None, - original_session=None, - audit_session=session.Session( - profile_name=None, - botocore_session=None, - 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, - ), - ) - return audit_info - @mock_iam def test_group_with_no_policies(self): iam = client("iam") @@ -54,7 +24,7 @@ class Test_iam_administrator_access_with_mfa_test: from prowler.providers.aws.services.iam.iam_service import IAM - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -97,7 +67,7 @@ class Test_iam_administrator_access_with_mfa_test: from prowler.providers.aws.services.iam.iam_service import IAM - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -135,7 +105,7 @@ class Test_iam_administrator_access_with_mfa_test: from prowler.providers.aws.services.iam.iam_service import IAM - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -175,7 +145,7 @@ class Test_iam_administrator_access_with_mfa_test: from prowler.providers.aws.services.iam.iam_service import IAM - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -239,7 +209,7 @@ class Test_iam_administrator_access_with_mfa_test: from prowler.providers.aws.services.iam.iam_service import IAM - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", 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 6af569726b..1fc757dc69 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 @@ -3,49 +3,18 @@ from csv import DictReader 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_REGION_EU_WEST_1, + set_mocked_aws_audit_info, +) AWS_ACCOUNT_NUMBER = "123456789012" AWS_REGION = "us-east-1" class Test_iam_avoid_root_usage: - # Mocked Audit Info - def set_mocked_audit_info(self): - audit_info = AWS_Audit_Info( - session_config=None, - original_session=None, - audit_session=session.Session( - profile_name=None, - botocore_session=None, - 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, - ), - ) - return audit_info - @mock_iam def test_root_not_used(self): raw_credential_report = r"""user,arn,user_creation_time,password_enabled,password_last_used,password_last_changed,password_next_rotation,mfa_active,access_key_1_active,access_key_1_last_rotated,access_key_1_last_used_date,access_key_1_last_used_region,access_key_1_last_used_service,access_key_2_active,access_key_2_last_rotated,access_key_2_last_used_date,access_key_2_last_used_region,access_key_2_last_used_service,cert_1_active,cert_1_last_rotated,cert_2_active,cert_2_last_rotated @@ -56,7 +25,7 @@ class Test_iam_avoid_root_usage: from prowler.providers.aws.services.iam.iam_service import IAM - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -96,7 +65,7 @@ class Test_iam_avoid_root_usage: from prowler.providers.aws.services.iam.iam_service import IAM - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -136,7 +105,7 @@ class Test_iam_avoid_root_usage: from prowler.providers.aws.services.iam.iam_service import IAM - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -176,7 +145,7 @@ class Test_iam_avoid_root_usage: from prowler.providers.aws.services.iam.iam_service import IAM - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -216,7 +185,7 @@ class Test_iam_avoid_root_usage: from prowler.providers.aws.services.iam.iam_service import IAM - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -256,7 +225,7 @@ class Test_iam_avoid_root_usage: from prowler.providers.aws.services.iam.iam_service import IAM - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -296,7 +265,7 @@ class Test_iam_avoid_root_usage: from prowler.providers.aws.services.iam.iam_service import IAM - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", 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 54c0a70485..404eccd450 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 @@ -1,47 +1,18 @@ 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.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_iam_aws_attached_policy_no_administrative_privileges_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=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_policy_with_administrative_privileges(self): iam_client = client("iam") @@ -52,7 +23,7 @@ class Test_iam_aws_attached_policy_no_administrative_privileges_test: iam_client.attach_role_policy( PolicyArn="arn:aws:iam::aws:policy/AdministratorAccess", RoleName="my-role" ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.iam.iam_service import IAM with mock.patch( @@ -91,7 +62,7 @@ class Test_iam_aws_attached_policy_no_administrative_privileges_test: PolicyArn="arn:aws:iam::aws:policy/IAMUserChangePassword", RoleName="my-role", ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.iam.iam_service import IAM with mock.patch( @@ -133,7 +104,7 @@ class Test_iam_aws_attached_policy_no_administrative_privileges_test: PolicyArn="arn:aws:iam::aws:policy/IAMUserChangePassword", RoleName="my-role", ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.iam.iam_service import IAM with mock.patch( 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 3f6d22cb18..4d41824928 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 @@ -1,48 +1,18 @@ 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_check_saml_providers_sts: - # Mocked Audit Info - def set_mocked_audit_info(self): - audit_info = AWS_Audit_Info( - session_config=None, - original_session=None, - audit_session=session.Session( - profile_name=None, - botocore_session=None, - 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, - ), - ) - return audit_info - @mock_iam def test_iam_check_saml_providers_sts(self): iam_client = client("iam") @@ -81,7 +51,7 @@ nTTxU4a7x1naFxzYXK1iQ1vMARKMjDb19QEJIEJKZlDK4uS7yMlf1nFS from prowler.providers.aws.services.iam.iam_service import IAM - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", 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 f7abda8f42..7eb25fcd73 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 @@ -2,47 +2,18 @@ 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.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_iam_customer_attached_policy_no_administrative_privileges_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=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_policy_administrative(self): iam_client = client("iam") @@ -60,7 +31,7 @@ class Test_iam_customer_attached_policy_no_administrative_privileges_test: PolicyName=policy_name, PolicyDocument=dumps(policy_document) )["Policy"]["Arn"] iam_client.attach_role_policy(PolicyArn=arn, RoleName="my-role") - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.iam.iam_service import IAM with mock.patch( @@ -102,7 +73,7 @@ class Test_iam_customer_attached_policy_no_administrative_privileges_test: PolicyName=policy_name, PolicyDocument=dumps(policy_document) )["Policy"]["Arn"] iam_client.attach_role_policy(PolicyArn=arn, RoleName="my-role") - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.iam.iam_service import IAM with mock.patch( @@ -159,7 +130,7 @@ class Test_iam_customer_attached_policy_no_administrative_privileges_test: PolicyArn=arn_non_administrative, RoleName="my-role" ) iam_client.attach_role_policy(PolicyArn=arn_administrative, RoleName="my-role") - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.iam.iam_service import IAM with mock.patch( 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 3f1bdfd31b..ae2448af14 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 @@ -2,47 +2,18 @@ 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.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_iam_customer_unattached_policy_no_administrative_privileges_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=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_policy_administrative(self): iam_client = client("iam") @@ -57,7 +28,7 @@ class Test_iam_customer_unattached_policy_no_administrative_privileges_test: PolicyName=policy_name, PolicyDocument=dumps(policy_document) )["Policy"]["Arn"] - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.iam.iam_service import IAM with mock.patch( @@ -96,7 +67,7 @@ class Test_iam_customer_unattached_policy_no_administrative_privileges_test: PolicyName=policy_name, PolicyDocument=dumps(policy_document) )["Policy"]["Arn"] - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.iam.iam_service import IAM with mock.patch( @@ -147,7 +118,7 @@ class Test_iam_customer_unattached_policy_no_administrative_privileges_test: PolicyDocument=dumps(policy_document_administrative), )["Policy"]["Arn"] - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.iam.iam_service import IAM with mock.patch( 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 f60b0f745e..e097c789c1 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 @@ -6,6 +6,10 @@ 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" @@ -73,7 +77,7 @@ class Test_iam_inline_policy_no_administrative_privileges: _ = iam_client.create_group(GroupName=group_name) # Audit Info - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.iam.iam_service import IAM @@ -108,7 +112,7 @@ class Test_iam_inline_policy_no_administrative_privileges: PolicyDocument=dumps(INLINE_POLICY_ADMIN), ) # Audit Info - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.iam.iam_service import IAM @@ -152,7 +156,7 @@ class Test_iam_inline_policy_no_administrative_privileges: PolicyDocument=dumps(INLINE_POLICY_NOT_ADMIN), ) # Audit Info - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.iam.iam_service import IAM @@ -204,7 +208,7 @@ class Test_iam_inline_policy_no_administrative_privileges: PolicyDocument=dumps(INLINE_POLICY_ADMIN), ) # Audit Info - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.iam.iam_service import IAM @@ -258,7 +262,7 @@ class Test_iam_inline_policy_no_administrative_privileges: ) # Audit Info - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.iam.iam_service import IAM @@ -296,7 +300,7 @@ class Test_iam_inline_policy_no_administrative_privileges: PolicyDocument=dumps(INLINE_POLICY_ADMIN), ) # Audit Info - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.iam.iam_service import IAM @@ -343,7 +347,7 @@ class Test_iam_inline_policy_no_administrative_privileges: PolicyDocument=dumps(INLINE_POLICY_NOT_ADMIN), ) # Audit Info - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.iam.iam_service import IAM @@ -397,7 +401,7 @@ class Test_iam_inline_policy_no_administrative_privileges: PolicyDocument=dumps(INLINE_POLICY_ADMIN), ) # Audit Info - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.iam.iam_service import IAM @@ -450,7 +454,7 @@ class Test_iam_inline_policy_no_administrative_privileges: ) # Audit Info - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.iam.iam_service import IAM @@ -487,7 +491,7 @@ class Test_iam_inline_policy_no_administrative_privileges: PolicyDocument=dumps(INLINE_POLICY_ADMIN), ) # Audit Info - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.iam.iam_service import IAM @@ -533,7 +537,7 @@ class Test_iam_inline_policy_no_administrative_privileges: PolicyDocument=dumps(INLINE_POLICY_NOT_ADMIN), ) # Audit Info - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.iam.iam_service import IAM @@ -586,7 +590,7 @@ class Test_iam_inline_policy_no_administrative_privileges: PolicyDocument=dumps(INLINE_POLICY_ADMIN), ) # Audit Info - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.iam.iam_service import IAM 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 bc1b02023b..a1ffcf6789 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 @@ -2,49 +2,19 @@ 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.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_no_custom_policy_permissive_role_assumption: - # Mocked Audit Info - def set_mocked_audit_info(self): - audit_info = AWS_Audit_Info( - session_config=None, - original_session=None, - audit_session=session.Session( - profile_name=None, - botocore_session=None, - 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, - ), - ) - return audit_info - @mock_iam def test_policy_allows_permissive_role_assumption_wildcard(self): iam_client = client("iam") @@ -61,7 +31,7 @@ class Test_iam_no_custom_policy_permissive_role_assumption: from prowler.providers.aws.services.iam.iam_service import IAM - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -101,7 +71,7 @@ class Test_iam_no_custom_policy_permissive_role_assumption: from prowler.providers.aws.services.iam.iam_service import IAM - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -145,7 +115,7 @@ class Test_iam_no_custom_policy_permissive_role_assumption: from prowler.providers.aws.services.iam.iam_service import IAM - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -185,7 +155,7 @@ class Test_iam_no_custom_policy_permissive_role_assumption: from prowler.providers.aws.services.iam.iam_service import IAM - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -237,7 +207,7 @@ class Test_iam_no_custom_policy_permissive_role_assumption: from prowler.providers.aws.services.iam.iam_service import IAM - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", 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 368a4863b5..ccab115cb9 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 @@ -1,54 +1,24 @@ 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.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_no_expired_server_certificates_stored_test: - # Mocked Audit Info - def set_mocked_audit_info(self): - audit_info = AWS_Audit_Info( - session_config=None, - original_session=None, - audit_session=session.Session( - profile_name=None, - botocore_session=None, - 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, - ), - ) - return audit_info - @mock_iam def test_no_certificates(self): from prowler.providers.aws.services.iam.iam_service import IAM - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -79,7 +49,7 @@ class Test_iam_no_expired_server_certificates_stored_test: from prowler.providers.aws.services.iam.iam_service import IAM - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", 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 87e83e2177..7660282f33 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 @@ -1,49 +1,19 @@ 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.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_no_root_access_key_test: - # Mocked Audit Info - def set_mocked_audit_info(self): - audit_info = AWS_Audit_Info( - session_config=None, - original_session=None, - audit_session=session.Session( - profile_name=None, - botocore_session=None, - 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, - ), - ) - return audit_info - @mock_iam def test_iam_root_no_access_keys(self): iam_client = client("iam") @@ -52,7 +22,7 @@ class Test_iam_no_root_access_key_test: from prowler.providers.aws.services.iam.iam_service import IAM - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -95,7 +65,7 @@ class Test_iam_no_root_access_key_test: from prowler.providers.aws.services.iam.iam_service import IAM - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -138,7 +108,7 @@ class Test_iam_no_root_access_key_test: from prowler.providers.aws.services.iam.iam_service import IAM - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -181,7 +151,7 @@ class Test_iam_no_root_access_key_test: from prowler.providers.aws.services.iam.iam_service import IAM - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", 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 cd0cc93016..1c54e46fbb 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 @@ -6,6 +6,10 @@ 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" @@ -13,7 +17,6 @@ AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" class Test_iam_password_policy_expires_passwords_within_90_days_or_less: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -49,7 +52,7 @@ class Test_iam_password_policy_expires_passwords_within_90_days_or_less: def test_password_expiration_lower_90(self): from prowler.providers.aws.services.iam.iam_service import IAM, PasswordPolicy - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -91,7 +94,7 @@ class Test_iam_password_policy_expires_passwords_within_90_days_or_less: def test_password_expiration_greater_90(self): from prowler.providers.aws.services.iam.iam_service import IAM, PasswordPolicy - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -133,7 +136,7 @@ class Test_iam_password_policy_expires_passwords_within_90_days_or_less: def test_password_expiration_just_90(self): from prowler.providers.aws.services.iam.iam_service import IAM, PasswordPolicy - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", 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 547f82da67..ed261c9d7a 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 @@ -1,11 +1,13 @@ 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.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" @@ -13,37 +15,6 @@ AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" class Test_iam_password_policy_lowercase: - 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_iam def test_iam_password_policy_no_lowercase_flag(self): iam_client = client("iam") @@ -52,7 +23,7 @@ class Test_iam_password_policy_lowercase: from prowler.providers.aws.services.iam.iam_service import IAM - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -86,7 +57,7 @@ class Test_iam_password_policy_lowercase: from prowler.providers.aws.services.iam.iam_service import IAM - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", 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 6f6a4727b7..3e4afefb59 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 @@ -1,11 +1,13 @@ 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.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" @@ -13,37 +15,6 @@ AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" class Test_iam_password_policy_minimum_length_14: - 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_iam def test_iam_password_policy_minimum_length_equal_14(self): iam_client = client("iam") @@ -52,7 +23,7 @@ class Test_iam_password_policy_minimum_length_14: from prowler.providers.aws.services.iam.iam_service import IAM - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -86,7 +57,7 @@ class Test_iam_password_policy_minimum_length_14: from prowler.providers.aws.services.iam.iam_service import IAM - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -120,7 +91,7 @@ class Test_iam_password_policy_minimum_length_14: from prowler.providers.aws.services.iam.iam_service import IAM - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", 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 2b3b1770a5..bcdd369128 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 @@ -1,11 +1,13 @@ 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.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" @@ -13,37 +15,6 @@ AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" class Test_iam_password_policy_number: - 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_iam def test_iam_password_policy_no_number_flag(self): iam_client = client("iam") @@ -52,7 +23,7 @@ class Test_iam_password_policy_number: from prowler.providers.aws.services.iam.iam_service import IAM - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -86,7 +57,7 @@ class Test_iam_password_policy_number: from prowler.providers.aws.services.iam.iam_service import IAM - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", 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 33bc631a2e..6804ed866a 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 @@ -1,10 +1,12 @@ 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" @@ -12,44 +14,13 @@ AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" class Test_iam_password_policy_reuse_24: - 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_iam def test_iam_password_policy_reuse_prevention_equal_24(self): iam_client = client("iam") # update password policy iam_client.update_account_password_policy(PasswordReusePrevention=24) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.iam.iam_service import IAM with mock.patch( @@ -82,7 +53,7 @@ class Test_iam_password_policy_reuse_24: # update password policy iam_client.update_account_password_policy(PasswordReusePrevention=20) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.iam.iam_service import IAM with mock.patch( 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 b652ab6ff7..28241b1491 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 @@ -1,11 +1,13 @@ 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.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" @@ -13,37 +15,6 @@ AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" class Test_iam_password_policy_symbol: - 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_iam def test_iam_password_policy_no_symbol_flag(self): iam_client = client("iam") @@ -52,7 +23,7 @@ class Test_iam_password_policy_symbol: from prowler.providers.aws.services.iam.iam_service import IAM - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -86,7 +57,7 @@ class Test_iam_password_policy_symbol: from prowler.providers.aws.services.iam.iam_service import IAM - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", 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 767c46e428..3178a5f459 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 @@ -1,10 +1,12 @@ 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" @@ -12,44 +14,13 @@ AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" class Test_iam_password_policy_uppercase: - 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_iam def test_iam_password_policy_no_uppercase_flag(self): iam_client = client("iam") # update password policy iam_client.update_account_password_policy(RequireUppercaseCharacters=False) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.iam.iam_service import IAM with mock.patch( @@ -82,7 +53,7 @@ class Test_iam_password_policy_uppercase: # update password policy iam_client.update_account_password_policy(RequireUppercaseCharacters=True) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.iam.iam_service import IAM with mock.patch( 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 1b32aabd07..cbd0820e63 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 @@ -2,11 +2,13 @@ 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.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" @@ -84,37 +86,6 @@ privilege_escalation_policies_combination = { class Test_iam_policy_allows_privilege_escalation: - 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_iam # def test_iam_policy_allows_privilege_escalation_sts(self): # iam_client = client("iam", region_name=AWS_REGION) @@ -129,7 +100,9 @@ class Test_iam_policy_allows_privilege_escalation: # PolicyName=policy_name, PolicyDocument=dumps(policy_document) # )["Policy"]["Arn"] - # current_audit_info = self.set_mocked_audit_info() + # current_audit_info = set_mocked_aws_audit_info( + # [AWS_REGION_EU_WEST_1] + # ) # from prowler.providers.aws.services.iam.iam_service import IAM # with mock.patch( @@ -171,7 +144,7 @@ class Test_iam_policy_allows_privilege_escalation: PolicyName=policy_name, PolicyDocument=dumps(policy_document) )["Policy"]["Arn"] - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.iam.iam_service import IAM with mock.patch( @@ -219,7 +192,7 @@ class Test_iam_policy_allows_privilege_escalation: PolicyName=policy_name, PolicyDocument=dumps(policy_document) )["Policy"]["Arn"] - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.iam.iam_service import IAM with mock.patch( @@ -278,7 +251,7 @@ class Test_iam_policy_allows_privilege_escalation: PolicyName=policy_name, PolicyDocument=dumps(policy_document) )["Policy"]["Arn"] - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.iam.iam_service import IAM with mock.patch( @@ -333,7 +306,7 @@ class Test_iam_policy_allows_privilege_escalation: PolicyName=policy_name, PolicyDocument=dumps(policy_document) )["Policy"]["Arn"] - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.iam.iam_service import IAM with mock.patch( @@ -384,7 +357,7 @@ class Test_iam_policy_allows_privilege_escalation: PolicyName=policy_name, PolicyDocument=dumps(policy_document) )["Policy"]["Arn"] - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.iam.iam_service import IAM with mock.patch( @@ -453,7 +426,7 @@ class Test_iam_policy_allows_privilege_escalation: PolicyName=policy_name, PolicyDocument=dumps(policy_document) )["Policy"]["Arn"] - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.iam.iam_service import IAM with mock.patch( @@ -511,7 +484,7 @@ class Test_iam_policy_allows_privilege_escalation: PolicyName=policy_name, PolicyDocument=dumps(policy_document) )["Policy"]["Arn"] - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.iam.iam_service import IAM with mock.patch( @@ -545,7 +518,7 @@ class Test_iam_policy_allows_privilege_escalation: def test_iam_policy_allows_privilege_escalation_policies_combination( self, ): - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) iam_client = client("iam", region_name=AWS_REGION) policy_name = "privileged_policy" for values in privilege_escalation_policies_combination.values(): @@ -604,7 +577,7 @@ class Test_iam_policy_allows_privilege_escalation: def test_iam_policy_allows_privilege_escalation_two_policies_one_good_one_bad( self, ): - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) iam_client = client("iam", region_name=AWS_REGION) policy_name_1 = "privileged_policy_1" policy_document_1 = { @@ -697,7 +670,7 @@ class Test_iam_policy_allows_privilege_escalation: def test_iam_policy_allows_privilege_escalation_two_bad_policies( self, ): - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) iam_client = client("iam", region_name=AWS_REGION) policy_name_1 = "privileged_policy_1" policy_document_1 = { @@ -802,7 +775,7 @@ class Test_iam_policy_allows_privilege_escalation: def test_iam_policy_allows_privilege_escalation_over_permissive_policy( self, ): - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) iam_client = client("iam", region_name=AWS_REGION) policy_name_1 = "privileged_policy_1" policy_document_1 = { @@ -868,7 +841,7 @@ class Test_iam_policy_allows_privilege_escalation: def test_iam_policy_allows_privilege_escalation_administrator_policy( self, ): - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) iam_client = client("iam", region_name=AWS_REGION) policy_name_1 = "privileged_policy_1" policy_document_1 = { @@ -926,7 +899,7 @@ class Test_iam_policy_allows_privilege_escalation: def test_iam_policy_allows_privilege_escalation_iam_put( self, ): - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) iam_client = client("iam", region_name=AWS_REGION) policy_name_1 = "privileged_policy_1" policy_document_1 = { @@ -979,7 +952,7 @@ class Test_iam_policy_allows_privilege_escalation: def test_iam_policy_allows_privilege_escalation_iam_wildcard( self, ): - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) iam_client = client("iam", region_name=AWS_REGION) policy_name_1 = "privileged_policy_1" policy_document_1 = { @@ -1032,7 +1005,7 @@ class Test_iam_policy_allows_privilege_escalation: def test_iam_policy_not_allows_privilege_escalation_custom_policy( self, ): - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) iam_client = client("iam", region_name=AWS_REGION) policy_name_1 = "privileged_policy_1" policy_document_1 = { 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 ef45039a6b..1ac988b339 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 @@ -6,6 +6,10 @@ 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 = "eu-west-1" @@ -61,7 +65,7 @@ class Test_iam_policy_attached_only_to_group_or_roles: )["Policy"]["Arn"] iam_client.attach_user_policy(UserName=user, PolicyArn=policyArn) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.iam.iam_service import IAM with mock.patch( @@ -110,7 +114,7 @@ class Test_iam_policy_attached_only_to_group_or_roles: )["Policy"]["Arn"] iam_client.attach_user_policy(UserName=user, PolicyArn=policyArn) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.iam.iam_service import IAM with mock.patch( @@ -164,7 +168,7 @@ class Test_iam_policy_attached_only_to_group_or_roles: UserName=user, PolicyName=policyName, PolicyDocument=dumps(policyDocument) ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.iam.iam_service import IAM with mock.patch( @@ -199,7 +203,7 @@ class Test_iam_policy_attached_only_to_group_or_roles: user = "test_no_policies" iam_client.create_user(UserName=user) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.iam.iam_service import IAM with mock.patch( 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 8d7515c171..97f68d10ef 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 @@ -7,10 +7,13 @@ 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, +) class Test_iam_policy_no_full_access_to_cloudtrail: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -43,7 +46,7 @@ class Test_iam_policy_no_full_access_to_cloudtrail: @mock_iam def test_policy_full_access_to_cloudtrail(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) iam_client = client("iam") policy_name = "policy_cloudtrail_full" policy_document_full_access = { @@ -82,7 +85,7 @@ class Test_iam_policy_no_full_access_to_cloudtrail: @mock_iam def test_policy_no_full_access_to_cloudtrail(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) iam_client = client("iam") policy_name = "policy_no_cloudtrail_full" policy_document_full_access = { @@ -121,7 +124,7 @@ class Test_iam_policy_no_full_access_to_cloudtrail: @mock_iam def test_policy_mixed(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) iam_client = client("iam") policy_name = "policy_mixed" policy_document_full_access = { 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 80fdb406d7..13af4950b6 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 @@ -7,10 +7,13 @@ 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, +) class Test_iam_policy_no_full_access_to_kms: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -43,7 +46,7 @@ class Test_iam_policy_no_full_access_to_kms: @mock_iam def test_policy_full_access_to_kms(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) iam_client = client("iam") policy_name = "policy_kms_full" policy_document_full_access = { @@ -82,7 +85,7 @@ class Test_iam_policy_no_full_access_to_kms: @mock_iam def test_policy_no_full_access_to_kms(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) iam_client = client("iam") policy_name = "policy_no_kms_full" policy_document_full_access = { @@ -121,7 +124,7 @@ class Test_iam_policy_no_full_access_to_kms: @mock_iam def test_policy_mixed(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) iam_client = client("iam") policy_name = "policy_mixed" policy_document_full_access = { 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 2ccf1086e5..6d9d88ff3d 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 @@ -7,6 +7,10 @@ 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_REGION_EU_WEST_1, + set_mocked_aws_audit_info, +) AWS_REGION = "us-east-1" AWS_ACCOUNT_ID = "123456789012" @@ -48,7 +52,7 @@ class Test_iam_role_administratoraccess_policy: def test_no_roles(self): from prowler.providers.aws.services.iam.iam_service import IAM - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", new=current_audit_info, @@ -83,7 +87,7 @@ class Test_iam_role_administratoraccess_policy: AssumeRolePolicyDocument=dumps(assume_role_policy_document), ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.iam.iam_service import IAM with mock.patch( @@ -132,7 +136,7 @@ class Test_iam_role_administratoraccess_policy: PolicyArn="arn:aws:iam::aws:policy/SecurityAudit", ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.iam.iam_service import IAM with mock.patch( @@ -181,7 +185,7 @@ class Test_iam_role_administratoraccess_policy: PolicyArn="arn:aws:iam::aws:policy/AdministratorAccess", ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.iam.iam_service import IAM with mock.patch( @@ -230,7 +234,7 @@ class Test_iam_role_administratoraccess_policy: PolicyArn="arn:aws:iam::aws:policy/AdministratorAccess", ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.iam.iam_service import IAM with mock.patch( @@ -279,7 +283,7 @@ class Test_iam_role_administratoraccess_policy: ) ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", 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 4d4da90801..29856167a1 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 @@ -7,6 +7,10 @@ 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_REGION_EU_WEST_1, + set_mocked_aws_audit_info, +) AWS_REGION = "us-east-1" AWS_ACCOUNT_ID = "123456789012" @@ -48,7 +52,7 @@ class Test_iam_role_cross_account_readonlyaccess_policy: def test_no_roles(self): from prowler.providers.aws.services.iam.iam_service import IAM - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", new=current_audit_info, @@ -83,7 +87,7 @@ class Test_iam_role_cross_account_readonlyaccess_policy: AssumeRolePolicyDocument=dumps(assume_role_policy_document), ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.iam.iam_service import IAM with mock.patch( @@ -132,7 +136,7 @@ class Test_iam_role_cross_account_readonlyaccess_policy: PolicyArn="arn:aws:iam::aws:policy/ReadOnlyAccess", ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.iam.iam_service import IAM with mock.patch( @@ -181,7 +185,7 @@ class Test_iam_role_cross_account_readonlyaccess_policy: PolicyArn="arn:aws:iam::aws:policy/ReadOnlyAccess", ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.iam.iam_service import IAM with mock.patch( @@ -230,7 +234,7 @@ class Test_iam_role_cross_account_readonlyaccess_policy: PolicyArn="arn:aws:iam::aws:policy/ReadOnlyAccess", ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.iam.iam_service import IAM with mock.patch( @@ -279,7 +283,7 @@ class Test_iam_role_cross_account_readonlyaccess_policy: ) ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", 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 bc707dc0ee..3970791c93 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 @@ -7,6 +7,10 @@ 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_REGION_EU_WEST_1, + set_mocked_aws_audit_info, +) AWS_REGION = "us-east-1" AWS_ACCOUNT_ID = "123456789012" @@ -48,7 +52,7 @@ class Test_iam_role_cross_service_confused_deputy_prevention: def test_no_roles(self): from prowler.providers.aws.services.iam.iam_service import IAM - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) current_audit_info.audited_account = AWS_ACCOUNT_ID with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -88,7 +92,7 @@ class Test_iam_role_cross_service_confused_deputy_prevention: ) ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) current_audit_info.audited_account = AWS_ACCOUNT_ID with mock.patch( @@ -127,7 +131,7 @@ class Test_iam_role_cross_service_confused_deputy_prevention: from prowler.providers.aws.services.iam.iam_service import IAM - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) current_audit_info.audited_account = AWS_ACCOUNT_ID with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -175,7 +179,7 @@ class Test_iam_role_cross_service_confused_deputy_prevention: from prowler.providers.aws.services.iam.iam_service import IAM - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) current_audit_info.audited_account = AWS_ACCOUNT_ID with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -225,7 +229,7 @@ class Test_iam_role_cross_service_confused_deputy_prevention: from prowler.providers.aws.services.iam.iam_service import IAM - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) current_audit_info.audited_account = AWS_ACCOUNT_ID with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -275,7 +279,7 @@ class Test_iam_role_cross_service_confused_deputy_prevention: from prowler.providers.aws.services.iam.iam_service import IAM - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) current_audit_info.audited_account = AWS_ACCOUNT_ID with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -325,7 +329,7 @@ class Test_iam_role_cross_service_confused_deputy_prevention: from prowler.providers.aws.services.iam.iam_service import IAM - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) current_audit_info.audited_account = AWS_ACCOUNT_ID with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.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 d0e69821bb..d697515ccc 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 @@ -1,47 +1,18 @@ 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.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_iam_root_hardware_mfa_enabled_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=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_root_hardware_virtual_mfa_enabled(self): iam = client("iam") @@ -50,7 +21,7 @@ class Test_iam_root_hardware_mfa_enabled_test: from prowler.providers.aws.services.iam.iam_service import IAM - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -83,7 +54,7 @@ class Test_iam_root_hardware_mfa_enabled_test: from prowler.providers.aws.services.iam.iam_service import IAM - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", 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 36964460e7..83c13a6ae0 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 @@ -1,54 +1,25 @@ 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.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_iam_root_mfa_enabled_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=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_root_mfa_not_enabled(self): iam_client = client("iam") user = "test-user" iam_client.create_user(UserName=user)["User"]["Arn"] - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.iam.iam_service import IAM with mock.patch( @@ -83,7 +54,7 @@ class Test_iam_root_mfa_enabled_test: user = "test-user" iam_client.create_user(UserName=user)["User"]["Arn"] - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.iam.iam_service import IAM with mock.patch( 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 5c92d109eb..29d2826eca 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 @@ -6,6 +6,10 @@ 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" @@ -51,7 +55,7 @@ class Test_iam_rotate_access_key_90_days_test: from prowler.providers.aws.services.iam.iam_service import IAM - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -89,7 +93,7 @@ class Test_iam_rotate_access_key_90_days_test: from prowler.providers.aws.services.iam.iam_service import IAM - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -130,7 +134,7 @@ class Test_iam_rotate_access_key_90_days_test: from prowler.providers.aws.services.iam.iam_service import IAM - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -171,7 +175,7 @@ class Test_iam_rotate_access_key_90_days_test: from prowler.providers.aws.services.iam.iam_service import IAM - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -225,7 +229,7 @@ class Test_iam_rotate_access_key_90_days_test: from prowler.providers.aws.services.iam.iam_service import IAM - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", 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 76df621be5..d93286e33c 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 @@ -8,12 +8,15 @@ 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: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -46,7 +49,7 @@ class Test_iam_securityaudit_role_created: @mock_iam def test_securityaudit_role_created(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) iam = client("iam") role_name = "test_securityaudit_role_created" assume_role_policy_document = { @@ -93,7 +96,7 @@ class Test_iam_securityaudit_role_created: @mock_iam def test_no_securityaudit_role_created(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", diff --git a/tests/providers/aws/services/iam/iam_service_test.py b/tests/providers/aws/services/iam/iam_service_test.py index c8fbe0df37..f347427655 100644 --- a/tests/providers/aws/services/iam/iam_service_test.py +++ b/tests/providers/aws/services/iam/iam_service_test.py @@ -10,6 +10,10 @@ 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_REGION_EU_WEST_1, + set_mocked_aws_audit_info, +) AWS_ACCOUNT_NUMBER = "123456789012" TEST_DATETIME = "2023-01-01T12:01:01+00:00" @@ -77,7 +81,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: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -112,7 +115,7 @@ class Test_IAM_Service: @mock_iam def test__get_client__(self): # IAM client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) iam = IAM(audit_info) assert iam.client.__class__.__name__ == "IAM" @@ -120,7 +123,7 @@ class Test_IAM_Service: @mock_iam def test__get_session__(self): # IAM client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) iam = IAM(audit_info) assert iam.session.__class__.__name__ == "Session" @@ -162,7 +165,7 @@ class Test_IAM_Service: } # IAM client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) iam = IAM(audit_info) assert len(iam.credential_report) == 1 assert iam.credential_report[0].get("user") @@ -333,7 +336,7 @@ class Test_IAM_Service: )["Role"] # IAM client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) iam = IAM(audit_info) assert len(iam.roles) == len(iam_client.list_roles()["Roles"]) @@ -360,7 +363,7 @@ class Test_IAM_Service: ) # IAM client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) iam = IAM(audit_info) assert len(iam.groups) == len(iam_client.list_groups()["Groups"]) @@ -384,7 +387,7 @@ class Test_IAM_Service: ) # IAM client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) iam = IAM(audit_info) assert len(iam.users) == len(iam_client.list_users()["Users"]) assert iam.users[0].tags == [ @@ -402,7 +405,7 @@ class Test_IAM_Service: account_summary = iam_client.get_account_summary()["SummaryMap"] # IAM client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) iam = IAM(audit_info) assert iam.account_summary["SummaryMap"] == account_summary @@ -436,7 +439,7 @@ class Test_IAM_Service: ) # IAM client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) iam = IAM(audit_info) assert iam.password_policy.length == min_password_length @@ -472,7 +475,7 @@ class Test_IAM_Service: ) # IAM client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) iam = IAM(audit_info) assert len(iam.users) == 1 @@ -506,7 +509,7 @@ class Test_IAM_Service: ) # IAM client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) iam = IAM(audit_info) assert len(iam.virtual_mfa_devices) == 1 @@ -533,7 +536,7 @@ class Test_IAM_Service: iam_client.add_user_to_group(GroupName=group, UserName=username) # IAM client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) iam = IAM(audit_info) assert len(iam.groups) == 1 @@ -580,7 +583,7 @@ class Test_IAM_Service: ) # IAM client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) iam = IAM(audit_info) assert len(iam.groups) == 1 @@ -615,7 +618,7 @@ class Test_IAM_Service: ) # IAM client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) iam = IAM(audit_info) assert len(iam.roles) == 1 @@ -636,7 +639,7 @@ class Test_IAM_Service: EntityFilter="Role", )["PolicyRoles"] - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) iam = IAM(audit_info) assert len(iam.entities_role_attached_to_support_policy) == 0 @@ -667,7 +670,7 @@ class Test_IAM_Service: EntityFilter="Role", )["PolicyRoles"] - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) iam = IAM(audit_info) assert len(iam.entities_role_attached_to_support_policy) == 1 assert iam.entities_role_attached_to_support_policy[0]["RoleName"] == role_name @@ -680,7 +683,7 @@ class Test_IAM_Service: EntityFilter="Role", )["PolicyRoles"] - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) iam = IAM(audit_info) assert len(iam.entities_role_attached_to_securityaudit_policy) == 0 @@ -711,7 +714,7 @@ class Test_IAM_Service: EntityFilter="Role", )["PolicyRoles"] - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) iam = IAM(audit_info) assert len(iam.entities_role_attached_to_securityaudit_policy) == 1 assert ( @@ -736,7 +739,7 @@ class Test_IAM_Service: {"Key": "string", "Value": "string"}, ], ) - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) iam = IAM(audit_info) custom_policies = 0 for policy in iam.policies: @@ -761,7 +764,7 @@ class Test_IAM_Service: iam_client.create_policy( PolicyName=policy_name, PolicyDocument=dumps(policy_document) ) - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) iam = IAM(audit_info) custom_policies = 0 @@ -812,7 +815,7 @@ nTTxU4a7x1naFxzYXK1iQ1vMARKMjDb19QEJIEJKZlDK4uS7yMlf1nFS ) # IAM client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) iam = IAM(audit_info) assert len(iam.saml_providers) == 1 @@ -836,7 +839,7 @@ nTTxU4a7x1naFxzYXK1iQ1vMARKMjDb19QEJIEJKZlDK4uS7yMlf1nFS ) # IAM client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) iam = IAM(audit_info) assert len(iam.users) == 1 @@ -880,7 +883,7 @@ nTTxU4a7x1naFxzYXK1iQ1vMARKMjDb19QEJIEJKZlDK4uS7yMlf1nFS iam_client.delete_policy # IAM client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) iam = IAM(audit_info) assert len(iam.groups) == 1 @@ -924,7 +927,7 @@ nTTxU4a7x1naFxzYXK1iQ1vMARKMjDb19QEJIEJKZlDK4uS7yMlf1nFS ) # IAM client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) iam = IAM(audit_info) assert len(iam.roles) == 1 @@ -964,7 +967,7 @@ nTTxU4a7x1naFxzYXK1iQ1vMARKMjDb19QEJIEJKZlDK4uS7yMlf1nFS access_key = iam_client.create_access_key(UserName="test-user") access_key_id = access_key["AccessKey"]["AccessKeyId"] # IAM client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) iam = IAM(audit_info) assert len(iam.users) == 1 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 c8244f48cf..0dbf3c8037 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 @@ -2,47 +2,18 @@ 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.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_iam_support_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=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_support_role_created(self): iam = client("iam") @@ -65,7 +36,7 @@ class Test_iam_support_role_created: PolicyArn="arn:aws:iam::aws:policy/aws-service-role/AWSSupportServiceRolePolicy", ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.iam.iam_service import IAM with mock.patch( @@ -94,7 +65,7 @@ class Test_iam_support_role_created: @mock_iam def test_no_support_role_created(self): - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.iam.iam_service import IAM with mock.patch( 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 a36de6dffc..ea2f89fdd9 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 @@ -6,13 +6,16 @@ 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: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -53,7 +56,7 @@ class Test_iam_user_accesskey_unused_test: from prowler.providers.aws.services.iam.iam_service import IAM - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -97,7 +100,7 @@ class Test_iam_user_accesskey_unused_test: from prowler.providers.aws.services.iam.iam_service import IAM - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -139,7 +142,7 @@ class Test_iam_user_accesskey_unused_test: from prowler.providers.aws.services.iam.iam_service import IAM - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -181,7 +184,7 @@ class Test_iam_user_accesskey_unused_test: from prowler.providers.aws.services.iam.iam_service import IAM - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -237,7 +240,7 @@ class Test_iam_user_accesskey_unused_test: from prowler.providers.aws.services.iam.iam_service import IAM - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", 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 09ace3cf0b..da6596cd2d 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 @@ -6,13 +6,16 @@ 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: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -56,7 +59,7 @@ class Test_iam_user_console_access_unused_test: from prowler.providers.aws.services.iam.iam_service import IAM - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -94,7 +97,7 @@ class Test_iam_user_console_access_unused_test: from prowler.providers.aws.services.iam.iam_service import IAM - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -129,7 +132,7 @@ class Test_iam_user_console_access_unused_test: from prowler.providers.aws.services.iam.iam_service import IAM - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", 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 efaaf140f5..0c62e18d47 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 @@ -1,47 +1,18 @@ 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.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_iam_user_hardware_mfa_enabled_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=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_user_no_mfa_devices(self): iam_client = client("iam") @@ -50,7 +21,7 @@ class Test_iam_user_hardware_mfa_enabled_test: from prowler.providers.aws.services.iam.iam_service import IAM - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -83,7 +54,7 @@ class Test_iam_user_hardware_mfa_enabled_test: from prowler.providers.aws.services.iam.iam_service import IAM, MFADevice - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -122,7 +93,7 @@ class Test_iam_user_hardware_mfa_enabled_test: from prowler.providers.aws.services.iam.iam_service import IAM, MFADevice - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", 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 47a77d8b4c..4c0b9fbc20 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 @@ -1,56 +1,27 @@ 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" class Test_iam_user_mfa_enabled_console_access_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=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_root_user_not_password_console_enabled(self): iam_client = client("iam") user = "test-user" arn = iam_client.create_user(UserName=user)["User"]["Arn"] - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.iam.iam_service import IAM - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", new=current_audit_info, @@ -83,7 +54,7 @@ class Test_iam_user_mfa_enabled_console_access_test: from prowler.providers.aws.services.iam.iam_service import IAM - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", new=current_audit_info, @@ -116,7 +87,7 @@ class Test_iam_user_mfa_enabled_console_access_test: from prowler.providers.aws.services.iam.iam_service import IAM - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", new=current_audit_info, @@ -150,7 +121,7 @@ class Test_iam_user_mfa_enabled_console_access_test: from prowler.providers.aws.services.iam.iam_service import IAM - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) 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_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 85dc01bc4d..de32bc45db 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 @@ -2,47 +2,17 @@ from csv import DictReader 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_REGION_EU_WEST_1, + set_mocked_aws_audit_info, +) AWS_ACCOUNT_NUMBER = "123456789012" class Test_iam_user_no_setup_initial_access_key_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=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_setup_access_key_1_fail(self): raw_credential_report = r"""user,arn,user_creation_time,password_enabled,password_last_used,password_last_changed,password_next_rotation,mfa_active,access_key_1_active,access_key_1_last_rotated,access_key_1_last_used_date,access_key_1_last_used_region,access_key_1_last_used_service,access_key_2_active,access_key_2_last_rotated,access_key_2_last_used_date,access_key_2_last_used_region,access_key_2_last_used_service,cert_1_active,cert_1_last_rotated,cert_2_active,cert_2_last_rotated @@ -51,7 +21,7 @@ test_false_access_key_1,arn:aws:iam::123456789012:test_false_access_key_1,2022-0 csv_reader = DictReader(credential_lines, delimiter=",") credential_list = list(csv_reader) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.iam.iam_service import IAM with mock.patch( @@ -80,7 +50,7 @@ test_false_access_key_2,arn:aws:iam::123456789012:test_false_access_key_2,2022-0 csv_reader = DictReader(credential_lines, delimiter=",") credential_list = list(csv_reader) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.iam.iam_service import IAM with mock.patch( @@ -109,7 +79,7 @@ test_false_both_access_keys,arn:aws:iam::123456789012:test_false_both_access_key csv_reader = DictReader(credential_lines, delimiter=",") credential_list = list(csv_reader) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.iam.iam_service import IAM with mock.patch( @@ -140,7 +110,7 @@ test_pass,arn:aws:iam::123456789012:test_pass,2022-02-17T14:59:38+00:00,not_supp csv_reader = DictReader(credential_lines, delimiter=",") credential_list = list(csv_reader) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.iam.iam_service import IAM with mock.patch( 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 4aabe2c3ba..08ad076ac3 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 @@ -1,47 +1,18 @@ 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.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_iam_user_two_active_access_key: - 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_iam def test_iam_user_two_active_access_key(self): # Create IAM Mocked Resources @@ -55,7 +26,7 @@ class Test_iam_user_two_active_access_key: from prowler.providers.aws.services.iam.iam_service import IAM - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -94,7 +65,7 @@ class Test_iam_user_two_active_access_key: from prowler.providers.aws.services.iam.iam_service import IAM - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -129,7 +100,7 @@ class Test_iam_user_two_active_access_key: from prowler.providers.aws.services.iam.iam_service import IAM - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -159,7 +130,7 @@ class Test_iam_user_two_active_access_key: def test_iam_no_users(self): from prowler.providers.aws.services.iam.iam_service import IAM - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", 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 c0adeefc24..67d639a270 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 @@ -9,6 +9,10 @@ from prowler.providers.aws.services.inspector2.inspector2_service import ( InspectorFinding, ) 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_ID = "123456789012" @@ -54,10 +58,10 @@ class Test_inspector2_findings_exist: awslambda_client = mock.MagicMock ecr_client = mock.MagicMock ec2_client = mock.MagicMock - ec2_client.audit_info = self.set_mocked_audit_info() - ecr_client.audit_info = self.set_mocked_audit_info() - awslambda_client.audit_info = self.set_mocked_audit_info() - inspector2_client.audit_info = self.set_mocked_audit_info() + ec2_client.audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) + 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 @@ -66,7 +70,7 @@ class Test_inspector2_findings_exist: id=AWS_ACCOUNT_ID, status="DISABLED", region=AWS_REGION, findings=[] ) ] - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -115,10 +119,10 @@ class Test_inspector2_findings_exist: awslambda_client = mock.MagicMock ecr_client = mock.MagicMock ec2_client = mock.MagicMock - ec2_client.audit_info = self.set_mocked_audit_info() - ecr_client.audit_info = self.set_mocked_audit_info() - awslambda_client.audit_info = self.set_mocked_audit_info() - inspector2_client.audit_info = self.set_mocked_audit_info() + ec2_client.audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) + 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 @@ -127,7 +131,7 @@ class Test_inspector2_findings_exist: id=AWS_ACCOUNT_ID, status="ENABLED", region=AWS_REGION, findings=[] ) ] - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -176,10 +180,10 @@ class Test_inspector2_findings_exist: awslambda_client = mock.MagicMock ecr_client = mock.MagicMock ec2_client = mock.MagicMock - ec2_client.audit_info = self.set_mocked_audit_info() - ecr_client.audit_info = self.set_mocked_audit_info() - awslambda_client.audit_info = self.set_mocked_audit_info() - inspector2_client.audit_info = self.set_mocked_audit_info() + ec2_client.audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) + 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 @@ -199,7 +203,7 @@ class Test_inspector2_findings_exist: ], ) ] - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -248,10 +252,10 @@ class Test_inspector2_findings_exist: awslambda_client = mock.MagicMock ecr_client = mock.MagicMock ec2_client = mock.MagicMock - ec2_client.audit_info = self.set_mocked_audit_info() - ecr_client.audit_info = self.set_mocked_audit_info() - awslambda_client.audit_info = self.set_mocked_audit_info() - inspector2_client.audit_info = self.set_mocked_audit_info() + ec2_client.audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) + 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 @@ -271,7 +275,7 @@ class Test_inspector2_findings_exist: ], ) ] - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -320,10 +324,10 @@ class Test_inspector2_findings_exist: awslambda_client = mock.MagicMock ecr_client = mock.MagicMock ec2_client = mock.MagicMock - ec2_client.audit_info = self.set_mocked_audit_info() - ecr_client.audit_info = self.set_mocked_audit_info() - awslambda_client.audit_info = self.set_mocked_audit_info() - inspector2_client.audit_info = self.set_mocked_audit_info() + ec2_client.audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) + 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 @@ -350,7 +354,7 @@ class Test_inspector2_findings_exist: ], ) ] - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -404,10 +408,10 @@ class Test_inspector2_findings_exist: ecr_client.registries[AWS_REGION].repositories = [] ec2_client = mock.MagicMock ec2_client.instances = [] - ec2_client.audit_info = self.set_mocked_audit_info() - ecr_client.audit_info = self.set_mocked_audit_info() - awslambda_client.audit_info = self.set_mocked_audit_info() - inspector2_client.audit_info = self.set_mocked_audit_info() + ec2_client.audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) + 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.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" @@ -417,7 +421,7 @@ class Test_inspector2_findings_exist: id=AWS_ACCOUNT_ID, status="DISABLED", region=AWS_REGION, findings=[] ) ] - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -487,10 +491,10 @@ class Test_inspector2_findings_exist: ] ec2_client = mock.MagicMock ec2_client.instances = [] - ec2_client.audit_info = self.set_mocked_audit_info() - ecr_client.audit_info = self.set_mocked_audit_info() - awslambda_client.audit_info = self.set_mocked_audit_info() - inspector2_client.audit_info = self.set_mocked_audit_info() + ec2_client.audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) + 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.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" @@ -500,7 +504,7 @@ class Test_inspector2_findings_exist: id=AWS_ACCOUNT_ID, status="DISABLED", region=AWS_REGION, findings=[] ) ] - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", diff --git a/tests/providers/aws/services/inspector2/inspector2_service_test.py b/tests/providers/aws/services/inspector2/inspector2_service_test.py index a24f496423..87797c6898 100644 --- a/tests/providers/aws/services/inspector2/inspector2_service_test.py +++ b/tests/providers/aws/services/inspector2/inspector2_service_test.py @@ -2,11 +2,12 @@ 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.inspector2.inspector2_service import Inspector2 -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_ID = "123456789012" @@ -82,51 +83,20 @@ def mock_generate_regional_clients(service, audit_info, _): new=mock_generate_regional_clients, ) class Test_Inspector2_Service: - # Mocked Audit Info - def set_mocked_audit_info(self): - audit_info = AWS_Audit_Info( - session_config=None, - original_session=None, - audit_session=session.Session( - profile_name=None, - botocore_session=None, - ), - audited_account=AWS_ACCOUNT_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=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 = self.set_mocked_audit_info() + 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" ) def test__get_service__(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) inspector2 = Inspector2(audit_info) assert inspector2.service == "inspector2" def test__batch_get_account_status__(self): - audit_info = self.set_mocked_audit_info() + 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 @@ -134,7 +104,7 @@ class Test_Inspector2_Service: assert inspector2.inspectors[0].status == "ENABLED" def test__list_findings__(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) inspector2 = Inspector2(audit_info) assert len(inspector2.inspectors[0].findings) == 1 assert inspector2.inspectors[0].findings[0].arn == FINDING_ARN 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 f0399d966b..0565b38854 100644 --- a/tests/providers/aws/services/kms/kms_cmk_are_used/kms_cmk_are_used_test.py +++ b/tests/providers/aws/services/kms/kms_cmk_are_used/kms_cmk_are_used_test.py @@ -1,52 +1,23 @@ from unittest import mock -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.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_kms_cmk_are_used: - def set_mocked_audit_info(self): - audit_info = AWS_Audit_Info( - session_config=None, - original_session=None, - audit_session=session.Session( - profile_name=None, - botocore_session=None, - ), - audited_account=AWS_ACCOUNT_NUMBER, - audited_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_kms def test_kms_no_keys(self): from prowler.providers.aws.services.kms.kms_service import KMS - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -74,7 +45,7 @@ class Test_kms_cmk_are_used: from prowler.providers.aws.services.kms.kms_service import KMS - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -107,7 +78,7 @@ class Test_kms_cmk_are_used: from prowler.providers.aws.services.kms.kms_service import KMS - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -143,7 +114,7 @@ class Test_kms_cmk_are_used: from prowler.providers.aws.services.kms.kms_service import KMS - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", diff --git a/tests/providers/aws/services/kms/kms_cmk_rotation_enabled/kms_cmk_rotation_enabled_test.py b/tests/providers/aws/services/kms/kms_cmk_rotation_enabled/kms_cmk_rotation_enabled_test.py index a8ae1c2b91..11b8b4c6e2 100644 --- a/tests/providers/aws/services/kms/kms_cmk_rotation_enabled/kms_cmk_rotation_enabled_test.py +++ b/tests/providers/aws/services/kms/kms_cmk_rotation_enabled/kms_cmk_rotation_enabled_test.py @@ -1,52 +1,23 @@ from unittest import mock -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.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_kms_cmk_rotation_enabled: - def set_mocked_audit_info(self): - audit_info = AWS_Audit_Info( - session_config=None, - original_session=None, - audit_session=session.Session( - profile_name=None, - botocore_session=None, - ), - audited_account=AWS_ACCOUNT_NUMBER, - audited_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_kms def test_kms_no_key(self): from prowler.providers.aws.services.kms.kms_service import KMS - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -75,7 +46,7 @@ class Test_kms_cmk_rotation_enabled: from prowler.providers.aws.services.kms.kms_service import KMS - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -110,7 +81,7 @@ class Test_kms_cmk_rotation_enabled: from prowler.providers.aws.services.kms.kms_service import KMS - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", diff --git a/tests/providers/aws/services/kms/kms_key_not_publicly_accessible/kms_key_not_publicly_accessible_test.py b/tests/providers/aws/services/kms/kms_key_not_publicly_accessible/kms_key_not_publicly_accessible_test.py index 5d4f3f5d84..f97c1116d7 100644 --- a/tests/providers/aws/services/kms/kms_key_not_publicly_accessible/kms_key_not_publicly_accessible_test.py +++ b/tests/providers/aws/services/kms/kms_key_not_publicly_accessible/kms_key_not_publicly_accessible_test.py @@ -1,53 +1,24 @@ import json from unittest import mock -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.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_kms_key_not_publicly_accessible: - def set_mocked_audit_info(self): - audit_info = AWS_Audit_Info( - session_config=None, - original_session=None, - audit_session=session.Session( - profile_name=None, - botocore_session=None, - ), - audited_account=AWS_ACCOUNT_NUMBER, - audited_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_kms def test_no_kms_keys(self): from prowler.providers.aws.services.kms.kms_service import KMS - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -75,7 +46,7 @@ class Test_kms_key_not_publicly_accessible: from prowler.providers.aws.services.kms.kms_service import KMS - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -126,7 +97,7 @@ class Test_kms_key_not_publicly_accessible: from prowler.providers.aws.services.kms.kms_service import KMS - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -176,7 +147,7 @@ class Test_kms_key_not_publicly_accessible: from prowler.providers.aws.services.kms.kms_service import KMS - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", diff --git a/tests/providers/aws/services/kms/kms_service_test.py b/tests/providers/aws/services/kms/kms_service_test.py index 9d1904f294..85b774f4c4 100644 --- a/tests/providers/aws/services/kms/kms_service_test.py +++ b/tests/providers/aws/services/kms/kms_service_test.py @@ -6,13 +6,16 @@ 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_REGION_EU_WEST_1, + set_mocked_aws_audit_info, +) AWS_ACCOUNT_NUMBER = "123456789012" AWS_REGION = "us-east-1" class Test_ACM_Service: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -47,7 +50,7 @@ class Test_ACM_Service: @mock_kms def test_service(self): # KMS client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) kms = KMS(audit_info) assert kms.service == "kms" @@ -55,7 +58,7 @@ class Test_ACM_Service: @mock_kms def test_client(self): # KMS client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) kms = KMS(audit_info) for regional_client in kms.regional_clients.values(): assert regional_client.__class__.__name__ == "KMS" @@ -64,7 +67,7 @@ class Test_ACM_Service: @mock_kms def test__get_session__(self): # KMS client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) kms = KMS(audit_info) assert kms.session.__class__.__name__ == "Session" @@ -72,7 +75,7 @@ class Test_ACM_Service: @mock_kms def test_audited_account(self): # KMS client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) kms = KMS(audit_info) assert kms.audited_account == AWS_ACCOUNT_NUMBER @@ -85,7 +88,7 @@ class Test_ACM_Service: key1 = kms_client.create_key()["KeyMetadata"] key2 = kms_client.create_key()["KeyMetadata"] # KMS client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) kms = KMS(audit_info) assert len(kms.keys) == 2 assert kms.keys[0].arn == key1["Arn"] @@ -103,7 +106,7 @@ class Test_ACM_Service: ], )["KeyMetadata"] # KMS client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) kms = KMS(audit_info) assert len(kms.keys) == 1 assert kms.keys[0].arn == key1["Arn"] @@ -124,7 +127,7 @@ class Test_ACM_Service: key2 = kms_client.create_key()["KeyMetadata"] kms_client.enable_key_rotation(KeyId=key2["KeyId"]) # KMS client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) kms = KMS(audit_info) assert len(kms.keys) == 2 assert kms.keys[0].arn == key1["Arn"] @@ -171,7 +174,7 @@ class Test_ACM_Service: key1 = kms_client.create_key(Policy=default_policy)["KeyMetadata"] key2 = kms_client.create_key(Policy=public_policy)["KeyMetadata"] # KMS client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) kms = KMS(audit_info) assert len(kms.keys) == 2 assert kms.keys[0].arn == key1["Arn"] 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 2d414f4a91..8558c62f66 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 @@ -1,12 +1,13 @@ from unittest import mock -from boto3 import session from moto import mock_s3 -from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info from prowler.providers.aws.services.macie.macie_service import Session from prowler.providers.aws.services.s3.s3_service import Bucket -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" @@ -16,47 +17,15 @@ AWS_ACCOUNT_NUMBER = "123456789012" class Test_macie_is_enabled: - # Mocked Audit Info - def set_mocked_audit_info(self): - audit_info = AWS_Audit_Info( - session_config=None, - original_session=None, - audit_session=session.Session( - profile_name=None, - botocore_session=None, - 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, - ), - ) - return audit_info - @mock_s3 def test_macie_disabled(self): s3_client = mock.MagicMock - s3_client.audit_info = self.set_mocked_audit_info() + s3_client.audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) s3_client.buckets = [] s3_client.regions_with_buckets = [] macie_client = mock.MagicMock - macie_client.audit_info = self.set_mocked_audit_info() + macie_client.audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) macie_client.audited_account = AWS_ACCOUNT_NUMBER macie_client.audited_account_arn = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" macie_client.sessions = [ @@ -65,7 +34,7 @@ class Test_macie_is_enabled: region="eu-west-1", ) ] - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -93,12 +62,12 @@ class Test_macie_is_enabled: @mock_s3 def test_macie_enabled(self): s3_client = mock.MagicMock - s3_client.audit_info = self.set_mocked_audit_info() + s3_client.audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) s3_client.buckets = [] s3_client.regions_with_buckets = [] macie_client = mock.MagicMock - macie_client.audit_info = self.set_mocked_audit_info() + macie_client.audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) macie_client.audited_account = AWS_ACCOUNT_NUMBER macie_client.audited_account_arn = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" macie_client.sessions = [ @@ -107,7 +76,7 @@ class Test_macie_is_enabled: region="eu-west-1", ) ] - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -135,12 +104,12 @@ class Test_macie_is_enabled: @mock_s3 def test_macie_suspended_ignored(self): s3_client = mock.MagicMock - s3_client.audit_info = self.set_mocked_audit_info() + s3_client.audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) s3_client.buckets = [] s3_client.regions_with_buckets = [] macie_client = mock.MagicMock - macie_client.audit_info = self.set_mocked_audit_info() + macie_client.audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) macie_client.audited_account = AWS_ACCOUNT_NUMBER macie_client.audited_account_arn = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" macie_client.sessions = [ @@ -150,7 +119,7 @@ class Test_macie_is_enabled: ) ] - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) macie_client.audit_info.ignore_unused_services = True with mock.patch( @@ -177,7 +146,7 @@ class Test_macie_is_enabled: def test_macie_suspended_ignored_with_buckets(self): s3_client = mock.MagicMock s3_client.regions_with_buckets = [AWS_REGION] - s3_client.audit_info = self.set_mocked_audit_info() + s3_client.audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) s3_client.buckets = [ Bucket( name="test", @@ -187,7 +156,7 @@ class Test_macie_is_enabled: ] macie_client = mock.MagicMock - macie_client.audit_info = self.set_mocked_audit_info() + macie_client.audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) macie_client.audited_account = AWS_ACCOUNT_NUMBER macie_client.audited_account_arn = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" macie_client.sessions = [ @@ -198,7 +167,7 @@ class Test_macie_is_enabled: ] macie_client.audit_info.ignore_unused_services = True - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -228,10 +197,10 @@ class Test_macie_is_enabled: @mock_s3 def test_macie_suspended(self): s3_client = mock.MagicMock - s3_client.audit_info = self.set_mocked_audit_info() + s3_client.audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) macie_client = mock.MagicMock - macie_client.audit_info = self.set_mocked_audit_info() + macie_client.audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) macie_client.audited_account = AWS_ACCOUNT_NUMBER macie_client.audited_account_arn = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" macie_client.sessions = [ @@ -240,7 +209,7 @@ class Test_macie_is_enabled: region="eu-west-1", ) ] - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", diff --git a/tests/providers/aws/services/macie/macie_service_test.py b/tests/providers/aws/services/macie/macie_service_test.py index 590a899624..20ddfb4ccd 100644 --- a/tests/providers/aws/services/macie/macie_service_test.py +++ b/tests/providers/aws/services/macie/macie_service_test.py @@ -2,11 +2,12 @@ import datetime 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.macie.macie_service import Macie, Session -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" @@ -48,55 +49,24 @@ def mock_generate_regional_clients(service, audit_info, _): new=mock_generate_regional_clients, ) class Test_Macie_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", "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 - # Test Macie Client def test__get_client__(self): - macie = Macie(self.set_mocked_audit_info()) + macie = Macie(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])) assert macie.regional_clients[AWS_REGION].__class__.__name__ == "Macie2" # Test Macie Session def test__get_session__(self): - macie = Macie(self.set_mocked_audit_info()) + macie = Macie(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])) assert macie.session.__class__.__name__ == "Session" # Test Macie Service def test__get_service__(self): - macie = Macie(self.set_mocked_audit_info()) + macie = Macie(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])) assert macie.service == "macie2" def test__get_macie_session__(self): # Set partition for the service - macie = Macie(self.set_mocked_audit_info()) + macie = Macie(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])) macie.sessions = [ Session( status="ENABLED", 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 c7ccbf7c8e..079d499f27 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 @@ -8,6 +8,10 @@ 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_REGION_EU_WEST_1, + set_mocked_aws_audit_info, +) from tests.providers.aws.services.neptune.neptune_service_test import ( AWS_REGION_AZ1, AWS_REGION_AZ2, @@ -66,7 +70,7 @@ class Test_neptune_cluster_uses_public_subnet: vpc_client = MagicMock vpc_client.vpc_subnets = {} - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -139,7 +143,7 @@ class Test_neptune_cluster_uses_public_subnet: cluster_arn = cluster["DBClusterArn"] cluster_id = cluster["DbClusterResourceId"] - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", new=audit_info, @@ -220,7 +224,7 @@ class Test_neptune_cluster_uses_public_subnet: cluster_arn = cluster["DBClusterArn"] cluster_id = cluster["DbClusterResourceId"] - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", new=audit_info, diff --git a/tests/providers/aws/services/neptune/neptune_service_test.py b/tests/providers/aws/services/neptune/neptune_service_test.py index 33a9e92ed8..a4273d320b 100644 --- a/tests/providers/aws/services/neptune/neptune_service_test.py +++ b/tests/providers/aws/services/neptune/neptune_service_test.py @@ -6,6 +6,10 @@ 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_REGION_EU_WEST_1, + set_mocked_aws_audit_info, +) AWS_ACCOUNT_NUMBER = "123456789012" AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" @@ -80,7 +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: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -114,28 +117,28 @@ class Test_Neptune_Service: # Test Neptune Service @mock_neptune def test_service(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) neptune = Neptune(audit_info) assert neptune.service == "neptune" # Test Neptune Client] @mock_neptune def test_client(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) neptune = Neptune(audit_info) assert neptune.client.__class__.__name__ == "Neptune" # Test Neptune Session @mock_neptune def test__get_session__(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) neptune = Neptune(audit_info) assert neptune.session.__class__.__name__ == "Session" # Test Neptune Session @mock_neptune def test_audited_account(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) neptune = Neptune(audit_info) assert neptune.audited_account == AWS_ACCOUNT_NUMBER @@ -161,7 +164,7 @@ class Test_Neptune_Service: cluster_arn = cluster["DBClusterArn"] cluster_id = cluster["DbClusterResourceId"] - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) neptune = Neptune(audit_info) assert len(neptune.clusters) == 1 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 c0e28c82d5..98ce9b4cbf 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 @@ -1,13 +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.networkfirewall.networkfirewall_service import ( Firewall, ) from prowler.providers.aws.services.vpc.vpc_service import VPCs, VpcSubnet -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" @@ -19,49 +19,19 @@ POLICY_ARN = "arn:aws:network-firewall:us-east-1:123456789012:firewall-policy/my class Test_networkfirewall_in_all_vpc: - # Mocked Audit Info - def set_mocked_audit_info(self): - audit_info = AWS_Audit_Info( - session_config=None, - original_session=None, - audit_session=session.Session( - profile_name=None, - botocore_session=None, - 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, - ), - ) - return audit_info - def test_no_vpcs(self): networkfirewall_client = mock.MagicMock - networkfirewall_client.audit_info = self.set_mocked_audit_info() + networkfirewall_client.audit_info = set_mocked_aws_audit_info( + [AWS_REGION_EU_WEST_1] + ) networkfirewall_client.region = AWS_REGION networkfirewall_client.network_firewalls = [] vpc_client = mock.MagicMock - vpc_client.audit_info = self.set_mocked_audit_info() + vpc_client.audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) vpc_client.region = AWS_REGION vpc_client.vpcs = {} - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -87,7 +57,9 @@ class Test_networkfirewall_in_all_vpc: def test_vpcs_with_firewall_all(self): networkfirewall_client = mock.MagicMock - networkfirewall_client.audit_info = self.set_mocked_audit_info() + networkfirewall_client.audit_info = set_mocked_aws_audit_info( + [AWS_REGION_EU_WEST_1] + ) networkfirewall_client.region = AWS_REGION networkfirewall_client.network_firewalls = [ Firewall( @@ -101,7 +73,7 @@ class Test_networkfirewall_in_all_vpc: ) ] vpc_client = mock.MagicMock - vpc_client.audit_info = self.set_mocked_audit_info() + vpc_client.audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) vpc_client.region = AWS_REGION vpc_client.vpcs = { VPC_ID_PROTECTED: VPCs( @@ -132,7 +104,7 @@ class Test_networkfirewall_in_all_vpc: ) } - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -167,11 +139,13 @@ class Test_networkfirewall_in_all_vpc: def test_vpcs_without_firewall(self): networkfirewall_client = mock.MagicMock - networkfirewall_client.audit_info = self.set_mocked_audit_info() + networkfirewall_client.audit_info = set_mocked_aws_audit_info( + [AWS_REGION_EU_WEST_1] + ) networkfirewall_client.region = AWS_REGION networkfirewall_client.network_firewalls = [] vpc_client = mock.MagicMock - vpc_client.audit_info = self.set_mocked_audit_info() + vpc_client.audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) vpc_client.region = AWS_REGION vpc_client.vpcs = { VPC_ID_UNPROTECTED: VPCs( @@ -202,7 +176,7 @@ class Test_networkfirewall_in_all_vpc: ) } - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -237,12 +211,14 @@ class Test_networkfirewall_in_all_vpc: def test_vpcs_with_name_without_firewall(self): networkfirewall_client = mock.MagicMock - networkfirewall_client.audit_info = self.set_mocked_audit_info() + networkfirewall_client.audit_info = set_mocked_aws_audit_info( + [AWS_REGION_EU_WEST_1] + ) networkfirewall_client.region = AWS_REGION networkfirewall_client.network_firewalls = [] vpc_client = mock.MagicMock - vpc_client.audit_info = self.set_mocked_audit_info() + vpc_client.audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) vpc_client.region = AWS_REGION vpc_client.vpcs = { VPC_ID_UNPROTECTED: VPCs( @@ -273,7 +249,7 @@ class Test_networkfirewall_in_all_vpc: ) } - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -308,7 +284,9 @@ class Test_networkfirewall_in_all_vpc: def test_vpcs_with_and_without_firewall(self): networkfirewall_client = mock.MagicMock - networkfirewall_client.audit_info = self.set_mocked_audit_info() + networkfirewall_client.audit_info = set_mocked_aws_audit_info( + [AWS_REGION_EU_WEST_1] + ) networkfirewall_client.region = AWS_REGION networkfirewall_client.network_firewalls = [ Firewall( @@ -322,7 +300,7 @@ class Test_networkfirewall_in_all_vpc: ) ] vpc_client = mock.MagicMock - vpc_client.audit_info = self.set_mocked_audit_info() + vpc_client.audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) vpc_client.region = AWS_REGION vpc_client.vpcs = { VPC_ID_UNPROTECTED: VPCs( @@ -379,7 +357,7 @@ class Test_networkfirewall_in_all_vpc: ), } - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -426,11 +404,13 @@ class Test_networkfirewall_in_all_vpc: def test_vpcs_without_firewall_ignoring(self): networkfirewall_client = mock.MagicMock - networkfirewall_client.audit_info = self.set_mocked_audit_info() + networkfirewall_client.audit_info = set_mocked_aws_audit_info( + [AWS_REGION_EU_WEST_1] + ) networkfirewall_client.region = AWS_REGION networkfirewall_client.network_firewalls = [] vpc_client = mock.MagicMock - vpc_client.audit_info = self.set_mocked_audit_info() + vpc_client.audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) vpc_client.region = AWS_REGION vpc_client.vpcs = { VPC_ID_UNPROTECTED: VPCs( @@ -461,7 +441,7 @@ class Test_networkfirewall_in_all_vpc: ) } - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) vpc_client.audit_info.ignore_unused_services = True with mock.patch( @@ -488,11 +468,13 @@ class Test_networkfirewall_in_all_vpc: def test_vpcs_without_firewall_ignoring_vpc_in_use(self): networkfirewall_client = mock.MagicMock - networkfirewall_client.audit_info = self.set_mocked_audit_info() + networkfirewall_client.audit_info = set_mocked_aws_audit_info( + [AWS_REGION_EU_WEST_1] + ) networkfirewall_client.region = AWS_REGION networkfirewall_client.network_firewalls = [] vpc_client = mock.MagicMock - vpc_client.audit_info = self.set_mocked_audit_info() + vpc_client.audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) vpc_client.region = AWS_REGION vpc_client.vpcs = { VPC_ID_UNPROTECTED: VPCs( @@ -524,7 +506,7 @@ class Test_networkfirewall_in_all_vpc: ) } - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) vpc_client.audit_info.ignore_unused_services = True with mock.patch( diff --git a/tests/providers/aws/services/networkfirewall/networkfirewall_service_test.py b/tests/providers/aws/services/networkfirewall/networkfirewall_service_test.py index a7fe5a4a05..58fe96187b 100644 --- a/tests/providers/aws/services/networkfirewall/networkfirewall_service_test.py +++ b/tests/providers/aws/services/networkfirewall/networkfirewall_service_test.py @@ -8,6 +8,10 @@ from prowler.providers.aws.services.networkfirewall.networkfirewall_service impo 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" @@ -65,7 +69,6 @@ def mock_generate_regional_clients(service, audit_info, _): new=mock_generate_regional_clients, ) class Test_NetworkFirewall_Service: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -97,7 +100,7 @@ class Test_NetworkFirewall_Service: return audit_info def test__get_client__(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) networkfirewall = NetworkFirewall(audit_info) assert ( networkfirewall.regional_clients[AWS_REGION].__class__.__name__ @@ -105,12 +108,12 @@ class Test_NetworkFirewall_Service: ) def test__get_service__(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) networkfirewall = NetworkFirewall(audit_info) assert networkfirewall.service == "network-firewall" def test__list_firewalls__(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) networkfirewall = NetworkFirewall(audit_info) assert len(networkfirewall.network_firewalls) == 1 assert networkfirewall.network_firewalls[0].arn == FIREWALL_ARN @@ -118,7 +121,7 @@ class Test_NetworkFirewall_Service: assert networkfirewall.network_firewalls[0].name == FIREWALL_NAME def test__describe_firewall__(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) networkfirewall = NetworkFirewall(audit_info) assert len(networkfirewall.network_firewalls) == 1 assert networkfirewall.network_firewalls[0].arn == FIREWALL_ARN diff --git a/tests/providers/aws/services/opensearch/opensearch_service_test.py b/tests/providers/aws/services/opensearch/opensearch_service_test.py index 4e2e9f6021..720c6ee267 100644 --- a/tests/providers/aws/services/opensearch/opensearch_service_test.py +++ b/tests/providers/aws/services/opensearch/opensearch_service_test.py @@ -9,6 +9,10 @@ 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_REGION_EU_WEST_1, + set_mocked_aws_audit_info, +) AWS_ACCOUNT_NUMBER = "123456789012" AWS_REGION = "eu-west-1" @@ -104,7 +108,6 @@ def mock_generate_regional_clients(service, audit_info, _): new=mock_generate_regional_clients, ) class Test_OpenSearchService_Service: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -137,26 +140,26 @@ class Test_OpenSearchService_Service: # Test OpenSearchService Service def test_service(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) opensearch = OpenSearchService(audit_info) assert opensearch.service == "opensearch" # Test OpenSearchService_ client def test_client(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) opensearch = OpenSearchService(audit_info) for reg_client in opensearch.regional_clients.values(): assert reg_client.__class__.__name__ == "OpenSearchService" # Test OpenSearchService session def test__get_session__(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) opensearch = OpenSearchService(audit_info) assert opensearch.session.__class__.__name__ == "Session" # Test OpenSearchService list domains names def test__list_domain_names__(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) opensearch = OpenSearchService(audit_info) assert len(opensearch.opensearch_domains) == 1 assert opensearch.opensearch_domains[0].name == test_domain_name @@ -164,7 +167,7 @@ class Test_OpenSearchService_Service: # Test OpenSearchService describ domain config def test__describe_domain_config__(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) opensearch = OpenSearchService(audit_info) assert len(opensearch.opensearch_domains) == 1 assert opensearch.opensearch_domains[0].name == test_domain_name @@ -179,7 +182,7 @@ class Test_OpenSearchService_Service: # Test OpenSearchService describ domain def test__describe_domain__(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) opensearch = OpenSearchService(audit_info) assert len(opensearch.opensearch_domains) == 1 assert opensearch.opensearch_domains[0].name == test_domain_name 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 d7e2131f57..c03647ae84 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 @@ -9,6 +9,10 @@ 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" AWS_ACCOUNT_ID = "123456789012" @@ -16,7 +20,6 @@ AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_ID}:root" class Test_organizations_account_part_of_organizations: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -49,7 +52,7 @@ class Test_organizations_account_part_of_organizations: @mock_organizations def test_no_organization(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -79,7 +82,7 @@ class Test_organizations_account_part_of_organizations: @mock_organizations def test_organization(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) # Create Organization conn = client("organizations") 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 d255dd3f09..f93a9ce4a8 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 @@ -9,12 +9,15 @@ 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: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -47,7 +50,7 @@ class Test_organizations_delegated_administrators: @mock_organizations def test_no_organization(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) audit_info.audit_config = {"organizations_trusted_delegated_administrators": []} with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -69,7 +72,7 @@ class Test_organizations_delegated_administrators: @mock_organizations def test_organization_no_delegations(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) audit_info.audit_config = {"organizations_trusted_delegated_administrators": []} # Create Organization @@ -104,7 +107,7 @@ class Test_organizations_delegated_administrators: @mock_organizations def test_organization_trusted_delegated(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) # Create Organization conn = client("organizations", region_name=AWS_REGION) @@ -155,7 +158,7 @@ class Test_organizations_delegated_administrators: @mock_organizations def test_organization_untrusted_delegated(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) # Create Organization conn = client("organizations", region_name=AWS_REGION) 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 7db8596d44..a84232e733 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 @@ -9,6 +9,10 @@ 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" AWS_ACCOUNT_ID = "123456789012" @@ -20,7 +24,6 @@ def scp_restrict_regions_with_deny(): class Test_organizations_scp_check_deny_regions: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -53,7 +56,7 @@ class Test_organizations_scp_check_deny_regions: @mock_organizations def test_no_organization(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) audit_info.audit_config = {"organizations_enabled_regions": [AWS_REGION]} with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -83,7 +86,7 @@ class Test_organizations_scp_check_deny_regions: @mock_organizations def test_organization_without_scp_deny_regions(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) audit_info.audit_config = {"organizations_enabled_regions": [AWS_REGION]} # Create Organization @@ -118,7 +121,7 @@ class Test_organizations_scp_check_deny_regions: @mock_organizations def test_organization_with_scp_deny_regions_valid(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) # Create Organization conn = client("organizations", region_name=AWS_REGION) @@ -162,7 +165,7 @@ class Test_organizations_scp_check_deny_regions: @mock_organizations def test_organization_with_scp_deny_regions_not_valid(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) # Create Organization conn = client("organizations", region_name=AWS_REGION) diff --git a/tests/providers/aws/services/organizations/organizations_service_test.py b/tests/providers/aws/services/organizations/organizations_service_test.py index cc0023f262..9bc3b351a4 100644 --- a/tests/providers/aws/services/organizations/organizations_service_test.py +++ b/tests/providers/aws/services/organizations/organizations_service_test.py @@ -9,6 +9,10 @@ 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" @@ -18,7 +22,6 @@ def scp_restrict_regions_with_deny(): class Test_Organizations_Service: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -52,7 +55,7 @@ class Test_Organizations_Service: @mock_organizations def test_service(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) organizations = Organizations(audit_info) assert organizations.service == "organizations" @@ -62,7 +65,7 @@ class Test_Organizations_Service: conn = client("organizations", region_name=AWS_REGION) response = conn.create_organization() # Mock - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) organizations = Organizations(audit_info) # Tests assert len(organizations.organizations) == 1 @@ -87,7 +90,7 @@ class Test_Organizations_Service: Type="SERVICE_CONTROL_POLICY", ) # Mock - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) organizations = Organizations(audit_info) # Tests for policy in organizations.policies: 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 aba023079e..03eb87cac2 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 @@ -8,6 +8,10 @@ from prowler.providers.aws.services.organizations.organizations_service import ( Policy, ) 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_ID = "123456789012" @@ -17,7 +21,6 @@ AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_ID}:root" class Test_organizations_tags_policies_enabled_and_attached: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -61,7 +64,7 @@ class Test_organizations_tags_policies_enabled_and_attached: ) ] - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -112,7 +115,7 @@ class Test_organizations_tags_policies_enabled_and_attached: ) ] - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -166,7 +169,7 @@ class Test_organizations_tags_policies_enabled_and_attached: ) ] - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", 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 9c2b517365..da9c658f86 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 @@ -2,11 +2,13 @@ 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_REGION_EU_WEST_1, + set_mocked_aws_audit_info, +) AWS_ACCOUNT_NUMBER = "123456789012" AWS_REGION = "us-east-1" @@ -32,43 +34,11 @@ def mock_make_api_call(self, operation_name, kwarg): @mock.patch("botocore.client.BaseClient._make_api_call", new=mock_make_api_call) class Test_rds_instance_backup_enabled: - # Mocked Audit Info - def set_mocked_audit_info(self): - audit_info = AWS_Audit_Info( - session_config=None, - original_session=None, - audit_session=session.Session( - profile_name=None, - botocore_session=None, - 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, - ), - ) - return audit_info - @mock_rds def test_rds_no_instances(self): from prowler.providers.aws.services.rds.rds_service import RDS - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -101,7 +71,7 @@ class Test_rds_instance_backup_enabled: from prowler.providers.aws.services.rds.rds_service import RDS - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -148,7 +118,7 @@ class Test_rds_instance_backup_enabled: ) from prowler.providers.aws.services.rds.rds_service import RDS - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", 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 ddaadc9445..e9cc8c619a 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 @@ -2,11 +2,13 @@ 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_REGION_EU_WEST_1, + set_mocked_aws_audit_info, +) AWS_ACCOUNT_NUMBER = "123456789012" AWS_REGION = "us-east-1" @@ -32,43 +34,11 @@ def mock_make_api_call(self, operation_name, kwarg): @mock.patch("botocore.client.BaseClient._make_api_call", new=mock_make_api_call) class Test_rds_instance_deletion_protection: - # Mocked Audit Info - def set_mocked_audit_info(self): - audit_info = AWS_Audit_Info( - session_config=None, - original_session=None, - audit_session=session.Session( - profile_name=None, - botocore_session=None, - 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, - ), - ) - return audit_info - @mock_rds def test_rds_no_instances(self): from prowler.providers.aws.services.rds.rds_service import RDS - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -101,7 +71,7 @@ class Test_rds_instance_deletion_protection: from prowler.providers.aws.services.rds.rds_service import RDS - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", new=audit_info, @@ -146,7 +116,7 @@ class Test_rds_instance_deletion_protection: from prowler.providers.aws.services.rds.rds_service import RDS - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -204,7 +174,7 @@ class Test_rds_instance_deletion_protection: from prowler.providers.aws.services.rds.rds_service import RDS - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -262,7 +232,7 @@ class Test_rds_instance_deletion_protection: from prowler.providers.aws.services.rds.rds_service import RDS - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", 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 63787f4712..2b13426952 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 @@ -7,6 +7,10 @@ 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_REGION_EU_WEST_1, + set_mocked_aws_audit_info, +) AWS_ACCOUNT_NUMBER = "123456789012" AWS_REGION = "us-east-1" @@ -31,7 +35,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: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -67,7 +70,7 @@ class Test_rds_instance_deprecated_engine_version: def test_rds_no_instances(self): from prowler.providers.aws.services.rds.rds_service import RDS - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -101,7 +104,7 @@ class Test_rds_instance_deprecated_engine_version: from prowler.providers.aws.services.rds.rds_service import RDS - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -147,7 +150,7 @@ class Test_rds_instance_deprecated_engine_version: from prowler.providers.aws.services.rds.rds_service import RDS - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", 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 0472b9d95a..444a1f30c1 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 @@ -2,11 +2,13 @@ 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_REGION_EU_WEST_1, + set_mocked_aws_audit_info, +) AWS_ACCOUNT_NUMBER = "123456789012" AWS_REGION = "us-east-1" @@ -31,43 +33,11 @@ def mock_make_api_call(self, operation_name, kwarg): @mock.patch("botocore.client.BaseClient._make_api_call", new=mock_make_api_call) class Test_rds_instance_enhanced_monitoring_enabled: - # Mocked Audit Info - def set_mocked_audit_info(self): - audit_info = AWS_Audit_Info( - session_config=None, - original_session=None, - audit_session=session.Session( - profile_name=None, - botocore_session=None, - 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, - ), - ) - return audit_info - @mock_rds def test_rds_no_instances(self): from prowler.providers.aws.services.rds.rds_service import RDS - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -100,7 +70,7 @@ class Test_rds_instance_enhanced_monitoring_enabled: from prowler.providers.aws.services.rds.rds_service import RDS - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -145,7 +115,7 @@ class Test_rds_instance_enhanced_monitoring_enabled: from prowler.providers.aws.services.rds.rds_service import RDS - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", 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 195260bc10..d417f726e1 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 @@ -2,11 +2,13 @@ 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_REGION_EU_WEST_1, + set_mocked_aws_audit_info, +) AWS_ACCOUNT_NUMBER = "123456789012" AWS_REGION = "us-east-1" @@ -31,43 +33,11 @@ def mock_make_api_call(self, operation_name, kwarg): @mock.patch("botocore.client.BaseClient._make_api_call", new=mock_make_api_call) class Test_rds_instance_integration_cloudwatch_logs: - # Mocked Audit Info - def set_mocked_audit_info(self): - audit_info = AWS_Audit_Info( - session_config=None, - original_session=None, - audit_session=session.Session( - profile_name=None, - botocore_session=None, - 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, - ), - ) - return audit_info - @mock_rds def test_rds_no_instances(self): from prowler.providers.aws.services.rds.rds_service import RDS - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -100,7 +70,7 @@ class Test_rds_instance_integration_cloudwatch_logs: from prowler.providers.aws.services.rds.rds_service import RDS - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -146,7 +116,7 @@ class Test_rds_instance_integration_cloudwatch_logs: from prowler.providers.aws.services.rds.rds_service import RDS - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", 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 26157644e1..4ccfa38330 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 @@ -2,11 +2,13 @@ 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_REGION_EU_WEST_1, + set_mocked_aws_audit_info, +) AWS_ACCOUNT_NUMBER = "123456789012" AWS_REGION = "us-east-1" @@ -31,43 +33,11 @@ def mock_make_api_call(self, operation_name, kwarg): @mock.patch("botocore.client.BaseClient._make_api_call", new=mock_make_api_call) class Test_rds_instance_minor_version_upgrade_enabled: - # Mocked Audit Info - def set_mocked_audit_info(self): - audit_info = AWS_Audit_Info( - session_config=None, - original_session=None, - audit_session=session.Session( - profile_name=None, - botocore_session=None, - 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, - ), - ) - return audit_info - @mock_rds def test_rds_no_instances(self): from prowler.providers.aws.services.rds.rds_service import RDS - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -100,7 +70,7 @@ class Test_rds_instance_minor_version_upgrade_enabled: from prowler.providers.aws.services.rds.rds_service import RDS - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -146,7 +116,7 @@ class Test_rds_instance_minor_version_upgrade_enabled: from prowler.providers.aws.services.rds.rds_service import RDS - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", 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 635dc7fc7c..d3c1094f1c 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 @@ -2,12 +2,14 @@ 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.aws.services.rds.rds_service import DBCluster, DBInstance -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" @@ -32,43 +34,11 @@ def mock_make_api_call(self, operation_name, kwarg): @mock.patch("botocore.client.BaseClient._make_api_call", new=mock_make_api_call) class Test_rds_instance_multi_az: - # Mocked Audit Info - def set_mocked_audit_info(self): - audit_info = AWS_Audit_Info( - session_config=None, - original_session=None, - audit_session=session.Session( - profile_name=None, - botocore_session=None, - 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, - ), - ) - return audit_info - @mock_rds def test_rds_no_instances(self): from prowler.providers.aws.services.rds.rds_service import RDS - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -100,7 +70,7 @@ class Test_rds_instance_multi_az: ) from prowler.providers.aws.services.rds.rds_service import RDS - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -146,7 +116,7 @@ class Test_rds_instance_multi_az: from prowler.providers.aws.services.rds.rds_service import RDS - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -225,7 +195,7 @@ class Test_rds_instance_multi_az: ) ] - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -304,7 +274,7 @@ class Test_rds_instance_multi_az: ) ] - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", 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 4d0e30678b..75c8b0de49 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 @@ -2,11 +2,13 @@ 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_REGION_EU_WEST_1, + set_mocked_aws_audit_info, +) AWS_ACCOUNT_NUMBER = "123456789012" AWS_REGION = "us-east-1" @@ -31,43 +33,11 @@ def mock_make_api_call(self, operation_name, kwarg): @mock.patch("botocore.client.BaseClient._make_api_call", new=mock_make_api_call) class Test_rds_instance_no_public_access: - # Mocked Audit Info - def set_mocked_audit_info(self): - audit_info = AWS_Audit_Info( - session_config=None, - original_session=None, - audit_session=session.Session( - profile_name=None, - botocore_session=None, - 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, - ), - ) - return audit_info - @mock_rds def test_rds_no_instances(self): from prowler.providers.aws.services.rds.rds_service import RDS - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -100,7 +70,7 @@ class Test_rds_instance_no_public_access: from prowler.providers.aws.services.rds.rds_service import RDS - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -146,7 +116,7 @@ class Test_rds_instance_no_public_access: from prowler.providers.aws.services.rds.rds_service import RDS - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", 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 b7b114f47b..df67da413f 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 @@ -2,11 +2,13 @@ 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_REGION_EU_WEST_1, + set_mocked_aws_audit_info, +) AWS_ACCOUNT_NUMBER = "123456789012" AWS_REGION = "us-east-1" @@ -31,43 +33,11 @@ def mock_make_api_call(self, operation_name, kwarg): @mock.patch("botocore.client.BaseClient._make_api_call", new=mock_make_api_call) class Test_rds_instance_storage_encrypted: - # Mocked Audit Info - def set_mocked_audit_info(self): - audit_info = AWS_Audit_Info( - session_config=None, - original_session=None, - audit_session=session.Session( - profile_name=None, - botocore_session=None, - 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, - ), - ) - return audit_info - @mock_rds def test_rds_no_instances(self): from prowler.providers.aws.services.rds.rds_service import RDS - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -99,7 +69,7 @@ class Test_rds_instance_storage_encrypted: ) from prowler.providers.aws.services.rds.rds_service import RDS - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -145,7 +115,7 @@ class Test_rds_instance_storage_encrypted: from prowler.providers.aws.services.rds.rds_service import RDS - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", 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 96ea5c6124..8e5534bba0 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 @@ -2,11 +2,13 @@ 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_REGION_EU_WEST_1, + set_mocked_aws_audit_info, +) AWS_ACCOUNT_NUMBER = "123456789012" AWS_REGION = "us-east-1" @@ -31,43 +33,11 @@ def mock_make_api_call(self, operation_name, kwarg): @mock.patch("botocore.client.BaseClient._make_api_call", new=mock_make_api_call) class Test_rds_instance_transport_encrypted: - # Mocked Audit Info - def set_mocked_audit_info(self): - audit_info = AWS_Audit_Info( - session_config=None, - original_session=None, - audit_session=session.Session( - profile_name=None, - botocore_session=None, - 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, - ), - ) - return audit_info - @mock_rds def test_rds_no_instances(self): from prowler.providers.aws.services.rds.rds_service import RDS - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -105,7 +75,7 @@ class Test_rds_instance_transport_encrypted: ) from prowler.providers.aws.services.rds.rds_service import RDS - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -155,7 +125,7 @@ class Test_rds_instance_transport_encrypted: from prowler.providers.aws.services.rds.rds_service import RDS - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -217,7 +187,7 @@ class Test_rds_instance_transport_encrypted: from prowler.providers.aws.services.rds.rds_service import RDS - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", diff --git a/tests/providers/aws/services/rds/rds_service_test.py b/tests/providers/aws/services/rds/rds_service_test.py index d87a50ae09..2c2aab31d6 100644 --- a/tests/providers/aws/services/rds/rds_service_test.py +++ b/tests/providers/aws/services/rds/rds_service_test.py @@ -7,6 +7,10 @@ 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_REGION_EU_WEST_1, + set_mocked_aws_audit_info, +) AWS_ACCOUNT_NUMBER = "123456789012" AWS_REGION = "us-east-1" @@ -31,7 +35,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: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -66,7 +69,7 @@ class Test_RDS_Service: @mock_rds def test_service(self): # Dynamo client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) rds = RDS(audit_info) assert rds.service == "rds" @@ -74,7 +77,7 @@ class Test_RDS_Service: @mock_rds def test_client(self): # Dynamo client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) rds = RDS(audit_info) for regional_client in rds.regional_clients.values(): assert regional_client.__class__.__name__ == "RDS" @@ -83,7 +86,7 @@ class Test_RDS_Service: @mock_rds def test__get_session__(self): # Dynamo client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) rds = RDS(audit_info) assert rds.session.__class__.__name__ == "Session" @@ -91,7 +94,7 @@ class Test_RDS_Service: @mock_rds def test_audited_account(self): # Dynamo client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) rds = RDS(audit_info) assert rds.audited_account == AWS_ACCOUNT_NUMBER @@ -123,7 +126,7 @@ class Test_RDS_Service: ], ) # RDS client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) rds = RDS(audit_info) assert len(rds.db_instances) == 1 assert rds.db_instances[0].id == "db-master-1" @@ -173,7 +176,7 @@ class Test_RDS_Service: ], ) # RDS client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) rds = RDS(audit_info) assert len(rds.db_instances) == 1 assert rds.db_instances[0].id == "db-master-1" @@ -198,7 +201,7 @@ class Test_RDS_Service: DBInstanceIdentifier="db-primary-1", DBSnapshotIdentifier="snapshot-1" ) # RDS client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) rds = RDS(audit_info) assert len(rds.db_snapshots) == 1 assert rds.db_snapshots[0].id == "snapshot-1" @@ -235,7 +238,7 @@ class Test_RDS_Service: ], ) # RDS client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) rds = RDS(audit_info) db_cluster_arn = ( @@ -280,7 +283,7 @@ class Test_RDS_Service: DBClusterIdentifier="db-primary-1", DBClusterSnapshotIdentifier="snapshot-1" ) # RDS client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) rds = RDS(audit_info) assert len(rds.db_cluster_snapshots) == 1 assert rds.db_cluster_snapshots[0].id == "snapshot-1" @@ -292,7 +295,7 @@ class Test_RDS_Service: @mock_rds def test__describe_db_engine_versions__(self): # RDS client for this test class - audit_info = self.set_mocked_audit_info() + 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"] 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 279a3de153..6ea40b7e94 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 @@ -7,6 +7,10 @@ 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_REGION_EU_WEST_1, + set_mocked_aws_audit_info, +) AWS_ACCOUNT_NUMBER = "123456789012" AWS_REGION = "us-east-1" @@ -39,7 +43,6 @@ def mock_make_api_call(self, operation_name, kwarg): class Test_rds_snapshots_public_access: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -76,7 +79,7 @@ class Test_rds_snapshots_public_access: def test_rds_no_snapshots(self): from prowler.providers.aws.services.rds.rds_service import RDS - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -114,7 +117,7 @@ class Test_rds_snapshots_public_access: from prowler.providers.aws.services.rds.rds_service import RDS - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -158,7 +161,7 @@ class Test_rds_snapshots_public_access: from prowler.providers.aws.services.rds.rds_service import RDS - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -209,7 +212,7 @@ class Test_rds_snapshots_public_access: ) from prowler.providers.aws.services.rds.rds_service import RDS - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -259,7 +262,7 @@ class Test_rds_snapshots_public_access: ) from prowler.providers.aws.services.rds.rds_service import RDS - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", diff --git a/tests/providers/aws/services/redshift/redshift_service_test.py b/tests/providers/aws/services/redshift/redshift_service_test.py index 29b79368d6..d9ced23c41 100644 --- a/tests/providers/aws/services/redshift/redshift_service_test.py +++ b/tests/providers/aws/services/redshift/redshift_service_test.py @@ -8,6 +8,10 @@ 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_REGION_EU_WEST_1, + set_mocked_aws_audit_info, +) AWS_ACCOUNT_NUMBER = "123456789012" AWS_REGION = "eu-west-1" @@ -58,7 +62,6 @@ def mock_generate_regional_clients(service, audit_info, _): new=mock_generate_regional_clients, ) class Test_Redshift_Service: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -91,20 +94,20 @@ class Test_Redshift_Service: # Test Redshift Service def test_service(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) redshift = Redshift(audit_info) assert redshift.service == "redshift" # Test Redshift client def test_client(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) redshift = Redshift(audit_info) for reg_client in redshift.regional_clients.values(): assert reg_client.__class__.__name__ == "Redshift" # Test Redshift session def test__get_session__(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) redshift = Redshift(audit_info) assert redshift.session.__class__.__name__ == "Session" @@ -123,7 +126,7 @@ class Test_Redshift_Service: {"Key": "test", "Value": "test"}, ], ) - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) redshift = Redshift(audit_info) assert len(redshift.clusters) == 1 @@ -154,7 +157,7 @@ class Test_Redshift_Service: MasterUserPassword="password", PubliclyAccessible=True, ) - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) redshift = Redshift(audit_info) assert len(redshift.clusters) == 1 @@ -184,7 +187,7 @@ class Test_Redshift_Service: MasterUserPassword="password", PubliclyAccessible=True, ) - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) redshift = Redshift(audit_info) assert len(redshift.clusters) == 1 diff --git a/tests/providers/aws/services/resourceexplorer2/resourceexplorer2_service_test.py b/tests/providers/aws/services/resourceexplorer2/resourceexplorer2_service_test.py index 7553763c1a..3150ed17eb 100644 --- a/tests/providers/aws/services/resourceexplorer2/resourceexplorer2_service_test.py +++ b/tests/providers/aws/services/resourceexplorer2/resourceexplorer2_service_test.py @@ -8,6 +8,10 @@ from prowler.providers.aws.services.resourceexplorer2.resourceexplorer2_service 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" @@ -43,7 +47,6 @@ def mock_generate_regional_clients(service, audit_info, _): new=mock_generate_regional_clients, ) class Test_ResourceExplorer2_Service: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -75,7 +78,7 @@ class Test_ResourceExplorer2_Service: return audit_info def test__get_client__(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) resourceeplorer2 = ResourceExplorer2(audit_info) assert ( resourceeplorer2.regional_clients[AWS_REGION].__class__.__name__ @@ -83,12 +86,12 @@ class Test_ResourceExplorer2_Service: ) def test__get_service__(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) resourceeplorer2 = ResourceExplorer2(audit_info) assert resourceeplorer2.service == "resource-explorer-2" def test__list_indexes__(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) resourceeplorer2 = ResourceExplorer2(audit_info) assert len(resourceeplorer2.indexes) == 1 assert resourceeplorer2.indexes[0].arn == INDEX_ARN 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 c2910341a5..7be4f908f9 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 @@ -7,12 +7,15 @@ 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: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -50,7 +53,7 @@ class Test_route53_dangling_ip_subdomain_takeover: from prowler.providers.aws.services.ec2.ec2_service import EC2 from prowler.providers.aws.services.route53.route53_service import Route53 - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -86,7 +89,7 @@ class Test_route53_dangling_ip_subdomain_takeover: from prowler.providers.aws.services.ec2.ec2_service import EC2 from prowler.providers.aws.services.route53.route53_service import Route53 - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -137,7 +140,7 @@ class Test_route53_dangling_ip_subdomain_takeover: from prowler.providers.aws.services.ec2.ec2_service import EC2 from prowler.providers.aws.services.route53.route53_service import Route53 - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -171,7 +174,7 @@ class Test_route53_dangling_ip_subdomain_takeover: ) assert ( result[0].resource_arn - == f"arn:{audit_info.audited_partition}:route53:::hostedzone/{zone_id.replace('/hostedzone/','')}" + == f"arn:{audit_info.audited_partition}:route53:::hostedzone/{zone_id.replace('/hostedzone/', '')}" ) @mock_ec2 @@ -201,7 +204,7 @@ class Test_route53_dangling_ip_subdomain_takeover: from prowler.providers.aws.services.ec2.ec2_service import EC2 from prowler.providers.aws.services.route53.route53_service import Route53 - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -235,7 +238,7 @@ class Test_route53_dangling_ip_subdomain_takeover: ) assert ( result[0].resource_arn - == f"arn:{audit_info.audited_partition}:route53:::hostedzone/{zone_id.replace('/hostedzone/','')}" + == f"arn:{audit_info.audited_partition}:route53:::hostedzone/{zone_id.replace('/hostedzone/', '')}" ) @mock_ec2 @@ -265,7 +268,7 @@ class Test_route53_dangling_ip_subdomain_takeover: from prowler.providers.aws.services.ec2.ec2_service import EC2 from prowler.providers.aws.services.route53.route53_service import Route53 - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -299,7 +302,7 @@ class Test_route53_dangling_ip_subdomain_takeover: ) assert ( result[0].resource_arn - == f"arn:{audit_info.audited_partition}:route53:::hostedzone/{zone_id.replace('/hostedzone/','')}" + == f"arn:{audit_info.audited_partition}:route53:::hostedzone/{zone_id.replace('/hostedzone/', '')}" ) @mock_ec2 @@ -332,7 +335,7 @@ class Test_route53_dangling_ip_subdomain_takeover: from prowler.providers.aws.services.ec2.ec2_service import EC2 from prowler.providers.aws.services.route53.route53_service import Route53 - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -366,7 +369,7 @@ class Test_route53_dangling_ip_subdomain_takeover: ) assert ( result[0].resource_arn - == f"arn:{audit_info.audited_partition}:route53:::hostedzone/{zone_id.replace('/hostedzone/','')}" + == f"arn:{audit_info.audited_partition}:route53:::hostedzone/{zone_id.replace('/hostedzone/', '')}" ) @mock_ec2 @@ -405,7 +408,7 @@ class Test_route53_dangling_ip_subdomain_takeover: from prowler.providers.aws.services.ec2.ec2_service import EC2 from prowler.providers.aws.services.route53.route53_service import Route53 - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -439,5 +442,5 @@ class Test_route53_dangling_ip_subdomain_takeover: ) assert ( result[0].resource_arn - == f"arn:{audit_info.audited_partition}:route53:::hostedzone/{zone_id.replace('/hostedzone/','')}" + == f"arn:{audit_info.audited_partition}:route53:::hostedzone/{zone_id.replace('/hostedzone/', '')}" ) diff --git a/tests/providers/aws/services/route53/route53_service_test.py b/tests/providers/aws/services/route53/route53_service_test.py index 25f5bfceca..809ac8a17c 100644 --- a/tests/providers/aws/services/route53/route53_service_test.py +++ b/tests/providers/aws/services/route53/route53_service_test.py @@ -7,6 +7,10 @@ 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" @@ -35,7 +39,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: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -69,19 +72,19 @@ class Test_Route53_Service: # Test Route53 Client @mock_route53 def test__get_client__(self): - route53 = Route53(self.set_mocked_audit_info()) + route53 = Route53(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])) assert route53.client.__class__.__name__ == "Route53" # Test Route53 Session @mock_route53 def test__get_session__(self): - route53 = Route53(self.set_mocked_audit_info()) + route53 = Route53(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])) assert route53.session.__class__.__name__ == "Session" # Test Route53 Service @mock_route53 def test__get_service__(self): - route53 = Route53(self.set_mocked_audit_info()) + route53 = Route53(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])) assert route53.service == "route53" @mock_route53 @@ -109,7 +112,7 @@ class Test_Route53_Service: ) # Set partition for the service - route53 = Route53(self.set_mocked_audit_info()) + route53 = Route53(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])) assert len(route53.hosted_zones) == 1 assert route53.hosted_zones[hosted_zone_id] assert route53.hosted_zones[hosted_zone_id].id == hosted_zone_id @@ -154,7 +157,7 @@ class Test_Route53_Service: ) # Set partition for the service - route53 = Route53(self.set_mocked_audit_info()) + route53 = Route53(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])) assert len(route53.hosted_zones) == 1 assert route53.hosted_zones[hosted_zone_id] assert route53.hosted_zones[hosted_zone_id].id == hosted_zone_id @@ -186,7 +189,7 @@ class Test_Route53_Service: hosted_zone_name = response["HostedZone"]["Name"] # Set partition for the service - route53 = Route53(self.set_mocked_audit_info()) + route53 = Route53(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])) assert len(route53.hosted_zones) == 1 assert route53.hosted_zones[hosted_zone_id] assert route53.hosted_zones[hosted_zone_id].id == hosted_zone_id @@ -214,7 +217,7 @@ class Test_Route53_Service: hosted_zone_name = response["HostedZone"]["Name"] # Set partition for the service - route53 = Route53(self.set_mocked_audit_info()) + route53 = Route53(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])) assert len(route53.hosted_zones) == 1 assert route53.hosted_zones[hosted_zone_id] assert route53.hosted_zones[hosted_zone_id].id == hosted_zone_id @@ -254,7 +257,7 @@ class Test_Route53_Service: ) # Set partition for the service - route53 = Route53(self.set_mocked_audit_info()) + route53 = Route53(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])) assert ( len(route53.record_sets) == 3 ) # Default NS and SOA records plus the A record just created diff --git a/tests/providers/aws/services/route53/route53domains_service_test.py b/tests/providers/aws/services/route53/route53domains_service_test.py index 2c587b08fb..f1266201d9 100644 --- a/tests/providers/aws/services/route53/route53domains_service_test.py +++ b/tests/providers/aws/services/route53/route53domains_service_test.py @@ -7,6 +7,10 @@ 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" @@ -71,7 +75,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: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -104,21 +107,29 @@ class Test_Route53_Service: # Test Route53Domains Client def test__get_client__(self): - route53domains = Route53Domains(self.set_mocked_audit_info()) + route53domains = Route53Domains( + set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) + ) assert route53domains.client.__class__.__name__ == "Route53Domains" # Test Route53Domains Session def test__get_session__(self): - route53domains = Route53Domains(self.set_mocked_audit_info()) + route53domains = Route53Domains( + set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) + ) assert route53domains.session.__class__.__name__ == "Session" # Test Route53Domains Service def test__get_service__(self): - route53domains = Route53Domains(self.set_mocked_audit_info()) + route53domains = Route53Domains( + set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) + ) assert route53domains.service == "route53domains" def test__list_domains__(self): - route53domains = Route53Domains(self.set_mocked_audit_info()) + route53domains = Route53Domains( + set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) + ) domain_name = "test.domain.com" assert len(route53domains.domains) assert route53domains.domains 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 73d341f03d..f120f833a9 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 @@ -5,6 +5,10 @@ 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_REGION_EU_WEST_1, + set_mocked_aws_audit_info, +) AWS_ACCOUNT_NUMBER = "123456789012" AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" @@ -12,7 +16,6 @@ AWS_REGION = "us-east-1" class Test_s3_account_level_public_access_blocks: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -60,7 +63,7 @@ class Test_s3_account_level_public_access_blocks: ) from prowler.providers.aws.services.s3.s3_service import S3, S3Control - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -106,7 +109,7 @@ class Test_s3_account_level_public_access_blocks: ) from prowler.providers.aws.services.s3.s3_service import S3, S3Control - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -152,7 +155,7 @@ class Test_s3_account_level_public_access_blocks: ) from prowler.providers.aws.services.s3.s3_service import S3, S3Control - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) audit_info.ignore_unused_services = True with mock.patch( 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 8c27f9c98c..8930bd3350 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 @@ -6,6 +6,10 @@ 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_REGION_EU_WEST_1, + set_mocked_aws_audit_info, +) AWS_ACCOUNT_NUMBER = "123456789012" AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" @@ -13,7 +17,6 @@ AWS_REGION = "us-east-1" class Test_s3_bucket_acl_prohibited: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -53,7 +56,7 @@ class Test_s3_bucket_acl_prohibited: from prowler.providers.aws.services.s3.s3_service import S3 - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -92,7 +95,7 @@ class Test_s3_bucket_acl_prohibited: from prowler.providers.aws.services.s3.s3_service import S3 - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -133,7 +136,7 @@ class Test_s3_bucket_acl_prohibited: from prowler.providers.aws.services.s3.s3_service import S3 - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", 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 f1d4047653..d03f3e1fb6 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 @@ -6,6 +6,10 @@ 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_REGION_EU_WEST_1, + set_mocked_aws_audit_info, +) AWS_ACCOUNT_NUMBER = "123456789012" AWS_REGION = "us-east-1" @@ -13,7 +17,6 @@ AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" class Test_s3_bucket_default_encryption: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -53,7 +56,7 @@ class Test_s3_bucket_default_encryption: from prowler.providers.aws.services.s3.s3_service import S3 - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -108,7 +111,7 @@ class Test_s3_bucket_default_encryption: from prowler.providers.aws.services.s3.s3_service import S3 - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", 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 9fed9660f8..8765ceff89 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 @@ -5,6 +5,10 @@ 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_REGION_EU_WEST_1, + set_mocked_aws_audit_info, +) AWS_ACCOUNT_NUMBER = "123456789012" AWS_REGION = "us-east-1" @@ -12,7 +16,6 @@ AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" class Test_s3_bucket_kms_encryption: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -48,7 +51,7 @@ class Test_s3_bucket_kms_encryption: def test_no_buckets(self): from prowler.providers.aws.services.s3.s3_service import S3 - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -75,7 +78,7 @@ class Test_s3_bucket_kms_encryption: from prowler.providers.aws.services.s3.s3_service import S3 - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -129,7 +132,7 @@ class Test_s3_bucket_kms_encryption: from prowler.providers.aws.services.s3.s3_service import S3 - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -185,7 +188,7 @@ class Test_s3_bucket_kms_encryption: from prowler.providers.aws.services.s3.s3_service import S3 - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -242,7 +245,7 @@ class Test_s3_bucket_kms_encryption: from prowler.providers.aws.services.s3.s3_service import S3 - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", 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 fb97699384..cafa4d1a81 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 @@ -5,6 +5,10 @@ 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_REGION_EU_WEST_1, + set_mocked_aws_audit_info, +) AWS_ACCOUNT_NUMBER = "123456789012" AWS_REGION = "us-east-1" @@ -12,7 +16,6 @@ AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" class Test_s3_bucket_level_public_access_block: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -49,7 +52,7 @@ class Test_s3_bucket_level_public_access_block: def test_no_buckets(self): from prowler.providers.aws.services.s3.s3_service import S3, S3Control - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -100,7 +103,7 @@ class Test_s3_bucket_level_public_access_block: ) from prowler.providers.aws.services.s3.s3_service import S3, S3Control - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -162,7 +165,7 @@ class Test_s3_bucket_level_public_access_block: ) from prowler.providers.aws.services.s3.s3_service import S3, S3Control - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -225,7 +228,7 @@ class Test_s3_bucket_level_public_access_block: ) from prowler.providers.aws.services.s3.s3_service import S3, S3Control - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -288,7 +291,7 @@ class Test_s3_bucket_level_public_access_block: ) from prowler.providers.aws.services.s3.s3_service import S3, S3Control - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", 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 62d81fd29a..c9b2038958 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 @@ -6,6 +6,10 @@ 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_REGION_EU_WEST_1, + set_mocked_aws_audit_info, +) AWS_ACCOUNT_NUMBER = "123456789012" AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" @@ -13,7 +17,6 @@ AWS_REGION = "us-east-1" class Test_s3_bucket_no_mfa_delete: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -49,7 +52,7 @@ class Test_s3_bucket_no_mfa_delete: def test_no_buckets(self): from prowler.providers.aws.services.s3.s3_service import S3 - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -77,7 +80,7 @@ class Test_s3_bucket_no_mfa_delete: from prowler.providers.aws.services.s3.s3_service import S3 - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -119,7 +122,7 @@ class Test_s3_bucket_no_mfa_delete: from prowler.providers.aws.services.s3.s3_service import S3 - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", new=audit_info, 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 d223427fa5..d161b7e1e7 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 @@ -6,6 +6,10 @@ 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_REGION_EU_WEST_1, + set_mocked_aws_audit_info, +) AWS_ACCOUNT_NUMBER = "123456789012" AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" @@ -13,7 +17,6 @@ AWS_REGION = "us-east-1" class Test_s3_bucket_object_lock: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -49,7 +52,7 @@ class Test_s3_bucket_object_lock: def test_no_buckets(self): from prowler.providers.aws.services.s3.s3_service import S3 - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -77,7 +80,7 @@ class Test_s3_bucket_object_lock: from prowler.providers.aws.services.s3.s3_service import S3 - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -121,7 +124,7 @@ class Test_s3_bucket_object_lock: from prowler.providers.aws.services.s3.s3_service import S3 - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", 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 d8fef3b1e7..53efa428eb 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 @@ -6,6 +6,10 @@ 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_REGION_EU_WEST_1, + set_mocked_aws_audit_info, +) AWS_ACCOUNT_NUMBER = "123456789012" AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" @@ -13,7 +17,6 @@ AWS_REGION = "us-east-1" class Test_s3_bucket_object_versioning: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -53,7 +56,7 @@ class Test_s3_bucket_object_versioning: from prowler.providers.aws.services.s3.s3_service import S3 - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -98,7 +101,7 @@ class Test_s3_bucket_object_versioning: from prowler.providers.aws.services.s3.s3_service import S3 - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", 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 bb5179948a..4fea2e8011 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 @@ -5,6 +5,10 @@ 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_REGION_EU_WEST_1, + set_mocked_aws_audit_info, +) AWS_ACCOUNT_NUMBER = "123456789012" AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" @@ -12,7 +16,6 @@ AWS_REGION = "us-east-1" class Test_s3_bucket_policy_public_write_access: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -53,7 +56,7 @@ class Test_s3_bucket_policy_public_write_access: from prowler.providers.aws.services.s3.s3_service import S3 - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -112,7 +115,7 @@ class Test_s3_bucket_policy_public_write_access: from prowler.providers.aws.services.s3.s3_service import S3, S3Control - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -184,7 +187,7 @@ class Test_s3_bucket_policy_public_write_access: from prowler.providers.aws.services.s3.s3_service import S3, S3Control - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -248,7 +251,7 @@ class Test_s3_bucket_policy_public_write_access: from prowler.providers.aws.services.s3.s3_service import S3, S3Control - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -311,7 +314,7 @@ class Test_s3_bucket_policy_public_write_access: from prowler.providers.aws.services.s3.s3_service import S3, S3Control - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", 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 23e49adb2e..663d70c624 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 @@ -6,6 +6,10 @@ 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_REGION_EU_WEST_1, + set_mocked_aws_audit_info, +) AWS_ACCOUNT_NUMBER = "123456789012" AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" @@ -13,7 +17,6 @@ AWS_REGION = "us-east-1" class Test_s3_bucket_public_access: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -50,7 +53,7 @@ class Test_s3_bucket_public_access: def test_no_buckets(self): from prowler.providers.aws.services.s3.s3_service import S3, S3Control - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -90,7 +93,7 @@ class Test_s3_bucket_public_access: ) from prowler.providers.aws.services.s3.s3_service import S3, S3Control - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -141,7 +144,7 @@ class Test_s3_bucket_public_access: ) from prowler.providers.aws.services.s3.s3_service import S3, S3Control - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -201,7 +204,7 @@ class Test_s3_bucket_public_access: ) from prowler.providers.aws.services.s3.s3_service import S3, S3Control - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -280,7 +283,7 @@ class Test_s3_bucket_public_access: ) from prowler.providers.aws.services.s3.s3_service import S3, S3Control - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -348,7 +351,7 @@ class Test_s3_bucket_public_access: ) from prowler.providers.aws.services.s3.s3_service import S3, S3Control - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -400,7 +403,7 @@ class Test_s3_bucket_public_access: ) from prowler.providers.aws.services.s3.s3_service import S3, S3Control - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -452,7 +455,7 @@ class Test_s3_bucket_public_access: ) from prowler.providers.aws.services.s3.s3_service import S3, S3Control - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", 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 b94567fdd8..661c4993db 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 @@ -5,6 +5,10 @@ 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_REGION_EU_WEST_1, + set_mocked_aws_audit_info, +) AWS_ACCOUNT_NUMBER = "123456789012" AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" @@ -12,7 +16,6 @@ AWS_REGION = "us-east-1" class Test_s3_bucket_public_list_acl: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -49,7 +52,7 @@ class Test_s3_bucket_public_list_acl: def test_no_buckets(self): from prowler.providers.aws.services.s3.s3_service import S3, S3Control - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -89,7 +92,7 @@ class Test_s3_bucket_public_list_acl: ) from prowler.providers.aws.services.s3.s3_service import S3, S3Control - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -140,7 +143,7 @@ class Test_s3_bucket_public_list_acl: ) from prowler.providers.aws.services.s3.s3_service import S3, S3Control - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -200,7 +203,7 @@ class Test_s3_bucket_public_list_acl: ) from prowler.providers.aws.services.s3.s3_service import S3, S3Control - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -279,7 +282,7 @@ class Test_s3_bucket_public_list_acl: ) from prowler.providers.aws.services.s3.s3_service import S3, S3Control - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -359,7 +362,7 @@ class Test_s3_bucket_public_list_acl: ) from prowler.providers.aws.services.s3.s3_service import S3, S3Control - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -439,7 +442,7 @@ class Test_s3_bucket_public_list_acl: ) from prowler.providers.aws.services.s3.s3_service import S3, S3Control - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -519,7 +522,7 @@ class Test_s3_bucket_public_list_acl: ) from prowler.providers.aws.services.s3.s3_service import S3, S3Control - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -599,7 +602,7 @@ class Test_s3_bucket_public_list_acl: ) from prowler.providers.aws.services.s3.s3_service import S3, S3Control - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -679,7 +682,7 @@ class Test_s3_bucket_public_list_acl: ) from prowler.providers.aws.services.s3.s3_service import S3, S3Control - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", 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 a66c945dd8..247a66bd47 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 @@ -5,6 +5,10 @@ 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_REGION_EU_WEST_1, + set_mocked_aws_audit_info, +) AWS_ACCOUNT_NUMBER = "123456789012" AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" @@ -12,7 +16,6 @@ AWS_REGION = "us-east-1" class Test_s3_bucket_public_write_acl: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -49,7 +52,7 @@ class Test_s3_bucket_public_write_acl: def test_no_buckets(self): from prowler.providers.aws.services.s3.s3_service import S3, S3Control - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -89,7 +92,7 @@ class Test_s3_bucket_public_write_acl: ) from prowler.providers.aws.services.s3.s3_service import S3, S3Control - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -140,7 +143,7 @@ class Test_s3_bucket_public_write_acl: ) from prowler.providers.aws.services.s3.s3_service import S3, S3Control - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -200,7 +203,7 @@ class Test_s3_bucket_public_write_acl: ) from prowler.providers.aws.services.s3.s3_service import S3, S3Control - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -279,7 +282,7 @@ class Test_s3_bucket_public_write_acl: ) from prowler.providers.aws.services.s3.s3_service import S3, S3Control - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -359,7 +362,7 @@ class Test_s3_bucket_public_write_acl: ) from prowler.providers.aws.services.s3.s3_service import S3, S3Control - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -439,7 +442,7 @@ class Test_s3_bucket_public_write_acl: ) from prowler.providers.aws.services.s3.s3_service import S3, S3Control - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -519,7 +522,7 @@ class Test_s3_bucket_public_write_acl: ) from prowler.providers.aws.services.s3.s3_service import S3, S3Control - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -599,7 +602,7 @@ class Test_s3_bucket_public_write_acl: ) from prowler.providers.aws.services.s3.s3_service import S3, S3Control - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -679,7 +682,7 @@ class Test_s3_bucket_public_write_acl: ) from prowler.providers.aws.services.s3.s3_service import S3, S3Control - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", 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 408e53e81f..0e42437df2 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 @@ -6,6 +6,10 @@ 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_REGION_EU_WEST_1, + set_mocked_aws_audit_info, +) AWS_ACCOUNT_NUMBER = "123456789012" AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" @@ -13,7 +17,6 @@ AWS_REGION = "us-east-1" class Test_s3_bucket_secure_transport_policy: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -53,7 +56,7 @@ class Test_s3_bucket_secure_transport_policy: from prowler.providers.aws.services.s3.s3_service import S3 - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -116,7 +119,7 @@ class Test_s3_bucket_secure_transport_policy: ) from prowler.providers.aws.services.s3.s3_service import S3 - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -179,7 +182,7 @@ class Test_s3_bucket_secure_transport_policy: ) from prowler.providers.aws.services.s3.s3_service import S3 - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", 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 77bed8641b..6b21ae5099 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 @@ -6,6 +6,10 @@ 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_REGION_EU_WEST_1, + set_mocked_aws_audit_info, +) AWS_ACCOUNT_NUMBER = "123456789012" AWS_ACCOUNT_ARN = f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root" @@ -13,7 +17,6 @@ AWS_REGION = "us-east-1" class Test_s3_bucket_server_access_logging_enabled: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -53,7 +56,7 @@ class Test_s3_bucket_server_access_logging_enabled: from prowler.providers.aws.services.s3.s3_service import S3 - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -146,7 +149,7 @@ class Test_s3_bucket_server_access_logging_enabled: from prowler.providers.aws.services.s3.s3_service import S3 - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", diff --git a/tests/providers/aws/services/s3/s3_service_test.py b/tests/providers/aws/services/s3/s3_service_test.py index 3f1c649126..c43579a8c9 100644 --- a/tests/providers/aws/services/s3/s3_service_test.py +++ b/tests/providers/aws/services/s3/s3_service_test.py @@ -6,13 +6,16 @@ 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_REGION_EU_WEST_1, + set_mocked_aws_audit_info, +) AWS_ACCOUNT_NUMBER = "123456789012" AWS_REGION = "us-east-1" class Test_S3_Service: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -48,7 +51,7 @@ class Test_S3_Service: @mock_s3 def test_service(self): # S3 client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) s3 = S3(audit_info) assert s3.service == "s3" @@ -56,7 +59,7 @@ class Test_S3_Service: @mock_s3 def test_client(self): # S3 client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) s3 = S3(audit_info) assert s3.client.__class__.__name__ == "S3" @@ -64,7 +67,7 @@ class Test_S3_Service: @mock_s3 def test__get_session__(self): # S3 client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) s3 = S3(audit_info) assert s3.session.__class__.__name__ == "Session" @@ -72,7 +75,7 @@ class Test_S3_Service: @mock_s3 def test_audited_account(self): # S3 client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) s3 = S3(audit_info) assert s3.audited_account == AWS_ACCOUNT_NUMBER @@ -86,7 +89,7 @@ class Test_S3_Service: s3_client.create_bucket(Bucket=bucket_name) # S3 client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) s3 = S3(audit_info) assert len(s3.buckets) == 1 @@ -111,7 +114,7 @@ class Test_S3_Service: VersioningConfiguration={"MFADelete": "Disabled", "Status": "Enabled"}, ) # S3 client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) s3 = S3(audit_info) assert len(s3.buckets) == 1 assert s3.buckets[0].name == bucket_name @@ -144,7 +147,7 @@ class Test_S3_Service: }, Bucket=bucket_name, ) - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) s3 = S3(audit_info) assert len(s3.buckets) == 1 assert s3.buckets[0].name == bucket_name @@ -224,7 +227,7 @@ class Test_S3_Service: }, ) # S3 client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) s3 = S3(audit_info) assert len(s3.buckets) == 1 assert s3.buckets[0].name == bucket_name @@ -245,7 +248,7 @@ class Test_S3_Service: Bucket=bucket_name, Policy=ssl_policy, ) - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) s3 = S3(audit_info) assert len(s3.buckets) == 1 assert s3.buckets[0].name == bucket_name @@ -278,7 +281,7 @@ class Test_S3_Service: Bucket=bucket_name, ServerSideEncryptionConfiguration=sse_config ) # S3 client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) s3 = S3(audit_info) assert len(s3.buckets) == 1 assert s3.buckets[0].name == bucket_name @@ -300,7 +303,7 @@ class Test_S3_Service: ) # S3 client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) s3 = S3(audit_info) assert len(s3.buckets) == 1 assert s3.buckets[0].name == bucket_name @@ -330,7 +333,7 @@ class Test_S3_Service: }, ) # S3 client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) s3 = S3(audit_info) assert len(s3.buckets) == 1 assert s3.buckets[0].name == bucket_name @@ -360,7 +363,7 @@ class Test_S3_Service: }, ) # S3 client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) s3 = S3(audit_info) assert len(s3.buckets) == 1 @@ -383,7 +386,7 @@ class Test_S3_Service: }, ) # S3 client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) s3control = S3Control(audit_info) assert s3control.account_public_access_block.block_public_acls assert s3control.account_public_access_block.ignore_public_acls @@ -404,7 +407,7 @@ class Test_S3_Service: ) # S3 client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) s3 = S3(audit_info) assert len(s3.buckets) == 1 assert s3.buckets[0].name == bucket_name diff --git a/tests/providers/aws/services/sagemaker/sagemaker_service_test.py b/tests/providers/aws/services/sagemaker/sagemaker_service_test.py index 14472b13d4..56f47a96e8 100644 --- a/tests/providers/aws/services/sagemaker/sagemaker_service_test.py +++ b/tests/providers/aws/services/sagemaker/sagemaker_service_test.py @@ -7,6 +7,10 @@ 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_REGION_EU_WEST_1, + set_mocked_aws_audit_info, +) AWS_ACCOUNT_NUMBER = "123456789012" AWS_REGION = "eu-west-1" @@ -105,7 +109,6 @@ def mock_generate_regional_clients(service, audit_info, _): new=mock_generate_regional_clients, ) class Test_SageMaker_Service: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -138,26 +141,26 @@ class Test_SageMaker_Service: # Test SageMaker Service def test_service(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) sagemaker = SageMaker(audit_info) assert sagemaker.service == "sagemaker" # Test SageMaker client def test_client(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) sagemaker = SageMaker(audit_info) for reg_client in sagemaker.regional_clients.values(): assert reg_client.__class__.__name__ == "SageMaker" # Test SageMaker session def test__get_session__(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) sagemaker = SageMaker(audit_info) assert sagemaker.session.__class__.__name__ == "Session" # Test SageMaker list notebook instances def test_list_notebook_instances(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) sagemaker = SageMaker(audit_info) assert len(sagemaker.sagemaker_notebook_instances) == 1 assert sagemaker.sagemaker_notebook_instances[0].name == test_notebook_instance @@ -169,7 +172,7 @@ class Test_SageMaker_Service: # Test SageMaker list models def test_list_models(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) sagemaker = SageMaker(audit_info) assert len(sagemaker.sagemaker_models) == 1 assert sagemaker.sagemaker_models[0].name == test_model @@ -181,7 +184,7 @@ class Test_SageMaker_Service: # Test SageMaker list training jobs def test_list_training_jobs(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) sagemaker = SageMaker(audit_info) assert len(sagemaker.sagemaker_training_jobs) == 1 assert sagemaker.sagemaker_training_jobs[0].name == test_training_job @@ -193,7 +196,7 @@ class Test_SageMaker_Service: # Test SageMaker describe notebook instance def test_describe_notebook_instance(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) sagemaker = SageMaker(audit_info) assert len(sagemaker.sagemaker_notebook_instances) == 1 assert sagemaker.sagemaker_notebook_instances[0].root_access @@ -203,7 +206,7 @@ class Test_SageMaker_Service: # Test SageMaker describe model def test_describe_model(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) sagemaker = SageMaker(audit_info) assert len(sagemaker.sagemaker_models) == 1 assert sagemaker.sagemaker_models[0].network_isolation @@ -211,7 +214,7 @@ class Test_SageMaker_Service: # Test SageMaker describe training jobs def test_describe_training_jobs(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) sagemaker = SageMaker(audit_info) assert len(sagemaker.sagemaker_training_jobs) == 1 assert sagemaker.sagemaker_training_jobs[0].container_traffic_encryption diff --git a/tests/providers/aws/services/secretsmanager/secretsmanager_service_test.py b/tests/providers/aws/services/secretsmanager/secretsmanager_service_test.py index 96f29d7785..e251afa116 100644 --- a/tests/providers/aws/services/secretsmanager/secretsmanager_service_test.py +++ b/tests/providers/aws/services/secretsmanager/secretsmanager_service_test.py @@ -11,6 +11,10 @@ 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" @@ -62,7 +66,7 @@ class Test_SecretsManager_Service: # Test SecretsManager Client @mock_secretsmanager def test__get_client__(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) secretsmanager = SecretsManager(audit_info) assert ( secretsmanager.regional_clients[AWS_REGION].__class__.__name__ @@ -72,14 +76,14 @@ class Test_SecretsManager_Service: # Test SecretsManager Session @mock_secretsmanager def test__get_session__(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) secretsmanager = SecretsManager(audit_info) assert secretsmanager.session.__class__.__name__ == "Session" # Test SecretsManager Service @mock_secretsmanager def test__get_service__(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) secretsmanager = SecretsManager(audit_info) assert secretsmanager.service == "secretsmanager" @@ -158,7 +162,7 @@ class Test_SecretsManager_Service: ) # Set partition for the service - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) secretsmanager = SecretsManager(audit_info) assert len(secretsmanager.secrets) == 1 diff --git a/tests/providers/aws/services/securityhub/securityhub_service_test.py b/tests/providers/aws/services/securityhub/securityhub_service_test.py index b4b6f29b81..ded822c474 100644 --- a/tests/providers/aws/services/securityhub/securityhub_service_test.py +++ b/tests/providers/aws/services/securityhub/securityhub_service_test.py @@ -1,11 +1,12 @@ 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.securityhub.securityhub_service import SecurityHub -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" @@ -59,40 +60,9 @@ def mock_generate_regional_clients(service, audit_info, _): new=mock_generate_regional_clients, ) class Test_SecurityHub_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", "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 - # Test SecurityHub Client def test__get_client__(self): - security_hub = SecurityHub(self.set_mocked_audit_info()) + security_hub = SecurityHub(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])) assert ( security_hub.regional_clients[AWS_REGION].__class__.__name__ == "SecurityHub" @@ -100,12 +70,12 @@ class Test_SecurityHub_Service: # Test SecurityHub Session def test__get_session__(self): - security_hub = SecurityHub(self.set_mocked_audit_info()) + security_hub = SecurityHub(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])) assert security_hub.session.__class__.__name__ == "Session" def test__describe_hub__(self): # Set partition for the service - securityhub = SecurityHub(self.set_mocked_audit_info()) + securityhub = SecurityHub(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])) assert len(securityhub.securityhubs) == 1 assert ( securityhub.securityhubs[0].arn 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 17cb870bf6..6131139551 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 @@ -8,6 +8,10 @@ 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" @@ -25,7 +29,6 @@ def mock_generate_regional_clients(service, audit_info, _): new=mock_generate_regional_clients, ) class Test_shield_advanced_protection_in_associated_elastic_ips: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -69,10 +72,10 @@ class Test_shield_advanced_protection_in_associated_elastic_ips: new=shield_client, ), mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.shield.shield_advanced_protection_in_associated_elastic_ips.shield_advanced_protection_in_associated_elastic_ips.ec2_client", - new=EC2(self.set_mocked_audit_info()), + new=EC2(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ): # Test Check from prowler.providers.aws.services.shield.shield_advanced_protection_in_associated_elastic_ips.shield_advanced_protection_in_associated_elastic_ips import ( @@ -114,10 +117,10 @@ class Test_shield_advanced_protection_in_associated_elastic_ips: new=shield_client, ), mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.shield.shield_advanced_protection_in_associated_elastic_ips.shield_advanced_protection_in_associated_elastic_ips.ec2_client", - new=EC2(self.set_mocked_audit_info()), + new=EC2(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ): # Test Check from prowler.providers.aws.services.shield.shield_advanced_protection_in_associated_elastic_ips.shield_advanced_protection_in_associated_elastic_ips import ( @@ -158,10 +161,10 @@ class Test_shield_advanced_protection_in_associated_elastic_ips: new=shield_client, ), mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.shield.shield_advanced_protection_in_associated_elastic_ips.shield_advanced_protection_in_associated_elastic_ips.ec2_client", - new=EC2(self.set_mocked_audit_info()), + new=EC2(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ): # Test Check from prowler.providers.aws.services.shield.shield_advanced_protection_in_associated_elastic_ips.shield_advanced_protection_in_associated_elastic_ips import ( @@ -202,10 +205,10 @@ class Test_shield_advanced_protection_in_associated_elastic_ips: new=shield_client, ), mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.shield.shield_advanced_protection_in_associated_elastic_ips.shield_advanced_protection_in_associated_elastic_ips.ec2_client", - new=EC2(self.set_mocked_audit_info()), + new=EC2(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ): # Test Check from prowler.providers.aws.services.shield.shield_advanced_protection_in_associated_elastic_ips.shield_advanced_protection_in_associated_elastic_ips import ( 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 68cc663711..990fec31ef 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 @@ -7,12 +7,15 @@ 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: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -57,10 +60,10 @@ class Test_shield_advanced_protection_in_classic_load_balancers: new=shield_client, ), mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.shield.shield_advanced_protection_in_classic_load_balancers.shield_advanced_protection_in_classic_load_balancers.elb_client", - new=ELB(self.set_mocked_audit_info()), + new=ELB(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ): # Test Check from prowler.providers.aws.services.shield.shield_advanced_protection_in_classic_load_balancers.shield_advanced_protection_in_classic_load_balancers import ( @@ -117,10 +120,10 @@ class Test_shield_advanced_protection_in_classic_load_balancers: new=shield_client, ), mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.shield.shield_advanced_protection_in_classic_load_balancers.shield_advanced_protection_in_classic_load_balancers.elb_client", - new=ELB(self.set_mocked_audit_info()), + new=ELB(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ): # Test Check from prowler.providers.aws.services.shield.shield_advanced_protection_in_classic_load_balancers.shield_advanced_protection_in_classic_load_balancers import ( @@ -176,10 +179,10 @@ class Test_shield_advanced_protection_in_classic_load_balancers: new=shield_client, ), mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.shield.shield_advanced_protection_in_classic_load_balancers.shield_advanced_protection_in_classic_load_balancers.elb_client", - new=ELB(self.set_mocked_audit_info()), + new=ELB(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ): # Test Check from prowler.providers.aws.services.shield.shield_advanced_protection_in_classic_load_balancers.shield_advanced_protection_in_classic_load_balancers import ( @@ -235,10 +238,10 @@ class Test_shield_advanced_protection_in_classic_load_balancers: new=shield_client, ), mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.shield.shield_advanced_protection_in_classic_load_balancers.shield_advanced_protection_in_classic_load_balancers.elb_client", - new=ELB(self.set_mocked_audit_info()), + new=ELB(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ): # Test Check from prowler.providers.aws.services.shield.shield_advanced_protection_in_classic_load_balancers.shield_advanced_protection_in_classic_load_balancers import ( 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 44d756cbfd..96886cefcc 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 @@ -8,6 +8,10 @@ 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" @@ -25,7 +29,6 @@ def mock_generate_regional_clients(service, audit_info, _): new=mock_generate_regional_clients, ) class Test_shield_advanced_protection_in_internet_facing_load_balancers: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -70,10 +73,10 @@ class Test_shield_advanced_protection_in_internet_facing_load_balancers: new=shield_client, ), mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.shield.shield_advanced_protection_in_internet_facing_load_balancers.shield_advanced_protection_in_internet_facing_load_balancers.elbv2_client", - new=ELBv2(self.set_mocked_audit_info()), + new=ELBv2(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ): # Test Check from prowler.providers.aws.services.shield.shield_advanced_protection_in_internet_facing_load_balancers.shield_advanced_protection_in_internet_facing_load_balancers import ( @@ -138,10 +141,10 @@ class Test_shield_advanced_protection_in_internet_facing_load_balancers: new=shield_client, ), mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.shield.shield_advanced_protection_in_internet_facing_load_balancers.shield_advanced_protection_in_internet_facing_load_balancers.elbv2_client", - new=ELBv2(self.set_mocked_audit_info()), + new=ELBv2(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ): # Test Check from prowler.providers.aws.services.shield.shield_advanced_protection_in_internet_facing_load_balancers.shield_advanced_protection_in_internet_facing_load_balancers import ( @@ -214,10 +217,10 @@ class Test_shield_advanced_protection_in_internet_facing_load_balancers: new=shield_client, ), mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.shield.shield_advanced_protection_in_internet_facing_load_balancers.shield_advanced_protection_in_internet_facing_load_balancers.elbv2_client", - new=ELBv2(self.set_mocked_audit_info()), + new=ELBv2(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ): # Test Check from prowler.providers.aws.services.shield.shield_advanced_protection_in_internet_facing_load_balancers.shield_advanced_protection_in_internet_facing_load_balancers import ( @@ -269,10 +272,10 @@ class Test_shield_advanced_protection_in_internet_facing_load_balancers: new=shield_client, ), mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.shield.shield_advanced_protection_in_internet_facing_load_balancers.shield_advanced_protection_in_internet_facing_load_balancers.elbv2_client", - new=ELBv2(self.set_mocked_audit_info()), + new=ELBv2(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ): # Test Check from prowler.providers.aws.services.shield.shield_advanced_protection_in_internet_facing_load_balancers.shield_advanced_protection_in_internet_facing_load_balancers import ( @@ -332,10 +335,10 @@ class Test_shield_advanced_protection_in_internet_facing_load_balancers: new=shield_client, ), mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ), mock.patch( "prowler.providers.aws.services.shield.shield_advanced_protection_in_internet_facing_load_balancers.shield_advanced_protection_in_internet_facing_load_balancers.elbv2_client", - new=ELBv2(self.set_mocked_audit_info()), + new=ELBv2(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])), ): # Test Check from prowler.providers.aws.services.shield.shield_advanced_protection_in_internet_facing_load_balancers.shield_advanced_protection_in_internet_facing_load_balancers import ( diff --git a/tests/providers/aws/services/shield/shield_service_test.py b/tests/providers/aws/services/shield/shield_service_test.py index be29028b20..f93b9ebaac 100644 --- a/tests/providers/aws/services/shield/shield_service_test.py +++ b/tests/providers/aws/services/shield/shield_service_test.py @@ -6,6 +6,10 @@ 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" @@ -35,7 +39,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: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -69,33 +72,33 @@ class Test_Shield_Service: # Test Shield Service def test_service(self): # Shield client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) shield = Shield(audit_info) assert shield.service == "shield" # Test Shield Client def test_client(self): # Shield client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) shield = Shield(audit_info) assert shield.client.__class__.__name__ == "Shield" # Test Shield Session def test__get_session__(self): # Shield client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) shield = Shield(audit_info) assert shield.session.__class__.__name__ == "Session" def test__get_subscription_state__(self): # Shield client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) shield = Shield(audit_info) assert shield.enabled def test__list_protections__(self): # Shield client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) shield = Shield(audit_info) protection_id = "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" protection_name = "Protection for CloudFront distribution" diff --git a/tests/providers/aws/services/sns/sns_service_test.py b/tests/providers/aws/services/sns/sns_service_test.py index 2bb93aeb70..b3af49d270 100644 --- a/tests/providers/aws/services/sns/sns_service_test.py +++ b/tests/providers/aws/services/sns/sns_service_test.py @@ -9,6 +9,10 @@ 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_REGION_EU_WEST_1, + set_mocked_aws_audit_info, +) AWS_ACCOUNT_NUMBER = "123456789012" AWS_REGION = "eu-west-1" @@ -49,7 +53,6 @@ def mock_generate_regional_clients(service, audit_info, _): new=mock_generate_regional_clients, ) class Test_SNS_Service: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -82,20 +85,20 @@ class Test_SNS_Service: # Test SNS Service def test_service(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) sns = SNS(audit_info) assert sns.service == "sns" # Test SNS client def test_client(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) sns = SNS(audit_info) for reg_client in sns.regional_clients.values(): assert reg_client.__class__.__name__ == "SNS" # Test SNS session def test__get_session__(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) sns = SNS(audit_info) assert sns.session.__class__.__name__ == "Session" @@ -110,7 +113,7 @@ class Test_SNS_Service: ], ) - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) sns = SNS(audit_info) assert len(sns.topics) == 1 @@ -130,7 +133,7 @@ class Test_SNS_Service: sns_client = client("sns", region_name=AWS_REGION) sns_client.create_topic(Name=topic_name) - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) sns = SNS(audit_info) assert len(sns.topics) == 1 diff --git a/tests/providers/aws/services/sqs/sqs_service_test.py b/tests/providers/aws/services/sqs/sqs_service_test.py index 72779a56dc..c6ede7017f 100644 --- a/tests/providers/aws/services/sqs/sqs_service_test.py +++ b/tests/providers/aws/services/sqs/sqs_service_test.py @@ -9,6 +9,10 @@ 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_REGION_EU_WEST_1, + set_mocked_aws_audit_info, +) AWS_ACCOUNT_NUMBER = "123456789012" AWS_REGION = "eu-west-1" @@ -51,7 +55,6 @@ def mock_generate_regional_clients(service, audit_info, _): new=mock_generate_regional_clients, ) class Test_SQS_Service: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -84,20 +87,20 @@ class Test_SQS_Service: # Test SQS Service def test_service(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) sqs = SQS(audit_info) assert sqs.service == "sqs" # Test SQS client def test_client(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) sqs = SQS(audit_info) for reg_client in sqs.regional_clients.values(): assert reg_client.__class__.__name__ == "SQS" # Test SQS session def test__get_session__(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) sqs = SQS(audit_info) assert sqs.session.__class__.__name__ == "Session" @@ -106,7 +109,7 @@ class Test_SQS_Service: def test__list_queues__(self): sqs_client = client("sqs", region_name=AWS_REGION) queue = sqs_client.create_queue(QueueName=test_queue, tags={"test": "test"}) - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) sqs = SQS(audit_info) assert len(sqs.queues) == 1 assert sqs.queues[0].id == queue["QueueUrl"] @@ -125,7 +128,9 @@ class Test_SQS_Service: # sqs_client = client("sqs", region_name=AWS_REGION) # for i in range(0,1050): # sqs_client.create_queue(QueueName=f"{test_queue}-{i}", tags={"test": "test"}) - # audit_info = self.set_mocked_audit_info() + # audit_info = set_mocked_aws_audit_info( + # [AWS_REGION_EU_WEST_1] + # ) # sqs = SQS(audit_info) # assert len(sqs.queues) > 1000 @@ -136,7 +141,7 @@ class Test_SQS_Service: queue = sqs_client.create_queue( QueueName=test_queue, ) - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) sqs = SQS(audit_info) assert len(sqs.queues) == 1 assert sqs.queues[0].id == queue["QueueUrl"] diff --git a/tests/providers/aws/services/ssm/ssm_service_test.py b/tests/providers/aws/services/ssm/ssm_service_test.py index dd03957c5a..3c6176adc2 100644 --- a/tests/providers/aws/services/ssm/ssm_service_test.py +++ b/tests/providers/aws/services/ssm/ssm_service_test.py @@ -9,6 +9,10 @@ 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" @@ -132,7 +136,6 @@ mainSteps: new=mock_generate_regional_clients, ) class Test_SSM_Service: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -166,19 +169,19 @@ class Test_SSM_Service: # Test SSM Client @mock_ssm def test__get_client__(self): - ssm = SSM(self.set_mocked_audit_info()) + ssm = SSM(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])) assert ssm.regional_clients[AWS_REGION].__class__.__name__ == "SSM" # Test SSM Session @mock_ssm def test__get_session__(self): - ssm = SSM(self.set_mocked_audit_info()) + ssm = SSM(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])) assert ssm.session.__class__.__name__ == "Session" # Test SSM Service @mock_ssm def test__get_service__(self): - ssm = SSM(self.set_mocked_audit_info()) + ssm = SSM(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])) assert ssm.service == "ssm" @mock_ssm @@ -202,7 +205,7 @@ class Test_SSM_Service: AccountIdsToAdd=[DEFAULT_ACCOUNT_ID], ) - ssm = SSM(self.set_mocked_audit_info()) + 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}" @@ -220,7 +223,7 @@ class Test_SSM_Service: @mock_ssm def test__list_resource_compliance_summaries__(self): - ssm = SSM(self.set_mocked_audit_info()) + ssm = SSM(set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1])) instance_id = "i-1234567890abcdef0" assert len(ssm.compliance_resources) == 1 assert ssm.compliance_resources diff --git a/tests/providers/aws/services/ssmincidents/ssmincidents_service_test.py b/tests/providers/aws/services/ssmincidents/ssmincidents_service_test.py index 7381965ea1..b919cf154e 100644 --- a/tests/providers/aws/services/ssmincidents/ssmincidents_service_test.py +++ b/tests/providers/aws/services/ssmincidents/ssmincidents_service_test.py @@ -9,6 +9,10 @@ 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" @@ -68,7 +72,6 @@ def mock_generate_regional_clients(service, audit_info, _): new=mock_generate_regional_clients, ) class Test_SSMIncidents_Service: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -100,7 +103,7 @@ class Test_SSMIncidents_Service: return audit_info def test__get_client__(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) ssmincidents = SSMIncidents(audit_info) assert ( ssmincidents.regional_clients[AWS_REGION].__class__.__name__ @@ -108,17 +111,17 @@ class Test_SSMIncidents_Service: ) def test__get_service__(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) ssmincidents = SSMIncidents(audit_info) assert ssmincidents.service == "ssm-incidents" def test__list_replication_sets__(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) ssmincidents = SSMIncidents(audit_info) assert len(ssmincidents.replication_set) == 1 def test__get_replication_set__(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) ssmincidents = SSMIncidents(audit_info) assert ssmincidents.replication_set[0].arn == REPLICATION_SET_ARN assert ssmincidents.replication_set[0].status == "ACTIVE" @@ -128,7 +131,7 @@ class Test_SSMIncidents_Service: assert region.sse_kms_id == "DefaultKey" def test__list_response_plans__(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) ssmincidents = SSMIncidents(audit_info) assert len(ssmincidents.response_plans) == 1 assert ssmincidents.response_plans[0].arn == RESPONSE_PLAN_ARN @@ -137,7 +140,7 @@ class Test_SSMIncidents_Service: assert ssmincidents.response_plans[0].tags == {"tag_test": "tag_value"} def test__list_tags_for_resource__(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) ssmincidents = SSMIncidents(audit_info) assert len(ssmincidents.response_plans) == 1 assert ssmincidents.response_plans[0].tags == {"tag_test": "tag_value"} diff --git a/tests/providers/aws/services/trustedadvisor/trustedadvisor_service_test.py b/tests/providers/aws/services/trustedadvisor/trustedadvisor_service_test.py index 3deb12f22b..8b3e619862 100644 --- a/tests/providers/aws/services/trustedadvisor/trustedadvisor_service_test.py +++ b/tests/providers/aws/services/trustedadvisor/trustedadvisor_service_test.py @@ -9,6 +9,10 @@ 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" @@ -39,7 +43,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: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -72,26 +75,26 @@ class Test_TrustedAdvisor_Service: # Test TrustedAdvisor Service def test_service(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) trustedadvisor = TrustedAdvisor(audit_info) assert trustedadvisor.service == "support" # Test TrustedAdvisor client def test_client(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) trustedadvisor = TrustedAdvisor(audit_info) assert trustedadvisor.client.__class__.__name__ == "Support" # Test TrustedAdvisor session def test__get_session__(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) trustedadvisor = TrustedAdvisor(audit_info) assert trustedadvisor.session.__class__.__name__ == "Session" @mock_support # Test TrustedAdvisor session def test__describe_trusted_advisor_checks__(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) trustedadvisor = TrustedAdvisor(audit_info) assert trustedadvisor.premium_support.enabled assert len(trustedadvisor.checks) == 104 # Default checks 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 6405bebb95..ee37d0aaac 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 @@ -1,11 +1,13 @@ import json 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" @@ -14,42 +16,11 @@ NON_TRUSTED_AWS_ACCOUNT_NUMBER = "000011112222" class Test_vpc_endpoint_connections_trust_boundaries: - 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_no_endpoints(self): from prowler.providers.aws.services.vpc.vpc_service import VPC - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) # Set config variable current_audit_info.audit_config = {"trusted_account_ids": []} @@ -88,7 +59,7 @@ class Test_vpc_endpoint_connections_trust_boundaries: from prowler.providers.aws.services.vpc.vpc_service import VPC - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) # Set config variable current_audit_info.audit_config = {"trusted_account_ids": []} @@ -139,7 +110,7 @@ class Test_vpc_endpoint_connections_trust_boundaries: from prowler.providers.aws.services.vpc.vpc_service import VPC - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) # Set config variable current_audit_info.audit_config = {"trusted_account_ids": []} @@ -201,7 +172,7 @@ class Test_vpc_endpoint_connections_trust_boundaries: ) from prowler.providers.aws.services.vpc.vpc_service import VPC - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) # Set config variable current_audit_info.audit_config = {"trusted_account_ids": []} @@ -261,7 +232,7 @@ class Test_vpc_endpoint_connections_trust_boundaries: ) from prowler.providers.aws.services.vpc.vpc_service import VPC - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) # Set config variable current_audit_info.audit_config = {"trusted_account_ids": []} @@ -324,7 +295,7 @@ class Test_vpc_endpoint_connections_trust_boundaries: from prowler.providers.aws.services.vpc.vpc_service import VPC - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) # Set config variable current_audit_info.audit_config = {"trusted_account_ids": []} @@ -385,7 +356,7 @@ class Test_vpc_endpoint_connections_trust_boundaries: ) from prowler.providers.aws.services.vpc.vpc_service import VPC - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) # Set config variable current_audit_info.audit_config = { @@ -448,7 +419,7 @@ class Test_vpc_endpoint_connections_trust_boundaries: ) from prowler.providers.aws.services.vpc.vpc_service import VPC - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) # Set config variable current_audit_info.audit_config = { @@ -516,7 +487,7 @@ class Test_vpc_endpoint_connections_trust_boundaries: ) from prowler.providers.aws.services.vpc.vpc_service import VPC - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) # Set config variable current_audit_info.audit_config = {"trusted_account_ids": []} @@ -576,7 +547,7 @@ class Test_vpc_endpoint_connections_trust_boundaries: ) from prowler.providers.aws.services.vpc.vpc_service import VPC - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) # Set config variable current_audit_info.audit_config = {"trusted_account_ids": []} @@ -643,7 +614,7 @@ class Test_vpc_endpoint_connections_trust_boundaries: ) from prowler.providers.aws.services.vpc.vpc_service import VPC - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) # Set config variable current_audit_info.audit_config = {"trusted_account_ids": []} @@ -710,7 +681,7 @@ class Test_vpc_endpoint_connections_trust_boundaries: ) from prowler.providers.aws.services.vpc.vpc_service import VPC - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) # Set config variable current_audit_info.audit_config = {"trusted_account_ids": []} 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 e3a63f76b9..42b083ec94 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 @@ -5,6 +5,10 @@ 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" @@ -45,7 +49,7 @@ class Test_vpc_flow_logs_enabled: def test_vpc_only_default_vpcs(self): from prowler.providers.aws.services.vpc.vpc_service import VPC - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -94,7 +98,7 @@ class Test_vpc_flow_logs_enabled: + ":role/test-role", ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -129,7 +133,7 @@ class Test_vpc_flow_logs_enabled: vpc = ec2_client.create_vpc(CidrBlock="10.0.0.0/16")["Vpc"] - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -165,7 +169,7 @@ class Test_vpc_flow_logs_enabled: ec2_client.create_vpc(CidrBlock="10.0.0.0/16")["Vpc"] - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) current_audit_info.ignore_unused_services = True with mock.patch( @@ -195,7 +199,7 @@ class Test_vpc_flow_logs_enabled: 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) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) current_audit_info.ignore_unused_services = True with mock.patch( 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 181a180bb8..bcbe82079f 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 @@ -1,52 +1,23 @@ 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_REGION_EU_WEST_1, + set_mocked_aws_audit_info, +) AWS_REGION = "us-east-1" AWS_ACCOUNT_NUMBER = "123456789012" class Test_vpc_peering_routing_tables_with_least_privilege: - 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_no_peering_connections(self): from prowler.providers.aws.services.vpc.vpc_service import VPC - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -96,7 +67,7 @@ class Test_vpc_peering_routing_tables_with_least_privilege: from prowler.providers.aws.services.vpc.vpc_service import VPC, Route - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -161,7 +132,7 @@ class Test_vpc_peering_routing_tables_with_least_privilege: from prowler.providers.aws.services.vpc.vpc_service import VPC, Route - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -228,7 +199,7 @@ class Test_vpc_peering_routing_tables_with_least_privilege: from prowler.providers.aws.services.vpc.vpc_service import VPC, Route - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", diff --git a/tests/providers/aws/services/vpc/vpc_service_test.py b/tests/providers/aws/services/vpc/vpc_service_test.py index 86493c2bc0..35bef6adec 100644 --- a/tests/providers/aws/services/vpc/vpc_service_test.py +++ b/tests/providers/aws/services/vpc/vpc_service_test.py @@ -6,13 +6,16 @@ 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_REGION_EU_WEST_1, + set_mocked_aws_audit_info, +) AWS_ACCOUNT_NUMBER = "123456789012" AWS_REGION = "us-east-1" class Test_VPC_Service: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -47,7 +50,7 @@ class Test_VPC_Service: @mock_ec2 def test_service(self): # VPC client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) vpc = VPC(audit_info) assert vpc.service == "ec2" @@ -55,7 +58,7 @@ class Test_VPC_Service: @mock_ec2 def test_client(self): # VPC client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) vpc = VPC(audit_info) for regional_client in vpc.regional_clients.values(): assert regional_client.__class__.__name__ == "EC2" @@ -64,7 +67,7 @@ class Test_VPC_Service: @mock_ec2 def test__get_session__(self): # VPC client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) vpc = VPC(audit_info) assert vpc.session.__class__.__name__ == "Session" @@ -72,7 +75,7 @@ class Test_VPC_Service: @mock_ec2 def test_audited_account(self): # VPC client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) vpc = VPC(audit_info) assert vpc.audited_account == AWS_ACCOUNT_NUMBER @@ -94,7 +97,7 @@ class Test_VPC_Service: ], )["Vpc"] # VPC client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) vpc = VPC(audit_info) assert ( len(vpc.vpcs) == 3 @@ -123,7 +126,7 @@ class Test_VPC_Service: + ":role/test-role", ) # VPC client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) vpc = VPC(audit_info) # Search created VPC among default ones for vpc_iter in vpc.vpcs.values(): @@ -156,7 +159,7 @@ class Test_VPC_Service: VpcPeeringConnectionId=vpc_pcx_id ) # VPC client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) vpc = VPC(audit_info) assert len(vpc.vpc_peering_connections) == 1 assert vpc.vpc_peering_connections[0].id == vpc_pcx_id @@ -195,7 +198,7 @@ class Test_VPC_Service: # ) # VPC client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) vpc = VPC(audit_info) vpc.vpc_peering_connections[0].route_tables = [ Route( @@ -242,7 +245,7 @@ class Test_VPC_Service: ], )["VpcEndpoint"]["VpcEndpointId"] # VPC client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) vpc = VPC(audit_info) assert len(vpc.vpc_endpoints) == 1 assert vpc.vpc_endpoints[0].id == endpoint @@ -290,7 +293,7 @@ class Test_VPC_Service: endpoint_service = endpoint["ServiceConfiguration"]["ServiceName"] # VPC client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) vpc = VPC(audit_info) for vpce in vpc.vpc_endpoint_services: @@ -317,7 +320,7 @@ class Test_VPC_Service: AvailabilityZone=f"{AWS_REGION}a", ) # VPC client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) vpc = VPC(audit_info) assert ( len(vpc.vpcs) == 3 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 6ff54eb323..e3af1afe63 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 @@ -1,47 +1,18 @@ 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_vpc_subnet_different_az: - 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_subnet_different_az(self): ec2_client = client("ec2", region_name=AWS_REGION) @@ -73,7 +44,7 @@ class Test_vpc_subnet_different_az: from prowler.providers.aws.services.vpc.vpc_service import VPC - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -129,7 +100,7 @@ class Test_vpc_subnet_different_az: from prowler.providers.aws.services.vpc.vpc_service import VPC - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -170,7 +141,7 @@ class Test_vpc_subnet_different_az: from prowler.providers.aws.services.vpc.vpc_service import VPC - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", 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 f0475ab2bb..7ffbc4d5b5 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 @@ -1,47 +1,18 @@ 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_vpc_subnet_no_public_ip_by_default: - 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_with_map_ip_on_launch(self): ec2_client = client("ec2", region_name=AWS_REGION) @@ -69,7 +40,7 @@ class Test_vpc_subnet_no_public_ip_by_default: from prowler.providers.aws.services.vpc.vpc_service import VPC - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -113,7 +84,7 @@ class Test_vpc_subnet_no_public_ip_by_default: from prowler.providers.aws.services.vpc.vpc_service import VPC - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", 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 7732c9da15..6f9140120f 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 @@ -1,47 +1,18 @@ 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_vpc_subnet_separate_private_public: - 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_subnet_only_private(self): ec2_client = client("ec2", region_name=AWS_REGION) @@ -77,7 +48,7 @@ class Test_vpc_subnet_separate_private_public: from prowler.providers.aws.services.vpc.vpc_service import VPC - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -139,7 +110,7 @@ class Test_vpc_subnet_separate_private_public: from prowler.providers.aws.services.vpc.vpc_service import VPC - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -216,7 +187,7 @@ class Test_vpc_subnet_separate_private_public: from prowler.providers.aws.services.vpc.vpc_service import VPC - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", diff --git a/tests/providers/aws/services/waf/waf_service_test.py b/tests/providers/aws/services/waf/waf_service_test.py index 8851e961e7..9e18cd06ce 100644 --- a/tests/providers/aws/services/waf/waf_service_test.py +++ b/tests/providers/aws/services/waf/waf_service_test.py @@ -6,6 +6,10 @@ 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" @@ -46,7 +50,6 @@ def mock_generate_regional_clients(service, audit_info, _): new=mock_generate_regional_clients, ) class Test_WAF_Service: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -80,14 +83,14 @@ class Test_WAF_Service: # Test WAF Service def test_service(self): # WAF client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) waf = WAF(audit_info) assert waf.service == "waf-regional" # Test WAF Client def test_client(self): # WAF client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) waf = WAF(audit_info) for regional_client in waf.regional_clients.values(): assert regional_client.__class__.__name__ == "WAFRegional" @@ -95,14 +98,14 @@ class Test_WAF_Service: # Test WAF Session def test__get_session__(self): # WAF client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) waf = WAF(audit_info) assert waf.session.__class__.__name__ == "Session" # Test WAF Describe Web ACLs def test__list_web_acls__(self): # WAF client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) waf = WAF(audit_info) assert len(waf.web_acls) == 1 assert waf.web_acls[0].name == "my-web-acl" @@ -112,7 +115,7 @@ class Test_WAF_Service: # Test WAF Describe Web ACLs Resources def test__list_resources_for_web_acl__(self): # WAF client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) waf = WAF(audit_info) assert len(waf.web_acls) == 1 assert len(waf.web_acls[0].albs) == 1 diff --git a/tests/providers/aws/services/wafv2/wafv2_service_test.py b/tests/providers/aws/services/wafv2/wafv2_service_test.py index 5022c27cf7..314d7a083c 100644 --- a/tests/providers/aws/services/wafv2/wafv2_service_test.py +++ b/tests/providers/aws/services/wafv2/wafv2_service_test.py @@ -4,13 +4,16 @@ 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: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -45,7 +48,7 @@ class Test_WAFv2_Service: @mock_wafv2 def test_service(self): # WAFv2 client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) wafv2 = WAFv2(audit_info) assert wafv2.service == "wafv2" @@ -53,7 +56,7 @@ class Test_WAFv2_Service: @mock_wafv2 def test_client(self): # WAFv2 client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) wafv2 = WAFv2(audit_info) for regional_client in wafv2.regional_clients.values(): assert regional_client.__class__.__name__ == "WAFV2" @@ -62,7 +65,7 @@ class Test_WAFv2_Service: @mock_wafv2 def test__get_session__(self): # WAFv2 client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) wafv2 = WAFv2(audit_info) assert wafv2.session.__class__.__name__ == "Session" @@ -81,7 +84,7 @@ class Test_WAFv2_Service: }, )["Summary"] # WAFv2 client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) wafv2 = WAFv2(audit_info) assert len(wafv2.web_acls) == 1 assert wafv2.web_acls[0].name == waf["Name"] @@ -128,7 +131,7 @@ class Test_WAFv2_Service: wafv2.associate_web_acl(WebACLArn=waf["ARN"], ResourceArn=lb["LoadBalancerArn"]) # WAFv2 client for this test class - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) wafv2 = WAFv2(audit_info) wafv2.web_acls[0].albs.append(lb["LoadBalancerArn"]) assert len(wafv2.web_acls) == 1 diff --git a/tests/providers/aws/services/wellarchitected/wellarchitected_service_test.py b/tests/providers/aws/services/wellarchitected/wellarchitected_service_test.py index 345a937b78..1a61ec78ac 100644 --- a/tests/providers/aws/services/wellarchitected/wellarchitected_service_test.py +++ b/tests/providers/aws/services/wellarchitected/wellarchitected_service_test.py @@ -9,6 +9,10 @@ from prowler.providers.aws.services.wellarchitected.wellarchitected_service impo WellArchitected, ) 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" @@ -54,7 +58,6 @@ def mock_generate_regional_clients(service, audit_info, _): new=mock_generate_regional_clients, ) class Test_WellArchitected_Service: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -87,26 +90,26 @@ class Test_WellArchitected_Service: # Test WellArchitected Service def test_service(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) wellarchitected = WellArchitected(audit_info) assert wellarchitected.service == "wellarchitected" # Test WellArchitected client def test_client(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) wellarchitected = WellArchitected(audit_info) for reg_client in wellarchitected.regional_clients.values(): assert reg_client.__class__.__name__ == "WellArchitected" # Test WellArchitected session def test__get_session__(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) wellarchitected = WellArchitected(audit_info) assert wellarchitected.session.__class__.__name__ == "Session" # Test WellArchitected list workloads def test__list_workloads__(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) wellarchitected = WellArchitected(audit_info) assert len(wellarchitected.workloads) == 1 assert wellarchitected.workloads[0].id == 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 347d18ffdc..626866de88 100644 --- a/tests/providers/aws/services/workspaces/workspaces_service_test.py +++ b/tests/providers/aws/services/workspaces/workspaces_service_test.py @@ -7,6 +7,10 @@ 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" @@ -50,7 +54,6 @@ def mock_generate_regional_clients(service, audit_info, _): new=mock_generate_regional_clients, ) class Test_WorkSpaces_Service: - # Mocked Audit Info def set_mocked_audit_info(self): audit_info = AWS_Audit_Info( session_config=None, @@ -83,26 +86,26 @@ class Test_WorkSpaces_Service: # Test WorkSpaces Service def test_service(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) workspaces = WorkSpaces(audit_info) assert workspaces.service == "workspaces" # Test WorkSpaces client def test_client(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) workspaces = WorkSpaces(audit_info) for reg_client in workspaces.regional_clients.values(): assert reg_client.__class__.__name__ == "WorkSpaces" # Test WorkSpaces session def test__get_session__(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) workspaces = WorkSpaces(audit_info) assert workspaces.session.__class__.__name__ == "Session" # Test WorkSpaces describe workspaces def test__describe_workspaces__(self): - audit_info = self.set_mocked_audit_info() + audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) workspaces = WorkSpaces(audit_info) assert len(workspaces.workspaces) == 1 assert workspaces.workspaces[0].id == workspace_id 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 4633c500b5..79d5a0830a 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 @@ -1,13 +1,15 @@ from unittest import mock from uuid import uuid4 -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.aws.services.vpc.vpc_service import VPC from prowler.providers.aws.services.workspaces.workspaces_service import WorkSpace -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" @@ -18,37 +20,6 @@ WORKSPACE_ARN = ( class Test_workspaces_vpc_2private_1public_subnets_nat: - 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 - def test_no_workspaces(self): workspaces_client = mock.MagicMock workspaces_client.workspaces = [] @@ -84,7 +55,7 @@ class Test_workspaces_vpc_2private_1public_subnets_nat: ) ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -152,7 +123,7 @@ class Test_workspaces_vpc_2private_1public_subnets_nat: ) ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -237,7 +208,7 @@ class Test_workspaces_vpc_2private_1public_subnets_nat: ) ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -341,7 +312,7 @@ class Test_workspaces_vpc_2private_1public_subnets_nat: ) ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", @@ -453,7 +424,7 @@ class Test_workspaces_vpc_2private_1public_subnets_nat: ) ) - current_audit_info = self.set_mocked_audit_info() + current_audit_info = set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]) with mock.patch( "prowler.providers.aws.lib.audit_info.audit_info.current_audit_info", diff --git a/tests/providers/common/audit_info_test.py b/tests/providers/common/audit_info_test.py index 2f09c986a8..c522e93a92 100644 --- a/tests/providers/common/audit_info_test.py +++ b/tests/providers/common/audit_info_test.py @@ -1,12 +1,11 @@ import boto3 import botocore import pytest -from boto3 import session from mock import patch from moto import mock_ec2, mock_resourcegroupstaggingapi from prowler.config.config import default_config_file_path -from prowler.providers.aws.lib.audit_info.models import AWS_Assume_Role, AWS_Audit_Info +from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info from prowler.providers.azure.azure_provider import Azure_Provider from prowler.providers.azure.lib.audit_info.models import ( Azure_Audit_Info, @@ -19,9 +18,12 @@ from prowler.providers.common.audit_info import ( get_tagged_resources, set_provider_audit_info, ) -from prowler.providers.common.models import Audit_Metadata from prowler.providers.gcp.gcp_provider import GCP_Provider from prowler.providers.gcp.lib.audit_info.models import GCP_Audit_Info +from tests.providers.aws.audit_info_utils import ( + AWS_REGION_EU_WEST_1, + set_mocked_aws_audit_info, +) EXAMPLE_AMI_ID = "ami-12c6146b" AWS_ACCOUNT_NUMBER = "123456789012" @@ -94,43 +96,6 @@ def mock_get_project_ids(*_): class Test_Set_Audit_Info: - # Mocked Audit Info - def set_mocked_audit_info(self): - audit_info = AWS_Audit_Info( - session_config=None, - original_session=None, - audit_session=session.Session( - profile_name=None, - botocore_session=None, - ), - audited_account=AWS_ACCOUNT_NUMBER, - audited_account_arn=f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:root", - audited_user_id=None, - audited_partition="aws", - audited_identity_arn="arn:aws:iam::123456789012:user/test", - profile=None, - profile_region="eu-west-1", - credentials=None, - assumed_role_info=AWS_Assume_Role( - role_arn=None, - session_duration=None, - external_id=None, - mfa_enabled=None, - ), - audited_regions=["eu-west-2", "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 - @patch( "prowler.providers.common.audit_info.azure_audit_info", new=mock_azure_audit_info, @@ -283,7 +248,7 @@ class Test_Set_Audit_Info: def test_get_tagged_resources(self): with patch( "prowler.providers.common.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ) as mock_audit_info: client = boto3.client("ec2", region_name="eu-central-1") instances = client.run_instances( @@ -338,7 +303,7 @@ class Test_Set_Audit_Info: def test_set_audit_info_aws(self): with patch( "prowler.providers.common.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ): provider = "aws" arguments = { @@ -357,7 +322,7 @@ class Test_Set_Audit_Info: def test_set_audit_info_aws_bad_session_duration(self): with patch( "prowler.providers.common.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ): provider = "aws" arguments = { @@ -377,7 +342,7 @@ class Test_Set_Audit_Info: def test_set_audit_info_aws_session_duration_without_role(self): with patch( "prowler.providers.common.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ): provider = "aws" arguments = { @@ -397,7 +362,7 @@ class Test_Set_Audit_Info: def test_set_audit_info_external_id_without_role(self): with patch( "prowler.providers.common.audit_info.current_audit_info", - new=self.set_mocked_audit_info(), + new=set_mocked_aws_audit_info([AWS_REGION_EU_WEST_1]), ): provider = "aws" arguments = {