25 lines
1.1 KiB
Python
25 lines
1.1 KiB
Python
import unittest
|
|
|
|
from redflare.core.models import Finding
|
|
from redflare.core.standards import TEST_REGISTRY, enrich_finding
|
|
|
|
|
|
class StandardsTests(unittest.TestCase):
|
|
def test_registry_ids_are_unique_and_versioned(self):
|
|
ids = [item.id for item in TEST_REGISTRY]
|
|
self.assertEqual(len(ids), len(set(ids)))
|
|
self.assertTrue(all(item.wstg and item.asvs and item.cwe and item.api_security for item in TEST_REGISTRY))
|
|
self.assertTrue(all(ref.startswith("WSTG-") for item in TEST_REGISTRY for ref in item.wstg))
|
|
self.assertTrue(all(ref.startswith("v5.0.0-") for item in TEST_REGISTRY for ref in item.asvs))
|
|
|
|
def test_enriches_known_finding(self):
|
|
finding = Finding("run", "https://example.test", "http_headers", "security-headers", "Missing", "low", 1.0, "desc")
|
|
enrich_finding(finding)
|
|
self.assertEqual(finding.test_id, "RFV2-CONF-001")
|
|
self.assertIn("OWASP_ASVS", finding.standards)
|
|
self.assertEqual(finding.standards["OWASP_WSTG"][0]["version"], "4.2")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main()
|