mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-06 09:20:43 +00:00
test: dedupe exec host boundary mocks
This commit is contained in:
@@ -1,5 +1,8 @@
|
||||
import { beforeAll, beforeEach, describe, expect, it, vi } from "vitest";
|
||||
|
||||
type StrictInlineEvalBoundary =
|
||||
typeof import("./bash-tools.exec-host-shared.js").enforceStrictInlineEvalApprovalBoundary;
|
||||
|
||||
const INLINE_EVAL_HIT = {
|
||||
executable: "python3",
|
||||
normalizedExecutable: "python3",
|
||||
@@ -54,15 +57,10 @@ const resolveExecHostApprovalContextMock = vi.hoisted(() =>
|
||||
const runExecProcessMock = vi.hoisted(() => vi.fn());
|
||||
const sendExecApprovalFollowupResultMock = vi.hoisted(() => vi.fn(async () => undefined));
|
||||
const enforceStrictInlineEvalApprovalBoundaryMock = vi.hoisted(() =>
|
||||
vi.fn(
|
||||
(value: {
|
||||
approvedByAsk: boolean;
|
||||
deniedReason: string | null;
|
||||
}): {
|
||||
approvedByAsk: boolean;
|
||||
deniedReason: string | null;
|
||||
} => value,
|
||||
),
|
||||
vi.fn<StrictInlineEvalBoundary>((value) => ({
|
||||
approvedByAsk: value.approvedByAsk,
|
||||
deniedReason: value.deniedReason,
|
||||
})),
|
||||
);
|
||||
const detectInterpreterInlineEvalArgvMock = vi.hoisted(() =>
|
||||
vi.fn(
|
||||
@@ -171,9 +169,10 @@ describe("processGatewayAllowlist", () => {
|
||||
runExecProcessMock.mockReset();
|
||||
sendExecApprovalFollowupResultMock.mockReset();
|
||||
enforceStrictInlineEvalApprovalBoundaryMock.mockReset();
|
||||
enforceStrictInlineEvalApprovalBoundaryMock.mockImplementation(
|
||||
(value: { approvedByAsk: boolean; deniedReason: string | null }) => value,
|
||||
);
|
||||
enforceStrictInlineEvalApprovalBoundaryMock.mockImplementation((value) => ({
|
||||
approvedByAsk: value.approvedByAsk,
|
||||
deniedReason: value.deniedReason,
|
||||
}));
|
||||
detectInterpreterInlineEvalArgvMock.mockReset();
|
||||
detectInterpreterInlineEvalArgvMock.mockReturnValue(null);
|
||||
buildExecApprovalPendingToolResultMock.mockReturnValue({
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
import { beforeAll, beforeEach, describe, expect, it, vi } from "vitest";
|
||||
|
||||
type StrictInlineEvalBoundary =
|
||||
typeof import("./bash-tools.exec-host-shared.js").enforceStrictInlineEvalApprovalBoundary;
|
||||
|
||||
const INLINE_EVAL_HIT = {
|
||||
executable: "python3",
|
||||
normalizedExecutable: "python3",
|
||||
@@ -53,15 +56,10 @@ const createExecApprovalDecisionStateMock = vi.hoisted(() =>
|
||||
const buildExecApprovalPendingToolResultMock = vi.hoisted(() => vi.fn());
|
||||
const sendExecApprovalFollowupResultMock = vi.hoisted(() => vi.fn(async () => undefined));
|
||||
const enforceStrictInlineEvalApprovalBoundaryMock = vi.hoisted(() =>
|
||||
vi.fn(
|
||||
(value: {
|
||||
approvedByAsk: boolean;
|
||||
deniedReason: string | null;
|
||||
}): {
|
||||
approvedByAsk: boolean;
|
||||
deniedReason: string | null;
|
||||
} => value,
|
||||
),
|
||||
vi.fn<StrictInlineEvalBoundary>((value) => ({
|
||||
approvedByAsk: value.approvedByAsk,
|
||||
deniedReason: value.deniedReason,
|
||||
})),
|
||||
);
|
||||
const registerExecApprovalRequestForHostOrThrowMock = vi.hoisted(() =>
|
||||
vi.fn(async () => undefined),
|
||||
@@ -229,9 +227,10 @@ describe("executeNodeHostCommand", () => {
|
||||
});
|
||||
sendExecApprovalFollowupResultMock.mockReset();
|
||||
enforceStrictInlineEvalApprovalBoundaryMock.mockReset();
|
||||
enforceStrictInlineEvalApprovalBoundaryMock.mockImplementation(
|
||||
(value: { approvedByAsk: boolean; deniedReason: string | null }) => value,
|
||||
);
|
||||
enforceStrictInlineEvalApprovalBoundaryMock.mockImplementation((value) => ({
|
||||
approvedByAsk: value.approvedByAsk,
|
||||
deniedReason: value.deniedReason,
|
||||
}));
|
||||
detectInterpreterInlineEvalArgvMock.mockReset();
|
||||
detectInterpreterInlineEvalArgvMock.mockReturnValue(null);
|
||||
registerExecApprovalRequestForHostOrThrowMock.mockReset();
|
||||
|
||||
Reference in New Issue
Block a user