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 <[email protected]> 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);
