|
29 | 29 |
|
30 | 30 | import vulnerabilities.importers.redhat as redhat |
31 | 31 | from vulnerabilities.data_source import Advisory |
| 32 | +from vulnerabilities.data_source import VulnerabilityReferenceUnit |
32 | 33 |
|
33 | 34 | BASE_DIR = os.path.dirname(os.path.abspath(__file__)) |
34 | 35 | TEST_DATA = os.path.join(BASE_DIR, 'test_data/', 'redhat.json') |
@@ -74,11 +75,7 @@ def test_to_advisory(self): |
74 | 75 | qualifiers=OrderedDict(), |
75 | 76 | subpath=None)], |
76 | 77 | resolved_package_urls=[], |
77 | | - reference_urls=[ |
78 | | - 'https://access.redhat.com/hydra/rest/securitydata/cve/CVE-2016-9401.json'], |
79 | | - reference_ids=[ |
80 | | - 'RHSA-2017:1931', |
81 | | - 'RHSA-2017:0725'], |
| 78 | + vuln_references=sorted([VulnerabilityReferenceUnit(url='https://bugzilla.redhat.com/show_bug.cgi?id=1396383', reference_id='1396383'), VulnerabilityReferenceUnit(url='https://access.redhat.com/errata/RHSA-2017:1931', reference_id='RHSA-2017:1931'), VulnerabilityReferenceUnit(url='https://access.redhat.com/errata/RHSA-2017:0725', reference_id='RHSA-2017:0725'), VulnerabilityReferenceUnit(url='https://access.redhat.com/hydra/rest/securitydata/cve/CVE-2016-9401.json', reference_id='')], key=lambda x: x.url), |
82 | 79 | cve_id='CVE-2016-9401'), |
83 | 80 | Advisory( |
84 | 81 | summary=('CVE-2016-10200 kernel: l2tp: Race condition ' |
@@ -106,26 +103,20 @@ def test_to_advisory(self): |
106 | 103 | qualifiers=OrderedDict(), |
107 | 104 | subpath=None)], |
108 | 105 | resolved_package_urls=[], |
109 | | - reference_urls=[ |
110 | | - 'https://access.redhat.com/hydra/rest/securitydata/cve/CVE-2016-10200.json'], |
111 | | - reference_ids=[ |
112 | | - 'RHSA-2017:1842', |
113 | | - 'RHSA-2017:2437', |
114 | | - 'RHSA-2017:2077', |
115 | | - 'RHSA-2017:2444'], |
| 106 | + vuln_references=sorted([VulnerabilityReferenceUnit(url='https://bugzilla.redhat.com/show_bug.cgi?id=1430347', reference_id='1430347'), VulnerabilityReferenceUnit(url='https://access.redhat.com/errata/RHSA-2017:1842', reference_id='RHSA-2017:1842'), VulnerabilityReferenceUnit(url='https://access.redhat.com/errata/RHSA-2017:2437', reference_id='RHSA-2017:2437'), VulnerabilityReferenceUnit(url='https://access.redhat.com/errata/RHSA-2017:2077', reference_id='RHSA-2017:2077'), VulnerabilityReferenceUnit(url='https://access.redhat.com/errata/RHSA-2017:2444', reference_id='RHSA-2017:2444'), VulnerabilityReferenceUnit(url='https://access.redhat.com/hydra/rest/securitydata/cve/CVE-2016-10200.json', reference_id='')],key=lambda x:x.url), |
116 | 107 | cve_id='CVE-2016-10200'), |
117 | 108 | Advisory( |
118 | 109 | summary=('CVE-2017-12168 Kernel: kvm: ARM64: ' |
119 | 110 | 'assert failure when accessing PMCCNTR register'), |
120 | 111 | impacted_package_urls=[], |
121 | 112 | resolved_package_urls=[], |
122 | | - reference_urls=[ |
123 | | - 'https://access.redhat.com/hydra/rest/securitydata/cve/CVE-2017-12168.json'], |
124 | | - reference_ids=[], |
| 113 | + vuln_references=sorted([VulnerabilityReferenceUnit(url='https://bugzilla.redhat.com/show_bug.cgi?id=1492984', reference_id='1492984'), VulnerabilityReferenceUnit(url='https://access.redhat.com/hydra/rest/securitydata/cve/CVE-2017-12168.json', reference_id='')], key=lambda x:x.url), |
125 | 114 | cve_id='CVE-2017-12168'), |
126 | 115 | } |
127 | 116 |
|
128 | 117 | found_data = set() |
129 | 118 | for adv in data: |
130 | | - found_data.add(redhat.to_advisory(adv)) |
| 119 | + adv = redhat.to_advisory(adv) |
| 120 | + adv.vuln_references = sorted(adv.vuln_references, key=lambda x : x.url) |
| 121 | + found_data.add(adv) |
131 | 122 | assert expected_data == found_data |
0 commit comments