mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-04-05 06:44:53 +03:00
Compare commits
No commits in common. "7b5a1b7284ffda8b02f5df2d8c592df2bc8d8c31" and "d952a97bdaaf7998ba22c22492250f9bc5bd4fb3" have entirely different histories.
7b5a1b7284
...
d952a97bda
8
docs/static/_headers
vendored
8
docs/static/_headers
vendored
@ -1,8 +0,0 @@
|
|||||||
https://:project.pages.dev/*
|
|
||||||
X-Robots-Tag: noindex
|
|
||||||
|
|
||||||
https://:version.:project.pages.dev/*
|
|
||||||
X-Robots-Tag: noindex
|
|
||||||
|
|
||||||
https://docs-dev.frigate.video/*
|
|
||||||
X-Robots-Tag: noindex
|
|
||||||
@ -144,8 +144,6 @@ async def review(
|
|||||||
(UserReviewStatus.has_been_reviewed == False)
|
(UserReviewStatus.has_been_reviewed == False)
|
||||||
| (UserReviewStatus.has_been_reviewed.is_null())
|
| (UserReviewStatus.has_been_reviewed.is_null())
|
||||||
)
|
)
|
||||||
elif reviewed == 1:
|
|
||||||
review_query = review_query.where(UserReviewStatus.has_been_reviewed == True)
|
|
||||||
|
|
||||||
# Apply ordering and limit
|
# Apply ordering and limit
|
||||||
review_query = (
|
review_query = (
|
||||||
|
|||||||
@ -171,8 +171,8 @@ class BaseTestHttp(unittest.TestCase):
|
|||||||
def insert_mock_event(
|
def insert_mock_event(
|
||||||
self,
|
self,
|
||||||
id: str,
|
id: str,
|
||||||
start_time: float | None = None,
|
start_time: float = datetime.datetime.now().timestamp(),
|
||||||
end_time: float | None = None,
|
end_time: float = datetime.datetime.now().timestamp() + 20,
|
||||||
has_clip: bool = True,
|
has_clip: bool = True,
|
||||||
top_score: int = 100,
|
top_score: int = 100,
|
||||||
score: int = 0,
|
score: int = 0,
|
||||||
@ -180,11 +180,6 @@ class BaseTestHttp(unittest.TestCase):
|
|||||||
camera: str = "front_door",
|
camera: str = "front_door",
|
||||||
) -> Event:
|
) -> Event:
|
||||||
"""Inserts a basic event model with a given id."""
|
"""Inserts a basic event model with a given id."""
|
||||||
if start_time is None:
|
|
||||||
start_time = datetime.datetime.now().timestamp()
|
|
||||||
if end_time is None:
|
|
||||||
end_time = start_time + 20
|
|
||||||
|
|
||||||
return Event.insert(
|
return Event.insert(
|
||||||
id=id,
|
id=id,
|
||||||
label="Mock",
|
label="Mock",
|
||||||
@ -234,16 +229,11 @@ class BaseTestHttp(unittest.TestCase):
|
|||||||
def insert_mock_recording(
|
def insert_mock_recording(
|
||||||
self,
|
self,
|
||||||
id: str,
|
id: str,
|
||||||
start_time: float | None = None,
|
start_time: float = datetime.datetime.now().timestamp(),
|
||||||
end_time: float | None = None,
|
end_time: float = datetime.datetime.now().timestamp() + 20,
|
||||||
motion: int = 0,
|
motion: int = 0,
|
||||||
) -> Event:
|
) -> Event:
|
||||||
"""Inserts a recording model with a given id."""
|
"""Inserts a recording model with a given id."""
|
||||||
if start_time is None:
|
|
||||||
start_time = datetime.datetime.now().timestamp()
|
|
||||||
if end_time is None:
|
|
||||||
end_time = start_time + 20
|
|
||||||
|
|
||||||
return Recordings.insert(
|
return Recordings.insert(
|
||||||
id=id,
|
id=id,
|
||||||
path=id,
|
path=id,
|
||||||
|
|||||||
@ -96,17 +96,16 @@ class TestHttpApp(BaseTestHttp):
|
|||||||
assert len(events) == 0
|
assert len(events) == 0
|
||||||
|
|
||||||
def test_get_event_list_limit(self):
|
def test_get_event_list_limit(self):
|
||||||
now = datetime.now().timestamp()
|
|
||||||
id = "123456.random"
|
id = "123456.random"
|
||||||
id2 = "54321.random"
|
id2 = "54321.random"
|
||||||
|
|
||||||
with AuthTestClient(self.app) as client:
|
with AuthTestClient(self.app) as client:
|
||||||
super().insert_mock_event(id, start_time=now + 1)
|
super().insert_mock_event(id)
|
||||||
events = client.get("/events").json()
|
events = client.get("/events").json()
|
||||||
assert len(events) == 1
|
assert len(events) == 1
|
||||||
assert events[0]["id"] == id
|
assert events[0]["id"] == id
|
||||||
|
|
||||||
super().insert_mock_event(id2, start_time=now)
|
super().insert_mock_event(id2)
|
||||||
events = client.get("/events").json()
|
events = client.get("/events").json()
|
||||||
assert len(events) == 2
|
assert len(events) == 2
|
||||||
|
|
||||||
@ -145,7 +144,7 @@ class TestHttpApp(BaseTestHttp):
|
|||||||
assert events[0]["id"] == id2
|
assert events[0]["id"] == id2
|
||||||
assert events[1]["id"] == id
|
assert events[1]["id"] == id
|
||||||
|
|
||||||
events = client.get("/events", params={"sort": "score_desc"}).json()
|
events = client.get("/events", params={"sort": "score_des"}).json()
|
||||||
assert len(events) == 2
|
assert len(events) == 2
|
||||||
assert events[0]["id"] == id
|
assert events[0]["id"] == id
|
||||||
assert events[1]["id"] == id2
|
assert events[1]["id"] == id2
|
||||||
|
|||||||
@ -196,50 +196,6 @@ class TestHttpReview(BaseTestHttp):
|
|||||||
assert len(response_json) == 1
|
assert len(response_json) == 1
|
||||||
assert response_json[0]["id"] == id
|
assert response_json[0]["id"] == id
|
||||||
|
|
||||||
def test_get_review_with_reviewed_filter_unreviewed(self):
|
|
||||||
"""Test that reviewed=0 returns only unreviewed items."""
|
|
||||||
now = datetime.now().timestamp()
|
|
||||||
|
|
||||||
with AuthTestClient(self.app) as client:
|
|
||||||
id_unreviewed = "123456.unreviewed"
|
|
||||||
id_reviewed = "123456.reviewed"
|
|
||||||
super().insert_mock_review_segment(id_unreviewed, now, now + 2)
|
|
||||||
super().insert_mock_review_segment(id_reviewed, now, now + 2)
|
|
||||||
self._insert_user_review_status(id_reviewed, reviewed=True)
|
|
||||||
|
|
||||||
params = {
|
|
||||||
"reviewed": 0,
|
|
||||||
"after": now - 1,
|
|
||||||
"before": now + 3,
|
|
||||||
}
|
|
||||||
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_unreviewed
|
|
||||||
|
|
||||||
def test_get_review_with_reviewed_filter_reviewed(self):
|
|
||||||
"""Test that reviewed=1 returns only reviewed items."""
|
|
||||||
now = datetime.now().timestamp()
|
|
||||||
|
|
||||||
with AuthTestClient(self.app) as client:
|
|
||||||
id_unreviewed = "123456.unreviewed"
|
|
||||||
id_reviewed = "123456.reviewed"
|
|
||||||
super().insert_mock_review_segment(id_unreviewed, now, now + 2)
|
|
||||||
super().insert_mock_review_segment(id_reviewed, now, now + 2)
|
|
||||||
self._insert_user_review_status(id_reviewed, reviewed=True)
|
|
||||||
|
|
||||||
params = {
|
|
||||||
"reviewed": 1,
|
|
||||||
"after": now - 1,
|
|
||||||
"before": now + 3,
|
|
||||||
}
|
|
||||||
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_reviewed
|
|
||||||
|
|
||||||
####################################################################################################################
|
####################################################################################################################
|
||||||
################################### GET /review/summary Endpoint #################################################
|
################################### GET /review/summary Endpoint #################################################
|
||||||
####################################################################################################################
|
####################################################################################################################
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user