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);