From 4f5987ea6605c3d2426a96b60c02259a08b1fa9c Mon Sep 17 00:00:00 2001 From: "frederik.buchlak" Date: Thu, 29 Jun 2023 14:25:51 +0200 Subject: [PATCH] change layer "id" by its priority (alphabetical order) --- src/layers.ts | 6 +++--- test/function/ConsoleFunction.test.ts | 15 +++++++++++++++ test/helper.ts | 7 ++++--- 3 files changed, 22 insertions(+), 6 deletions(-) diff --git a/src/layers.ts b/src/layers.ts index c16049f..65fc59d 100644 --- a/src/layers.ts +++ b/src/layers.ts @@ -12,7 +12,7 @@ export function functionLayer( return LayerVersion.fromLayerVersionArn( scope, - 'BrefFunctionLayer', + 'Bref001FunctionLayer', functionLayerArn(region, phpVersion, platform) ); } @@ -27,11 +27,11 @@ export function fpmLayer( return LayerVersion.fromLayerVersionArn( scope, - 'BrefFpmLayer', + 'Bref101FpmLayer', fpmLayerArn(region, phpVersion, platform) ); } export function consoleLayer(scope: Construct, region: string): ILayerVersion { - return LayerVersion.fromLayerVersionArn(scope, 'BrefConsoleLayer', consoleLayerArn(region)); + return LayerVersion.fromLayerVersionArn(scope, 'Bref201ConsoleLayer', consoleLayerArn(region)); } diff --git a/test/function/ConsoleFunction.test.ts b/test/function/ConsoleFunction.test.ts index 6ccb66e..02e8fbe 100644 --- a/test/function/ConsoleFunction.test.ts +++ b/test/function/ConsoleFunction.test.ts @@ -1,6 +1,7 @@ import { describe, expect, it } from 'vitest'; import { ConsoleFunction } from '../../src'; import { compileTestStack } from '../helper'; +import { cx_api } from 'aws-cdk-lib'; import { Architecture } from 'aws-cdk-lib/aws-lambda'; import { mapValues } from 'lodash'; @@ -19,6 +20,20 @@ describe('ConsoleFunction', () => { expect(layers[1]).to.match(/arn:aws:lambda:us-east-1:534081306603:layer:console:\d+/); }); + it('adds the console layer with recognizeLayerVersion flag', () => { + const template = compileTestStack((stack) => { + new ConsoleFunction(stack, 'Console', { + handler: 'index.php', + }); + }, { context: { [cx_api.LAMBDA_RECOGNIZE_LAYER_VERSION]: true } }); + + const consoleFunction = template.findResources('AWS::Lambda::Function'); + const layers = consoleFunction.Console63CA37A7.Properties.Layers; + expect(layers).length(2); + expect(layers[0]).to.match(/arn:aws:lambda:us-east-1:534081306603:layer:php-81:\d+/); + expect(layers[1]).to.match(/arn:aws:lambda:us-east-1:534081306603:layer:console:\d+/); + }); + it('supports ARM', () => { const template = compileTestStack((stack) => { new ConsoleFunction(stack, 'Console', { diff --git a/test/helper.ts b/test/helper.ts index 214e78a..03e11a9 100644 --- a/test/helper.ts +++ b/test/helper.ts @@ -1,9 +1,10 @@ -import { Stack } from 'aws-cdk-lib'; +import { App, AppProps, Stack } from 'aws-cdk-lib'; import { Template } from 'aws-cdk-lib/assertions'; import { mapValues } from 'lodash'; -export function compileTestStack(definition: (stack: Stack) => void): Template { - const stack = new Stack(undefined, 'app', { +export function compileTestStack(definition: (stack: Stack) => void, appProps: AppProps = undefined): Template { + const app = new App(appProps); + const stack = new Stack(app, 'app', { env: { region: 'us-east-1' }, }); definition(stack);