From 72ad88b3d5aa445d6f6e3830820e6816bc0a7908 Mon Sep 17 00:00:00 2001 From: Dane Pilcher Date: Fri, 18 Oct 2024 11:48:20 -0600 Subject: [PATCH] feat: sort order of auth modes --- .../src/__tests__/__functional__/metadata.test.ts | 10 ++++++---- .../src/internal/metadata.ts | 3 ++- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/packages/amplify-graphql-api-construct/src/__tests__/__functional__/metadata.test.ts b/packages/amplify-graphql-api-construct/src/__tests__/__functional__/metadata.test.ts index b8ba77e09e..2a947171b6 100644 --- a/packages/amplify-graphql-api-construct/src/__tests__/__functional__/metadata.test.ts +++ b/packages/amplify-graphql-api-construct/src/__tests__/__functional__/metadata.test.ts @@ -332,6 +332,12 @@ describe('metrics metadata', () => { `), authorizationModes: { defaultAuthorizationMode: 'API_KEY', + // assert output authorizationModes is sorted correctly + // aws_lambda should be last in list + lambdaConfig: { + function: new NodejsFunction(stack, 'TestAuthorizer', { entry: path.join(__dirname, 'authorizer.ts') }), + ttl: Duration.days(7), + }, apiKeyConfig: { expires: Duration.days(7) }, iamConfig: { identityPoolId: 'abc', @@ -342,10 +348,6 @@ describe('metrics metadata', () => { assumedBy: new ArnPrincipal('aws:iam::1234:root'), }), }, - lambdaConfig: { - function: new NodejsFunction(stack, 'TestAuthorizer', { entry: path.join(__dirname, 'authorizer.ts') }), - ttl: Duration.days(7), - }, }, }); const template = Template.fromStack(stack); diff --git a/packages/amplify-graphql-api-construct/src/internal/metadata.ts b/packages/amplify-graphql-api-construct/src/internal/metadata.ts index f11a498bc2..7b3b72dfab 100644 --- a/packages/amplify-graphql-api-construct/src/internal/metadata.ts +++ b/packages/amplify-graphql-api-construct/src/internal/metadata.ts @@ -19,7 +19,8 @@ export const getMetadataAuthorizationModes = (authorizationModes: AuthorizationM const authModes = Object.keys(authorizationModes) .map((mode) => configKeyToAuthMode[mode]) // remove values not found in mapping - .filter((mode) => !!mode); + .filter((mode) => !!mode) + .sort(); return authModes.join(','); };