aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJ08nY2022-09-22 20:14:52 +0200
committerJ08nY2022-09-22 20:14:52 +0200
commitffb1dc8d4f2efcd3bc18c80cf50866715c88414c (patch)
tree96b6bbe1602bf9ff53629ef39553719527a34c15
parentca5619e7a535f702b4eb7f186419f3884772f52b (diff)
downloadsec-certs-ffb1dc8d4f2efcd3bc18c80cf50866715c88414c.tar.gz
sec-certs-ffb1dc8d4f2efcd3bc18c80cf50866715c88414c.tar.zst
sec-certs-ffb1dc8d4f2efcd3bc18c80cf50866715c88414c.zip
More code coverage.
-rw-r--r--tests/test_cc_heuristics.py38
-rw-r--r--tests/test_cc_txt_processing.py11
2 files changed, 49 insertions, 0 deletions
diff --git a/tests/test_cc_heuristics.py b/tests/test_cc_heuristics.py
index 44be386a..e5352552 100644
--- a/tests/test_cc_heuristics.py
+++ b/tests/test_cc_heuristics.py
@@ -10,6 +10,7 @@ from sec_certs.cert_rules import SARS_IMPLIED_FROM_EAL
from sec_certs.config.configuration import config
from sec_certs.dataset import CCDataset, CPEDataset, CVEDataset
from sec_certs.sample import CPE, CVE, SAR, CommonCriteriaCert, ProtectionProfile
+from sec_certs.sample.cc_certificate_id import canonicalize
class TestCommonCriteriaHeuristics(TestCase):
@@ -333,3 +334,40 @@ class TestCommonCriteriaHeuristics(TestCase):
actual_sars = test_cert.actual_sars
eal_3_sars = {SAR(x[0], x[1]) for x in SARS_IMPLIED_FROM_EAL["EAL3"]}
self.assertTrue(eal_3_sars.issubset(actual_sars))
+
+
+class TestCommonCriteriaID(TestCase):
+ def test_canonicalize_fr(self):
+ self.assertEqual(canonicalize("Rapport de certification 2001/02v2", "FR"), "ANSSI-CC-2001/02v2")
+ self.assertEqual(canonicalize("ANSSI-CC 2001/02-R01", "FR"), "ANSSI-CC-2001/02-R01")
+
+ def test_canonicalize_de(self):
+ self.assertEqual(canonicalize("BSI-DSZ-CC-0420-2007", "DE"), "BSI-DSZ-CC-0420-2007")
+
+ def test_canonicalize_es(self):
+ self.assertEqual(canonicalize("2011-14-INF-1095-v1", "ES"), "2011-14-INF-1095")
+
+ def test_canonicalize_it(self):
+ self.assertEqual(canonicalize("OCSI/CERT/SYS/10/2016", "IT"), "OCSI/CERT/SYS/10/2016/RC")
+
+ def test_canonicalize_in(self):
+ self.assertEqual(canonicalize("IC3S/KOL01/ADVA/EAL2/0520/0021 /CR", "IN"), "IC3S/KOL01/ADVA/EAL2/0520/0021/CR")
+
+ def test_canonicalize_se(self):
+ self.assertEqual(canonicalize("CSEC2017020", "SE"), "CSEC2017020")
+ self.assertEqual(canonicalize("CSEC 2017020", "SE"), "CSEC2017020")
+
+ def test_canonicalize_uk(self):
+ self.assertEqual(canonicalize("CERTIFICATION REPORT No. P123", "UK"), "CRP123")
+ self.assertEqual(canonicalize("CRP123A", "UK"), "CRP123A")
+
+ def test_canonicalize_ca(self):
+ self.assertEqual(canonicalize("383-4-123-CR", "CA"), "383-4-123")
+ self.assertEqual(canonicalize("383-4-123P", "CA"), "383-4-123")
+
+ def test_canonicalize_jp(self):
+ self.assertEqual(canonicalize("Certification No. C01234", "JP"), "C01234")
+ self.assertEqual(canonicalize("CRP-C01234-01", "JP"), "C01234")
+
+ def test_canonicalize_no(self):
+ self.assertEqual(canonicalize("SERTIT-12", "NO"), "SERTIT-012")
diff --git a/tests/test_cc_txt_processing.py b/tests/test_cc_txt_processing.py
index d50b9655..f144decd 100644
--- a/tests/test_cc_txt_processing.py
+++ b/tests/test_cc_txt_processing.py
@@ -24,6 +24,17 @@ class TestCommonCriteriaTextProcessing(TestCase):
cls.cc_dset.download_all_pdfs()
cls.cc_dset.convert_all_pdfs()
+ def test_extract_metadata(self):
+ subject_cert: CommonCriteriaCert = list(self.cc_dset.certs.values())[0]
+
+ subject_cert.state.st_extract_ok = True
+ CommonCriteriaCert.extract_st_pdf_metadata(subject_cert)
+ self.assertTrue(subject_cert.state.st_extract_ok, True)
+
+ subject_cert.state.report_extract_ok = True
+ CommonCriteriaCert.extract_report_pdf_metadata(subject_cert)
+ self.assertTrue(subject_cert.state.report_extract_ok, True)
+
def test_extract_frontpage(self):
subject_cert: CommonCriteriaCert = list(self.cc_dset.certs.values())[0]