From bd746cdaf76599359ed0200f2c8bcebd9980a330 Mon Sep 17 00:00:00 2001 From: Rui Alves Date: Sun, 12 Jan 2025 17:53:40 +0000 Subject: [PATCH] Added unit tests for GET /review/{review_id}/viewed Endpoint --- frigate/api/review.py | 4 +-- frigate/test/http_api/test_http_review.py | 39 +++++++++++++++++++++-- 2 files changed, 38 insertions(+), 5 deletions(-) diff --git a/frigate/api/review.py b/frigate/api/review.py index e5692f009..9266e1f8c 100644 --- a/frigate/api/review.py +++ b/frigate/api/review.py @@ -490,8 +490,6 @@ def set_not_reviewed(review_id: str): review.save() return JSONResponse( - content=( - {"success": True, "message": "Set Review " + review_id + " as not viewed"} - ), + content=({"success": True, "message": f"Set Review {review_id} as not viewed"}), status_code=200, ) diff --git a/frigate/test/http_api/test_http_review.py b/frigate/test/http_api/test_http_review.py index 4a4cd513b..fd8bffb41 100644 --- a/frigate/test/http_api/test_http_review.py +++ b/frigate/test/http_api/test_http_review.py @@ -717,7 +717,7 @@ class TestHttpReview(BaseTestHttp): "end_time": now + 2, "has_been_reviewed": False, "severity": SeverityEnum.alert, - "thumb_path": 'False', + "thumb_path": "False", "data": {"detections": {"event_id": event_id}}, }, response_json, @@ -753,9 +753,44 @@ class TestHttpReview(BaseTestHttp): "end_time": now + 2, "has_been_reviewed": False, "severity": SeverityEnum.alert, - "thumb_path": 'False', + "thumb_path": "False", "data": {}, }, response_json, ) + #################################################################################################################### + ################################### DELETE /review/{review_id}/viewed Endpoint ################################## + #################################################################################################################### + def test_delete_review_viewed_review_not_found(self): + with TestClient(self.app) as client: + review_id = "123456.random" + response = client.delete(f"/review/{review_id}/viewed") + assert response.status_code == 404 + response_json = response.json() + self.assertDictEqual( + {"success": False, "message": f"Review {review_id} not found"}, + response_json, + ) + + def test_delete_review_viewed(self): + now = datetime.now().timestamp() + + with TestClient(self.app) as client: + review_id = "123456.review.random" + super().insert_mock_review_segment( + review_id, now + 1, now + 2, has_been_reviewed=True + ) + review_before = ReviewSegment.get(ReviewSegment.id == review_id) + assert review_before.has_been_reviewed == True + + response = client.delete(f"/review/{review_id}/viewed") + assert response.status_code == 200 + response_json = response.json() + self.assertDictEqual( + {"success": True, "message": f"Set Review {review_id} as not viewed"}, + response_json, + ) + + review_after = ReviewSegment.get(ReviewSegment.id == review_id) + assert review_after.has_been_reviewed == False