@@ -1011,7 +1011,39 @@ def test_close_finding_pushes_note_to_jira_when_configured(self):
10111011 }
10121012 response = self .client .post (self ._close_url (finding .id ), payload , format = "json" )
10131013 self .assertEqual (200 , response .status_code , response .content [:1000 ])
1014- self .assertTrue (add_comment_mock .called )
1014+ self .assertTrue (add_comment_mock .called )
1015+
1016+
1017+ @versioned_fixtures
1018+ class FindingVerifyAPITest (DojoAPITestCase ):
1019+ fixtures = ["dojo_testdata.json" ]
1020+
1021+ def setUp (self ):
1022+ testuser = User .objects .get (username = "admin" )
1023+ token = Token .objects .get (user = testuser )
1024+ self .client = APIClient ()
1025+ self .client .credentials (HTTP_AUTHORIZATION = f"Token { token .key } " )
1026+ self .admin = testuser
1027+
1028+ def _verify_url (self , finding_id : int ) -> str :
1029+ return f"/api/v2/findings/{ finding_id } /verify/"
1030+
1031+ def test_verify_finding_basic (self ):
1032+ finding = Finding .objects .get (id = 7 )
1033+ response = self .client .post (self ._verify_url (finding .id ), {"note" : "Marked verified" }, format = "json" )
1034+ self .assertEqual (200 , response .status_code , response .content [:1000 ])
1035+
1036+ finding .refresh_from_db ()
1037+ self .assertTrue (finding .verified )
1038+ self .assertEqual (finding .last_reviewed_by , self .admin )
1039+ self .assertTrue (finding .notes .filter (entry__icontains = "Marked verified" ).exists ())
1040+
1041+ def test_verify_finding_invalid_payload (self ):
1042+ finding = Finding .objects .get (id = 7 )
1043+ # note_type specified but invalid id
1044+ response = self .client .post (self ._verify_url (finding .id ), {"note_type" : 9999 }, format = "json" )
1045+ self .assertEqual (400 , response .status_code , response .content [:1000 ])
1046+
10151047
10161048
10171049@versioned_fixtures
0 commit comments