Skip to content

Random lambda mock event server port property does not work with funqy-amazon-lambda extension #50402

@mjurc

Description

@mjurc

Describe the bug

Testing an application with RHBQ 3.27 using quarkus-funqy-amazon-lambda extension and random test port for lambda mock event server doesn't work.

Expected behavior

mvn io.quarkus:quarkus-maven-plugin:3.27.0:create -DprojectGroupId=io.quarkus.qe -DprojectArtifactId=funqy-amazon-lambda -DprojectVersion=1.0.0-SNAPSHOT -Dextensions=funqy-amazon-lambda
cd funqy-amazon-lambda/
mvn verify -Dquarkus.http.test-port=0 -Dquarkus.lambda.mock-event-server.test-port=0 -Dquarkus.platform.version=3.27.0

Test passes.

Actual behavior

mvn io.quarkus:quarkus-maven-plugin:3.27.0:create -DprojectGroupId=io.quarkus.qe -DprojectArtifactId=funqy-amazon-lambda -DprojectVersion=1.0.0-SNAPSHOT -Dextensions=funqy-amazon-lambda
cd funqy-amazon-lambda/
mvn verify -Dquarkus.http.test-port=0 -Dquarkus.lambda.mock-event-server.test-port=0 -Dquarkus.platform.version=3.27.0
.
.
.
[INFO] -------------------------------------------------------
[INFO]  T E S T S
[INFO] -------------------------------------------------------
[INFO] Running io.quarkus.qe.funqy.FunqyTest
2025-10-03 14:12:46,064 INFO  [io.qua.ama.lam.run.MockEventServer] (ForkJoinPool.commonPool-worker-1) Mock Lambda Event Server Started
2025-10-03 14:12:46,066 INFO  [io.qua.dep.bui.DevServicesRegistryBuildItem] (ForkJoinPool.commonPool-worker-1) The amazon-lambda dev service is ready to accept connections on localhost:42803/_lambda_
2025-10-03 14:12:46,236 INFO  [io.quarkus] (main) funqy-amazon-lambda 1.0.0-SNAPSHOT on JVM (powered by Quarkus 3.27.0) started in 0.994s. 
2025-10-03 14:12:46,236 INFO  [io.quarkus] (main) Profile test activated. 
2025-10-03 14:12:46,236 INFO  [io.quarkus] (main) Installed features: [cdi, compose, funqy-amazon-lambda]
2025-10-03 14:12:46,237 INFO  [io.qua.ama.lam.run.AbstractLambdaPollLoop] (Lambda Thread (TEST)) Listening on: http://localhost:42803/_lambda_/2018-06-01/runtime/invocation/next
[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.444 s <<< FAILURE! -- in io.quarkus.qe.funqy.FunqyTest
[ERROR] io.quarkus.qe.funqy.FunqyTest.testFunqyLambda -- Time elapsed: 0.149 s <<< ERROR!
java.lang.IllegalArgumentException: Port must be greater than 0
	at java.base/jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:62)
	at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:502)
	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:486)
	at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:73)
	at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:108)
	at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:57)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:263)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:277)
	at io.restassured.internal.RequestSpecificationImpl.port(RequestSpecificationImpl.groovy:691)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:343)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:328)
	at groovy.lang.MetaClassImpl.doInvokeMethod(MetaClassImpl.java:1333)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1088)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1007)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:790)
	at io.restassured.internal.RequestSpecificationImpl.invokeMethod(RequestSpecificationImpl.groovy)
	at org.codehaus.groovy.runtime.callsite.PogoInterceptableSite.call(PogoInterceptableSite.java:46)
	at org.codehaus.groovy.runtime.callsite.PogoInterceptableSite.callCurrent(PogoInterceptableSite.java:57)
	at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:49)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:171)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:185)
	at io.restassured.internal.RequestSpecificationImpl.<init>(RequestSpecificationImpl.groovy:144)
	at io.restassured.RestAssured.createTestSpecification(RestAssured.java:1453)
	at io.restassured.RestAssured.given(RestAssured.java:654)
	at io.quarkus.qe.funqy.FunqyTest.testFunqyLambda(FunqyTest.java:18)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
	at io.quarkus.test.junit.QuarkusTestExtension.runExtensionMethod(QuarkusTestExtension.java:1000)
	at io.quarkus.test.junit.QuarkusTestExtension.interceptTestMethod(QuarkusTestExtension.java:848)
	at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
	at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)

2025-10-03 14:12:46,399 WARN  [io.qua.ama.lam.run.AbstractLambdaPollLoop] (Lambda Thread (TEST)) Aborting lambda poll loop: ending dev/test mode
2025-10-03 14:12:46,400 INFO  [io.qua.ama.lam.run.AbstractLambdaPollLoop] (Lambda Thread (TEST)) Lambda polling thread complete (TEST)
2025-10-03 14:12:46,401 INFO  [io.quarkus] (main) funqy-amazon-lambda stopped in 0.004s
[INFO] 
[INFO] Results:
[INFO] 
[ERROR] Errors: 
[ERROR]   FunqyTest.testFunqyLambda:18 » IllegalArgument Port must be greater than 0
[INFO] 
[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0
[INFO] 
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  3.528 s
[INFO] Finished at: 2025-10-03T14:12:46+02:00
[INFO] ------------------------------------------------------------------------

How to Reproduce?

mvn io.quarkus:quarkus-maven-plugin:3.27.0:create -DprojectGroupId=io.quarkus.qe -DprojectArtifactId=funqy-amazon-lambda -DprojectVersion=1.0.0-SNAPSHOT -Dextensions=funqy-amazon-lambda
cd funqy-amazon-lambda/
mvn verify -Dquarkus.http.test-port=0 -Dquarkus.lambda.mock-event-server.test-port=0 -Dquarkus.platform.version=3.27.0

Output of uname -a or ver

Linux zenobia 6.17.0-63.fc43.x86_64 #1 SMP PREEMPT_DYNAMIC Mon Sep 29 15:19:54 UTC 2025 x86_64 GNU/Linux

Output of java -version

openjdk version "21.0.8" 2025-07-15 OpenJDK Runtime Environment (Red_Hat-21.0.8.0.9-1) (build 21.0.8+9) OpenJDK 64-Bit Server VM (Red_Hat-21.0.8.0.9-1) (build 21.0.8+9, mixed mode, sharing)

Quarkus version or git rev

Since Quarkus 25

Build tool (ie. output of mvnw --version or gradlew --version)

Apache Maven 3.9.11 (Red Hat 3.9.11-5) Maven home: /usr/share/maven Java version: 21.0.8, vendor: Red Hat, Inc., runtime: /usr/lib/jvm/java-21-openjdk Default locale: en_US, platform encoding: UTF-8 OS name: "linux", version: "6.17.0-63.fc43.x86_64", arch: "amd64", family: "unix"

Additional information

I remember a similar issue - #35476 ; maybe it is related

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions