feat(scan): execute all checks if no checks are provided (#5307)

This commit is contained in:
Pedro Martín
2024-10-09 11:46:38 +02:00
committed by GitHub
parent 41ba118cc4
commit 3ee39cff2a
2 changed files with 60 additions and 4 deletions
+35
View File
@@ -1,3 +1,5 @@
from importlib.machinery import FileFinder
from pkgutil import ModuleInfo
from unittest import mock
import pytest
@@ -69,6 +71,23 @@ def mock_generate_output():
yield mock_gen_output
@pytest.fixture
def mock_list_modules():
with mock.patch(
"prowler.lib.check.utils.list_modules", autospec=True
) as mock_list_mod:
mock_list_mod.return_value = [
ModuleInfo(
module_finder=FileFinder(
"/prowler/providers/aws/services/accessanalyzer/accessanalyzer_enabled"
),
name="prowler.providers.aws.services.accessanalyzer.accessanalyzer_enabled.accessanalyzer_enabled",
ispkg=False,
)
]
yield mock_list_mod
class TestScan:
def test_init(mock_provider):
checks_to_execute = {
@@ -205,6 +224,22 @@ class TestScan:
assert scan.get_completed_services() == set()
assert scan.get_completed_checks() == set()
def test_init_with_no_checks(mock_provider, mock_list_modules):
checks_to_execute = set()
mock_provider.type = "aws"
scan = Scan(mock_provider, checks_to_execute)
assert scan.provider == mock_provider
assert scan.checks_to_execute == ["accessanalyzer_enabled"]
assert scan.service_checks_to_execute == get_service_checks_to_execute(
["accessanalyzer_enabled"]
)
assert scan.service_checks_completed == {}
assert scan.progress == 0
assert scan.get_completed_services() == set()
assert scan.get_completed_checks() == set()
@patch("importlib.import_module")
def test_scan(
mock_import_module,