diff --git a/elasticsearch/gradle.properties b/elasticsearch/gradle.properties index b3492c5ab29..8587d8e53f8 100644 --- a/elasticsearch/gradle.properties +++ b/elasticsearch/gradle.properties @@ -16,5 +16,3 @@ # description=Elasticsearch adapter for Calcite artifact.name=Calcite Elasticsearch -# JUnit4 use is allowed until the rest of the tests are migrated to JUnit5 -junit4=true diff --git a/elasticsearch/src/test/java/org/apache/calcite/adapter/elasticsearch/AggregationTest.java b/elasticsearch/src/test/java/org/apache/calcite/adapter/elasticsearch/AggregationTest.java index 2a50ecb9775..ad5835e96e8 100644 --- a/elasticsearch/src/test/java/org/apache/calcite/adapter/elasticsearch/AggregationTest.java +++ b/elasticsearch/src/test/java/org/apache/calcite/adapter/elasticsearch/AggregationTest.java @@ -28,9 +28,9 @@ import com.fasterxml.jackson.databind.node.ObjectNode; import com.google.common.collect.ImmutableMap; -import org.junit.BeforeClass; -import org.junit.ClassRule; -import org.junit.Test; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.RegisterExtension; import java.sql.Connection; import java.sql.DriverManager; @@ -47,14 +47,13 @@ */ public class AggregationTest { - @ClassRule + @RegisterExtension public static final EmbeddedElasticsearchPolicy NODE = EmbeddedElasticsearchPolicy.create(); private static final String NAME = "aggs"; - @BeforeClass + @BeforeAll public static void setupInstance() throws Exception { - final Map mappings = ImmutableMap.builder() .put("cat1", "keyword") .put("cat2", "keyword") diff --git a/elasticsearch/src/test/java/org/apache/calcite/adapter/elasticsearch/BooleanLogicTest.java b/elasticsearch/src/test/java/org/apache/calcite/adapter/elasticsearch/BooleanLogicTest.java index 325afaf4234..4d1ae3c3289 100644 --- a/elasticsearch/src/test/java/org/apache/calcite/adapter/elasticsearch/BooleanLogicTest.java +++ b/elasticsearch/src/test/java/org/apache/calcite/adapter/elasticsearch/BooleanLogicTest.java @@ -25,9 +25,9 @@ import com.fasterxml.jackson.databind.node.ObjectNode; import com.google.common.collect.ImmutableMap; -import org.junit.BeforeClass; -import org.junit.ClassRule; -import org.junit.Test; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.RegisterExtension; import java.sql.Connection; import java.sql.DriverManager; @@ -42,7 +42,7 @@ */ public class BooleanLogicTest { - @ClassRule + @RegisterExtension public static final EmbeddedElasticsearchPolicy NODE = EmbeddedElasticsearchPolicy.create(); private static final String NAME = "docs"; @@ -51,7 +51,7 @@ public class BooleanLogicTest { * Used to create {@code zips} index and insert some data * @throws Exception when ES node setup failed */ - @BeforeClass + @BeforeAll public static void setupInstance() throws Exception { final Map mapping = ImmutableMap.of("a", "keyword", "b", "keyword", diff --git a/elasticsearch/src/test/java/org/apache/calcite/adapter/elasticsearch/ElasticSearchAdapterTest.java b/elasticsearch/src/test/java/org/apache/calcite/adapter/elasticsearch/ElasticSearchAdapterTest.java index 24aee2c5b55..aa208b2ef9a 100644 --- a/elasticsearch/src/test/java/org/apache/calcite/adapter/elasticsearch/ElasticSearchAdapterTest.java +++ b/elasticsearch/src/test/java/org/apache/calcite/adapter/elasticsearch/ElasticSearchAdapterTest.java @@ -30,9 +30,9 @@ import com.google.common.io.LineProcessor; import com.google.common.io.Resources; -import org.junit.BeforeClass; -import org.junit.ClassRule; -import org.junit.Test; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.RegisterExtension; import java.io.IOException; import java.nio.charset.StandardCharsets; @@ -55,7 +55,7 @@ */ public class ElasticSearchAdapterTest { - @ClassRule //init once for all tests + @RegisterExtension //init once for all tests public static final EmbeddedElasticsearchPolicy NODE = EmbeddedElasticsearchPolicy.create(); /** Default index/type name */ @@ -66,7 +66,7 @@ public class ElasticSearchAdapterTest { * Used to create {@code zips} index and insert zip data in bulk. * @throws Exception when instance setup failed */ - @BeforeClass + @BeforeAll public static void setupInstance() throws Exception { final Map mapping = ImmutableMap.of("city", "keyword", "state", "keyword", "pop", "long"); diff --git a/elasticsearch/src/test/java/org/apache/calcite/adapter/elasticsearch/EmbeddedElasticsearchPolicy.java b/elasticsearch/src/test/java/org/apache/calcite/adapter/elasticsearch/EmbeddedElasticsearchPolicy.java index e32b87e8595..b3a148f4bc2 100644 --- a/elasticsearch/src/test/java/org/apache/calcite/adapter/elasticsearch/EmbeddedElasticsearchPolicy.java +++ b/elasticsearch/src/test/java/org/apache/calcite/adapter/elasticsearch/EmbeddedElasticsearchPolicy.java @@ -29,7 +29,9 @@ import org.elasticsearch.client.Request; import org.elasticsearch.client.RestClient; import org.elasticsearch.common.transport.TransportAddress; -import org.junit.rules.ExternalResource; +import org.junit.jupiter.api.extension.AfterAllCallback; +import org.junit.jupiter.api.extension.BeforeAllCallback; +import org.junit.jupiter.api.extension.ExtensionContext; import java.io.IOException; import java.util.ArrayList; @@ -60,9 +62,8 @@ * } * } * - * @see ExternalResource */ -class EmbeddedElasticsearchPolicy extends ExternalResource { +class EmbeddedElasticsearchPolicy implements BeforeAllCallback, AfterAllCallback { private final EmbeddedElasticsearchNode node; private final ObjectMapper mapper; @@ -76,11 +77,11 @@ private EmbeddedElasticsearchPolicy(EmbeddedElasticsearchNode resource) { closer.add(node); } - @Override protected void before() throws Throwable { + @Override public void beforeAll(ExtensionContext context) { node.start(); } - @Override protected void after() { + @Override public void afterAll(ExtensionContext context) throws Exception { closer.close(); } @@ -215,5 +216,4 @@ HttpHost httpHost() { private TransportAddress httpAddress() { return node.httpAddress(); } - } diff --git a/elasticsearch/src/test/java/org/apache/calcite/adapter/elasticsearch/MatchTest.java b/elasticsearch/src/test/java/org/apache/calcite/adapter/elasticsearch/MatchTest.java index 0710ef4e3c9..2f641e2ff22 100644 --- a/elasticsearch/src/test/java/org/apache/calcite/adapter/elasticsearch/MatchTest.java +++ b/elasticsearch/src/test/java/org/apache/calcite/adapter/elasticsearch/MatchTest.java @@ -44,9 +44,9 @@ import com.google.common.io.LineProcessor; import com.google.common.io.Resources; -import org.junit.BeforeClass; -import org.junit.ClassRule; -import org.junit.Test; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.RegisterExtension; import java.io.IOException; import java.nio.charset.StandardCharsets; @@ -63,13 +63,14 @@ import static org.apache.calcite.test.Matchers.hasTree; import static org.hamcrest.CoreMatchers.is; -import static org.junit.Assert.assertThat; +import static org.hamcrest.MatcherAssert.assertThat; + /** * Testing Elasticsearch match query. */ public class MatchTest { - @ClassRule //init once for all tests + @RegisterExtension //init once for all tests public static final EmbeddedElasticsearchPolicy NODE = EmbeddedElasticsearchPolicy.create(); /** Default index/type name */ @@ -80,7 +81,7 @@ public class MatchTest { * Used to create {@code zips} index and insert zip data in bulk. * @throws Exception when instance setup failed */ - @BeforeClass + @BeforeAll public static void setup() throws Exception { final Map mapping = ImmutableMap.of("city", "text", "state", "keyword", "pop", "long"); diff --git a/elasticsearch/src/test/java/org/apache/calcite/adapter/elasticsearch/Projection2Test.java b/elasticsearch/src/test/java/org/apache/calcite/adapter/elasticsearch/Projection2Test.java index 643617b69eb..c41ead2b1f8 100644 --- a/elasticsearch/src/test/java/org/apache/calcite/adapter/elasticsearch/Projection2Test.java +++ b/elasticsearch/src/test/java/org/apache/calcite/adapter/elasticsearch/Projection2Test.java @@ -27,9 +27,9 @@ import com.fasterxml.jackson.databind.node.ObjectNode; import com.google.common.collect.ImmutableMap; -import org.junit.BeforeClass; -import org.junit.ClassRule; -import org.junit.Test; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.RegisterExtension; import java.sql.Connection; import java.sql.DriverManager; @@ -42,20 +42,21 @@ import java.util.function.Consumer; import java.util.regex.PatternSyntaxException; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.fail; + /** * Checks renaming of fields (also upper, lower cases) during projections */ public class Projection2Test { - @ClassRule + @RegisterExtension public static final EmbeddedElasticsearchPolicy NODE = EmbeddedElasticsearchPolicy.create(); private static final String NAME = "nested"; - @BeforeClass + @BeforeAll public static void setupInstance() throws Exception { final Map mappings = ImmutableMap.of("a", "long", diff --git a/elasticsearch/src/test/java/org/apache/calcite/adapter/elasticsearch/ProjectionTest.java b/elasticsearch/src/test/java/org/apache/calcite/adapter/elasticsearch/ProjectionTest.java index b9fb7960f81..eb436a6a2f8 100644 --- a/elasticsearch/src/test/java/org/apache/calcite/adapter/elasticsearch/ProjectionTest.java +++ b/elasticsearch/src/test/java/org/apache/calcite/adapter/elasticsearch/ProjectionTest.java @@ -25,9 +25,9 @@ import com.fasterxml.jackson.databind.node.ObjectNode; import com.google.common.collect.ImmutableMap; -import org.junit.BeforeClass; -import org.junit.ClassRule; -import org.junit.Test; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.RegisterExtension; import java.sql.Connection; import java.sql.DriverManager; @@ -42,12 +42,12 @@ */ public class ProjectionTest { - @ClassRule + @RegisterExtension public static final EmbeddedElasticsearchPolicy NODE = EmbeddedElasticsearchPolicy.create(); private static final String NAME = "docs"; - @BeforeClass + @BeforeAll public static void setupInstance() throws Exception { final Map mappings = ImmutableMap.of("A", "keyword", diff --git a/elasticsearch/src/test/java/org/apache/calcite/adapter/elasticsearch/ScrollingTest.java b/elasticsearch/src/test/java/org/apache/calcite/adapter/elasticsearch/ScrollingTest.java index 4478f74854d..adc08db1fb0 100644 --- a/elasticsearch/src/test/java/org/apache/calcite/adapter/elasticsearch/ScrollingTest.java +++ b/elasticsearch/src/test/java/org/apache/calcite/adapter/elasticsearch/ScrollingTest.java @@ -25,9 +25,9 @@ import org.elasticsearch.client.Request; import org.elasticsearch.client.Response; -import org.junit.BeforeClass; -import org.junit.ClassRule; -import org.junit.Test; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.RegisterExtension; import java.io.IOException; import java.io.InputStream; @@ -47,13 +47,13 @@ */ public class ScrollingTest { - @ClassRule + @RegisterExtension public static final EmbeddedElasticsearchPolicy NODE = EmbeddedElasticsearchPolicy.create(); private static final String NAME = "scroll"; private static final int SIZE = 10; - @BeforeClass + @BeforeAll public static void setupInstance() throws Exception { NODE.createIndex(NAME, Collections.singletonMap("value", "long")); final List docs = new ArrayList<>();