mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-10 19:44:59 +00:00
test: move duplicate local scenario suites out of agents e2e
This commit is contained in:
@@ -0,0 +1,71 @@
|
||||
import { beforeEach, describe, expect, it, vi } from "vitest";
|
||||
import * as helpers from "./pi-embedded-helpers.js";
|
||||
import {
|
||||
expectGoogleModelApiFullSanitizeCall,
|
||||
loadSanitizeSessionHistoryWithCleanMocks,
|
||||
makeMockSessionManager,
|
||||
makeSimpleUserMessages,
|
||||
makeSnapshotChangedOpenAIReasoningScenario,
|
||||
sanitizeWithOpenAIResponses,
|
||||
} from "./pi-embedded-runner.sanitize-session-history.test-harness.js";
|
||||
|
||||
type SanitizeSessionHistory = Awaited<ReturnType<typeof loadSanitizeSessionHistoryWithCleanMocks>>;
|
||||
let sanitizeSessionHistory: SanitizeSessionHistory;
|
||||
|
||||
vi.mock("./pi-embedded-helpers.js", async () => {
|
||||
const actual = await vi.importActual("./pi-embedded-helpers.js");
|
||||
return {
|
||||
...actual,
|
||||
isGoogleModelApi: vi.fn(),
|
||||
sanitizeSessionMessagesImages: vi.fn().mockImplementation(async (msgs) => msgs),
|
||||
};
|
||||
});
|
||||
|
||||
describe("sanitizeSessionHistory e2e smoke", () => {
|
||||
const mockSessionManager = makeMockSessionManager();
|
||||
const mockMessages = makeSimpleUserMessages();
|
||||
|
||||
beforeEach(async () => {
|
||||
sanitizeSessionHistory = await loadSanitizeSessionHistoryWithCleanMocks();
|
||||
});
|
||||
|
||||
it("applies full sanitize policy for google model APIs", async () => {
|
||||
await expectGoogleModelApiFullSanitizeCall({
|
||||
sanitizeSessionHistory,
|
||||
messages: mockMessages,
|
||||
sessionManager: mockSessionManager,
|
||||
});
|
||||
});
|
||||
|
||||
it("keeps images-only sanitize policy without tool-call id rewriting for openai-responses", async () => {
|
||||
vi.mocked(helpers.isGoogleModelApi).mockReturnValue(false);
|
||||
|
||||
await sanitizeWithOpenAIResponses({
|
||||
sanitizeSessionHistory,
|
||||
messages: mockMessages,
|
||||
sessionManager: mockSessionManager,
|
||||
});
|
||||
|
||||
expect(helpers.sanitizeSessionMessagesImages).toHaveBeenCalledWith(
|
||||
mockMessages,
|
||||
"session:history",
|
||||
expect.objectContaining({
|
||||
sanitizeMode: "images-only",
|
||||
sanitizeToolCallIds: false,
|
||||
}),
|
||||
);
|
||||
});
|
||||
|
||||
it("downgrades openai reasoning blocks when the model snapshot changed", async () => {
|
||||
const { sessionManager, messages, modelId } = makeSnapshotChangedOpenAIReasoningScenario();
|
||||
|
||||
const result = await sanitizeWithOpenAIResponses({
|
||||
sanitizeSessionHistory,
|
||||
messages,
|
||||
modelId,
|
||||
sessionManager,
|
||||
});
|
||||
|
||||
expect(result).toEqual([]);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user