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/24 20:52:45 UTC
[camel] 03/27: [CAMEL-11807] Upgrade camel-solr 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 1f9a74c94e77f412caaee201bc98e9eeab95e5c9
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Wed Jul 22 23:04:37 2020 +0200
[CAMEL-11807] Upgrade camel-solr to junit5
---
components/camel-solr/pom.xml | 2 +-
.../camel/component/solr/InitSolrEndpointTest.java | 19 +++++---
.../camel/component/solr/SolrAddBeanTest.java | 10 ++--
.../camel/component/solr/SolrAddBeansTest.java | 14 +++---
.../component/solr/SolrComponentTestSupport.java | 40 +++++++++-------
.../camel/component/solr/SolrDeleteTest.java | 20 ++++----
.../component/solr/SolrServerMissingTest.java | 4 +-
.../camel/component/solr/SolrTestSupport.java | 6 +--
.../camel/component/solr/SolrTransactionsTest.java | 54 ++++++++++------------
.../camel/component/solr/SolrUpdateTest.java | 18 ++++----
.../test/junit5/params/ParameterizedExtension.java | 30 +++++++++---
11 files changed, 118 insertions(+), 99 deletions(-)
diff --git a/components/camel-solr/pom.xml b/components/camel-solr/pom.xml
index 98cf612..44bf914 100644
--- a/components/camel-solr/pom.xml
+++ b/components/camel-solr/pom.xml
@@ -71,7 +71,7 @@
<!-- test dependencies -->
<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-solr/src/test/java/org/apache/camel/component/solr/InitSolrEndpointTest.java b/components/camel-solr/src/test/java/org/apache/camel/component/solr/InitSolrEndpointTest.java
index d7d01dc..d282592 100644
--- a/components/camel-solr/src/test/java/org/apache/camel/component/solr/InitSolrEndpointTest.java
+++ b/components/camel-solr/src/test/java/org/apache/camel/component/solr/InitSolrEndpointTest.java
@@ -17,7 +17,11 @@
package org.apache.camel.component.solr;
import org.apache.camel.ResolveEndpointFailedException;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertThrows;
public class InitSolrEndpointTest extends SolrTestSupport {
@@ -26,8 +30,8 @@ public class InitSolrEndpointTest extends SolrTestSupport {
@Test
public void endpointCreatedCorrectlyWithAllOptions() throws Exception {
SolrEndpoint solrEndpoint = context.getEndpoint(solrUrl + getFullOptions(), SolrEndpoint.class);
- assertEquals("queue size incorrect", 5, solrEndpoint.getStreamingQueueSize());
- assertEquals("thread count incorrect", 1, solrEndpoint.getStreamingThreadCount());
+ assertEquals(5, solrEndpoint.getStreamingQueueSize(), "queue size incorrect");
+ assertEquals(1, solrEndpoint.getStreamingThreadCount(), "thread count incorrect");
assertNotNull(solrEndpoint);
}
@@ -35,13 +39,14 @@ public class InitSolrEndpointTest extends SolrTestSupport {
public void streamingEndpointCreatedCorrectly() throws Exception {
SolrEndpoint solrEndpoint = context.getEndpoint(solrUrl, SolrEndpoint.class);
assertNotNull(solrEndpoint);
- assertEquals("queue size incorrect", SolrConstants.DEFUALT_STREAMING_QUEUE_SIZE, solrEndpoint.getStreamingQueueSize());
- assertEquals("thread count incorrect", SolrConstants.DEFAULT_STREAMING_THREAD_COUNT, solrEndpoint.getStreamingThreadCount());
+ assertEquals(SolrConstants.DEFUALT_STREAMING_QUEUE_SIZE, solrEndpoint.getStreamingQueueSize(), "queue size incorrect");
+ assertEquals(SolrConstants.DEFAULT_STREAMING_THREAD_COUNT, solrEndpoint.getStreamingThreadCount(), "thread count incorrect");
}
- @Test(expected = ResolveEndpointFailedException.class)
+ @Test
public void wrongURLFormatFailsEndpointCreation() throws Exception {
- context.getEndpoint("solr://localhost:x99/solr");
+ assertThrows(ResolveEndpointFailedException.class,
+ () -> context.getEndpoint("solr://localhost:x99/solr"));
}
private String getFullOptions() {
diff --git a/components/camel-solr/src/test/java/org/apache/camel/component/solr/SolrAddBeanTest.java b/components/camel-solr/src/test/java/org/apache/camel/component/solr/SolrAddBeanTest.java
index bd4a493..1db45f0 100644
--- a/components/camel-solr/src/test/java/org/apache/camel/component/solr/SolrAddBeanTest.java
+++ b/components/camel-solr/src/test/java/org/apache/camel/component/solr/SolrAddBeanTest.java
@@ -16,14 +16,12 @@
*/
package org.apache.camel.component.solr;
+import org.apache.camel.test.junit5.params.Test;
import org.apache.solr.client.solrj.beans.Field;
-import org.junit.Test;
-public class SolrAddBeanTest extends SolrComponentTestSupport {
+import static org.junit.jupiter.api.Assertions.assertEquals;
- public SolrAddBeanTest(SolrFixtures.TestServerType serverToTest) {
- super(serverToTest);
- }
+public class SolrAddBeanTest extends SolrComponentTestSupport {
@Test
public void testAddBean() throws Exception {
@@ -37,7 +35,7 @@ public class SolrAddBeanTest extends SolrComponentTestSupport {
template.sendBodyAndHeader("direct:start", null, SolrConstants.OPERATION, SolrConstants.OPERATION_COMMIT);
//verify
- assertEquals("wrong number of entries found", 1, executeSolrQuery("id:" + TEST_ID).getResults().getNumFound());
+ assertEquals(1, executeSolrQuery("id:" + TEST_ID).getResults().getNumFound(), "wrong number of entries found");
}
public class Item {
diff --git a/components/camel-solr/src/test/java/org/apache/camel/component/solr/SolrAddBeansTest.java b/components/camel-solr/src/test/java/org/apache/camel/component/solr/SolrAddBeansTest.java
index 4a6cd1f..8b532da 100644
--- a/components/camel-solr/src/test/java/org/apache/camel/component/solr/SolrAddBeansTest.java
+++ b/components/camel-solr/src/test/java/org/apache/camel/component/solr/SolrAddBeansTest.java
@@ -19,14 +19,12 @@ package org.apache.camel.component.solr;
import java.util.ArrayList;
import java.util.List;
+import org.apache.camel.test.junit5.params.Test;
import org.apache.solr.client.solrj.beans.Field;
-import org.junit.Test;
-public class SolrAddBeansTest extends SolrComponentTestSupport {
+import static org.junit.jupiter.api.Assertions.assertEquals;
- public SolrAddBeansTest(SolrFixtures.TestServerType serverToTest) {
- super(serverToTest);
- }
+public class SolrAddBeansTest extends SolrComponentTestSupport {
@Test
public void testAddBeans() throws Exception {
@@ -49,9 +47,9 @@ public class SolrAddBeansTest extends SolrComponentTestSupport {
template.sendBodyAndHeader("direct:start", null, SolrConstants.OPERATION, SolrConstants.OPERATION_COMMIT);
//verify
- assertEquals("wrong number of entries found", 1, executeSolrQuery("id:" + TEST_ID).getResults().getNumFound());
- assertEquals("wrong number of entries found", 1, executeSolrQuery("id:" + TEST_ID2).getResults().getNumFound());
- assertEquals("wrong number of entries found", 2, executeSolrQuery("*:*").getResults().getNumFound());
+ assertEquals(1, executeSolrQuery("id:" + TEST_ID).getResults().getNumFound(), "wrong number of entries found");
+ assertEquals(1, executeSolrQuery("id:" + TEST_ID2).getResults().getNumFound(), "wrong number of entries found");
+ assertEquals(2, executeSolrQuery("*:*").getResults().getNumFound(), "wrong number of entries found");
}
public class Item {
diff --git a/components/camel-solr/src/test/java/org/apache/camel/component/solr/SolrComponentTestSupport.java b/components/camel-solr/src/test/java/org/apache/camel/component/solr/SolrComponentTestSupport.java
index 7bde762..cd0bab3 100644
--- a/components/camel-solr/src/test/java/org/apache/camel/component/solr/SolrComponentTestSupport.java
+++ b/components/camel-solr/src/test/java/org/apache/camel/component/solr/SolrComponentTestSupport.java
@@ -23,28 +23,27 @@ import java.util.HashMap;
import java.util.Map;
import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.test.junit5.params.Parameter;
+import org.apache.camel.test.junit5.params.Parameterized;
+import org.apache.camel.test.junit5.params.Parameters;
import org.apache.solr.client.solrj.SolrClient;
import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.request.QueryRequest;
import org.apache.solr.client.solrj.response.QueryResponse;
-import org.junit.AfterClass;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-
-@RunWith(Parameterized.class)
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.BeforeEach;
+
+@Parameterized
public abstract class SolrComponentTestSupport extends SolrTestSupport {
protected static final String TEST_ID = "test1";
protected static final String TEST_ID2 = "test2";
- private SolrFixtures solrFixtures;
+ @Parameter
+ SolrFixtures.TestServerType serverToTest;
- public SolrComponentTestSupport(SolrFixtures.TestServerType serverToTest) {
- this.solrFixtures = new SolrFixtures(serverToTest);
- }
+ SolrFixtures solrFixtures;
protected void solrInsertTestEntry() {
solrInsertTestEntry(TEST_ID);
@@ -54,8 +53,15 @@ public abstract class SolrComponentTestSupport extends SolrTestSupport {
return Arrays.asList(new Object[][] {{true}, {false}});
}
+ SolrFixtures getSolrFixtures() {
+ if (solrFixtures == null) {
+ solrFixtures = new SolrFixtures(serverToTest);
+ }
+ return solrFixtures;
+ }
+
String solrRouteUri() {
- return solrFixtures.solrRouteUri();
+ return getSolrFixtures().solrRouteUri();
}
protected void solrInsertTestEntry(String id) {
@@ -74,16 +80,16 @@ public abstract class SolrComponentTestSupport extends SolrTestSupport {
solrQuery.setQuery(query);
QueryRequest queryRequest = new QueryRequest(solrQuery);
queryRequest.setBasicAuthCredentials("solr", "SolrRocks");
- SolrClient solrServer = solrFixtures.getServer();
+ SolrClient solrServer = getSolrFixtures().getServer();
return queryRequest.process(solrServer, "collection1");
}
- @BeforeClass
+ @BeforeAll
public static void beforeClass() throws Exception {
SolrFixtures.createSolrFixtures();
}
- @AfterClass
+ @AfterAll
public static void afterClass() throws Exception {
SolrFixtures.teardownSolrFixtures();
}
@@ -112,7 +118,7 @@ public abstract class SolrComponentTestSupport extends SolrTestSupport {
return Arrays.asList(serverTypes);
}
- @Before
+ @BeforeEach
public void clearIndex() throws Exception {
SolrFixtures.clearIndex();
}
diff --git a/components/camel-solr/src/test/java/org/apache/camel/component/solr/SolrDeleteTest.java b/components/camel-solr/src/test/java/org/apache/camel/component/solr/SolrDeleteTest.java
index 74afa11..22d1f3a 100644
--- a/components/camel-solr/src/test/java/org/apache/camel/component/solr/SolrDeleteTest.java
+++ b/components/camel-solr/src/test/java/org/apache/camel/component/solr/SolrDeleteTest.java
@@ -18,13 +18,11 @@ package org.apache.camel.component.solr;
import java.util.Arrays;
-import org.junit.Test;
+import org.apache.camel.test.junit5.params.Test;
-public class SolrDeleteTest extends SolrComponentTestSupport {
+import static org.junit.jupiter.api.Assertions.assertEquals;
- public SolrDeleteTest(SolrFixtures.TestServerType serverToTest) {
- super(serverToTest);
- }
+public class SolrDeleteTest extends SolrComponentTestSupport {
@Test
public void testDeleteById() throws Exception {
@@ -32,14 +30,14 @@ public class SolrDeleteTest extends SolrComponentTestSupport {
//insert, commit and verify
solrInsertTestEntry();
solrCommit();
- assertEquals("wrong number of entries found", 1, executeSolrQuery("id:" + TEST_ID).getResults().getNumFound());
+ assertEquals(1, executeSolrQuery("id:" + TEST_ID).getResults().getNumFound(), "wrong number of entries found");
//delete
template.sendBodyAndHeader("direct:start", TEST_ID, SolrConstants.OPERATION, SolrConstants.OPERATION_DELETE_BY_ID);
solrCommit();
//verify
- assertEquals("wrong number of entries found", 0, executeSolrQuery("id:" + TEST_ID).getResults().getNumFound());
+ assertEquals(0, executeSolrQuery("id:" + TEST_ID).getResults().getNumFound(), "wrong number of entries found");
}
@Test
@@ -49,13 +47,13 @@ public class SolrDeleteTest extends SolrComponentTestSupport {
solrInsertTestEntry(TEST_ID);
solrInsertTestEntry(TEST_ID2);
solrCommit();
- assertEquals("wrong number of entries found", 2, executeSolrQuery("id:test*").getResults().getNumFound());
+ assertEquals(2, executeSolrQuery("id:test*").getResults().getNumFound(), "wrong number of entries found");
//delete
template.sendBodyAndHeader("direct:splitThenCommit", Arrays.asList(TEST_ID, TEST_ID2), SolrConstants.OPERATION, SolrConstants.OPERATION_DELETE_BY_ID);
//verify
- assertEquals("wrong number of entries found", 0, executeSolrQuery("id:test*").getResults().getNumFound());
+ assertEquals(0, executeSolrQuery("id:test*").getResults().getNumFound(), "wrong number of entries found");
}
@Test
@@ -65,13 +63,13 @@ public class SolrDeleteTest extends SolrComponentTestSupport {
solrInsertTestEntry(TEST_ID);
solrInsertTestEntry(TEST_ID2);
solrCommit();
- assertEquals("wrong number of entries found", 2, executeSolrQuery("id:test*").getResults().getNumFound());
+ assertEquals(2, executeSolrQuery("id:test*").getResults().getNumFound(), "wrong number of entries found");
//delete
template.sendBodyAndHeader("direct:start", "id:test*", SolrConstants.OPERATION, SolrConstants.OPERATION_DELETE_BY_QUERY);
solrCommit();
//verify
- assertEquals("wrong number of entries found", 0, executeSolrQuery("id:test*").getResults().getNumFound());
+ assertEquals(0, executeSolrQuery("id:test*").getResults().getNumFound(), "wrong number of entries found");
}
}
diff --git a/components/camel-solr/src/test/java/org/apache/camel/component/solr/SolrServerMissingTest.java b/components/camel-solr/src/test/java/org/apache/camel/component/solr/SolrServerMissingTest.java
index 84514f0..95c593d 100644
--- a/components/camel-solr/src/test/java/org/apache/camel/component/solr/SolrServerMissingTest.java
+++ b/components/camel-solr/src/test/java/org/apache/camel/component/solr/SolrServerMissingTest.java
@@ -18,7 +18,9 @@ package org.apache.camel.component.solr;
import org.apache.camel.Exchange;
import org.apache.camel.builder.RouteBuilder;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.assertTrue;
public class SolrServerMissingTest extends SolrTestSupport {
diff --git a/components/camel-solr/src/test/java/org/apache/camel/component/solr/SolrTestSupport.java b/components/camel-solr/src/test/java/org/apache/camel/component/solr/SolrTestSupport.java
index a11e271..60f310b 100644
--- a/components/camel-solr/src/test/java/org/apache/camel/component/solr/SolrTestSupport.java
+++ b/components/camel-solr/src/test/java/org/apache/camel/component/solr/SolrTestSupport.java
@@ -17,15 +17,15 @@
package org.apache.camel.component.solr;
import org.apache.camel.test.AvailablePortFinder;
-import org.apache.camel.test.junit4.CamelTestSupport;
-import org.junit.BeforeClass;
+import org.apache.camel.test.junit5.CamelTestSupport;
+import org.junit.jupiter.api.BeforeAll;
public abstract class SolrTestSupport extends CamelTestSupport {
private static int port;
private static int httpsPort;
- @BeforeClass
+ @BeforeAll
public static void initPort() throws Exception {
port = AvailablePortFinder.getNextAvailable();
httpsPort = AvailablePortFinder.getNextAvailable();
diff --git a/components/camel-solr/src/test/java/org/apache/camel/component/solr/SolrTransactionsTest.java b/components/camel-solr/src/test/java/org/apache/camel/component/solr/SolrTransactionsTest.java
index de3e5b4..4a0997f 100644
--- a/components/camel-solr/src/test/java/org/apache/camel/component/solr/SolrTransactionsTest.java
+++ b/components/camel-solr/src/test/java/org/apache/camel/component/solr/SolrTransactionsTest.java
@@ -17,40 +17,28 @@
package org.apache.camel.component.solr;
import org.apache.camel.CamelExecutionException;
+import org.apache.camel.test.junit5.params.Test;
import org.apache.solr.client.solrj.impl.HttpSolrClient;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.ExpectedException;
-import static org.hamcrest.CoreMatchers.allOf;
-import static org.hamcrest.CoreMatchers.containsString;
-import static org.hamcrest.CoreMatchers.isA;
-import static org.junit.internal.matchers.ThrowableMessageMatcher.hasMessage;
+import static org.apache.camel.test.junit5.TestSupport.assertIsInstanceOf;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
public class SolrTransactionsTest extends SolrComponentTestSupport {
- @Rule
- public ExpectedException thrown = ExpectedException.none();
-
- private SolrFixtures.TestServerType solrServerType;
-
- public SolrTransactionsTest(SolrFixtures.TestServerType solrServerType) {
- super(solrServerType);
- this.solrServerType = solrServerType;
- }
-
@Test
public void testCommit() throws Exception {
//insert and verify
solrInsertTestEntry();
- assertEquals("wrong number of entries found", 0, executeSolrQuery("id:" + TEST_ID).getResults().getNumFound());
+ assertEquals(0, executeSolrQuery("id:" + TEST_ID).getResults().getNumFound(), "wrong number of entries found");
//commit
template.sendBodyAndHeader("direct:start", null, SolrConstants.OPERATION, SolrConstants.OPERATION_COMMIT);
//verify exists after commit
- assertEquals("wrong number of entries found", 1, executeSolrQuery("id:" + TEST_ID).getResults().getNumFound());
+ assertEquals(1, executeSolrQuery("id:" + TEST_ID).getResults().getNumFound(), "wrong number of entries found");
}
@Test
@@ -58,41 +46,47 @@ public class SolrTransactionsTest extends SolrComponentTestSupport {
//insert and verify
solrInsertTestEntry();
- assertEquals("wrong number of entries found", 0, executeSolrQuery("id:" + TEST_ID).getResults().getNumFound());
+ assertEquals(0, executeSolrQuery("id:" + TEST_ID).getResults().getNumFound(), "wrong number of entries found");
//commit
template.sendBodyAndHeader("direct:start", null, SolrConstants.OPERATION, SolrConstants.OPERATION_SOFT_COMMIT);
//verify exists after commit
- assertEquals("wrong number of entries found", 1, executeSolrQuery("id:" + TEST_ID).getResults().getNumFound());
+ assertEquals(1, executeSolrQuery("id:" + TEST_ID).getResults().getNumFound(), "wrong number of entries found");
}
@Test
public void testRollback() throws Exception {
- if (SolrFixtures.TestServerType.USE_CLOUD == this.solrServerType) {
+ if (SolrFixtures.TestServerType.USE_CLOUD == getSolrFixtures().serverType) {
// Twisting expectations in this case as rollback is currently no
// more supported in SolrCloud mode. See SOLR-4895
- thrown.expect(CamelExecutionException.class);
- final String expectedMessagePart = "Rollback is currently not supported in SolrCloud mode. (SOLR-4895)";
- thrown.expectCause(allOf(isA(HttpSolrClient.RemoteSolrException.class), hasMessage(containsString(expectedMessagePart))));
+ Exception e = assertThrows(CamelExecutionException.class,
+ () -> doRollback());
+ assertIsInstanceOf(HttpSolrClient.RemoteSolrException.class, e.getCause());
+ assertTrue(e.getCause().getMessage().contains("Rollback is currently not supported in SolrCloud mode. (SOLR-4895)"));
+ } else {
+ doRollback();
}
+ }
+
+ protected void doRollback() throws Exception {
//insert and verify
solrInsertTestEntry();
- assertEquals("wrong number of entries found", 0, executeSolrQuery("id:" + TEST_ID).getResults().getNumFound());
+ assertEquals(0, executeSolrQuery("id:" + TEST_ID).getResults().getNumFound(), "wrong number of entries found");
//rollback
template.sendBodyAndHeader("direct:start", null, SolrConstants.OPERATION, SolrConstants.OPERATION_ROLLBACK);
//verify after rollback
- assertEquals("wrong number of entries found", 0, executeSolrQuery("id:" + TEST_ID).getResults().getNumFound());
+ assertEquals(0, executeSolrQuery("id:" + TEST_ID).getResults().getNumFound(), "wrong number of entries found");
//commit
template.sendBodyAndHeader("direct:start", null, SolrConstants.OPERATION, SolrConstants.OPERATION_COMMIT);
//verify after commit (again)
- assertEquals("wrong number of entries found", 0, executeSolrQuery("id:" + TEST_ID).getResults().getNumFound());
+ assertEquals(0, executeSolrQuery("id:" + TEST_ID).getResults().getNumFound(), "wrong number of entries found");
}
@Test
@@ -100,13 +94,13 @@ public class SolrTransactionsTest extends SolrComponentTestSupport {
//insert and verify
solrInsertTestEntry();
- assertEquals("wrong number of entries found", 0, executeSolrQuery("id:" + TEST_ID).getResults().getNumFound());
+ assertEquals(0, executeSolrQuery("id:" + TEST_ID).getResults().getNumFound(), "wrong number of entries found");
//optimize
template.sendBodyAndHeader("direct:start", null, SolrConstants.OPERATION, SolrConstants.OPERATION_OPTIMIZE);
//verify exists after optimize
- assertEquals("wrong number of entries found", 1, executeSolrQuery("id:" + TEST_ID).getResults().getNumFound());
+ assertEquals(1, executeSolrQuery("id:" + TEST_ID).getResults().getNumFound(), "wrong number of entries found");
}
}
diff --git a/components/camel-solr/src/test/java/org/apache/camel/component/solr/SolrUpdateTest.java b/components/camel-solr/src/test/java/org/apache/camel/component/solr/SolrUpdateTest.java
index a5185e9..954d50d 100644
--- a/components/camel-solr/src/test/java/org/apache/camel/component/solr/SolrUpdateTest.java
+++ b/components/camel-solr/src/test/java/org/apache/camel/component/solr/SolrUpdateTest.java
@@ -22,25 +22,25 @@ import java.util.Arrays;
import java.util.List;
import org.apache.camel.Exchange;
+import org.apache.camel.test.junit5.params.Test;
import org.apache.solr.client.solrj.impl.HttpSolrClient;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.client.solrj.util.ClientUtils;
import org.apache.solr.common.SolrDocument;
import org.apache.solr.common.SolrInputDocument;
import org.apache.solr.common.params.UpdateParams;
-import org.junit.Before;
-import org.junit.Ignore;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Disabled;
+
+import static org.junit.jupiter.api.Assertions.assertArrayEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
public class SolrUpdateTest extends SolrComponentTestSupport {
private SolrEndpoint solrEndpoint;
- public SolrUpdateTest(SolrFixtures.TestServerType serverToTest) {
- super(serverToTest);
- }
-
@Override
- @Before
+ @BeforeEach
public void setUp() throws Exception {
super.setUp();
solrEndpoint = getMandatoryEndpoint(solrRouteUri(), SolrEndpoint.class);
@@ -304,7 +304,7 @@ public class SolrUpdateTest extends SolrComponentTestSupport {
}
@Test
- @Ignore("No real advantage has yet been discovered to specifying the file in a header.")
+ @Disabled("No real advantage has yet been discovered to specifying the file in a header.")
public void indexPDFDocumentSpecifyingFileInParameters() throws Exception {
solrEndpoint.setRequestHandler("/update/extract");
diff --git a/components/camel-test-junit5/src/main/java/org/apache/camel/test/junit5/params/ParameterizedExtension.java b/components/camel-test-junit5/src/main/java/org/apache/camel/test/junit5/params/ParameterizedExtension.java
index 62246be..e73cf82 100644
--- a/components/camel-test-junit5/src/main/java/org/apache/camel/test/junit5/params/ParameterizedExtension.java
+++ b/components/camel-test-junit5/src/main/java/org/apache/camel/test/junit5/params/ParameterizedExtension.java
@@ -21,7 +21,9 @@ import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
import java.util.Arrays;
import java.util.Comparator;
+import java.util.List;
import java.util.stream.Collectors;
+import java.util.stream.Stream;
import org.junit.jupiter.api.extension.Extension;
import org.junit.jupiter.api.extension.ExtensionContext;
@@ -50,10 +52,7 @@ public class ParameterizedExtension implements TestTemplateInvocationContextProv
public java.util.stream.Stream<TestTemplateInvocationContext> provideTestTemplateInvocationContexts(ExtensionContext extensionContext) {
Class<?> testClass = extensionContext.getRequiredTestClass();
try {
- java.util.List<Method> parameters = java.util.stream.Stream.of(testClass.getDeclaredMethods())
- .filter(m -> Modifier.isStatic(m.getModifiers()))
- .filter(m -> m.getAnnotation(Parameters.class) != null)
- .collect(Collectors.toList());
+ List<Method> parameters = getParametersMethods(testClass);
if (parameters.size() != 1) {
throw new IllegalStateException("Class " + testClass.getName() + " should provide a single method annotated with @" + Parameters.class.getSimpleName());
}
@@ -63,7 +62,19 @@ public class ParameterizedExtension implements TestTemplateInvocationContextProv
.map(Arguments::get)
.map(ParameterizedTemplate::new);
} catch (Exception e) {
- throw new IllegalStateException("Unable to generate test templates for class " + testClass.getName());
+ throw new IllegalStateException("Unable to generate test templates for class " + testClass.getName(), e);
+ }
+ }
+
+ private List<Method> getParametersMethods(Class<?> testClass) {
+ List<Method> parameters = java.util.stream.Stream.of(testClass.getDeclaredMethods())
+ .filter(m -> Modifier.isStatic(m.getModifiers()))
+ .filter(m -> m.getAnnotation(Parameters.class) != null)
+ .collect(Collectors.toList());
+ if (parameters.isEmpty() && testClass != null) {
+ return getParametersMethods(testClass.getSuperclass());
+ } else {
+ return parameters;
}
}
@@ -108,7 +119,9 @@ public class ParameterizedExtension implements TestTemplateInvocationContextProv
protected void postProcessTestInstance(Object testInstance, ExtensionContext context) throws Exception {
Class<?> clazz = testInstance.getClass();
- java.util.List<Field> fields = java.util.stream.Stream.of(clazz.getDeclaredFields())
+ java.util.List<Field> fields = hierarchy(clazz)
+ .map(Class::getDeclaredFields)
+ .flatMap(Stream::of)
.filter(f -> isAnnotated(f, Parameter.class))
.sorted(Comparator.comparing(f -> (Integer) f.getAnnotation(Parameter.class).value()))
.collect(Collectors.toList());
@@ -122,6 +135,11 @@ public class ParameterizedExtension implements TestTemplateInvocationContextProv
}
}
+ protected Stream<Class<?>> hierarchy(Class<?> clazz) {
+ Class<?> superclass = clazz.getSuperclass();
+ return Stream.concat(Stream.of(clazz), superclass != null ? hierarchy(superclass) : Stream.empty());
+ }
+
}
}