From d149de038a038538b258d19ecfc6965aba255595 Mon Sep 17 00:00:00 2001 From: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com> Date: Thu, 12 Nov 2026 07:41:00 -0600 Subject: [PATCH] cover events/search in sub label filter test --- frigate/test/http_api/test_http_event.py | 27 +++++++++++++++++------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/frigate/test/http_api/test_http_event.py b/frigate/test/http_api/test_http_event.py index 778684f276..c758bbdeb7 100644 --- a/frigate/test/http_api/test_http_event.py +++ b/frigate/test/http_api/test_http_event.py @@ -492,21 +492,32 @@ class TestHttpApp(BaseTestHttp): "3.ascii": "Alice", "4.none": None, } + mock_embeddings = Mock() + mock_embeddings.search_thumbnail.return_value = [(id, 0.1) for id in sub_labels] + + self.app.frigate_config.semantic_search.enabled = True + self.app.embeddings = mock_embeddings with AuthTestClient(self.app) as client: for id, sub_label in sub_labels.items(): super().insert_mock_event(id) Event.update(sub_label=sub_label).where(Event.id == id).execute() - def ids(query: str) -> set[str]: - events = client.get("/events", params={"sub_labels": query}).json() - return {event["id"] for event in events} + search_params = {"search_type": "similarity", "event_id": "1.cyrillic"} - assert ids("Кузнецова Ира") == {"1.cyrillic"} - assert ids("Ира") == {"2.joined"} - assert ids("bob") == {"2.joined"} - assert ids("ALICE") == {"3.ascii"} - assert ids("None") == {"4.none"} + for path, params in (("/events", {}), ("/events/search", search_params)): + + def ids(query: str) -> set[str]: + events = client.get( + path, params={**params, "sub_labels": query} + ).json() + return {event["id"] for event in events} + + assert ids("Кузнецова Ира") == {"1.cyrillic"} + assert ids("Ира") == {"2.joined"} + assert ids("bob") == {"2.joined"} + assert ids("ALICE") == {"3.ascii"} + assert ids("None") == {"4.none"} #################################################################################################################### ################################### GET /metrics Endpoint #########################################################