diff options
| author | J08nY | 2022-09-22 20:14:52 +0200 |
|---|---|---|
| committer | J08nY | 2022-09-22 20:14:52 +0200 |
| commit | ffb1dc8d4f2efcd3bc18c80cf50866715c88414c (patch) | |
| tree | 96b6bbe1602bf9ff53629ef39553719527a34c15 | |
| parent | ca5619e7a535f702b4eb7f186419f3884772f52b (diff) | |
| download | sec-certs-ffb1dc8d4f2efcd3bc18c80cf50866715c88414c.tar.gz sec-certs-ffb1dc8d4f2efcd3bc18c80cf50866715c88414c.tar.zst sec-certs-ffb1dc8d4f2efcd3bc18c80cf50866715c88414c.zip | |
More code coverage.
| -rw-r--r-- | tests/test_cc_heuristics.py | 38 | ||||
| -rw-r--r-- | tests/test_cc_txt_processing.py | 11 |
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] |
