feat(config): default to WebSocket and migrate saved HTTP settings
This commit is contained in:
1 parent
2a3f43fb60
commit
04022f2eaf
18 files changed
+244
-58
No files matched your search
@@ -9,6 +9,7 @@ from apps.admin_console.services import model_settings_service as service
|
||||
from artemis.config.settings import Settings, settings
|
||||
from artemis.config.agent import load_agent_config
|
||||
from artemis.config.llm import parse_llm_config
|
||||
from artemis.config.environment import migrate_transport_default, TRANSPORT_DEFAULT_VERSION_KEY
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
@@ -45,6 +46,7 @@ def isolated_settings(monkeypatch, tmp_path):
|
||||
for key in keys:
|
||||
monkeypatch.setattr(settings, key, getattr(settings, key))
|
||||
monkeypatch.delenv(key, raising=False)
|
||||
monkeypatch.delenv(TRANSPORT_DEFAULT_VERSION_KEY, raising=False)
|
||||
monkeypatch.setattr(settings, "OPENAI_API_KEY", SecretStr("existing-test-secret"))
|
||||
return env
|
||||
|
||||
@@ -86,6 +88,16 @@ def test_save_reload_and_blank_key_preserves_secret(isolated_settings):
|
||||
assert dotenv_values(isolated_settings)["OPENAI_API_KEY"] == "new-test-secret"
|
||||
|
||||
|
||||
def test_saved_http_opt_out_survives_restart_migration(isolated_settings):
|
||||
result = service.save_model_settings(
|
||||
service.ModelSettingsUpdate(model="test", transport="http")
|
||||
)
|
||||
assert result["transport"] == "http"
|
||||
assert dotenv_values(isolated_settings)[TRANSPORT_DEFAULT_VERSION_KEY] == "1"
|
||||
assert migrate_transport_default(isolated_settings) is False
|
||||
assert Settings(_env_file=isolated_settings).OPENAI_TRANSPORT == "http"
|
||||
|
||||
|
||||
def test_new_install_uses_playones_endpoint_without_overriding_saved_url(monkeypatch):
|
||||
monkeypatch.delenv("OPENAI_BASE_URL", raising=False)
|
||||
expected = "https://api-n-cd.playones.com/v1"
|
||||
@@ -231,9 +243,7 @@ def test_screenshot_json_can_override_environment(monkeypatch, tmp_path):
|
||||
|
||||
def test_failed_write_keeps_running_settings(monkeypatch, isolated_settings):
|
||||
previous = settings.OPENAI_MODEL
|
||||
monkeypatch.setattr(
|
||||
service.os, "replace", lambda *args: (_ for _ in ()).throw(OSError("read only"))
|
||||
)
|
||||
monkeypatch.setattr(os, "replace", lambda *args: (_ for _ in ()).throw(OSError("read only")))
|
||||
with pytest.raises(OSError):
|
||||
service.save_model_settings(service.ModelSettingsUpdate(model="not-saved"))
|
||||
assert settings.OPENAI_MODEL == previous
|
||||
|
||||
Reference in new issue
Block a user