from hermes_cli.aiturk_media import configure_media, configure_existing_media def test_existing_member_profile_migrates_once_without_changing_provider(): entry = {"base_url": "https://ai.turkservis.online/v1", "key_env": "MEMBER_KEY"} cfg = {"providers": {"turkservis": dict(entry)}, "model": {"default": "kept"}} assert configure_existing_media(cfg) assert cfg["providers"]["turkservis"] == entry assert cfg["model"] == {"default": "kept"} assert not configure_existing_media(cfg) def test_member_key_is_referenced_without_copying_or_overwriting_other_servers(): cfg = {"mcp_servers": {"other": {"url": "https://example.org/mcp"}}} entry = {"base_url": "https://ai.turkservis.online/v1", "key_env": "HERMES_CUSTOM_TURKSERVIS_API_KEY"} assert configure_media(cfg, entry) assert cfg["mcp_servers"]["other"] == {"url": "https://example.org/mcp"} assert cfg["mcp_servers"]["turkservis-media"]["headers"]["Authorization"] == "Bearer ${HERMES_CUSTOM_TURKSERVIS_API_KEY}" assert not configure_media(cfg, entry) entry["key_env"] = "ROTATED_MEMBER_KEY" assert configure_media(cfg, entry) assert "ROTATED_MEMBER_KEY" in cfg["mcp_servers"]["turkservis-media"]["headers"]["Authorization"] def test_other_provider_and_missing_key_do_not_enable_media(): for entry in ({"base_url": "https://example.com/v1", "key_env": "SECRET"}, {"base_url": "https://ai.turkservis.online/v1"}): cfg = {} assert not configure_media(cfg, entry) assert cfg == {} def test_explicitly_disabled_connection_stays_disabled(): cfg = {"mcp_servers": {"turkservis-media": {"url": "https://ai.turkservis.online/mcp", "enabled": False}}} configure_media(cfg, {"base_url": "https://ai.turkservis.online/v1", "key_env": "KEY"}) assert cfg["mcp_servers"]["turkservis-media"]["enabled"] is False