64 lines
2.4 KiB
Python
64 lines
2.4 KiB
Python
"""Phase 2 config tests: ASR and video settings."""
|
|
import pytest
|
|
|
|
|
|
def test_config_asr_defaults(monkeypatch, tmp_path):
|
|
monkeypatch.delenv("DASHSCOPE_API_KEY", raising=False)
|
|
monkeypatch.delenv("ASR_MODEL_NAME", raising=False)
|
|
monkeypatch.delenv("ASR_REALTIME_MODEL_NAME", raising=False)
|
|
monkeypatch.setenv("LLM_API_KEY", "sk-test")
|
|
monkeypatch.setenv("DP_API_KEY", "sk-test")
|
|
monkeypatch.setenv("EMBEDDING_API_KEY", "sk-test")
|
|
env_file = tmp_path / ".env"
|
|
env_file.write_text("")
|
|
monkeypatch.chdir(tmp_path)
|
|
|
|
from app.core.config import Settings, get_settings
|
|
get_settings.cache_clear()
|
|
settings = Settings(_env_file=())
|
|
assert settings.dashscope_api_key == ""
|
|
assert settings.asr_model_name == "qwen3-asr-flash"
|
|
assert settings.asr_realtime_model_name == "qwen3-asr-flash-realtime"
|
|
|
|
|
|
def test_config_video_defaults(monkeypatch, tmp_path):
|
|
monkeypatch.delenv("VIDEO_UPLOAD_DIR", raising=False)
|
|
monkeypatch.delenv("MAX_VIDEO_SIZE_MB", raising=False)
|
|
monkeypatch.setenv("LLM_API_KEY", "sk-test")
|
|
monkeypatch.setenv("DP_API_KEY", "sk-test")
|
|
monkeypatch.setenv("EMBEDDING_API_KEY", "sk-test")
|
|
env_file = tmp_path / ".env"
|
|
env_file.write_text("")
|
|
monkeypatch.chdir(tmp_path)
|
|
|
|
from app.core.config import Settings, get_settings
|
|
get_settings.cache_clear()
|
|
settings = Settings(_env_file=())
|
|
assert settings.video_upload_dir == "./uploads"
|
|
assert settings.max_video_size_mb == 300
|
|
assert ".mp4" in settings.supported_video_formats
|
|
|
|
|
|
def test_config_loads_from_env(tmp_path, monkeypatch):
|
|
env_file = tmp_path / ".env"
|
|
env_file.write_text(
|
|
"DASHSCOPE_API_KEY=sk-test-key\n"
|
|
"ASR_MODEL_NAME=qwen3-asr-flash\n"
|
|
"ASR_REALTIME_MODEL_NAME=qwen3-asr-flash-realtime\n"
|
|
"VIDEO_UPLOAD_DIR=./test_uploads\n"
|
|
"MAX_VIDEO_SIZE_MB=500\n"
|
|
"LLM_API_KEY=sk-test\n"
|
|
"DP_API_KEY=sk-test\n"
|
|
"EMBEDDING_API_KEY=sk-test\n"
|
|
)
|
|
monkeypatch.chdir(tmp_path)
|
|
from app.core.config import Settings, get_settings
|
|
get_settings.cache_clear()
|
|
|
|
settings = Settings()
|
|
assert settings.dashscope_api_key == "sk-test-key"
|
|
assert settings.asr_model_name == "qwen3-asr-flash"
|
|
assert settings.asr_realtime_model_name == "qwen3-asr-flash-realtime"
|
|
assert settings.video_upload_dir == "./test_uploads"
|
|
assert settings.max_video_size_mb == 500
|