You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by gn...@apache.org on 2020/07/15 17:11:32 UTC
[camel] 03/14: [CAMEL-11807] Upgrade camel-kudu to junit5
This is an automated email from the ASF dual-hosted git repository.
gnodet pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git
commit 9d0603f952da6b555bcba36e1721b44a5753ccdf
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Mon Jul 13 16:45:12 2020 +0200
[CAMEL-11807] Upgrade camel-kudu to junit5
---
components/camel-kudu/pom.xml | 2 +-
.../camel/component/kudu/AbstractKuduTest.java | 18 ++---
.../kudu/IntegrationKuduConfiguration.java | 82 +++++++++++++++-------
.../kudu/KuduComponentConfigurationTest.java | 21 +++---
.../camel/component/kudu/KuduProducerTest.java | 7 +-
.../apache/camel/component/kudu/KuduScanTest.java | 13 ++--
6 files changed, 89 insertions(+), 54 deletions(-)
diff --git a/components/camel-kudu/pom.xml b/components/camel-kudu/pom.xml
index 25c1aff..cabf9ca 100644
--- a/components/camel-kudu/pom.xml
+++ b/components/camel-kudu/pom.xml
@@ -69,7 +69,7 @@
<!-- TESTING -->
<dependency>
<groupId>org.apache.camel</groupId>
- <artifactId>camel-test</artifactId>
+ <artifactId>camel-test-junit5</artifactId>
<scope>test</scope>
</dependency>
<dependency>
diff --git a/components/camel-kudu/src/test/java/org/apache/camel/component/kudu/AbstractKuduTest.java b/components/camel-kudu/src/test/java/org/apache/camel/component/kudu/AbstractKuduTest.java
index 3347142..3589324 100644
--- a/components/camel-kudu/src/test/java/org/apache/camel/component/kudu/AbstractKuduTest.java
+++ b/components/camel-kudu/src/test/java/org/apache/camel/component/kudu/AbstractKuduTest.java
@@ -20,7 +20,7 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
-import org.apache.camel.test.junit4.CamelTestSupport;
+import org.apache.camel.test.junit5.CamelTestSupport;
import org.apache.kudu.ColumnSchema;
import org.apache.kudu.Schema;
import org.apache.kudu.Type;
@@ -30,20 +30,21 @@ import org.apache.kudu.client.KuduClient;
import org.apache.kudu.client.KuduException;
import org.apache.kudu.client.KuduTable;
import org.apache.kudu.client.PartialRow;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Rule;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.extension.RegisterExtension;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class AbstractKuduTest extends CamelTestSupport {
+
private static final Logger LOG = LoggerFactory.getLogger(AbstractKuduTest.class);
- @Rule
/**
* This is the class that connects our Camel test with the
* Kudu testing framework to spin up a Kudu local endpoint.
*/
+ @RegisterExtension
public IntegrationKuduConfiguration ikc = new IntegrationKuduConfiguration();
private Integer id = 1;
@@ -77,15 +78,16 @@ public class AbstractKuduTest extends CamelTestSupport {
LOG.trace("Table " + tableName + " created.");
}
- @Before
+ @BeforeEach
public void setUp() throws Exception {
super.setUp();
ikc.setupCamelContext(this.context);
}
- @After
- public void tearDown() {
+ @AfterEach
+ public void tearDown() throws Exception {
deleteTestTable("TestTable");
+ super.tearDown();
}
protected void deleteTestTable(String tableName) {
diff --git a/components/camel-kudu/src/test/java/org/apache/camel/component/kudu/IntegrationKuduConfiguration.java b/components/camel-kudu/src/test/java/org/apache/camel/component/kudu/IntegrationKuduConfiguration.java
index dea0414..b378e0d 100644
--- a/components/camel-kudu/src/test/java/org/apache/camel/component/kudu/IntegrationKuduConfiguration.java
+++ b/components/camel-kudu/src/test/java/org/apache/camel/component/kudu/IntegrationKuduConfiguration.java
@@ -18,48 +18,76 @@ package org.apache.camel.component.kudu;
import org.apache.camel.CamelContext;
import org.apache.camel.Endpoint;
+import org.apache.camel.model.ModelCamelContext;
import org.apache.kudu.client.KuduClient;
import org.apache.kudu.test.KuduTestHarness;
-import org.junit.Assert;
+import org.junit.jupiter.api.extension.AfterEachCallback;
+import org.junit.jupiter.api.extension.BeforeEachCallback;
+import org.junit.jupiter.api.extension.ExtensionContext;
+
+import static org.junit.jupiter.api.Assertions.assertNotNull;
/**
* Use this class to run tests agains a local basic Kudu server. This
* local kudu server is spinned up by
* https://kudu.apache.org/docs/developing.html#_using_the_kudu_binary_test_jar
*/
-public class IntegrationKuduConfiguration extends KuduTestHarness {
+public class IntegrationKuduConfiguration implements BeforeEachCallback, AfterEachCallback {
+
+ Internal internal = new Internal();
public IntegrationKuduConfiguration() {
}
- /**
- * Setup the Camel Context and make sure all KuduEndpoints use the
- * special KuduClient that connects to the local server.
- *
- * @param context
- */
- public void setupCamelContext(CamelContext context) {
- KuduClient client = this.getClient();
- Assert.assertNotNull(client);
- Assert.assertNotNull(context);
- for (Endpoint endpoint : context.getEndpoints()) {
- if (endpoint instanceof KuduEndpoint) {
- ((KuduEndpoint) endpoint).setKuduClient(this.getClient());
- }
- }
+ public KuduClient getClient() {
+ return internal.getClient();
+ }
+
+ public void setupCamelContext(ModelCamelContext context) {
+ internal.setupCamelContext(context);
+ }
+
+ @Override
+ public void afterEach(ExtensionContext context) throws Exception {
+ internal.after();
}
- /**
- * Needed because we have to shutdown the local cluster, but as
- * Camel already closed the client, it will always throw an IllegalStateException.
- */
@Override
- public void after() {
- try {
- super.after();
- } catch (java.lang.IllegalStateException e) {
- //Camel already closed the client so an exception will be thrown
- //no need to worry
+ public void beforeEach(ExtensionContext context) throws Exception {
+ internal.before();
+ }
+
+ static class Internal extends KuduTestHarness {
+
+ /**
+ * Setup the Camel Context and make sure all KuduEndpoints use the
+ * special KuduClient that connects to the local server.
+ *
+ * @param context
+ */
+ public void setupCamelContext(CamelContext context) {
+ KuduClient client = this.getClient();
+ assertNotNull(client);
+ assertNotNull(context);
+ for (Endpoint endpoint : context.getEndpoints()) {
+ if (endpoint instanceof KuduEndpoint) {
+ ((KuduEndpoint) endpoint).setKuduClient(this.getClient());
+ }
+ }
+ }
+
+ /**
+ * Needed because we have to shutdown the local cluster, but as
+ * Camel already closed the client, it will always throw an IllegalStateException.
+ */
+ @Override
+ public void after() {
+ try {
+ super.after();
+ } catch (java.lang.IllegalStateException e) {
+ //Camel already closed the client so an exception will be thrown
+ //no need to worry
+ }
}
}
}
diff --git a/components/camel-kudu/src/test/java/org/apache/camel/component/kudu/KuduComponentConfigurationTest.java b/components/camel-kudu/src/test/java/org/apache/camel/component/kudu/KuduComponentConfigurationTest.java
index b9121c0..8bfe6b6 100644
--- a/components/camel-kudu/src/test/java/org/apache/camel/component/kudu/KuduComponentConfigurationTest.java
+++ b/components/camel-kudu/src/test/java/org/apache/camel/component/kudu/KuduComponentConfigurationTest.java
@@ -16,8 +16,11 @@
*/
package org.apache.camel.component.kudu;
-import org.apache.camel.test.junit4.CamelTestSupport;
-import org.junit.Test;
+import org.apache.camel.test.junit5.CamelTestSupport;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertThrows;
public class KuduComponentConfigurationTest extends CamelTestSupport {
@@ -31,17 +34,17 @@ public class KuduComponentConfigurationTest extends CamelTestSupport {
KuduComponent component = new KuduComponent(this.context());
KuduEndpoint endpoint = (KuduEndpoint) component.createEndpoint("kudu:" + host + ":" + port + "/" + tableName + "?operation=" + operation);
- assertEquals("Host was not correctly detected. ", host, endpoint.getHost());
- assertEquals("Port was not correctly detected. ", port, endpoint.getPort());
- assertEquals("Table name was not correctly detected. ", tableName, endpoint.getTableName());
- assertEquals("Operation was not correctly detected. ", operation, endpoint.getOperation());
+ assertEquals(host, endpoint.getHost(), "Host was not correctly detected. ");
+ assertEquals(port, endpoint.getPort(), "Port was not correctly detected. ");
+ assertEquals(tableName, endpoint.getTableName(), "Table name was not correctly detected. ");
+ assertEquals(operation, endpoint.getOperation(), "Operation was not correctly detected. ");
}
- @Test(expected = Exception.class)
+ @Test
public void wrongUrl() throws Exception {
-
KuduComponent component = new KuduComponent(this.context());
- component.createEndpoint("wrong url");
+ assertThrows(Exception.class,
+ () -> component.createEndpoint("wrong url"));
}
}
\ No newline at end of file
diff --git a/components/camel-kudu/src/test/java/org/apache/camel/component/kudu/KuduProducerTest.java b/components/camel-kudu/src/test/java/org/apache/camel/component/kudu/KuduProducerTest.java
index bf33eb3..16c9940 100644
--- a/components/camel-kudu/src/test/java/org/apache/camel/component/kudu/KuduProducerTest.java
+++ b/components/camel-kudu/src/test/java/org/apache/camel/component/kudu/KuduProducerTest.java
@@ -30,8 +30,8 @@ import org.apache.kudu.ColumnSchema;
import org.apache.kudu.Schema;
import org.apache.kudu.Type;
import org.apache.kudu.client.CreateTableOptions;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
public class KuduProducerTest extends AbstractKuduTest {
@@ -65,7 +65,7 @@ public class KuduProducerTest extends AbstractKuduTest {
};
}
- @Before
+ @BeforeEach
public void resetEndpoints() {
errorEndpoint.reset();
successEndpoint.reset();
@@ -74,7 +74,6 @@ public class KuduProducerTest extends AbstractKuduTest {
@Test
public void createTable() throws InterruptedException {
-
errorEndpoint.expectedMessageCount(0);
successEndpoint.expectedMessageCount(1);
diff --git a/components/camel-kudu/src/test/java/org/apache/camel/component/kudu/KuduScanTest.java b/components/camel-kudu/src/test/java/org/apache/camel/component/kudu/KuduScanTest.java
index 299fddc..6bdb27f 100644
--- a/components/camel-kudu/src/test/java/org/apache/camel/component/kudu/KuduScanTest.java
+++ b/components/camel-kudu/src/test/java/org/apache/camel/component/kudu/KuduScanTest.java
@@ -23,8 +23,11 @@ import org.apache.camel.EndpointInject;
import org.apache.camel.Exchange;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.mock.MockEndpoint;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
public class KuduScanTest extends AbstractKuduTest {
@@ -54,7 +57,7 @@ public class KuduScanTest extends AbstractKuduTest {
};
}
- @Before
+ @BeforeEach
public void setup() {
deleteTestTable(TABLE);
createTestTable(TABLE);
@@ -78,7 +81,7 @@ public class KuduScanTest extends AbstractKuduTest {
List<Map<String, Object>> results = exchanges.get(0).getIn().getBody(List.class);
- assertEquals("Wrong number of results.", 2, results.size());
+ assertEquals(2, results.size(), "Wrong number of results.");
Map<String, Object> row = results.get(0);
@@ -120,7 +123,7 @@ public class KuduScanTest extends AbstractKuduTest {
List<Map<String, Object>> results = (List<Map<String, Object>>) successEndpoint.getReceivedExchanges()
.get(0).getIn().getBody(List.class);
- assertEquals("Wrong number of results.", results.size(), 1);
+ assertEquals(results.size(), 1, "Wrong number of results.");
Map<String, Object> row = results.get(0);