From 2c9663e35ccc4c9191146e085dd59b1ce0fb0312 Mon Sep 17 00:00:00 2001 From: aldettinger Date: Mon, 13 Sep 2021 11:10:05 +0200 Subject: [PATCH] Fix lambda tests on localstack #2595 --- .../aws2/lambda/it/Aws2LambdaResource.java | 3 ++- .../component/aws2/lambda/it/Aws2LambdaIT.java | 3 --- .../aws2/lambda/it/Aws2LambdaTest.java | 18 ++++++------------ 3 files changed, 8 insertions(+), 16 deletions(-) diff --git a/integration-test-groups/aws2/aws2-lambda/src/main/java/org/apache/camel/quarkus/component/aws2/lambda/it/Aws2LambdaResource.java b/integration-test-groups/aws2/aws2-lambda/src/main/java/org/apache/camel/quarkus/component/aws2/lambda/it/Aws2LambdaResource.java index 0992a3cd00b0..133554c769cc 100644 --- a/integration-test-groups/aws2/aws2-lambda/src/main/java/org/apache/camel/quarkus/component/aws2/lambda/it/Aws2LambdaResource.java +++ b/integration-test-groups/aws2/aws2-lambda/src/main/java/org/apache/camel/quarkus/component/aws2/lambda/it/Aws2LambdaResource.java @@ -43,6 +43,7 @@ import software.amazon.awssdk.services.lambda.model.FunctionConfiguration; import software.amazon.awssdk.services.lambda.model.InvalidParameterValueException; import software.amazon.awssdk.services.lambda.model.ListFunctionsResponse; +import software.amazon.awssdk.services.lambda.model.Runtime; @Path("/aws2-lambda") @ApplicationScoped @@ -64,7 +65,7 @@ public Response createFunction(byte[] message, @PathParam("functionName") String new LinkedHashMap() { { put(Lambda2Constants.ROLE, roleArn); - put(Lambda2Constants.RUNTIME, "nodejs12.x"); + put(Lambda2Constants.RUNTIME, Runtime.PYTHON3_9); put(Lambda2Constants.HANDLER, "index.handler"); } }, diff --git a/integration-test-groups/aws2/aws2-lambda/src/test/java/org/apache/camel/quarkus/component/aws2/lambda/it/Aws2LambdaIT.java b/integration-test-groups/aws2/aws2-lambda/src/test/java/org/apache/camel/quarkus/component/aws2/lambda/it/Aws2LambdaIT.java index 835ae791eb24..a347dd7d8ed5 100644 --- a/integration-test-groups/aws2/aws2-lambda/src/test/java/org/apache/camel/quarkus/component/aws2/lambda/it/Aws2LambdaIT.java +++ b/integration-test-groups/aws2/aws2-lambda/src/test/java/org/apache/camel/quarkus/component/aws2/lambda/it/Aws2LambdaIT.java @@ -17,10 +17,7 @@ package org.apache.camel.quarkus.component.aws2.lambda.it; import io.quarkus.test.junit.NativeImageTest; -import org.junit.jupiter.api.condition.EnabledIfEnvironmentVariable; -//TODO disabled on Localstack, see https://github.com/apache/camel-quarkus/issues/2595 -@EnabledIfEnvironmentVariable(named = "AWS_ACCESS_KEY", matches = "[a-zA-Z0-9]+") @NativeImageTest class Aws2LambdaIT extends Aws2LambdaTest { diff --git a/integration-test-groups/aws2/aws2-lambda/src/test/java/org/apache/camel/quarkus/component/aws2/lambda/it/Aws2LambdaTest.java b/integration-test-groups/aws2/aws2-lambda/src/test/java/org/apache/camel/quarkus/component/aws2/lambda/it/Aws2LambdaTest.java index c68b6084df68..683bbe4cde94 100644 --- a/integration-test-groups/aws2/aws2-lambda/src/test/java/org/apache/camel/quarkus/component/aws2/lambda/it/Aws2LambdaTest.java +++ b/integration-test-groups/aws2/aws2-lambda/src/test/java/org/apache/camel/quarkus/component/aws2/lambda/it/Aws2LambdaTest.java @@ -33,10 +33,7 @@ import org.hamcrest.Matchers; import org.jboss.logging.Logger; import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.condition.EnabledIfEnvironmentVariable; -//TODO disabled on Localstack, see https://github.com/apache/camel-quarkus/issues/2595 -@EnabledIfEnvironmentVariable(named = "AWS_ACCESS_KEY", matches = "[a-zA-Z0-9]+") @QuarkusTest @QuarkusTestResource(Aws2TestResource.class) class Aws2LambdaTest { @@ -118,7 +115,7 @@ public void e2e() { static byte[] createFunctionZip() { ByteArrayOutputStream baos = new ByteArrayOutputStream(); try (ZipOutputStream out = new ZipOutputStream(baos)) { - out.putNextEntry(new ZipEntry("index.js")); + out.putNextEntry(new ZipEntry("index.py")); out.write(FUNCTION_SOURCE.getBytes(StandardCharsets.UTF_8)); out.closeEntry(); } catch (IOException e) { @@ -127,12 +124,9 @@ static byte[] createFunctionZip() { return baos.toByteArray(); } - private static final String FUNCTION_SOURCE = "exports.handler = function(event, context, callback) {\n" - + " console.log(\"Received event: \", event);\n" - + " var data = {\n" - + " \"greetings\": \"Hello \" + event.firstName\n" - + " };\n" - + " callback(null, data);\n" - + "}\n"; - + private static final String FUNCTION_SOURCE = "def handler(event, context):\n" + + " message = 'Hello {}'.format(event['firstName'])\n" + + " return {\n" + + " 'greetings' : message\n" + + " }\n"; }