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;