From c389427b80f2318422d20b70ff33e41ba4b336ff Mon Sep 17 00:00:00 2001 From: "Andoni A." <14891798+andoniaf@users.noreply.github.com> Date: Wed, 28 May 2025 16:39:17 +0200 Subject: [PATCH] chore(iac): add iac_provider tests --- tests/providers/iac/iac_fixtures.py | 64 +----------------------- tests/providers/iac/iac_provider_test.py | 4 +- 2 files changed, 3 insertions(+), 65 deletions(-) diff --git a/tests/providers/iac/iac_fixtures.py b/tests/providers/iac/iac_fixtures.py index 1d285b70d3..1583a2a3b4 100644 --- a/tests/providers/iac/iac_fixtures.py +++ b/tests/providers/iac/iac_fixtures.py @@ -1,8 +1,3 @@ -from mock import MagicMock - -from prowler.providers.common.models import Audit_Metadata -from prowler.providers.iac.iac_provider import IacProvider - # IAC Provider Constants DEFAULT_SCAN_PATH = "." DEFAULT_REGION = "global" @@ -12,6 +7,7 @@ DEFAULT_IDENTITY = "prowler" # Sample Checkov Output SAMPLE_CHECKOV_OUTPUT = [ { + "check_type": "terraform", "results": { "failed_checks": [ { @@ -40,7 +36,7 @@ SAMPLE_CHECKOV_OUTPUT = [ ] # Sample Finding Data -SAMPLE_FINDING = {"results": SAMPLE_CHECKOV_OUTPUT[0]["results"]} +SAMPLE_FINDING = SAMPLE_CHECKOV_OUTPUT[0] SAMPLE_FAILED_CHECK = { "check_id": "CKV_AWS_1", @@ -56,62 +52,6 @@ SAMPLE_PASSED_CHECK = { "severity": "low", } -# Sample Config Content -SAMPLE_CONFIG_CONTENT = { - "custom_setting": "value", - "threshold": 100, - "enable_feature": True, -} - -SAMPLE_FIXER_CONFIG = {"fix_setting": "enabled", "auto_fix": False} - - -def set_mocked_iac_provider( - scan_path: str = DEFAULT_SCAN_PATH, - config_content: dict = None, - fixer_config: dict = None, - audit_metadata: Audit_Metadata = None, -) -> IacProvider: - """ - Create a mocked IAC provider for testing. - - Args: - scan_path: The directory path to scan - config_content: Custom audit configuration - fixer_config: Custom fixer configuration - audit_metadata: Custom audit metadata - - Returns: - MagicMock: Mocked IAC provider instance - """ - provider = MagicMock() - provider.type = "iac" - provider._type = "iac" - provider.scan_path = scan_path - provider.region = DEFAULT_REGION - provider.audited_account = DEFAULT_ACCOUNT - provider.identity = DEFAULT_IDENTITY - provider.session = None - provider._audit_config = config_content or {} - provider._fixer_config = fixer_config or {} - provider._mutelist = None - - if audit_metadata: - provider.audit_metadata = audit_metadata - else: - provider.audit_metadata = Audit_Metadata( - provider="iac", - account_id=DEFAULT_ACCOUNT, - account_name="iac", - region=DEFAULT_REGION, - services_scanned=0, - expected_checks=[], - completed_checks=0, - audit_progress=0, - ) - - return provider - def get_sample_checkov_json_output(): """Return sample Checkov JSON output as string""" diff --git a/tests/providers/iac/iac_provider_test.py b/tests/providers/iac/iac_provider_test.py index 85d6cd3b5f..7d27938abd 100644 --- a/tests/providers/iac/iac_provider_test.py +++ b/tests/providers/iac/iac_provider_test.py @@ -53,9 +53,7 @@ class TestIacProvider: """Test processing a passed check""" provider = IacProvider() - finding = {"severity": "medium"} - - report = provider._process_check(finding, SAMPLE_PASSED_CHECK, "PASS") + report = provider._process_check(SAMPLE_FINDING, SAMPLE_PASSED_CHECK, "PASS") assert isinstance(report, CheckReportIAC) assert report.status == "PASS"