You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2020/03/07 23:09:29 UTC

[camel-kafka-connector] branch master updated: Ensure that local containers used during tests are properly shutdown after the test is completed

This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-kafka-connector.git


The following commit(s) were added to refs/heads/master by this push:
     new fa0d98a  Ensure that local containers used during tests are properly shutdown after the test is completed
     new 3d213d6  Merge pull request #101 from orpiske/fix-tests-on-mac
fa0d98a is described below

commit fa0d98a774d771c5c8e255e60902b01fe57ccf09
Author: Otavio R. Piske <an...@gmail.com>
AuthorDate: Sat Mar 7 22:12:00 2020 +0100

    Ensure that local containers used during tests are properly shutdown after the test is completed
---
 .../services/cassandra/CassandraLocalContainerService.java  |  6 ++++++
 .../kafkaconnector/services/cassandra/CassandraService.java | 12 +++++++++++-
 .../services/cassandra/RemoteCassandraService.java          |  5 +++++
 .../elasticsearch/ElasticSearchLocalContainerService.java   |  6 ++++++
 .../services/elasticsearch/ElasticSearchService.java        | 12 +++++++++++-
 .../services/elasticsearch/RemoteElasticSearchService.java  |  5 +++++
 .../kafkaconnector/services/jms/ContainerLocalService.java  |  6 ++++++
 .../camel/kafkaconnector/services/jms/JMSService.java       | 13 ++++++++++++-
 .../camel/kafkaconnector/services/jms/RemoteJMSService.java |  5 +++++
 .../sink/cassandra/CamelSinkCassandraITCase.java            |  7 +++----
 .../sink/elasticsearch/CamelSinkElasticSearchITCase.java    |  6 +++---
 .../camel/kafkaconnector/sink/jms/CamelSinkJMSITCase.java   |  6 +++---
 .../kafkaconnector/source/jms/CamelSourceJMSITCase.java     |  7 ++++---
 13 files changed, 80 insertions(+), 16 deletions(-)

diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/services/cassandra/CassandraLocalContainerService.java b/tests/src/test/java/org/apache/camel/kafkaconnector/services/cassandra/CassandraLocalContainerService.java
index d1c36b3..81420bf 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/services/cassandra/CassandraLocalContainerService.java
+++ b/tests/src/test/java/org/apache/camel/kafkaconnector/services/cassandra/CassandraLocalContainerService.java
@@ -57,4 +57,10 @@ public class CassandraLocalContainerService implements CassandraService {
     public void initialize() {
         LOG.info("Cassandra server running at address {}", getCQL3Endpoint());
     }
+
+    @Override
+    public void shutdown() {
+        LOG.info("Stopping the Cassandra container");
+        container.stop();
+    }
 }
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/services/cassandra/CassandraService.java b/tests/src/test/java/org/apache/camel/kafkaconnector/services/cassandra/CassandraService.java
index 042e484..883284d 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/services/cassandra/CassandraService.java
+++ b/tests/src/test/java/org/apache/camel/kafkaconnector/services/cassandra/CassandraService.java
@@ -18,13 +18,14 @@
 package org.apache.camel.kafkaconnector.services.cassandra;
 
 import org.apache.camel.kafkaconnector.clients.cassandra.CassandraClient;
+import org.junit.jupiter.api.extension.AfterAllCallback;
 import org.junit.jupiter.api.extension.BeforeAllCallback;
 import org.junit.jupiter.api.extension.ExtensionContext;
 
 /**
  * Represents an endpoint to a Cassandra instnace
  */
