mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-02-18 00:54:27 +03:00
Simplified names to ease readability
This commit is contained in:
parent
3e57e2e5e3
commit
6a70e9bd44
@ -34,20 +34,20 @@ class TestHttpReview(BaseTestHttp):
|
||||
|
||||
with TestClient(self.app) as client:
|
||||
super().insert_mock_review_segment("123456.random", now, now + 2)
|
||||
reviews_response = client.get("/review")
|
||||
assert reviews_response.status_code == 200
|
||||
reviews_response_json = reviews_response.json()
|
||||
assert len(reviews_response_json) == 0
|
||||
response = client.get("/review")
|
||||
assert response.status_code == 200
|
||||
response_json = response.json()
|
||||
assert len(response_json) == 0
|
||||
|
||||
def test_get_review_no_filters(self):
|
||||
now = datetime.now().timestamp()
|
||||
|
||||
with TestClient(self.app) as client:
|
||||
super().insert_mock_review_segment("123456.random", now - 2, now - 1)
|
||||
reviews_response = client.get("/review")
|
||||
assert reviews_response.status_code == 200
|
||||
reviews_response_json = reviews_response.json()
|
||||
assert len(reviews_response_json) == 1
|
||||
response = client.get("/review")
|
||||
assert response.status_code == 200
|
||||
response_json = response.json()
|
||||
assert len(response_json) == 1
|
||||
|
||||
def test_get_review_with_time_filter_no_matches(self):
|
||||
now = datetime.now().timestamp()
|
||||
@ -59,10 +59,10 @@ class TestHttpReview(BaseTestHttp):
|
||||
"after": now,
|
||||
"before": now + 3,
|
||||
}
|
||||
reviews_response = client.get("/review", params=params)
|
||||
assert reviews_response.status_code == 200
|
||||
reviews_response_json = reviews_response.json()
|
||||
assert len(reviews_response_json) == 0
|
||||
response = client.get("/review", params=params)
|
||||
assert response.status_code == 200
|
||||
response_json = response.json()
|
||||
assert len(response_json) == 0
|
||||
|
||||
def test_get_review_with_time_filter(self):
|
||||
now = datetime.now().timestamp()
|
||||
@ -74,11 +74,11 @@ class TestHttpReview(BaseTestHttp):
|
||||
"after": now - 1,
|
||||
"before": now + 3,
|
||||
}
|
||||
reviews_response = client.get("/review", params=params)
|
||||
assert reviews_response.status_code == 200
|
||||
reviews_response_json = reviews_response.json()
|
||||
assert len(reviews_response_json) == 1
|
||||
assert reviews_response_json[0]["id"] == id
|
||||
response = client.get("/review", params=params)
|
||||
assert response.status_code == 200
|
||||
response_json = response.json()
|
||||
assert len(response_json) == 1
|
||||
assert response_json[0]["id"] == id
|
||||
|
||||
def test_get_review_with_limit_filter(self):
|
||||
now = datetime.now().timestamp()
|
||||
@ -93,11 +93,11 @@ class TestHttpReview(BaseTestHttp):
|
||||
"after": now,
|
||||
"before": now + 3,
|
||||
}
|
||||
reviews_response = client.get("/review", params=params)
|
||||
assert reviews_response.status_code == 200
|
||||
reviews_response_json = reviews_response.json()
|
||||
assert len(reviews_response_json) == 1
|
||||
assert reviews_response_json[0]["id"] == id2
|
||||
response = client.get("/review", params=params)
|
||||
assert response.status_code == 200
|
||||
response_json = response.json()
|
||||
assert len(response_json) == 1
|
||||
assert response_json[0]["id"] == id2
|
||||
|
||||
def test_get_review_with_severity_filters_no_matches(self):
|
||||
now = datetime.now().timestamp()
|
||||
@ -110,11 +110,11 @@ class TestHttpReview(BaseTestHttp):
|
||||
"after": now - 1,
|
||||
"before": now + 3,
|
||||
}
|
||||
reviews_response = client.get("/review", params=params)
|
||||
assert reviews_response.status_code == 200
|
||||
reviews_response_json = reviews_response.json()
|
||||
assert len(reviews_response_json) == 1
|
||||
assert reviews_response_json[0]["id"] == id
|
||||
response = client.get("/review", params=params)
|
||||
assert response.status_code == 200
|
||||
response_json = response.json()
|
||||
assert len(response_json) == 1
|
||||
assert response_json[0]["id"] == id
|
||||
|
||||
def test_get_review_with_severity_filters(self):
|
||||
now = datetime.now().timestamp()
|
||||
@ -127,10 +127,10 @@ class TestHttpReview(BaseTestHttp):
|
||||
"after": now - 1,
|
||||
"before": now + 3,
|
||||
}
|
||||
reviews_response = client.get("/review", params=params)
|
||||
assert reviews_response.status_code == 200
|
||||
reviews_response_json = reviews_response.json()
|
||||
assert len(reviews_response_json) == 0
|
||||
response = client.get("/review", params=params)
|
||||
assert response.status_code == 200
|
||||
response_json = response.json()
|
||||
assert len(response_json) == 0
|
||||
|
||||
def test_get_review_with_all_filters(self):
|
||||
now = datetime.now().timestamp()
|
||||
@ -148,11 +148,11 @@ class TestHttpReview(BaseTestHttp):
|
||||
"after": now - 1,
|
||||
"before": now + 3,
|
||||
}
|
||||
reviews_response = client.get("/review", params=params)
|
||||
assert reviews_response.status_code == 200
|
||||
reviews_response_json = reviews_response.json()
|
||||
assert len(reviews_response_json) == 1
|
||||
assert reviews_response_json[0]["id"] == id
|
||||
response = client.get("/review", params=params)
|
||||
assert response.status_code == 200
|
||||
response_json = response.json()
|
||||
assert len(response_json) == 1
|
||||
assert response_json[0]["id"] == id
|
||||
|
||||
####################################################################################################################
|
||||
################################### GET /review/summary Endpoint #################################################
|
||||
@ -166,9 +166,9 @@ class TestHttpReview(BaseTestHttp):
|
||||
"zones": "all",
|
||||
"timezone": "utc",
|
||||
}
|
||||
review_summary_response = client.get("/review/summary", params=params)
|
||||
assert review_summary_response.status_code == 200
|
||||
review_summary_response_json = review_summary_response.json()
|
||||
response = client.get("/review/summary", params=params)
|
||||
assert response.status_code == 200
|
||||
response_json = response.json()
|
||||
# e.g. '2024-11-24'
|
||||
today_formatted = datetime.today().strftime("%Y-%m-%d")
|
||||
expected_response = {
|
||||
@ -186,14 +186,14 @@ class TestHttpReview(BaseTestHttp):
|
||||
"total_detection": 0,
|
||||
},
|
||||
}
|
||||
self.assertEqual(review_summary_response_json, expected_response)
|
||||
self.assertEqual(response_json, expected_response)
|
||||
|
||||
def test_get_review_summary_no_filters(self):
|
||||
with TestClient(self.app) as client:
|
||||
super().insert_mock_review_segment("123456.random")
|
||||
review_summary_response = client.get("/review/summary")
|
||||
assert review_summary_response.status_code == 200
|
||||
review_summary_response_json = review_summary_response.json()
|
||||
response = client.get("/review/summary")
|
||||
assert response.status_code == 200
|
||||
response_json = response.json()
|
||||
# e.g. '2024-11-24'
|
||||
today_formatted = datetime.today().strftime("%Y-%m-%d")
|
||||
expected_response = {
|
||||
@ -211,7 +211,7 @@ class TestHttpReview(BaseTestHttp):
|
||||
"total_detection": 0,
|
||||
},
|
||||
}
|
||||
self.assertEqual(review_summary_response_json, expected_response)
|
||||
self.assertEqual(response_json, expected_response)
|
||||
|
||||
def test_get_review_summary_multiple_days(self):
|
||||
now = datetime.now()
|
||||
@ -226,9 +226,9 @@ class TestHttpReview(BaseTestHttp):
|
||||
five_days_ago.timestamp(),
|
||||
five_days_ago.timestamp() + 1,
|
||||
)
|
||||
review_summary_response = client.get("/review/summary")
|
||||
assert review_summary_response.status_code == 200
|
||||
review_summary_response_json = review_summary_response.json()
|
||||
response = client.get("/review/summary")
|
||||
assert response.status_code == 200
|
||||
response_json = response.json()
|
||||
# e.g. '2024-11-24'
|
||||
today_formatted = now.strftime("%Y-%m-%d")
|
||||
# e.g. '2024-11-19'
|
||||
@ -255,7 +255,7 @@ class TestHttpReview(BaseTestHttp):
|
||||
"total_detection": 0,
|
||||
},
|
||||
}
|
||||
self.assertEqual(review_summary_response_json, expected_response)
|
||||
self.assertEqual(response_json, expected_response)
|
||||
|
||||
def test_get_review_summary_multiple_days_edge_cases(self):
|
||||
now = datetime.now()
|
||||
@ -284,9 +284,9 @@ class TestHttpReview(BaseTestHttp):
|
||||
)
|
||||
# This won't appear in the output since it's not within last month start_time clause (review.start_time > month_ago)
|
||||
super().insert_mock_review_segment("123450.random", one_month_ago_ts)
|
||||
review_summary_response = client.get("/review/summary")
|
||||
assert review_summary_response.status_code == 200
|
||||
review_summary_response_json = review_summary_response.json()
|
||||
response = client.get("/review/summary")
|
||||
assert response.status_code == 200
|
||||
response_json = response.json()
|
||||
# e.g. '2024-11-24'
|
||||
today_formatted = now.strftime("%Y-%m-%d")
|
||||
# e.g. '2024-11-19'
|
||||
@ -331,7 +331,7 @@ class TestHttpReview(BaseTestHttp):
|
||||
"total_detection": 1,
|
||||
},
|
||||
}
|
||||
self.assertEqual(review_summary_response_json, expected_response)
|
||||
self.assertEqual(response_json, expected_response)
|
||||
|
||||
def test_get_review_summary_multiple_in_same_day(self):
|
||||
now = datetime.now()
|
||||
@ -354,9 +354,9 @@ class TestHttpReview(BaseTestHttp):
|
||||
five_days_ago_ts,
|
||||
SeverityEnum.detection,
|
||||
)
|
||||
review_summary_response = client.get("/review/summary")
|
||||
assert review_summary_response.status_code == 200
|
||||
review_summary_response_json = review_summary_response.json()
|
||||
response = client.get("/review/summary")
|
||||
assert response.status_code == 200
|
||||
response_json = response.json()
|
||||
# e.g. '2024-11-24'
|
||||
today_formatted = now.strftime("%Y-%m-%d")
|
||||
# e.g. '2024-11-19'
|
||||
@ -383,7 +383,7 @@ class TestHttpReview(BaseTestHttp):
|
||||
"total_detection": 15,
|
||||
},
|
||||
}
|
||||
self.assertEqual(review_summary_response_json, expected_response)
|
||||
self.assertEqual(response_json, expected_response)
|
||||
|
||||
def test_get_review_summary_multiple_in_same_day_with_reviewed(self):
|
||||
five_days_ago = datetime.today() - timedelta(days=5)
|
||||
@ -422,9 +422,9 @@ class TestHttpReview(BaseTestHttp):
|
||||
SeverityEnum.detection,
|
||||
True,
|
||||
)
|
||||
review_summary_response = client.get("/review/summary")
|
||||
assert review_summary_response.status_code == 200
|
||||
review_summary_response_json = review_summary_response.json()
|
||||
response = client.get("/review/summary")
|
||||
assert response.status_code == 200
|
||||
response_json = response.json()
|
||||
# e.g. '2024-11-19'
|
||||
five_days_ago_formatted = five_days_ago.strftime("%Y-%m-%d")
|
||||
expected_response = {
|
||||
@ -442,7 +442,7 @@ class TestHttpReview(BaseTestHttp):
|
||||
"total_detection": 15,
|
||||
},
|
||||
}
|
||||
self.assertEqual(review_summary_response_json, expected_response)
|
||||
self.assertEqual(response_json, expected_response)
|
||||
|
||||
####################################################################################################################
|
||||
################################### POST reviews/viewed Endpoint ################################################
|
||||
@ -450,37 +450,28 @@ class TestHttpReview(BaseTestHttp):
|
||||
def test_post_reviews_viewed_no_body(self):
|
||||
with TestClient(self.app) as client:
|
||||
super().insert_mock_review_segment("123456.random")
|
||||
reviews_mark_viewed_many_response = client.post("/reviews/viewed")
|
||||
response = client.post("/reviews/viewed")
|
||||
# Missing ids
|
||||
assert reviews_mark_viewed_many_response.status_code == 422
|
||||
assert response.status_code == 422
|
||||
|
||||
def test_post_reviews_viewed_no_body_ids(self):
|
||||
with TestClient(self.app) as client:
|
||||
super().insert_mock_review_segment("123456.random")
|
||||
body = {"ids": [""]}
|
||||
reviews_mark_viewed_many_response = client.post(
|
||||
"/reviews/viewed", json=body
|
||||
)
|
||||
response = client.post("/reviews/viewed", json=body)
|
||||
# Missing ids
|
||||
assert reviews_mark_viewed_many_response.status_code == 422
|
||||
assert response.status_code == 422
|
||||
|
||||
def test_post_reviews_viewed_non_existent_id(self):
|
||||
with TestClient(self.app) as client:
|
||||
id = "123456.random"
|
||||
super().insert_mock_review_segment(id)
|
||||
body = {"ids": ["1"]}
|
||||
reviews_mark_viewed_many_response = client.post(
|
||||
"/reviews/viewed", json=body
|
||||
)
|
||||
assert reviews_mark_viewed_many_response.status_code == 200
|
||||
reviews_mark_viewed_many_response_json = (
|
||||
reviews_mark_viewed_many_response.json()
|
||||
)
|
||||
assert reviews_mark_viewed_many_response_json["success"] == True
|
||||
assert (
|
||||
reviews_mark_viewed_many_response_json["message"]
|
||||
== "Reviewed multiple items"
|
||||
)
|
||||
response = client.post("/reviews/viewed", json=body)
|
||||
assert response.status_code == 200
|
||||
response = response.json()
|
||||
assert response["success"] == True
|
||||
assert response["message"] == "Reviewed multiple items"
|
||||
# Verify that in DB the review segment was not changed
|
||||
review_segment_in_db = (
|
||||
ReviewSegment.select(ReviewSegment.has_been_reviewed)
|
||||
@ -494,18 +485,11 @@ class TestHttpReview(BaseTestHttp):
|
||||
id = "123456.random"
|
||||
super().insert_mock_review_segment(id)
|
||||
body = {"ids": [id]}
|
||||
reviews_mark_viewed_many_response = client.post(
|
||||
"/reviews/viewed", json=body
|
||||
)
|
||||
assert reviews_mark_viewed_many_response.status_code == 200
|
||||
reviews_mark_viewed_many_response_json = (
|
||||
reviews_mark_viewed_many_response.json()
|
||||
)
|
||||
assert reviews_mark_viewed_many_response_json["success"] == True
|
||||
assert (
|
||||
reviews_mark_viewed_many_response_json["message"]
|
||||
== "Reviewed multiple items"
|
||||
)
|
||||
response = client.post("/reviews/viewed", json=body)
|
||||
assert response.status_code == 200
|
||||
response = response.json()
|
||||
assert response["success"] == True
|
||||
assert response["message"] == "Reviewed multiple items"
|
||||
# Verify that in DB the review segment was changed
|
||||
review_segment_in_db = (
|
||||
ReviewSegment.select(ReviewSegment.has_been_reviewed)
|
||||
@ -520,28 +504,28 @@ class TestHttpReview(BaseTestHttp):
|
||||
def test_post_reviews_delete_no_body(self):
|
||||
with TestClient(self.app) as client:
|
||||
super().insert_mock_review_segment("123456.random")
|
||||
reviews_delete_many_response = client.post("/reviews/delete")
|
||||
response = client.post("/reviews/delete")
|
||||
# Missing ids
|
||||
assert reviews_delete_many_response.status_code == 422
|
||||
assert response.status_code == 422
|
||||
|
||||
def test_post_reviews_delete_no_body_ids(self):
|
||||
with TestClient(self.app) as client:
|
||||
super().insert_mock_review_segment("123456.random")
|
||||
body = {"ids": [""]}
|
||||
reviews_delete_many_response = client.post("/reviews/delete", json=body)
|
||||
response = client.post("/reviews/delete", json=body)
|
||||
# Missing ids
|
||||
assert reviews_delete_many_response.status_code == 422
|
||||
assert response.status_code == 422
|
||||
|
||||
def test_post_reviews_delete_non_existent_id(self):
|
||||
with TestClient(self.app) as client:
|
||||
id = "123456.random"
|
||||
super().insert_mock_review_segment(id)
|
||||
body = {"ids": ["1"]}
|
||||
reviews_delete_many_response = client.post("/reviews/delete", json=body)
|
||||
assert reviews_delete_many_response.status_code == 200
|
||||
reviews_delete_many_response_json = reviews_delete_many_response.json()
|
||||
assert reviews_delete_many_response_json["success"] == True
|
||||
assert reviews_delete_many_response_json["message"] == "Delete reviews"
|
||||
response = client.post("/reviews/delete", json=body)
|
||||
assert response.status_code == 200
|
||||
response_json = response.json()
|
||||
assert response_json["success"] == True
|
||||
assert response_json["message"] == "Delete reviews"
|
||||
# Verify that in DB the review segment was not deleted
|
||||
review_segment_in_db = (
|
||||
ReviewSegment.select(ReviewSegment.id)
|
||||
@ -555,11 +539,11 @@ class TestHttpReview(BaseTestHttp):
|
||||
id = "123456.random"
|
||||
super().insert_mock_review_segment(id)
|
||||
body = {"ids": [id]}
|
||||
reviews_delete_many_response = client.post("/reviews/delete", json=body)
|
||||
assert reviews_delete_many_response.status_code == 200
|
||||
reviews_delete_many_response_json = reviews_delete_many_response.json()
|
||||
assert reviews_delete_many_response_json["success"] == True
|
||||
assert reviews_delete_many_response_json["message"] == "Delete reviews"
|
||||
response = client.post("/reviews/delete", json=body)
|
||||
assert response.status_code == 200
|
||||
response_json = response.json()
|
||||
assert response_json["success"] == True
|
||||
assert response_json["message"] == "Delete reviews"
|
||||
# Verify that in DB the review segment was deleted
|
||||
review_segment_in_db = (
|
||||
ReviewSegment.select(ReviewSegment.id)
|
||||
@ -581,11 +565,11 @@ class TestHttpReview(BaseTestHttp):
|
||||
assert len(recordings_ids_in_db_before) == 2
|
||||
|
||||
body = {"ids": ids}
|
||||
reviews_delete_many_response = client.post("/reviews/delete", json=body)
|
||||
assert reviews_delete_many_response.status_code == 200
|
||||
reviews_delete_many_response_json = reviews_delete_many_response.json()
|
||||
assert reviews_delete_many_response_json["success"] == True
|
||||
assert reviews_delete_many_response_json["message"] == "Delete reviews"
|
||||
response = client.post("/reviews/delete", json=body)
|
||||
assert response.status_code == 200
|
||||
response_json = response.json()
|
||||
assert response_json["success"] == True
|
||||
assert response_json["message"] == "Delete reviews"
|
||||
|
||||
# Verify that in DB all review segments and recordings that were passed were deleted
|
||||
review_ids_in_db_after = self._get_reviews(ids)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user