From 4f78d8542df623da17a480f0f369e3b60297a3db Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Fri, 13 Mar 2026 19:17:24 +0000 Subject: [PATCH] test: tighten secure token and system mark coverage --- src/infra/secure-random.test.ts | 9 +++++++++ src/infra/system-message.test.ts | 5 +++++ 2 files changed, 14 insertions(+) diff --git a/src/infra/secure-random.test.ts b/src/infra/secure-random.test.ts index 6b2ea728ebd..2a595900c7b 100644 --- a/src/infra/secure-random.test.ts +++ b/src/infra/secure-random.test.ts @@ -40,4 +40,13 @@ describe("secure-random", () => { expect(cryptoMocks.randomBytes).toHaveBeenCalledWith(18); expect(token18).toBe(Buffer.alloc(18, 0xab).toString("base64url")); }); + + it("supports zero-byte tokens without rewriting the requested size", () => { + cryptoMocks.randomBytes.mockClear(); + + const token = generateSecureToken(0); + + expect(cryptoMocks.randomBytes).toHaveBeenCalledWith(0); + expect(token).toBe(""); + }); }); diff --git a/src/infra/system-message.test.ts b/src/infra/system-message.test.ts index 5cb1d4be87f..980c852eeb4 100644 --- a/src/infra/system-message.test.ts +++ b/src/infra/system-message.test.ts @@ -13,6 +13,7 @@ describe("system-message", () => { it.each([ { input: `${SYSTEM_MARK} already prefixed`, expected: true }, { input: ` ${SYSTEM_MARK} hello`, expected: true }, + { input: SYSTEM_MARK, expected: true }, { input: "", expected: false }, { input: "hello", expected: false }, ])("detects marks for %j", ({ input, expected }) => { @@ -24,4 +25,8 @@ describe("system-message", () => { `${SYSTEM_MARK} already prefixed`, ); }); + + it("preserves mark-only messages after trimming", () => { + expect(prefixSystemMessage(` ${SYSTEM_MARK} `)).toBe(SYSTEM_MARK); + }); });