github-actions-library/wait-for-ecr-scan-and-get-s.../test_aws_scan_findings_to_s...

35 lines
1.4 KiB
Python

import json
import pytest
import os
import sys
sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))
from aws_scan_findings_to_sarif import convert_to_sarif
def test_convert_to_sarif():
base_dir = os.path.dirname(os.path.abspath(__file__))
sample_file_path = os.path.join(base_dir, "sample-api-response-ecr-describe-image-scan-findings.json")
with open(sample_file_path, "r") as f:
ecr_response = json.load(f)
sarif_report = convert_to_sarif(ecr_response)
assert sarif_report["version"] == "2.1.0"
assert sarif_report["runs"][0]["tool"]["driver"]["name"] == "AWS ECR"
assert len(sarif_report["runs"][0]["results"]) == 1
assert sarif_report["runs"][0]["results"][0]["ruleId"] == "CVE-2019-5188"
assert sarif_report["runs"][0]["results"][0]["level"] == "medium"
def test_convert_to_sarif_reduced_to_one_issue():
base_dir = os.path.dirname(os.path.abspath(__file__))
sample_file_path = os.path.join(base_dir, "tests/sample-api-response-ecr-scan-ubuntu-reduced-to-one-issue.json")
expected_output_path = os.path.join(base_dir, "tests/trivy-report-ubuntu-reduced-to-one-issue.sarif")
with open(sample_file_path, "r") as f:
ecr_response = json.load(f)
with open(expected_output_path, "r") as f:
expected_output = json.load(f)
sarif_report = convert_to_sarif(ecr_response)
assert sarif_report == expected_output