test: cover encrypted model settings
This commit is contained in:
@@ -5,8 +5,9 @@ import pytest
|
||||
from sqlalchemy import select
|
||||
|
||||
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.settings_store import model_config, save_model_config
|
||||
|
||||
|
||||
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)
|
||||
assert hits and all(hit["project_id"] == 101 and hit["page"] == 3 for hit in 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"
|
||||
|
||||
Reference in New Issue
Block a user