Skip to content

Commit abf3815

Browse files
committed
Remove unncessary function calls from API
Signed-off-by: Tushar Goel <tushar.goel.dav@gmail.com>
1 parent 7fa45cb commit abf3815

3 files changed

Lines changed: 22 additions & 32 deletions

File tree

vulnerabilities/api.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -88,10 +88,8 @@ class MinimalPackageSerializer(BaseResourceSerializer):
8888
"""
8989

9090
def get_affected_vulnerabilities(self, package):
91-
parent_affected_vulnerabilities = package.fixed_package_details.get("vulnerabilities") or []
92-
9391
affected_vulnerabilities = [
94-
self.get_vulnerability(vuln) for vuln in parent_affected_vulnerabilities
92+
self.get_vulnerability(vuln) for vuln in package.get_affecting_vulnerabilities()
9593
]
9694

9795
return affected_vulnerabilities

vulnerabilities/tests/test_api.py

Lines changed: 18 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -455,59 +455,48 @@ def test_api_packages_all_num_queries(self):
455455

456456
def test_api_packages_single_num_queries(self):
457457
with self.assertNumQueries(10):
458-
self.csrf_client.get(
459-
f"/api/packages/{self.pkg_2_14_0_rc1.id}", format="json"
460-
)
461-
458+
self.csrf_client.get(f"/api/packages/{self.pkg_2_14_0_rc1.id}", format="json")
459+
462460
def test_api_packages_single_with_purl_in_query_num_queries(self):
463461
with self.assertNumQueries(11):
464-
self.csrf_client.get(
465-
f"/api/packages/?purl={self.pkg_2_14_0_rc1.purl}", format="json"
466-
)
467-
462+
self.csrf_client.get(f"/api/packages/?purl={self.pkg_2_14_0_rc1.purl}", format="json")
463+
468464
def test_api_packages_single_with_purl_no_version_in_query_num_queries(self):
469-
with self.assertNumQueries(98):
465+
with self.assertNumQueries(88):
470466
self.csrf_client.get(
471-
f"/api/packages/?purl=pkg:maven/com.fasterxml.jackson.core/jackson-databind", format="json"
467+
f"/api/packages/?purl=pkg:maven/com.fasterxml.jackson.core/jackson-databind",
468+
format="json",
472469
)
473-
470+
474471
def test_api_packages_bulk_search(self):
475-
with self.assertNumQueries(71):
476-
packages = [
477-
self.pkg_2_12_6,
478-
self.pkg_2_12_6_1,
479-
self.pkg_2_13_1
480-
]
472+
with self.assertNumQueries(63):
473+
packages = [self.pkg_2_12_6, self.pkg_2_12_6_1, self.pkg_2_13_1]
481474
purls = [p.purl for p in packages]
482475

483-
data = {'purls': purls, 'purl_only': False, 'plain_purl': True}
476+
data = {"purls": purls, "purl_only": False, "plain_purl": True}
484477

485478
resp = self.csrf_client.post(
486479
f"/api/packages/bulk_search",
487480
data=json.dumps(data),
488481
content_type="application/json",
489482
).json()
490-
483+
491484
def test_api_packages_with_lookup(self):
492-
with self.assertNumQueries(20):
493-
data = {'purl': self.pkg_2_12_6.purl}
485+
with self.assertNumQueries(18):
486+
data = {"purl": self.pkg_2_12_6.purl}
494487

495488
resp = self.csrf_client.post(
496489
f"/api/packages/lookup",
497490
data=json.dumps(data),
498491
content_type="application/json",
499492
).json()
500-
493+
501494
def test_api_packages_bulk_lookup(self):
502-
with self.assertNumQueries(71):
503-
packages = [
504-
self.pkg_2_12_6,
505-
self.pkg_2_12_6_1,
506-
self.pkg_2_13_1
507-
]
495+
with self.assertNumQueries(63):
496+
packages = [self.pkg_2_12_6, self.pkg_2_12_6_1, self.pkg_2_13_1]
508497
purls = [p.purl for p in packages]
509498

510-
data = {'purls': purls}
499+
data = {"purls": purls}
511500

512501
resp = self.csrf_client.post(
513502
f"/api/packages/bulk_lookup",

vulnerablecode/settings.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -287,6 +287,9 @@
287287

288288

289289
if DEBUG_TOOLBAR:
290+
# Uncomment this to get pyinstrument profiles
291+
# PYINSTRUMENT_PROFILE_DIR = "profiles"
292+
290293
INSTALLED_APPS += ("debug_toolbar",)
291294

292295
MIDDLEWARE += (

0 commit comments

Comments
 (0)