Skip to content

Commit bacb25e

Browse files
committed
Refactor ubuntu usn importer and tests
Signed-off-by: Shivam Sandbhor <shivam.sandbhor@gmail.com>
1 parent 1f6ecf6 commit bacb25e

2 files changed

Lines changed: 0 additions & 145 deletions

File tree

vulnerabilities/importers/ubuntu_usn.py

Lines changed: 0 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -67,10 +67,6 @@ def to_advisories(usn_db):
6767
advisories = []
6868
for usn in usn_db:
6969
reference = get_usn_references(usn_db[usn]["id"])
70-
for release in usn_db[usn]["releases"]:
71-
pkg_dict = usn_db[usn]["releases"][release]
72-
safe_purls = get_purls(pkg_dict)
73-
7470
for cve in usn_db[usn].get("cves", [""]):
7571
# The db sometimes contains entries like
7672
# {'cves': ['python-pgsql vulnerabilities', 'CVE-2006-2313', 'CVE-2006-2314']}
@@ -81,8 +77,6 @@ def to_advisories(usn_db):
8177
advisories.append(
8278
Advisory(
8379
vulnerability_id=cve,
84-
impacted_package_urls=[],
85-
resolved_package_urls=safe_purls,
8680
summary="",
8781
references=[reference],
8882
)
@@ -100,39 +94,3 @@ def fetch(url):
10094
raw_data = bz2.decompress(response)
10195

10296
return json.loads(raw_data)
103-
104-
105-
def get_purls(pkg_dict):
106-
purls = set()
107-
for pkg_name in pkg_dict.get("sources", []):
108-
version = pkg_dict["sources"][pkg_name]["version"]
109-
# The db sometimes contains entries like {'postgresql': {'version': ''}}
110-
# This `if` ignores such entries
111-
if not version:
112-
continue
113-
114-
purls.add(
115-
PackageURL(
116-
name=pkg_name,
117-
version=version,
118-
type="deb",
119-
namespace="ubuntu",
120-
)
121-
)
122-
123-
for pkg_name in pkg_dict["binaries"]:
124-
version = pkg_dict["binaries"][pkg_name]["version"]
125-
# The db sometimes contains entries like {'postgresql': {'version': ''}}
126-
# This `if` ignores such entries
127-
if not version:
128-
continue
129-
130-
purls.add(
131-
PackageURL(
132-
name=pkg_name,
133-
version=version,
134-
type="deb",
135-
namespace="ubuntu",
136-
)
137-
)
138-
return purls

vulnerabilities/tests/test_ubuntu_usn.py

Lines changed: 0 additions & 103 deletions
Original file line numberDiff line numberDiff line change
@@ -65,121 +65,18 @@ def test_fetch(self):
6565
with patch("vulnerabilities.importers.ubuntu_usn.requests.get", return_value=mock_response):
6666
assert ubuntu_usn.fetch("www.db.com") == self.db
6767

68-
def test_get_purls(self):
69-
70-
eg_pkg_dict_1 = self.db["763-1"]["releases"]["hardy"]
71-
eg_pkg_dict_2 = self.db["763-1"]["releases"]["dapper"]
72-
eg_pkg_dict_3 = self.db["763-1"]["releases"]["intrepid"]
73-
74-
exp_pkgs_1 = {
75-
PackageURL(
76-
type="deb",
77-
namespace="ubuntu",
78-
name="xine-lib",
79-
version="1.1.11.1-1ubuntu3.4",
80-
qualifiers=OrderedDict(),
81-
subpath=None,
82-
),
83-
PackageURL(
84-
type="deb",
85-
namespace="ubuntu",
86-
name="libxine1",
87-
version="1.1.11.1-1ubuntu3.4",
88-
qualifiers=OrderedDict(),
89-
subpath=None,
90-
),
91-
}
92-
exp_pkgs_2 = {
93-
PackageURL(
94-
type="deb",
95-
namespace="ubuntu",
96-
name="libxine-main1",
97-
version="1.1.1+ubuntu2-7.12",
98-
qualifiers=OrderedDict(),
99-
subpath=None,
100-
),
101-
PackageURL(
102-
type="deb",
103-
namespace="ubuntu",
104-
name="xine-lib",
105-
version="1.1.1+ubuntu2-7.12",
106-
qualifiers=OrderedDict(),
107-
subpath=None,
108-
),
109-
}
110-
exp_pkgs_3 = {
111-
PackageURL(
112-
type="deb",
113-
namespace="ubuntu",
114-
name="xine-lib",
115-
version="1.1.15-0ubuntu3.3",
116-
qualifiers=OrderedDict(),
117-
subpath=None,
118-
),
119-
PackageURL(
120-
type="deb",
121-
namespace="ubuntu",
122-
name="libxine1",
123-
version="1.1.15-0ubuntu3.3",
124-
qualifiers=OrderedDict(),
125-
subpath=None,
126-
),
127-
}
128-
129-
assert exp_pkgs_1 == ubuntu_usn.get_purls(eg_pkg_dict_1)
130-
assert exp_pkgs_2 == ubuntu_usn.get_purls(eg_pkg_dict_2)
131-
assert exp_pkgs_3 == ubuntu_usn.get_purls(eg_pkg_dict_3)
132-
13368
def test_to_advisories(self):
13469

13570
expected_advisories = [
13671
Advisory(
13772
summary="",
138-
impacted_package_urls=[],
139-
resolved_package_urls={
140-
PackageURL(
141-
type="deb",
142-
namespace="ubuntu",
143-
name="xine-lib",
144-
version="1.1.15-0ubuntu3.3",
145-
qualifiers=OrderedDict(),
146-
subpath=None,
147-
),
148-
PackageURL(
149-
type="deb",
150-
namespace="ubuntu",
151-
name="libxine1",
152-
version="1.1.15-0ubuntu3.3",
153-
qualifiers=OrderedDict(),
154-
subpath=None,
155-
),
156-
},
15773
references=[
15874
Reference(url="https://usn.ubuntu.com/763-1/", reference_id="USN-763-1")
15975
],
16076
vulnerability_id="CVE-2009-0698",
16177
),
16278
Advisory(
16379
summary="",
164-
impacted_package_urls=[],
165-
resolved_package_urls={
166-
PackageURL(
167-
type="deb",
168-
namespace="ubuntu",
169-
name="xine-lib",
170-
version="1.1.15-0ubuntu3.3",
171-
qualifiers=OrderedDict(),
172-
subpath=None,
173-
),
174-
PackageURL(
175-
type="deb",
176-
namespace="ubuntu",
177-
name="libxine1",
178-
version="1.1.15-0ubuntu3.3",
179-
qualifiers=OrderedDict(),
180-
subpath=None,
181-
),
182-
},
18380
references=[
18481
Reference(url="https://usn.ubuntu.com/763-1/", reference_id="USN-763-1")
18582
],

0 commit comments

Comments
 (0)