From c60a4c9552bcd5dc8e014aa21ba4e84acea8beda Mon Sep 17 00:00:00 2001 From: Shakker Date: Mon, 11 May 2026 22:41:40 +0100 Subject: [PATCH] test: order sandbox status lookups --- .../openclaw-tools.session-status.test.ts | 82 ++++++++++--------- 1 file changed, 44 insertions(+), 38 deletions(-) diff --git a/src/agents/openclaw-tools.session-status.test.ts b/src/agents/openclaw-tools.session-status.test.ts index c3a95c05e2b..d1e8e24e0aa 100644 --- a/src/agents/openclaw-tools.session-status.test.ts +++ b/src/agents/openclaw-tools.session-status.test.ts @@ -1839,27 +1839,30 @@ describe("session_status tool", () => { expect(loadSessionStoreMock).toHaveBeenCalledWith("/tmp/main/sessions.json"); expect(updateSessionStoreMock).not.toHaveBeenCalled(); expect(callGatewayMock).toHaveBeenCalledTimes(3); - expect(callGatewayMock.mock.calls).toContainEqual([ - { - method: "sessions.resolve", - params: { - sessionId: "s-other", - spawnedBy: "agent:main:subagent:child", - includeGlobal: false, - includeUnknown: false, - }, + expect(callGatewayMock).toHaveBeenNthCalledWith(1, { + method: "sessions.list", + params: { + includeGlobal: false, + includeUnknown: false, + spawnedBy: "agent:main:subagent:child", }, - ]); - expect(callGatewayMock.mock.calls).toContainEqual([ - { - method: "sessions.list", - params: { - includeGlobal: false, - includeUnknown: false, - spawnedBy: "agent:main:subagent:child", - }, + }); + expect(callGatewayMock).toHaveBeenNthCalledWith(2, { + method: "sessions.resolve", + params: { + key: "s-other", + spawnedBy: "agent:main:subagent:child", }, - ]); + }); + expect(callGatewayMock).toHaveBeenNthCalledWith(3, { + method: "sessions.resolve", + params: { + sessionId: "s-other", + spawnedBy: "agent:main:subagent:child", + includeGlobal: false, + includeUnknown: false, + }, + }); }); it("blocks sandboxed child session_status parent sessionId access outside its tree", async () => { @@ -1890,27 +1893,30 @@ describe("session_status tool", () => { expect(loadSessionStoreMock).toHaveBeenCalledWith("/tmp/main/sessions.json"); expect(updateSessionStoreMock).not.toHaveBeenCalled(); expect(callGatewayMock).toHaveBeenCalledTimes(3); - expect(callGatewayMock.mock.calls).toContainEqual([ - { - method: "sessions.resolve", - params: { - sessionId: "s-parent", - spawnedBy: "agent:main:subagent:child", - includeGlobal: false, - includeUnknown: false, - }, + expect(callGatewayMock).toHaveBeenNthCalledWith(1, { + method: "sessions.list", + params: { + includeGlobal: false, + includeUnknown: false, + spawnedBy: "agent:main:subagent:child", }, - ]); - expect(callGatewayMock.mock.calls).toContainEqual([ - { - method: "sessions.list", - params: { - includeGlobal: false, - includeUnknown: false, - spawnedBy: "agent:main:subagent:child", - }, + }); + expect(callGatewayMock).toHaveBeenNthCalledWith(2, { + method: "sessions.resolve", + params: { + key: "s-parent", + spawnedBy: "agent:main:subagent:child", }, - ]); + }); + expect(callGatewayMock).toHaveBeenNthCalledWith(3, { + method: "sessions.resolve", + params: { + sessionId: "s-parent", + spawnedBy: "agent:main:subagent:child", + includeGlobal: false, + includeUnknown: false, + }, + }); }); it("keeps legacy main requester keys for sandboxed session tree checks", async () => {