FIrst test

This commit is contained in:
Rui Alves 2024-11-18 21:47:57 +00:00
parent 42300479fd
commit 9d29e5ca24
2 changed files with 27 additions and 9 deletions

View File

@ -9,7 +9,8 @@ from playhouse.sqliteq import SqliteQueueDatabase
from frigate.api.fastapi_app import create_fastapi_app
from frigate.config import FrigateConfig
from frigate.models import Event
from frigate.models import Event, ReviewSegment
from frigate.review.maintainer import SeverityEnum
from frigate.test.const import TEST_DB, TEST_DB_CLEANUPS
@ -106,7 +107,7 @@ class BaseTestHttp(unittest.TestCase):
except OSError:
pass
def create_app(self, stats= None):
def create_app(self, stats=None):
return create_fastapi_app(
FrigateConfig(**self.minimal_config),
self.db,
@ -141,3 +142,21 @@ class BaseTestHttp(unittest.TestCase):
has_clip=True,
has_snapshot=True,
).execute()
def insert_mock_review_segment(
self,
id: str,
start_time: datetime.datetime = datetime.datetime.now().timestamp(),
end_time: datetime.datetime = datetime.datetime.now().timestamp() + 20,
) -> Event:
"""Inserts a basic event model with a given id."""
return ReviewSegment.insert(
id=id,
camera="front_door",
start_time=start_time,
end_time=end_time,
has_been_reviewed=False,
severity=SeverityEnum.alert,
thumb_path=False,
data={},
).execute()

View File

@ -8,13 +8,12 @@ class TestHttpReview(BaseTestHttp):
def setUp(self):
super().setUp([Event, ReviewSegment])
def test_get_bad_event(self):
# Does not return any data point since the end time (before parameter) is not passed
def test_get_reviews_no_filters(self):
app = super().create_app()
id = "123456.random"
bad_id = "654321.other"
with TestClient(app) as client:
super().insert_mock_event(id)
event_response = client.get(f"/events/{bad_id}")
assert event_response.status_code == 404
assert event_response.json() == "Event not found"
super().insert_mock_review_segment("123456.random")
reviews_response = client.get("/review")
assert reviews_response.status_code == 200
assert len(reviews_response.json()) == 0