From cabe7dc1b130e66e150c61049ae9aae992027755 Mon Sep 17 00:00:00 2001 From: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com> Date: Wed, 20 May 2026 11:32:43 -0500 Subject: [PATCH] backend test --- frigate/test/http_api/test_http_app.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/frigate/test/http_api/test_http_app.py b/frigate/test/http_api/test_http_app.py index 3198515267..4c581dd426 100644 --- a/frigate/test/http_api/test_http_app.py +++ b/frigate/test/http_api/test_http_app.py @@ -2,6 +2,7 @@ from unittest.mock import Mock, patch import frigate.genai from frigate.config import GenAIProviderEnum +from frigate.const import REDACTED_CREDENTIAL_SENTINEL from frigate.genai import GenAIClient from frigate.models import Event, Recordings, ReviewSegment from frigate.stats.emitter import StatsEmitter @@ -75,6 +76,20 @@ class TestHttpApp(BaseTestHttp): assert response.status_code == 200 assert app.frigate_config.cameras["front_door"].objects.track == ["person"] + #################################################################################################################### + ################################### Credential redaction sentinel ################################################ + #################################################################################################################### + def test_config_response_redacts_mqtt_password_with_sentinel(self): + self.minimal_config["mqtt"]["user"] = "mqttuser" + self.minimal_config["mqtt"]["password"] = "supersecret" + app = super().create_app() + + with AuthTestClient(app) as client: + response = client.get("/config") + assert response.status_code == 200 + mqtt = response.json()["mqtt"] + assert mqtt["password"] == REDACTED_CREDENTIAL_SENTINEL + #################################################################################################################### ################################### POST /genai/probe Endpoint ################################################## ####################################################################################################################