MCPcopy Index your code
hub / github.com/AI45Lab/Code / main

Function main

sdk/python/tests/test_session_close.py:43–109  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

41
42
43def main() -> None:
44 workspace = tempfile.mkdtemp(prefix="a3s-code-python-close-")
45 agent = Agent.create(INLINE_CONFIG)
46
47 # 1. Fresh session: is_closed is False, list_sessions sees it.
48 session = _make_session(agent, workspace, "py-close-1")
49 assert session.is_closed is False, "fresh session should not be closed"
50
51 listed = agent.list_sessions()
52 assert "py-close-1" in listed, (
53 f"agent.list_sessions() should include py-close-1, got {listed!r}"
54 )
55
56 # 2. session.close() flips is_closed and is idempotent.
57 session.close()
58 assert session.is_closed is True, "session.close() must set is_closed = True"
59 session.close() # second close must not raise
60 assert session.is_closed is True
61
62 # 3. agent.close_session(id) on a *new* live session closes it.
63 session_b = _make_session(agent, workspace, "py-close-2")
64 assert session_b.is_closed is False
65 was_open = agent.close_session("py-close-2")
66 assert was_open is True, (
67 f"close_session() on a live session must return True, got {was_open!r}"
68 )
69 assert session_b.is_closed is True, (
70 "close_session() must propagate to the Python wrapper's is_closed view"
71 )
72
73 # 4. close_session() on an unknown id returns False, doesn't raise.
74 unknown = agent.close_session("does-not-exist")
75 assert unknown is False, (
76 f"close_session() on unknown id must return False, got {unknown!r}"
77 )
78
79 # 5. agent.close() closes every live session and rejects new session().
80 session_c = _make_session(agent, workspace, "py-close-3")
81 session_d = _make_session(agent, workspace, "py-close-4")
82 assert session_c.is_closed is False
83 assert session_d.is_closed is False
84
85 agent.close()
86 assert agent.is_closed is True, "agent.is_closed must be True after agent.close()"
87 assert session_c.is_closed is True, "agent.close() must close session_c"
88 assert session_d.is_closed is True, "agent.close() must close session_d"
89
90 # New session() must raise.
91 try:
92 _ = _make_session(agent, workspace, "py-close-post")
93 except Exception as exc:
94 msg = str(exc).lower()
95 assert "closed" in msg, (
96 f"post-close session() error must mention 'closed', got: {exc!r}"
97 )
98 else:
99 raise AssertionError("session() after agent.close() must raise")
100

Callers 1

Calls 6

_make_sessionFunction · 0.85
createMethod · 0.45
list_sessionsMethod · 0.45
closeMethod · 0.45
close_sessionMethod · 0.45
disconnect_idle_mcpMethod · 0.45

Tested by

no test coverage detected