1010from datetime import datetime
1111from datetime import timezone
1212
13+ import pytest
1314from univers .version_range import VersionRange
1415
1516from vulnerabilities import models
@@ -43,6 +44,7 @@ def advisory_data(self):
4344 return ADVISORY_DATAS
4445
4546
47+ @pytest .mark .django_db (transaction = True )
4648def test_import_runner (db ):
4749 runner = ImportRunner (DummyImporter )
4850 runner .run ()
@@ -51,18 +53,21 @@ def test_import_runner(db):
5153 assert advisory_datas == ADVISORY_DATAS
5254
5355
56+ @pytest .mark .django_db (transaction = True )
5457def test_process_advisories_with_no_advisory (db ):
5558 ImportRunner (DummyImporter ).process_advisories ([], "" )
5659 assert 0 == models .Advisory .objects .count ()
5760
5861
62+ @pytest .mark .django_db (transaction = True )
5963def test_process_advisories_with_advisories (db ):
6064 ImportRunner (DummyImporter ).process_advisories (ADVISORY_DATAS , "test_importer" )
6165 advisories = models .Advisory .objects .all ()
6266 advisory_datas = [x .to_advisory_data () for x in advisories ]
6367 assert advisory_datas == ADVISORY_DATAS
6468
6569
70+ @pytest .mark .django_db (transaction = True )
6671def test_process_advisories_idempotency (db ):
6772 ImportRunner (DummyImporter ).process_advisories (ADVISORY_DATAS , "test_importer" )
6873 ImportRunner (DummyImporter ).process_advisories (ADVISORY_DATAS , "test_importer" )
@@ -72,6 +77,7 @@ def test_process_advisories_idempotency(db):
7277 assert advisory_datas == ADVISORY_DATAS
7378
7479
80+ @pytest .mark .django_db (transaction = True )
7581def test_process_advisories_idempotency_with_one_new_advisory (db ):
7682 advisory_datas = ADVISORY_DATAS .copy ()
7783 ImportRunner (DummyImporter ).process_advisories (advisory_datas , "test_importer" )
@@ -86,9 +92,17 @@ def test_process_advisories_idempotency_with_one_new_advisory(db):
8692 assert advisory_datas_in_db == advisory_datas
8793
8894
89- def test_process_advisories_idempotency_with_different_importer_names (db ):
95+ @pytest .mark .django_db (transaction = True )
96+ def test_process_advisories_idempotency_with_different_importer_names ():
9097 ImportRunner (DummyImporter ).process_advisories (ADVISORY_DATAS , "test_importer_one" )
9198 ImportRunner (DummyImporter ).process_advisories (ADVISORY_DATAS , "test_importer_two" )
9299 advisories = models .Advisory .objects .all ()
93100 advisory_datas = [x .to_advisory_data () for x in advisories ]
94101 assert advisory_datas == ADVISORY_DATAS
102+
103+
104+ def test_advisory_summary_clean_up ():
105+ adv = AdvisoryData (
106+ summary = "The X509Extension in pyOpenSSL before 0.13.1 does not properly handle a '\x00 ' character in a domain name in the Subject Alternative Name field of an X.509 certificate, which allows man-in-the-middle attackers to spoof arbitrary SSL servers via a crafted certificate issued by a legitimate Certification Authority."
107+ )
108+ assert '\x00 ' not in adv .summary
0 commit comments