Skip to content

Commit 1a3a9c3

Browse files
committed
Fix more tests and refactor importer_runner
Signed-off-by: Shivam Sandbhor <shivam.sandbhor@gmail.com>
1 parent 6322aea commit 1a3a9c3

5 files changed

Lines changed: 113 additions & 168 deletions

File tree

vulnerabilities/importers/nvd.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,6 @@ def to_advisories(self, nvd_data):
9292
vulnerability_id=cve_id,
9393
summary=summary,
9494
references=references,
95-
impacted_package_urls=[], # nopep8
9695
)
9796

9897
@staticmethod

vulnerabilities/models.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -129,13 +129,13 @@ class Package(PackageURLMixin):
129129
@property
130130
def vulnerable_to(self):
131131
return self.vulnerabilities.filter(
132-
packagerelatedvulnerability__is_vulnerable=True,
132+
packagerelatedvulnerability__package=self,
133133
)
134134

135135
@property
136136
def resolved_to(self):
137-
return self.vulnerabilities.filter(
138-
packagerelatedvulnerability__is_vulnerable=False,
137+
return Vulnerability.objects.filter(
138+
packagerelatedvulnerability__patched_package=self,
139139
)
140140

141141
class Meta:

vulnerabilities/tests/test_debian_oval.py

Lines changed: 54 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,13 @@
11
import os
22
import unittest
33
from unittest.mock import patch
4-
from unittest.mock import MagicMock
54
import xml.etree.ElementTree as ET
6-
from collections import OrderedDict
7-
import asyncio
85

96
from packageurl import PackageURL
107

11-
from vulnerabilities.oval_parser import OvalParser
128
from vulnerabilities.importers.debian_oval import DebianOvalDataSource
139
from vulnerabilities.data_source import Advisory
10+
from vulnerabilities.helpers import AffectedPackageWithPatchedPackage
1411

1512

1613
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
@@ -40,66 +37,67 @@ def test_get_data_from_xml_doc(self, mock_write):
4037
expected_advisories = [
4138
Advisory(
4239
summary="denial of service",
43-
impacted_package_urls={
44-
PackageURL(
45-
type="deb",
46-
namespace=None,
47-
name="krb5",
48-
version="0.11.1+dfsg-5+deb7u1",
49-
qualifiers=OrderedDict([("distro", "wheezy")]),
50-
subpath=None,
51-
)
52-
},
53-
resolved_package_urls={
54-
PackageURL(
55-
type="deb",
56-
namespace=None,
57-
name="krb5",
58-
version="1.11.1+dfsg-5+deb7u1",
59-
qualifiers=OrderedDict([("distro", "wheezy")]),
60-
subpath=None,
61-
),
62-
PackageURL(
63-
type="deb",
64-
namespace=None,
65-
name="krb5",
66-
version="2.3.9",
67-
qualifiers=OrderedDict([("distro", "wheezy")]),
68-
subpath=None,
69-
),
70-
},
7140
vulnerability_id="CVE-2002-2443",
41+
affected_packages_with_patched_package=[
42+
AffectedPackageWithPatchedPackage(
43+
vulnerable_package=PackageURL(
44+
type="deb",
45+
namespace=None,
46+
name="krb5",
47+
version="0.11.1+dfsg-5+deb7u1",
48+
qualifiers={"distro": "wheezy"},
49+
subpath=None,
50+
),
51+
patched_package=PackageURL(
52+
type="deb",
53+
namespace=None,
54+
name="krb5",
55+
version="1.11.1+dfsg-5+deb7u1",
56+
qualifiers={"distro": "wheezy"},
57+
subpath=None,
58+
),
59+
)
60+
],
61+
references=[],
7262
),
7363
Advisory(
7464
summary="security update",
7565
vulnerability_id="CVE-2001-1593",
76-
impacted_package_urls={
77-
PackageURL(
78-
type="deb",
79-
namespace=None,
80-
name="a2ps",
81-
version="1.11.1+dfsg-5+deb7u1",
82-
qualifiers={"distro": "wheezy"},
83-
subpath=None,
66+
affected_packages_with_patched_package=[
67+
AffectedPackageWithPatchedPackage(
68+
vulnerable_package=PackageURL(
69+
type="deb",
70+
namespace=None,
71+
name="a2ps",
72+
version="0.11.1+dfsg-5+deb7u1",
73+
qualifiers={"distro": "wheezy"},
74+
subpath=None,
75+
),
76+
patched_package=None,
8477
),
85-
PackageURL(
86-
type="deb",
87-
namespace=None,
88-
name="a2ps",
89-
version="2.3.9",
90-
qualifiers={"distro": "wheezy"},
91-
subpath=None,
78+
AffectedPackageWithPatchedPackage(
79+
vulnerable_package=PackageURL(
80+
type="deb",
81+
namespace=None,
82+
name="a2ps",
83+
version="1.11.1+dfsg-5+deb7u1",
84+
qualifiers={"distro": "wheezy"},
85+
subpath=None,
86+
),
87+
patched_package=None,
9288
),
93-
PackageURL(
94-
type="deb",
95-
namespace=None,
96-
name="a2ps",
97-
version="0.11.1+dfsg-5+deb7u1",
98-
qualifiers={"distro": "wheezy"},
99-
subpath=None,
89+
AffectedPackageWithPatchedPackage(
90+
vulnerable_package=PackageURL(
91+
type="deb",
92+
namespace=None,
93+
name="a2ps",
94+
version="2.3.9",
95+
qualifiers={"distro": "wheezy"},
96+
subpath=None,
97+
),
98+
patched_package=None,
10099
),
101-
},
102-
resolved_package_urls=set(),
100+
],
103101
references=[],
104102
),
105103
]

0 commit comments

Comments
 (0)