99
1010from django .test import Client
1111from django .test import TestCase
12+ from packageurl import PackageURL
1213
1314from vulnerabilities .models import Alias
15+ from vulnerabilities .models import Package
1416from vulnerabilities .models import Vulnerability
17+ from vulnerabilities .views import PackageSearch
1518
1619
1720class PackageSearchTestCase (TestCase ):
1821 def setUp (self ):
1922 self .client = Client ()
23+ packages = [
24+ 25+ 26+ 27+ 28+ 29+ 30+ 31+ 32+ 33+ 34+ 35+ 36+ 37+ ]
38+ self .packages = packages
39+ for package in packages :
40+ purl = PackageURL .from_string (package )
41+ attrs = {k : v for k , v in purl .to_dict ().items () if v }
42+ Package .objects .create (** attrs )
2043
2144 def test_packages_search_view_paginator (self ):
2245 response = self .client .get ("/packages/search?type=deb&name=&page=1" )
@@ -28,6 +51,12 @@ def test_packages_search_view_paginator(self):
2851 response = self .client .get ("/packages/search?type=&name=&page=" )
2952 self .assertEqual (response .status_code , 200 )
3053
54+ def test_package_view (self ):
55+ qs = PackageSearch ().
get_queryset (
query = "pkg:nginx/[email protected] ?foo=bar" )
56+ pkgs = list (qs )
57+ self .assertEqual (len (pkgs ), 1 )
58+ self .
assertEqual (
pkgs [
0 ].
purl ,
"pkg:nginx/[email protected] " )
59+
3160
3261class VulnerabilitySearchTestCase (TestCase ):
3362 def setUp (self ):
0 commit comments