Files
periscope/tests/test_periscope_config_rewrite.py
T
michele d0bbd582a8 Rewrite Settings as native Periscope config.
DeepSeek remains the only live provider; leftover Anthropic env names
are coerced or ignored. Skills manifest is resolved across the split tree.
2026-09-20 19:21:52 +02:00

51 lines
1.8 KiB
Python

"""Native Settings lives under periscope/src and keeps DeepSeek routing."""
from __future__ import annotations
from pathlib import Path
import backend.config as config
from backend.config import Settings, settings
def test_config_module_is_src():
path = Path(config.__file__).resolve()
assert path.name == "config.py"
assert "src" in path.parts
assert "Native Periscope overlay" not in path.read_text(encoding="utf-8")[:400]
def test_deepseek_defaults_and_anthropic_coercion():
assert Settings.model_fields["provider_default"].default == "deepseek"
assert Settings.model_fields["deepseek_model"].default == "deepseek-flash"
assert Settings.model_fields["model_pintable_deepseek"].default == "deepseek-flash"
assert settings.provider_for_stage("pintable") == "deepseek"
snap = settings.provider_validation
try:
settings.provider_validation = "anthropic"
assert settings.provider_for_stage("validation") == "deepseek"
assert "deepseek" in settings.model_for_stage("validation")
finally:
settings.provider_validation = snap
def test_anthropic_fallback_is_none():
snap_p = settings.fallback_provider_validation
snap_m = settings.fallback_model_validation
try:
settings.fallback_provider_validation = "anthropic"
settings.fallback_model_validation = "claude-sonnet-4-6"
assert settings.fallback_for_stage("validation") is None
finally:
settings.fallback_provider_validation = snap_p
settings.fallback_model_validation = snap_m
def test_skills_manifest_is_readable():
version = settings.get_default_model_version()
assert version
skill_id, latest = settings.get_skill("extract-pintable")
assert skill_id.startswith("skill_")
assert latest