"""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