Import AITURK IDE 1.0.0-beta.1 from Hermes 63279301; preserve MIT license
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
"""Regression for #64333 — auxiliary client must survive a version-skewed
|
||||
agent.process_bootstrap that lacks build_keepalive_http_client.
|
||||
|
||||
Desktop installs can run a runtime whose agent/process_bootstrap.py predates
|
||||
the helper while newer callers (cron scheduler → auxiliary_client) expect it.
|
||||
Before the fix the module-level import made every cron job die with
|
||||
ImportError before any agent logic ran.
|
||||
"""
|
||||
|
||||
import builtins
|
||||
import logging
|
||||
|
||||
import agent.auxiliary_client as aux
|
||||
|
||||
|
||||
def test_missing_bootstrap_helper_degrades_instead_of_raising(monkeypatch, caplog):
|
||||
"""ImportError from process_bootstrap → empty kwargs + one-time warning."""
|
||||
real_import = builtins.__import__
|
||||
|
||||
def _fail_bootstrap(name, *args, **kwargs):
|
||||
if name == "agent.process_bootstrap":
|
||||
raise ImportError(
|
||||
"cannot import name 'build_keepalive_http_client' "
|
||||
"from 'agent.process_bootstrap'"
|
||||
)
|
||||
return real_import(name, *args, **kwargs)
|
||||
|
||||
monkeypatch.setattr(builtins, "__import__", _fail_bootstrap)
|
||||
monkeypatch.setattr(aux, "_WARNED_KEEPALIVE_IMPORT_SKEW", False)
|
||||
|
||||
with caplog.at_level(logging.WARNING, logger="agent.auxiliary_client"):
|
||||
result = aux._openai_http_client_kwargs("https://api.example.com/v1")
|
||||
again = aux._openai_http_client_kwargs("https://api.example.com/v1")
|
||||
|
||||
assert result == {}
|
||||
assert again == {}
|
||||
skew_warnings = [
|
||||
r for r in caplog.records if "mixed/stale install" in r.getMessage()
|
||||
]
|
||||
assert len(skew_warnings) == 1 # warned once, not per call
|
||||
|
||||
|
||||
def test_healthy_bootstrap_still_injects_keepalive_client():
|
||||
"""With the helper present, the keepalive http_client is injected."""
|
||||
result = aux._openai_http_client_kwargs("https://api.example.com/v1")
|
||||
assert "http_client" in result
|
||||
assert result["http_client"] is not None
|
||||
Reference in New Issue
Block a user