From 359a656fdfa9f4fe4193f8c2e4a8475c04e7268d Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Thu, 23 Apr 2026 18:31:34 +0100 Subject: [PATCH] test: dedupe Anthropic cache policy fixtures --- src/agents/anthropic-payload-policy.test.ts | 47 +++++++++------------ 1 file changed, 21 insertions(+), 26 deletions(-) diff --git a/src/agents/anthropic-payload-policy.test.ts b/src/agents/anthropic-payload-policy.test.ts index 3d6583eff8b..4650cc9a8da 100644 --- a/src/agents/anthropic-payload-policy.test.ts +++ b/src/agents/anthropic-payload-policy.test.ts @@ -31,6 +31,21 @@ function boundarySystemPayload(): TestPayload { }; } +function simpleTextPayload(): TestPayload { + return { + system: [{ type: "text", text: "Follow policy." }], + messages: [{ role: "user", content: "Hello" }], + }; +} + +function expectShortEphemeralTextPayload(payload: TestPayload) { + expect(payload.system).toEqual([textBlock("Follow policy.", { type: "ephemeral" })]); + expect(payload.messages[0]).toEqual({ + role: "user", + content: [{ type: "text", text: "Hello", cache_control: { type: "ephemeral" } }], + }); +} + describe("anthropic payload policy", () => { it("applies native Anthropic service tier and cache markers without widening cache scope", () => { const policy = resolveAnthropicPayloadPolicy({ @@ -95,10 +110,7 @@ describe("anthropic payload policy", () => { enableCacheControl: true, serviceTier: "auto", }); - const payload: TestPayload = { - system: [{ type: "text", text: "Follow policy." }], - messages: [{ role: "user", content: "Hello" }], - }; + const payload = simpleTextPayload(); applyAnthropicPayloadPolicyToParams(payload, policy); @@ -120,18 +132,11 @@ describe("anthropic payload policy", () => { baseUrl: "https://proxy.example.com/anthropic", enableCacheControl: true, }); - const payload: TestPayload = { - system: [{ type: "text", text: "Follow policy." }], - messages: [{ role: "user", content: "Hello" }], - }; + const payload = simpleTextPayload(); applyAnthropicPayloadPolicyToParams(payload, policy); - expect(payload.system).toEqual([textBlock("Follow policy.", { type: "ephemeral" })]); - expect(payload.messages[0]).toEqual({ - role: "user", - content: [{ type: "text", text: "Hello", cache_control: { type: "ephemeral" } }], - }); + expectShortEphemeralTextPayload(payload); } finally { if (previous === undefined) { delete process.env.PI_CACHE_RETENTION; @@ -149,18 +154,11 @@ describe("anthropic payload policy", () => { cacheRetention: "short", enableCacheControl: true, }); - const payload: TestPayload = { - system: [{ type: "text", text: "Follow policy." }], - messages: [{ role: "user", content: "Hello" }], - }; + const payload = simpleTextPayload(); applyAnthropicPayloadPolicyToParams(payload, policy); - expect(payload.system).toEqual([textBlock("Follow policy.", { type: "ephemeral" })]); - expect(payload.messages[0]).toEqual({ - role: "user", - content: [{ type: "text", text: "Hello", cache_control: { type: "ephemeral" } }], - }); + expectShortEphemeralTextPayload(payload); }); it("splits cached stable system content from uncached dynamic content", () => { @@ -217,10 +215,7 @@ describe("anthropic payload policy", () => { cacheRetention: "short", enableCacheControl: true, }); - const payload: TestPayload = { - system: [{ type: "text", text: "Follow policy." }], - messages: [{ role: "user", content: "Hello" }], - }; + const payload = simpleTextPayload(); applyAnthropicPayloadPolicyToParams(payload, policy);