test: cover encrypted model settings

This commit is contained in:
2026-09-25 11:19:06 +08:00
parent 9fedcc129d
commit 5cc0cc56fd
+11 -1
View File
@@ -5,8 +5,9 @@ import pytest
from sqlalchemy import select from sqlalchemy import select
from wisegrade.llm import DeepSeekClient, ModelError, ScoreResult, validate_score from wisegrade.llm import DeepSeekClient, ModelError, ScoreResult, validate_score
from wisegrade.models import KnowledgeChunk from wisegrade.models import AppSetting, KnowledgeChunk
from wisegrade.rag import ingest, retrieve, split_pages from wisegrade.rag import ingest, retrieve, split_pages
from wisegrade.settings_store import model_config, save_model_config
def fake_embed(texts): def fake_embed(texts):
@@ -53,3 +54,12 @@ def test_project_isolation_and_chunk_metadata(db):
hits = retrieve(db, course_version_id=1, project_id=101, category="stage3", query="实验数据", embedder=fake_embed) hits = retrieve(db, course_version_id=1, project_id=101, category="stage3", query="实验数据", embedder=fake_embed)
assert hits and all(hit["project_id"] == 101 and hit["page"] == 3 for hit in hits) assert hits and all(hit["project_id"] == 101 and hit["page"] == 3 for hit in hits)
assert "秘密" not in str(hits) assert "秘密" not in str(hits)
def test_model_key_is_encrypted_and_hidden(db):
result = save_model_config(db, {"model": "deepseek-flash", "api_key": "test-private-key"})
assert result["api_key_configured"] is True
assert "api_key" not in result
stored = db.get(AppSetting, "api_key")
assert b"test-private-key" not in stored.encrypted_value
assert model_config(db)["model"] == "deepseek-flash"