-public interface CassandraService extends BeforeAllCallback {
+public interface CassandraService extends BeforeAllCallback, AfterAllCallback {
 
     int getCQL3Port();
 
@@ -39,6 +40,10 @@ public interface CassandraService extends BeforeAllCallback {
      */
     void initialize();
 
+    /**
+     * Shuts down the service after the test has completed
+     */
+    void shutdown();
 
     CassandraClient getClient();
 
@@ -47,4 +52,9 @@ public interface CassandraService extends BeforeAllCallback {
     default void beforeAll(ExtensionContext extensionContext) throws Exception {
         initialize();
     }
+
+    @Override
+    default void afterAll(ExtensionContext extensionContext) throws Exception {
+        shutdown();
+    }
 }
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/services/cassandra/RemoteCassandraService.java b/tests/src/test/java/org/apache/camel/kafkaconnector/services/cassandra/RemoteCassandraService.java
index 0955c68..fec8076 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/services/cassandra/RemoteCassandraService.java
+++ b/tests/src/test/java/org/apache/camel/kafkaconnector/services/cassandra/RemoteCassandraService.java
@@ -52,4 +52,9 @@ public class RemoteCassandraService implements CassandraService {
     public void initialize() {
         // NO-OP
     }
+
+    @Override
+    public void shutdown() {
+        // NO-OP
+    }
 }
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/services/elasticsearch/ElasticSearchLocalContainerService.java b/tests/src/test/java/org/apache/camel/kafkaconnector/services/elasticsearch/ElasticSearchLocalContainerService.java
index 00a6b30..96015cc 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/services/elasticsearch/ElasticSearchLocalContainerService.java
+++ b/tests/src/test/java/org/apache/camel/kafkaconnector/services/elasticsearch/ElasticSearchLocalContainerService.java
@@ -53,6 +53,12 @@ public class ElasticSearchLocalContainerService implements ElasticSearchService
     }
 
     @Override
+    public void shutdown() {
+        LOG.info("Stopping the ElasticSearch container");
+        container.stop();
+    }
+
+    @Override
     public ElasticSearchClient getClient() {
         return new ElasticSearchClient("localhost", container.getMappedPort(ELASTIC_SEARCH_PORT),
                 TestCommon.DEFAULT_ELASTICSEARCH_INDEX);
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/services/elasticsearch/ElasticSearchService.java b/tests/src/test/java/org/apache/camel/kafkaconnector/services/elasticsearch/ElasticSearchService.java
index 6ce24b5..4a3373b 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/services/elasticsearch/ElasticSearchService.java
+++ b/tests/src/test/java/org/apache/camel/kafkaconnector/services/elasticsearch/ElasticSearchService.java
@@ -18,10 +18,11 @@
 package org.apache.camel.kafkaconnector.services.elasticsearch;
 
 import org.apache.camel.kafkaconnector.clients.elasticsearch.ElasticSearchClient;
+import org.junit.jupiter.api.extension.AfterAllCallback;
 import org.junit.jupiter.api.extension.BeforeAllCallback;
 import org.junit.jupiter.api.extension.ExtensionContext;
 
-public interface ElasticSearchService extends BeforeAllCallback {
+public interface ElasticSearchService extends BeforeAllCallback, AfterAllCallback {
 
     String getHttpHostAddress();
 
@@ -30,6 +31,10 @@ public interface ElasticSearchService extends BeforeAllCallback {
      */
     void initialize();
 
+    /**
+     * Shuts down the service after the test has completed
+     */
+    void shutdown();
 
     ElasticSearchClient getClient();
 
@@ -37,4 +42,9 @@ public interface ElasticSearchService extends BeforeAllCallback {
     default void beforeAll(ExtensionContext extensionContext) throws Exception {
         initialize();
     }
+
+    @Override
+    default void afterAll(ExtensionContext extensionContext) throws Exception {
+        shutdown();
+    }
 }
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/services/elasticsearch/RemoteElasticSearchService.java b/tests/src/test/java/org/apache/camel/kafkaconnector/services/elasticsearch/RemoteElasticSearchService.java
index 666ad8d..b087dc1 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/services/elasticsearch/RemoteElasticSearchService.java
+++ b/tests/src/test/java/org/apache/camel/kafkaconnector/services/elasticsearch/RemoteElasticSearchService.java
@@ -48,6 +48,11 @@ public class RemoteElasticSearchService implements ElasticSearchService {
     }
 
     @Override
+    public void shutdown() {
+        // NO-OP
+    }
+
+    @Override
     public ElasticSearchClient getClient() {
         return new ElasticSearchClient(getHost(), getPort(), TestCommon.DEFAULT_ELASTICSEARCH_INDEX);
     }
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/services/jms/ContainerLocalService.java b/tests/src/test/java/org/apache/camel/kafkaconnector/services/jms/ContainerLocalService.java
index 93e81c8..4de77f1 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/services/jms/ContainerLocalService.java
+++ b/tests/src/test/java/org/apache/camel/kafkaconnector/services/jms/ContainerLocalService.java
@@ -57,4 +57,10 @@ public class ContainerLocalService implements JMSService {
     public void initialize() {
         LOG.info("JMS broker running at address {}", container.getDefaultEndpoint());
     }
+
+    @Override
+    public void shutdown() {
+        LOG.info("Stopping JMS broker container");
+        container.stop();
+    }
 }
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/services/jms/JMSService.java b/tests/src/test/java/org/apache/camel/kafkaconnector/services/jms/JMSService.java
index 99a5abd..1669013 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/services/jms/JMSService.java
+++ b/tests/src/test/java/org/apache/camel/kafkaconnector/services/jms/JMSService.java
@@ -20,10 +20,11 @@ package org.apache.camel.kafkaconnector.services.jms;
 import java.util.Properties;
 
 import org.apache.camel.kafkaconnector.clients.jms.JMSClient;
+import org.junit.jupiter.api.extension.AfterAllCallback;
 import org.junit.jupiter.api.extension.BeforeAllCallback;
 import org.junit.jupiter.api.extension.ExtensionContext;
 
-public interface JMSService extends BeforeAllCallback {
+public interface JMSService extends BeforeAllCallback, AfterAllCallback {
 
     /**
      * Gets the connection properties for accessing the service
@@ -48,9 +49,19 @@ public interface JMSService extends BeforeAllCallback {
      */
     void initialize();
 
+    /**
+     * Shuts down the service after the test has completed
+     */
+    void shutdown();
+
 
     @Override
     default void beforeAll(ExtensionContext extensionContext) throws Exception {
         initialize();
     }
+
+    @Override
+    default void afterAll(ExtensionContext extensionContext) throws Exception {
+        shutdown();
+    }
 }
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/services/jms/RemoteJMSService.java b/tests/src/test/java/org/apache/camel/kafkaconnector/services/jms/RemoteJMSService.java
index c0f88f0..a368d6d 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/services/jms/RemoteJMSService.java
+++ b/tests/src/test/java/org/apache/camel/kafkaconnector/services/jms/RemoteJMSService.java
@@ -31,6 +31,11 @@ public class RemoteJMSService implements JMSService {
     }
 
     @Override
+    public void shutdown() {
+        // NO-OP
+    }
+
+    @Override
     public Properties getConnectionProperties() {
         return PropertyUtils.getProperties();
     }
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/sink/cassandra/CamelSinkCassandraITCase.java b/tests/src/test/java/org/apache/camel/kafkaconnector/sink/cassandra/CamelSinkCassandraITCase.java
index 335adf8..2478783 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/sink/cassandra/CamelSinkCassandraITCase.java
+++ b/tests/src/test/java/org/apache/camel/kafkaconnector/sink/cassandra/CamelSinkCassandraITCase.java
@@ -43,15 +43,14 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 
 @Testcontainers
 public class CamelSinkCassandraITCase extends AbstractKafkaTest {
-    private static final Logger LOG = LoggerFactory.getLogger(CamelSinkCassandraITCase.class);
-
     @RegisterExtension
-    public CassandraService cassandraService = CassandraServiceFactory.createService();
+    public static CassandraService cassandraService = CassandraServiceFactory.createService();
+
+    private static final Logger LOG = LoggerFactory.getLogger(CamelSinkCassandraITCase.class);
 
     private CassandraClient cassandraClient;
     private TestDataDao testDataDao;
 
-
     private final int expect = 10;
     private int received;
 
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/sink/elasticsearch/CamelSinkElasticSearchITCase.java b/tests/src/test/java/org/apache/camel/kafkaconnector/sink/elasticsearch/CamelSinkElasticSearchITCase.java
index 5a34643..4b3759b 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/sink/elasticsearch/CamelSinkElasticSearchITCase.java
+++ b/tests/src/test/java/org/apache/camel/kafkaconnector/sink/elasticsearch/CamelSinkElasticSearchITCase.java
@@ -47,10 +47,10 @@ import static org.junit.jupiter.api.Assertions.fail;
 
 @Testcontainers
 public class CamelSinkElasticSearchITCase extends AbstractKafkaTest {
-    private static final Logger LOG = LoggerFactory.getLogger(CamelElasticSearchPropertyFactory.class);
-
     @RegisterExtension
-    public ElasticSearchService elasticSearch = ElasticSearchServiceFactory.createService();
+    public static ElasticSearchService elasticSearch = ElasticSearchServiceFactory.createService();
+
+    private static final Logger LOG = LoggerFactory.getLogger(CamelElasticSearchPropertyFactory.class);
 
     private ElasticSearchClient client;
 
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/sink/jms/CamelSinkJMSITCase.java b/tests/src/test/java/org/apache/camel/kafkaconnector/sink/jms/CamelSinkJMSITCase.java
index f14c801..15e8ae4 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/sink/jms/CamelSinkJMSITCase.java
+++ b/tests/src/test/java/org/apache/camel/kafkaconnector/sink/jms/CamelSinkJMSITCase.java
@@ -51,10 +51,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
  */
 @Testcontainers
 public class CamelSinkJMSITCase extends AbstractKafkaTest {
-    private static final Logger LOG = LoggerFactory.getLogger(CamelSinkJMSITCase.class);
-
     @RegisterExtension
-    public JMSService jmsService = JMSServiceFactory.createService();
+    public static JMSService jmsService = JMSServiceFactory.createService();
+
+    private static final Logger LOG = LoggerFactory.getLogger(CamelSinkJMSITCase.class);
 
     private int received;
     private final int expect = 10;
diff --git a/tests/src/test/java/org/apache/camel/kafkaconnector/source/jms/CamelSourceJMSITCase.java b/tests/src/test/java/org/apache/camel/kafkaconnector/source/jms/CamelSourceJMSITCase.java
index 91e4f39..f66d50f 100644
--- a/tests/src/test/java/org/apache/camel/kafkaconnector/source/jms/CamelSourceJMSITCase.java
+++ b/tests/src/test/java/org/apache/camel/kafkaconnector/source/jms/CamelSourceJMSITCase.java
@@ -29,6 +29,7 @@ import org.apache.camel.kafkaconnector.clients.kafka.KafkaClient;
 import org.apache.camel.kafkaconnector.services.jms.JMSService;
 import org.apache.camel.kafkaconnector.services.jms.JMSServiceFactory;
 import org.apache.kafka.clients.consumer.ConsumerRecord;
+import org.junit.jupiter.api.AfterAll;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.Timeout;
 import org.junit.jupiter.api.extension.RegisterExtension;
@@ -46,10 +47,10 @@ import static org.junit.jupiter.api.Assertions.fail;
  */
 @Testcontainers
 public class CamelSourceJMSITCase extends AbstractKafkaTest {
-    private static final Logger LOG = LoggerFactory.getLogger(CamelSourceJMSITCase.class);
-
     @RegisterExtension
-    public JMSService jmsService = JMSServiceFactory.createService();
+    public static JMSService jmsService = JMSServiceFactory.createService();
+
+    private static final Logger LOG = LoggerFactory.getLogger(CamelSourceJMSITCase.class);
 
     private int received;
     private final int expect = 10;