Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 10 additions & 1 deletion vulnerabilities/tests/test_view.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
from vulnerabilities.models import Alias
from vulnerabilities.models import Package
from vulnerabilities.models import Vulnerability
from vulnerabilities.views import PackageDetails
from vulnerabilities.views import PackageSearch


Expand All @@ -34,6 +35,7 @@ def setUp(self):
"pkg:nginx/nginx@1.14.1",
"pkg:nginx/nginx@1.0.7",
"pkg:nginx/nginx@1.0.15",
"pkg:nginx/nginx@1.0.15?foo=bar",
"pkg:pypi/foo@1",
]
self.packages = packages
Expand All @@ -55,9 +57,13 @@ def test_packages_search_view_paginator(self):
def test_package_view(self):
qs = PackageSearch().get_queryset(query="pkg:nginx/nginx@1.0.15?foo=bar")
pkgs = list(qs)
self.assertEqual(len(pkgs), 1)
self.assertEqual(len(pkgs), 2)
self.assertEqual(pkgs[0].purl, "pkg:nginx/nginx@1.0.15")

def test_package_detail_view(self):
package = PackageDetails(kwargs={"purl": "pkg:nginx/nginx@1.0.15"}).get_object()
assert package.purl == "pkg:nginx/nginx@1.0.15"

def test_package_view_with_purl_fragment(self):
qs = PackageSearch().get_queryset(query="nginx@1.0.15")
pkgs = list(qs)
Expand All @@ -82,6 +88,7 @@ def test_package_view_with_purl_fragment(self):
"pkg:nginx/nginx@1.14.1",
"pkg:nginx/nginx@1.0.7",
"pkg:nginx/nginx@1.0.15",
"pkg:nginx/nginx@1.0.15?foo=bar",
]

def test_package_view_with_valid_purl_without_version(self):
Expand All @@ -102,6 +109,7 @@ def test_package_view_with_valid_purl_without_version(self):
"pkg:nginx/nginx@1.14.1",
"pkg:nginx/nginx@1.0.7",
"pkg:nginx/nginx@1.0.15",
"pkg:nginx/nginx@1.0.15?foo=bar",
]

def test_package_view_with_valid_purl_and_incomplete_version(self):
Expand All @@ -121,6 +129,7 @@ def test_package_view_with_valid_purl_and_incomplete_version(self):
"pkg:nginx/nginx@1.14.1",
"pkg:nginx/nginx@1.0.7",
"pkg:nginx/nginx@1.0.15",
"pkg:nginx/nginx@1.0.15?foo=bar",
]

def test_package_view_with_purl_type(self):
Expand Down
2 changes: 1 addition & 1 deletion vulnerabilities/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ def get_object(self, queryset=None):

purl = self.kwargs.get(self.slug_url_kwarg)
if purl:
queryset = queryset.for_package_url(purl_str=purl, encode=False)
queryset = queryset.for_purl(purl)
else:
cls = self.__class__.__name__
raise AttributeError(
Expand Down