From 1d9c672d47a758fbebbc6e0e60d54cb7d6bf4bc0 Mon Sep 17 00:00:00 2001 From: Alexander Schueren Date: Fri, 17 Jan 2025 11:20:26 +0100 Subject: [PATCH] fix(parser): identitySource can be null --- packages/parser/src/schemas/apigwv2.ts | 2 +- packages/parser/tests/unit/schema/apigwv2.test.ts | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/packages/parser/src/schemas/apigwv2.ts b/packages/parser/src/schemas/apigwv2.ts index 94193e2f80..6bab874fb0 100644 --- a/packages/parser/src/schemas/apigwv2.ts +++ b/packages/parser/src/schemas/apigwv2.ts @@ -230,7 +230,7 @@ const APIGatewayRequestAuthorizerEventV2Schema = z.object({ version: z.literal('2.0'), type: z.literal('REQUEST'), routeArn: z.string(), - identitySource: APIGatewayStringArray, + identitySource: APIGatewayStringArray.nullish(), routeKey: z.string(), rawPath: z.string(), rawQueryString: z.string(), diff --git a/packages/parser/tests/unit/schema/apigwv2.test.ts b/packages/parser/tests/unit/schema/apigwv2.test.ts index a1ab6874c3..916b20e2f8 100644 --- a/packages/parser/tests/unit/schema/apigwv2.test.ts +++ b/packages/parser/tests/unit/schema/apigwv2.test.ts @@ -98,6 +98,21 @@ describe('API Gateway HTTP (v2) Schemas', () => { // Assess expect(parsedEvent).toEqual(event); }); + + it('should parse the authorizer event with null identitySource', () => { + // Prepare + const event = getTestEvent({ + eventsPath, + filename: 'authorizer-request', + }); + event.identitySource = null; + + // Act + const parsedEvent = APIGatewayRequestAuthorizerEventV2Schema.parse(event); + + // Assess + expect(parsedEvent).toEqual(event); + }); }); describe('APIGatewayRequestContextV2Schema', () => {