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 <angusyo...@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;