mirror of
https://github.com/prowler-cloud/prowler.git
synced 2026-10-30 15:24:22 +00:00
chore(Scan, Finding): PRWLR-5056 Adjust finding information storing when performing a scan (#57)
* chore: PRWLR-5056 update Prowler dependency * feat(Scan): PRWLR-5056 adapt scan task code to sdk breaking changes * test(Scan): PRWLR-5056 fix unit tests * chore: PRWLR-5056 update fixtures * chore: PRWLR-5056 update Prowler dependency
This commit is contained in:
1 parent
a8825c385b
commit
ed427c1352
10 files changed
+2851
-261
No files matched your search
@@ -1,4 +1,3 @@
|
||||
import json
|
||||
import time
|
||||
from datetime import datetime, timezone
|
||||
|
||||
@@ -62,8 +61,8 @@ def _store_finding(
|
||||
Finding: The newly created or updated Finding instance.
|
||||
|
||||
"""
|
||||
finding_uid = finding.finding_uid
|
||||
status = FindingStatus[finding.status.value] if finding.status is not None else None
|
||||
finding_uid = finding.uid
|
||||
status = FindingStatus[finding.status]
|
||||
with tenant_transaction(tenant_id):
|
||||
most_recent_finding = (
|
||||
Finding.objects.filter(uid=finding_uid)
|
||||
@@ -78,11 +77,12 @@ def _store_finding(
|
||||
tenant_id=tenant_id,
|
||||
uid=finding_uid,
|
||||
delta=delta,
|
||||
check_metadata=finding.get_metadata(),
|
||||
status=status,
|
||||
status_extended=finding.status_extended,
|
||||
severity=finding.severity.value,
|
||||
impact=finding.severity.value,
|
||||
raw_result=json.loads(finding.json()),
|
||||
severity=finding.severity,
|
||||
impact=finding.severity,
|
||||
raw_result=finding.raw,
|
||||
check_id=finding.check_id,
|
||||
scan=scan_instance,
|
||||
)
|
||||
@@ -172,9 +172,7 @@ def perform_prowler_scan(
|
||||
)
|
||||
provider_instance.save()
|
||||
|
||||
prowler_scan = ProwlerScan(
|
||||
provider=prowler_provider, checks_to_execute=checks_to_execute
|
||||
)
|
||||
prowler_scan = ProwlerScan(provider=prowler_provider, checks=checks_to_execute)
|
||||
for progress, findings in prowler_scan.scan():
|
||||
for finding in findings:
|
||||
resource_instance, resource_uid_tuple = _store_resources(
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
import json
|
||||
from unittest.mock import patch, MagicMock
|
||||
|
||||
import pytest
|
||||
@@ -34,16 +33,17 @@ class TestPerformScan:
|
||||
checks_to_execute = ["check1", "check2"]
|
||||
|
||||
finding = MagicMock()
|
||||
finding.finding_uid = "this_is_a_test_finding_id"
|
||||
finding.status = StatusChoices.PASS
|
||||
finding.uid = "this_is_a_test_finding_id"
|
||||
finding.status = "PASS"
|
||||
finding.status_extended = "test status extended"
|
||||
finding.severity = Severity.medium
|
||||
finding.check_id = "check1"
|
||||
finding.json.return_value = '{"key": "value"}'
|
||||
finding.get_metadata.return_value = '{"key": "value"}'
|
||||
finding.resource_uid = "resource_uid"
|
||||
finding.region = "region"
|
||||
finding.service_name = "service_name"
|
||||
finding.resource_type = "resource_type"
|
||||
finding.raw = {}
|
||||
mock_prowler_scan.return_value.scan.return_value = [(100, [finding])]
|
||||
|
||||
perform_prowler_scan(tenant_id, scan_id, provider_id, checks_to_execute)
|
||||
@@ -60,12 +60,12 @@ class TestPerformScan:
|
||||
assert scan.started_at is not None
|
||||
assert scan.unique_resource_count == 1
|
||||
assert scan.progress == 100
|
||||
assert scan_finding.uid == finding.finding_uid
|
||||
assert scan_finding.uid == finding.uid
|
||||
assert scan_finding.status == finding.status
|
||||
assert scan_finding.status_extended == finding.status_extended
|
||||
assert scan_finding.severity == finding.severity
|
||||
assert scan_finding.check_id == finding.check_id
|
||||
assert scan_finding.raw_result == json.loads(finding.json())
|
||||
assert scan_finding.raw_result == finding.raw
|
||||
|
||||
assert scan_resource.tenant == tenant
|
||||
assert scan_resource.uid == finding.resource_uid
|
||||
|
||||
Reference in new issue
Block a user