From d4efa4028eecf0026f21d23e58a373249d89bec7 Mon Sep 17 00:00:00 2001 From: Bernd Ruecker Date: Tue, 17 May 2022 14:44:03 +0200 Subject: [PATCH] Simplified code base, added random port for InMemoryEngine (#200) * Removed util subproject and moved class to core project * Simplified code and added some comments * Added some logging to support diagnosis of #199 (cherry picked from commit 78a2bef60c692289bb29834c89650383cd220833) --- .../test/ZeebeTestClientSpringConfiguration.java | 16 ++++++++++------ .../test/ZeebeTestClientSpringConfiguration.java | 4 ++-- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/test/embedded/src/main/java/io/camunda/zeebe/spring/test/ZeebeTestClientSpringConfiguration.java b/test/embedded/src/main/java/io/camunda/zeebe/spring/test/ZeebeTestClientSpringConfiguration.java index 73789ff1f..728048290 100644 --- a/test/embedded/src/main/java/io/camunda/zeebe/spring/test/ZeebeTestClientSpringConfiguration.java +++ b/test/embedded/src/main/java/io/camunda/zeebe/spring/test/ZeebeTestClientSpringConfiguration.java @@ -3,30 +3,32 @@ import io.camunda.zeebe.client.ZeebeClient; import io.camunda.zeebe.process.test.api.ZeebeTestEngine; import io.camunda.zeebe.process.test.engine.EngineFactory; -import io.camunda.zeebe.spring.client.ZeebeClientObjectFactory; -import io.camunda.zeebe.spring.client.config.AbstractZeebeBaseClientSpringConfiguration; +import io.camunda.zeebe.spring.client.factory.ZeebeClientObjectFactory; +import io.camunda.zeebe.spring.client.AbstractZeebeBaseClientSpringConfiguration; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.BeansException; import org.springframework.boot.test.context.TestConfiguration; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Primary; +import org.springframework.util.SocketUtils; import java.lang.invoke.MethodHandles; @TestConfiguration public class ZeebeTestClientSpringConfiguration extends AbstractZeebeBaseClientSpringConfiguration { - private static final Logger LOGGER = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); + private static final Logger LOG = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); // Do we miss a zeebeClient.close() somewhere? @Bean(destroyMethod = "stop") @Primary public ZeebeTestEngine zeebeTestEngine() { - LOGGER.info("Create Zeebe in-memory engine for test run..."); - ZeebeTestEngine zeebeEngine = EngineFactory.create(); + int randomPort = SocketUtils.findAvailableTcpPort(); // can be replaced with TestSocketUtils once available: https://github.com/spring-projects/spring-framework/issues/28210 + LOG.info("Create Zeebe in-memory engine for test run on random port: " + randomPort + "..."); + ZeebeTestEngine zeebeEngine = EngineFactory.create(randomPort); zeebeEngine.start(); - LOGGER.info("Started up Zeebe in-memory engine for test runs"); + LOG.info("Started up Zeebe in-memory engine for test runs"); return zeebeEngine; // A zeebeEngine is at the same time also a RecordStreamSource (which is required in tests). } @@ -40,6 +42,8 @@ public ZeebeClientObjectFactory testZeebeClientObjectFactory(ZeebeTestEngine zee return new ZeebeClientObjectFactory() { @Override public ZeebeClient getObject() throws BeansException { + LOG.info("Creating ZeebeClient for ZeebeTestEngine [" + zeebeEngine + "]"); + new Exception().printStackTrace(); return zeebeEngine.createClient(); } }; diff --git a/test/testcontainer/src/main/java/io/camunda/zeebe/spring/test/ZeebeTestClientSpringConfiguration.java b/test/testcontainer/src/main/java/io/camunda/zeebe/spring/test/ZeebeTestClientSpringConfiguration.java index 7babce9bb..424597b1e 100644 --- a/test/testcontainer/src/main/java/io/camunda/zeebe/spring/test/ZeebeTestClientSpringConfiguration.java +++ b/test/testcontainer/src/main/java/io/camunda/zeebe/spring/test/ZeebeTestClientSpringConfiguration.java @@ -5,8 +5,8 @@ import io.camunda.zeebe.process.test.extension.testcontainer.ContainerProperties; import io.camunda.zeebe.process.test.extension.testcontainer.ContainerizedEngine; import io.camunda.zeebe.process.test.extension.testcontainer.EngineContainer; -import io.camunda.zeebe.spring.client.ZeebeClientObjectFactory; -import io.camunda.zeebe.spring.client.config.AbstractZeebeBaseClientSpringConfiguration; +import io.camunda.zeebe.spring.client.factory.ZeebeClientObjectFactory; +import io.camunda.zeebe.spring.client.AbstractZeebeBaseClientSpringConfiguration; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.BeansException;