From 84d54d985367100d97ef72c24ebe0caa1e1e8ade Mon Sep 17 00:00:00 2001 From: red person Date: Wed, 3 Jun 2026 08:12:41 +0300 Subject: [PATCH] Ignore non-object embedding endpoint config (#1260) --- routes/embedding_routes.py | 3 ++- tests/test_embedding_endpoint_config.py | 25 +++++++++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 tests/test_embedding_endpoint_config.py diff --git a/routes/embedding_routes.py b/routes/embedding_routes.py index 7ae8005..dbe075a 100644 --- a/routes/embedding_routes.py +++ b/routes/embedding_routes.py @@ -86,7 +86,8 @@ def _load_custom_endpoint() -> dict: """Load the saved custom embedding endpoint, if any.""" try: if os.path.exists(_ENDPOINT_FILE): - return json.loads(Path(_ENDPOINT_FILE).read_text(encoding="utf-8")) + data = json.loads(Path(_ENDPOINT_FILE).read_text(encoding="utf-8")) + return data if isinstance(data, dict) else {} except Exception: pass return {} diff --git a/tests/test_embedding_endpoint_config.py b/tests/test_embedding_endpoint_config.py new file mode 100644 index 0000000..e800e23 --- /dev/null +++ b/tests/test_embedding_endpoint_config.py @@ -0,0 +1,25 @@ +import json + +import routes.embedding_routes as embedding_routes + + +def test_load_custom_endpoint_ignores_non_object_json(tmp_path, monkeypatch): + endpoint_file = tmp_path / "embedding_endpoint.json" + endpoint_file.write_text(json.dumps(["not", "an", "endpoint", "object"]), encoding="utf-8") + monkeypatch.setattr(embedding_routes, "_ENDPOINT_FILE", str(endpoint_file)) + + assert embedding_routes._load_custom_endpoint() == {} + + +def test_load_custom_endpoint_keeps_object_json(tmp_path, monkeypatch): + endpoint_file = tmp_path / "embedding_endpoint.json" + endpoint_file.write_text( + json.dumps({"url": "http://127.0.0.1:11434", "model": "nomic-embed-text"}), + encoding="utf-8", + ) + monkeypatch.setattr(embedding_routes, "_ENDPOINT_FILE", str(endpoint_file)) + + assert embedding_routes._load_custom_endpoint() == { + "url": "http://127.0.0.1:11434", + "model": "nomic-embed-text", + }