fix(ec2_securitygroup_not_used): Mock Lambda service (#2947)

This commit is contained in:
Pepe Fagoaga
2023-10-19 17:05:04 +02:00
committed by GitHub
parent 1ac22bddd6
commit 170241649d
9 changed files with 310 additions and 257 deletions

View File

@@ -8,8 +8,10 @@ from prowler.providers.aws.services.awslambda.awslambda_service import (
URLConfig,
URLConfigCORS,
)
AWS_REGION = "us-east-1"
from tests.providers.aws.audit_info_utils import (
AWS_REGION_US_EAST_1,
set_mocked_aws_audit_info,
)
class Test_awslambda_function_url_public:
@@ -18,7 +20,10 @@ class Test_awslambda_function_url_public:
lambda_client.functions = {}
with mock.patch(
"prowler.providers.aws.services.awslambda.awslambda_service.Lambda",
"prowler.providers.aws.lib.audit_info.audit_info.current_audit_info",
set_mocked_aws_audit_info(),
), mock.patch(
"prowler.providers.aws.services.awslambda.awslambda_function_url_public.awslambda_function_url_public.awslambda_client",
new=lambda_client,
):
# Test Check
@@ -35,15 +40,13 @@ class Test_awslambda_function_url_public:
lambda_client = mock.MagicMock
function_name = "test-lambda"
function_runtime = "nodejs4.3"
function_arn = (
f"arn:aws:lambda:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:function/{function_name}"
)
function_arn = f"arn:aws:lambda:{AWS_REGION_US_EAST_1}:{DEFAULT_ACCOUNT_ID}:function/{function_name}"
lambda_client.functions = {
"function_name": Function(
name=function_name,
security_groups=[],
arn=function_arn,
region=AWS_REGION,
region=AWS_REGION_US_EAST_1,
runtime=function_runtime,
url_config=URLConfig(
auth_type=AuthType.NONE,
@@ -54,7 +57,10 @@ class Test_awslambda_function_url_public:
}
with mock.patch(
"prowler.providers.aws.services.awslambda.awslambda_service.Lambda",
"prowler.providers.aws.lib.audit_info.audit_info.current_audit_info",
set_mocked_aws_audit_info(),
), mock.patch(
"prowler.providers.aws.services.awslambda.awslambda_function_url_public.awslambda_function_url_public.awslambda_client",
new=lambda_client,
):
# Test Check
@@ -66,7 +72,7 @@ class Test_awslambda_function_url_public:
result = check.execute()
assert len(result) == 1
assert result[0].region == AWS_REGION
assert result[0].region == AWS_REGION_US_EAST_1
assert result[0].resource_id == function_name
assert result[0].resource_arn == function_arn
assert result[0].status == "FAIL"
@@ -80,15 +86,13 @@ class Test_awslambda_function_url_public:
lambda_client = mock.MagicMock
function_name = "test-lambda"
function_runtime = "python3.9"
function_arn = (
f"arn:aws:lambda:{AWS_REGION}:{DEFAULT_ACCOUNT_ID}:function/{function_name}"
)
function_arn = f"arn:aws:lambda:{AWS_REGION_US_EAST_1}:{DEFAULT_ACCOUNT_ID}:function/{function_name}"
lambda_client.functions = {
"function_name": Function(
name=function_name,
security_groups=[],
arn=function_arn,
region=AWS_REGION,
region=AWS_REGION_US_EAST_1,
runtime=function_runtime,
url_config=URLConfig(
auth_type=AuthType.AWS_IAM,
@@ -99,7 +103,10 @@ class Test_awslambda_function_url_public:
}
with mock.patch(
"prowler.providers.aws.services.awslambda.awslambda_service.Lambda",
"prowler.providers.aws.lib.audit_info.audit_info.current_audit_info",
set_mocked_aws_audit_info(),
), mock.patch(
"prowler.providers.aws.services.awslambda.awslambda_function_url_public.awslambda_function_url_public.awslambda_client",
new=lambda_client,
):
# Test Check
@@ -111,7 +118,7 @@ class Test_awslambda_function_url_public:
result = check.execute()
assert len(result) == 1
assert result[0].region == AWS_REGION
assert result[0].region == AWS_REGION_US_EAST_1
assert result[0].resource_id == function_name
assert result[0].resource_arn == function_arn
assert result[0].status == "PASS"