File tree 3 files changed +18
-6
lines changed
3 files changed +18
-6
lines changed Original file line number Diff line number Diff line change 31
31
from webapp import auth
32
32
from tests .helpers import transparent_decorator
33
33
34
-
35
34
auth .authorization_required = transparent_decorator
36
35
os .environ ["DATABASE_URL" ] = os .environ ["TEST_DATABASE_URL" ]
37
36
@@ -136,7 +135,7 @@ def test_cves_returns_200_for_non_existing_version(self):
136
135
"errors" , []
137
136
)
138
137
139
- def test_cves_returns_422_for_non_existing_status (self ):
138
+ def test_cves_returns_422_for_non_existing_package_status (self ):
140
139
response = self .client .get ("/security/cves.json?status=no-exist" )
141
140
142
141
assert response .status_code == 422
Original file line number Diff line number Diff line change @@ -461,9 +461,14 @@ class CVEsAPISchema(Schema):
461
461
description = "List of release codenames " ,
462
462
allow_none = True ,
463
463
),
464
+ "cve_status" : String (
465
+ description = "CVE status" ,
466
+ enum = ["not-in-ubuntu" , "active" , "rejected" ],
467
+ allow_none = True ,
468
+ ),
464
469
"status" : List (
465
470
StatusStatuses (),
466
- description = "List of statuses" ,
471
+ description = "List of package statuses" ,
467
472
allow_none = True ,
468
473
),
469
474
"order" : String (
Original file line number Diff line number Diff line change @@ -81,12 +81,20 @@ def get_cves(**kwargs):
81
81
offset = kwargs .get ("offset" , 0 )
82
82
component = kwargs .get ("component" )
83
83
versions = kwargs .get ("version" )
84
+ cve_status = kwargs .get ("cve_status" )
84
85
statuses = kwargs .get ("status" )
85
86
order_by = kwargs .get ("order" )
86
87
show_hidden = kwargs .get ("show_hidden" , False )
87
88
88
- # query cves by filters
89
- cves_query : Query = db .session .query (CVE ).filter (CVE .status == "active" )
89
+ # query cves by filters. Default filter by active CVEs
90
+ if cve_status :
91
+ cves_query : Query = db .session .query (CVE ).filter (
92
+ CVE .status == cve_status
93
+ )
94
+ else :
95
+ cves_query : Query = db .session .query (CVE ).filter (
96
+ CVE .status == "active"
97
+ )
90
98
91
99
# filter by priority
92
100
if priority :
@@ -113,7 +121,7 @@ def get_cves(**kwargs):
113
121
if component :
114
122
parameters .append (Status .component == component )
115
123
116
- # filter by status and version
124
+ # filter by package status and version
117
125
if _should_filter_by_version_and_status (statuses , versions ):
118
126
clean_versions = _get_clean_versions (versions )
119
127
clean_statuses = _get_clean_statuses (statuses )
You can’t perform that action at this time.
0 commit comments