27 lines
1.4 KiB
Python
27 lines
1.4 KiB
Python
from hermes_cli.aiturk_media import configure_media
|
|
|
|
|
|
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
|