agent-swarm-workbench / tests_python /test_sandbox_lease.py
Kiy-K's picture
Restore full Space app with bucket model support
31c8075 verified
Raw
History Blame Contribute Delete
1.51 kB
import time
from arena.sandbox_lease import SandboxLeaseManager, sandbox_ttl_seconds_from_env
def test_sandbox_lease_closes_resource_after_idle_ttl() -> None:
closed: list[str] = []
expired: list[str] = []
leases = SandboxLeaseManager(ttl_seconds=0.01)
leases.start("lease-1", lambda: closed.append("lease-1"), on_expire=lambda: expired.append("lease-1"))
deadline = time.time() + 1
while time.time() < deadline and not closed:
time.sleep(0.01)
assert closed == ["lease-1"]
assert expired == ["lease-1"]
def test_sandbox_lease_touch_resets_idle_ttl() -> None:
closed: list[str] = []
leases = SandboxLeaseManager(ttl_seconds=0.06)
leases.start("lease-1", lambda: closed.append("lease-1"))
time.sleep(0.03)
assert leases.touch("lease-1") is True
time.sleep(0.04)
assert closed == []
deadline = time.time() + 1
while time.time() < deadline and not closed:
time.sleep(0.01)
assert closed == ["lease-1"]
def test_sandbox_lease_close_is_idempotent() -> None:
closed: list[str] = []
leases = SandboxLeaseManager(ttl_seconds=60)
leases.start("lease-1", lambda: closed.append("lease-1"))
assert leases.close("lease-1") is True
assert leases.close("lease-1") is False
assert closed == ["lease-1"]
def test_sandbox_ttl_env_falls_back_on_invalid_value(monkeypatch) -> None:
monkeypatch.setenv("DEEPAGENT_SANDBOX_TTL_SECONDS", "bad")
assert sandbox_ttl_seconds_from_env() == 30 * 60