@@ -1212,6 +1212,32 @@ def test_scanpipe_management_command_check_compliance(self):
12121212 )
12131213 self .assertEqual (expected , out_value )
12141214
1215+ def test_scanpipe_management_command_check_compliance_vulnerabilities (self ):
1216+ project = make_project (name = "my_project" )
1217+ package1 = make_package (project , package_url = "pkg:generic/name@1.0" )
1218+
1219+ out = StringIO ()
1220+ options = ["--project" , project .name , "--fail-on-vulnerabilities" ]
1221+ with self .assertRaises (SystemExit ) as cm :
1222+ call_command ("check-compliance" , * options , stdout = out )
1223+ self .assertEqual (cm .exception .code , 0 )
1224+ out_value = out .getvalue ().strip ()
1225+ self .assertEqual ("No vulnerabilities found" , out_value )
1226+
1227+ package1 .update (
1228+ affected_by_vulnerabilities = [{"vulnerability_id" : "VCID-cah8-awtr-aaad" }]
1229+ )
1230+ out = StringIO ()
1231+ options = ["--project" , project .name , "--fail-on-vulnerabilities" ]
1232+ with self .assertRaises (SystemExit ) as cm :
1233+ call_command ("check-compliance" , * options , stderr = out )
1234+ self .assertEqual (cm .exception .code , 1 )
1235+ out_value = out .getvalue ().strip ()
1236+ expected = (
1237+ "1 vulnerable records found:\n pkg:generic/name@1.0\n > VCID-cah8-awtr-aaad"
1238+ )
1239+ self .assertEqual (expected , out_value )
1240+
12151241 def test_scanpipe_management_command_report (self ):
12161242 label1 = "label1"
12171243 project1 = make_project ("project1" , labels = [label1 ])
0 commit comments