diff --git a/pom.xml b/pom.xml
index ed2635e7cfa..f99c33a40ec 100644
--- a/pom.xml
+++ b/pom.xml
@@ -31,7 +31,13 @@
- 0.90.1
+ 0.90.10
+ 4.6.0
+ 1
+ true
+ onerror
+
+ INFO
@@ -42,6 +48,13 @@
+
+ org.apache.lucene
+ lucene-test-framework
+ ${lucene.version}
+ test
+
+
org.elasticsearch
elasticsearch
@@ -65,9 +78,10 @@
- org.testng
- testng
- 6.3.1
+ org.elasticsearch
+ elasticsearch
+ ${elasticsearch.version}
+ test-jar
test
@@ -98,13 +112,95 @@
+ com.carrotsearch.randomizedtesting
+ junit4-maven-plugin
+ 2.0.12
+
+
+ tests
+ test
+
+ junit4
+
+
+ 20
+ pipe,warn
+ true
+
+
+
+
+
+
+
+
+ ${tests.jvms}
+
+
+
+
+
+
+ **/*Tests.class
+ **/*Test.class
+
+
+ **/Abstract*.class
+ **/*StressTest.class
+
+
+ -Xmx512m
+ -XX:MaxDirectMemorySize=512m
+ -Des.logger.prefix=
+
+ ${tests.shuffle}
+ ${tests.verbose}
+ ${tests.seed}
+ ${tests.failfast}
+
+
+ ${tests.iters}
+ ${tests.maxfailures}
+ ${tests.failfast}
+ ${tests.class}
+ ${tests.method}
+ ${tests.nightly}
+ ${tests.badapples}
+ ${tests.weekly}
+ ${tests.slow}
+ ${tests.awaitsfix}
+ ${tests.slow}
+ ${tests.timeoutSuite}
+ ${tests.showSuccess}
+ ${tests.integration}
+ ${tests.cluster_seed}
+ ${tests.client.ratio}
+ ${env.ES_TEST_LOCAL}
+ ${es.node.mode}
+ ${es.logger.level}
+ true
+
+
+
+
+
+
+
org.apache.maven.plugins
maven-surefire-plugin
- 2.11
+ 2.15
-
- **/*Tests.java
-
+ true
diff --git a/src/test/java/org/elasticsearch/script/javascript/JavaScriptScriptEngineTests.java b/src/test/java/org/elasticsearch/script/javascript/JavaScriptScriptEngineTests.java
index bd78b0ded4e..e343de9159b 100644
--- a/src/test/java/org/elasticsearch/script/javascript/JavaScriptScriptEngineTests.java
+++ b/src/test/java/org/elasticsearch/script/javascript/JavaScriptScriptEngineTests.java
@@ -23,31 +23,31 @@ import org.elasticsearch.common.collect.Lists;
import org.elasticsearch.common.collect.MapBuilder;
import org.elasticsearch.common.settings.ImmutableSettings;
import org.elasticsearch.script.ExecutableScript;
-import org.testng.annotations.AfterClass;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
+import org.elasticsearch.test.ElasticsearchTestCase;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.equalTo;
import static org.hamcrest.Matchers.instanceOf;
/**
*
*/
-public class JavaScriptScriptEngineTests {
+public class JavaScriptScriptEngineTests extends ElasticsearchTestCase {
private JavaScriptScriptEngineService se;
- @BeforeClass
+ @Before
public void setup() {
se = new JavaScriptScriptEngineService(ImmutableSettings.Builder.EMPTY_SETTINGS);
}
- @AfterClass
+ @After
public void close() {
se.close();
}
diff --git a/src/test/java/org/elasticsearch/script/javascript/JavaScriptScriptMultiThreadedTest.java b/src/test/java/org/elasticsearch/script/javascript/JavaScriptScriptMultiThreadedTest.java
index 14d635dd859..26eab2091ce 100644
--- a/src/test/java/org/elasticsearch/script/javascript/JavaScriptScriptMultiThreadedTest.java
+++ b/src/test/java/org/elasticsearch/script/javascript/JavaScriptScriptMultiThreadedTest.java
@@ -19,12 +19,11 @@
package org.elasticsearch.script.javascript;
-import org.elasticsearch.common.logging.ESLogger;
-import org.elasticsearch.common.logging.Loggers;
import org.elasticsearch.common.settings.ImmutableSettings;
import org.elasticsearch.common.util.concurrent.jsr166y.ThreadLocalRandom;
import org.elasticsearch.script.ExecutableScript;
-import org.testng.annotations.Test;
+import org.elasticsearch.test.ElasticsearchTestCase;
+import org.junit.Test;
import java.util.HashMap;
import java.util.Map;
@@ -32,16 +31,12 @@ import java.util.concurrent.CountDownLatch;
import java.util.concurrent.CyclicBarrier;
import java.util.concurrent.atomic.AtomicBoolean;
-import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.equalTo;
/**
*
*/
-@Test
-public class JavaScriptScriptMultiThreadedTest {
-
- protected final ESLogger logger = Loggers.getLogger(getClass());
+public class JavaScriptScriptMultiThreadedTest extends ElasticsearchTestCase {
@Test
public void testExecutableNoRuntimeParams() throws Exception {
diff --git a/src/test/java/org/elasticsearch/script/javascript/JavaScriptScriptSearchTests.java b/src/test/java/org/elasticsearch/script/javascript/JavaScriptScriptSearchTests.java
index 18091f98841..68e6a5c7af4 100644
--- a/src/test/java/org/elasticsearch/script/javascript/JavaScriptScriptSearchTests.java
+++ b/src/test/java/org/elasticsearch/script/javascript/JavaScriptScriptSearchTests.java
@@ -21,74 +21,39 @@ package org.elasticsearch.script.javascript;
import org.elasticsearch.action.search.SearchResponse;
import org.elasticsearch.action.search.SearchType;
-import org.elasticsearch.client.Client;
-import org.elasticsearch.common.logging.ESLogger;
-import org.elasticsearch.common.logging.Loggers;
-import org.elasticsearch.common.network.NetworkUtils;
-import org.elasticsearch.common.settings.ImmutableSettings;
-import org.elasticsearch.node.Node;
-import org.elasticsearch.node.NodeBuilder;
import org.elasticsearch.search.sort.SortOrder;
-import org.testng.annotations.AfterMethod;
-import org.testng.annotations.BeforeMethod;
-import org.testng.annotations.Test;
+import org.elasticsearch.test.ElasticsearchIntegrationTest;
+import org.junit.Test;
+import java.util.Arrays;
import java.util.List;
import java.util.Map;
-import static org.elasticsearch.client.Requests.*;
+import static org.elasticsearch.client.Requests.searchRequest;
import static org.elasticsearch.common.xcontent.XContentFactory.jsonBuilder;
import static org.elasticsearch.index.query.FilterBuilders.scriptFilter;
import static org.elasticsearch.index.query.QueryBuilders.*;
import static org.elasticsearch.search.builder.SearchSourceBuilder.searchSource;
-import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.equalTo;
/**
*
*/
-@Test
-public class JavaScriptScriptSearchTests {
-
- protected final ESLogger logger = Loggers.getLogger(getClass());
-
- private Node node;
-
- private Client client;
-
- @BeforeMethod
- public void createNodes() throws Exception {
- node = NodeBuilder.nodeBuilder().settings(ImmutableSettings.settingsBuilder()
- .put("cluster.name", "test-cluster-" + NetworkUtils.getLocalAddress())
- .put("gateway.type", "none")
- .put("number_of_shards", 1)).node();
- client = node.client();
- }
-
- @AfterMethod
- public void closeNodes() {
- client.close();
- node.close();
- }
+public class JavaScriptScriptSearchTests extends ElasticsearchIntegrationTest {
@Test
public void testJavaScriptFilter() throws Exception {
- client.admin().indices().prepareCreate("test").execute().actionGet();
- client.prepareIndex("test", "type1", "1")
- .setSource(jsonBuilder().startObject().field("test", "value beck").field("num1", 1.0f).endObject())
- .execute().actionGet();
- client.admin().indices().prepareFlush().execute().actionGet();
- client.prepareIndex("test", "type1", "2")
- .setSource(jsonBuilder().startObject().field("test", "value beck").field("num1", 2.0f).endObject())
- .execute().actionGet();
- client.admin().indices().prepareFlush().execute().actionGet();
- client.prepareIndex("test", "type1", "3")
- .setSource(jsonBuilder().startObject().field("test", "value beck").field("num1", 3.0f).endObject())
- .execute().actionGet();
- client.admin().indices().refresh(refreshRequest()).actionGet();
+ wipeIndices("test");
+ createIndex("test");
+ index("test", "type1", "1", jsonBuilder().startObject().field("test", "value beck").field("num1", 1.0f).endObject());
+ flush();
+ index("test", "type1", "2", jsonBuilder().startObject().field("test", "value beck").field("num1", 2.0f).endObject());
+ flush();
+ index("test", "type1", "3", jsonBuilder().startObject().field("test", "value beck").field("num1", 3.0f).endObject());
+ refresh();
- logger.info("running doc['num1'].value > 1");
- SearchResponse response = client.prepareSearch()
+ logger.info(" --> running doc['num1'].value > 1");
+ SearchResponse response = client().prepareSearch()
.setQuery(filteredQuery(matchAllQuery(), scriptFilter("doc['num1'].value > 1").lang("js")))
.addSort("num1", SortOrder.ASC)
.addScriptField("sNum1", "js", "doc['num1'].value", null)
@@ -100,8 +65,8 @@ public class JavaScriptScriptSearchTests {
assertThat(response.getHits().getAt(1).id(), equalTo("3"));
assertThat((Double) response.getHits().getAt(1).fields().get("sNum1").values().get(0), equalTo(3.0));
- logger.info("running doc['num1'].value > param1");
- response = client.prepareSearch()
+ logger.info(" --> running doc['num1'].value > param1");
+ response = client().prepareSearch()
.setQuery(filteredQuery(matchAllQuery(), scriptFilter("doc['num1'].value > param1").lang("js").addParam("param1", 2)))
.addSort("num1", SortOrder.ASC)
.addScriptField("sNum1", "js", "doc['num1'].value", null)
@@ -111,8 +76,8 @@ public class JavaScriptScriptSearchTests {
assertThat(response.getHits().getAt(0).id(), equalTo("3"));
assertThat((Double) response.getHits().getAt(0).fields().get("sNum1").values().get(0), equalTo(3.0));
- logger.info("running doc['num1'].value > param1");
- response = client.prepareSearch()
+ logger.info(" --> running doc['num1'].value > param1");
+ response = client().prepareSearch()
.setQuery(filteredQuery(matchAllQuery(), scriptFilter("doc['num1'].value > param1").lang("js").addParam("param1", -1)))
.addSort("num1", SortOrder.ASC)
.addScriptField("sNum1", "js", "doc['num1'].value", null)
@@ -129,16 +94,16 @@ public class JavaScriptScriptSearchTests {
@Test
public void testScriptFieldUsingSource() throws Exception {
- client.admin().indices().prepareCreate("test").execute().actionGet();
- client.prepareIndex("test", "type1", "1")
- .setSource(jsonBuilder().startObject()
+ wipeIndices("test");
+ createIndex("test");
+ index("test", "type1", "1",
+ jsonBuilder().startObject()
.startObject("obj1").field("test", "something").endObject()
.startObject("obj2").startArray("arr2").value("arr_value1").value("arr_value2").endArray().endObject()
- .endObject())
- .execute().actionGet();
- client.admin().indices().refresh(refreshRequest()).actionGet();
+ .endObject());
+ refresh();
- SearchResponse response = client.prepareSearch()
+ SearchResponse response = client().prepareSearch()
.setQuery(matchAllQuery())
.addField("_source.obj1") // we also automatically detect _source in fields
.addScriptField("s_obj1", "js", "_source.obj1", null)
@@ -169,99 +134,95 @@ public class JavaScriptScriptSearchTests {
@Test
public void testCustomScriptBoost() throws Exception {
- // execute a search before we create an index
- try {
- client.prepareSearch().setQuery(termQuery("test", "value")).execute().actionGet();
- assert false : "should fail";
- } catch (Exception e) {
- // ignore, no indices
- }
-
- try {
- client.prepareSearch("test").setQuery(termQuery("test", "value")).execute().actionGet();
- assert false : "should fail";
- } catch (Exception e) {
- // ignore, no indices
- }
-
- client.admin().indices().create(createIndexRequest("test")).actionGet();
- client.index(indexRequest("test").type("type1").id("1")
- .source(jsonBuilder().startObject().field("test", "value beck").field("num1", 1.0f).endObject())).actionGet();
- client.index(indexRequest("test").type("type1").id("2")
- .source(jsonBuilder().startObject().field("test", "value check").field("num1", 2.0f).endObject())).actionGet();
- client.admin().indices().refresh(refreshRequest()).actionGet();
+ wipeIndices("test");
+ createIndex("test");
+ index("test", "type1", "1", jsonBuilder().startObject().field("test", "value beck").field("num1", 1.0f).endObject());
+ index("test", "type1", "2", jsonBuilder().startObject().field("test", "value beck").field("num1", 2.0f).endObject());
+ refresh();
logger.info("--- QUERY_THEN_FETCH");
- logger.info("running doc['num1'].value");
- SearchResponse response = client.search(searchRequest()
+ logger.info(" --> running doc['num1'].value");
+ SearchResponse response = client().search(searchRequest()
.searchType(SearchType.QUERY_THEN_FETCH)
.source(searchSource().explain(true).query(customScoreQuery(termQuery("test", "value")).script("doc['num1'].value").lang("js")))
).actionGet();
+ assertThat("Failures " + Arrays.toString(response.getShardFailures()), response.getShardFailures().length, equalTo(0));
+
assertThat(response.getHits().totalHits(), equalTo(2l));
- logger.info("Hit[0] {} Explanation {}", response.getHits().getAt(0).id(), response.getHits().getAt(0).explanation());
- logger.info("Hit[1] {} Explanation {}", response.getHits().getAt(1).id(), response.getHits().getAt(1).explanation());
+ logger.info(" --> Hit[0] {} Explanation {}", response.getHits().getAt(0).id(), response.getHits().getAt(0).explanation());
+ logger.info(" --> Hit[1] {} Explanation {}", response.getHits().getAt(1).id(), response.getHits().getAt(1).explanation());
assertThat(response.getHits().getAt(0).id(), equalTo("2"));
assertThat(response.getHits().getAt(1).id(), equalTo("1"));
- logger.info("running -doc['num1'].value");
- response = client.search(searchRequest()
+ logger.info(" --> running -doc['num1'].value");
+ response = client().search(searchRequest()
.searchType(SearchType.QUERY_THEN_FETCH)
.source(searchSource().explain(true).query(customScoreQuery(termQuery("test", "value")).script("-doc['num1'].value").lang("js")))
).actionGet();
+ assertThat("Failures " + Arrays.toString(response.getShardFailures()), response.getShardFailures().length, equalTo(0));
+
assertThat(response.getHits().totalHits(), equalTo(2l));
- logger.info("Hit[0] {} Explanation {}", response.getHits().getAt(0).id(), response.getHits().getAt(0).explanation());
- logger.info("Hit[1] {} Explanation {}", response.getHits().getAt(1).id(), response.getHits().getAt(1).explanation());
+ logger.info(" --> Hit[0] {} Explanation {}", response.getHits().getAt(0).id(), response.getHits().getAt(0).explanation());
+ logger.info(" --> Hit[1] {} Explanation {}", response.getHits().getAt(1).id(), response.getHits().getAt(1).explanation());
assertThat(response.getHits().getAt(0).id(), equalTo("1"));
assertThat(response.getHits().getAt(1).id(), equalTo("2"));
- logger.info("running pow(doc['num1'].value, 2)");
- response = client.search(searchRequest()
+ logger.info(" --> running pow(doc['num1'].value, 2)");
+ response = client().search(searchRequest()
.searchType(SearchType.QUERY_THEN_FETCH)
.source(searchSource().explain(true).query(customScoreQuery(termQuery("test", "value")).script("Math.pow(doc['num1'].value, 2)").lang("js")))
).actionGet();
+ assertThat("Failures " + Arrays.toString(response.getShardFailures()), response.getShardFailures().length, equalTo(0));
+
assertThat(response.getHits().totalHits(), equalTo(2l));
- logger.info("Hit[0] {} Explanation {}", response.getHits().getAt(0).id(), response.getHits().getAt(0).explanation());
- logger.info("Hit[1] {} Explanation {}", response.getHits().getAt(1).id(), response.getHits().getAt(1).explanation());
+ logger.info(" --> Hit[0] {} Explanation {}", response.getHits().getAt(0).id(), response.getHits().getAt(0).explanation());
+ logger.info(" --> Hit[1] {} Explanation {}", response.getHits().getAt(1).id(), response.getHits().getAt(1).explanation());
assertThat(response.getHits().getAt(0).id(), equalTo("2"));
assertThat(response.getHits().getAt(1).id(), equalTo("1"));
- logger.info("running max(doc['num1'].value, 1)");
- response = client.search(searchRequest()
+ logger.info(" --> running max(doc['num1'].value, 1)");
+ response = client().search(searchRequest()
.searchType(SearchType.QUERY_THEN_FETCH)
.source(searchSource().explain(true).query(customScoreQuery(termQuery("test", "value")).script("Math.max(doc['num1'].value, 1)").lang("js")))
).actionGet();
+ assertThat("Failures " + Arrays.toString(response.getShardFailures()), response.getShardFailures().length, equalTo(0));
+
assertThat(response.getHits().totalHits(), equalTo(2l));
- logger.info("Hit[0] {} Explanation {}", response.getHits().getAt(0).id(), response.getHits().getAt(0).explanation());
- logger.info("Hit[1] {} Explanation {}", response.getHits().getAt(1).id(), response.getHits().getAt(1).explanation());
+ logger.info(" --> Hit[0] {} Explanation {}", response.getHits().getAt(0).id(), response.getHits().getAt(0).explanation());
+ logger.info(" --> Hit[1] {} Explanation {}", response.getHits().getAt(1).id(), response.getHits().getAt(1).explanation());
assertThat(response.getHits().getAt(0).id(), equalTo("2"));
assertThat(response.getHits().getAt(1).id(), equalTo("1"));
- logger.info("running doc['num1'].value * _score");
- response = client.search(searchRequest()
+ logger.info(" --> running doc['num1'].value * _score");
+ response = client().search(searchRequest()
.searchType(SearchType.QUERY_THEN_FETCH)
.source(searchSource().explain(true).query(customScoreQuery(termQuery("test", "value")).script("doc['num1'].value * _score").lang("js")))
).actionGet();
+ assertThat("Failures " + Arrays.toString(response.getShardFailures()), response.getShardFailures().length, equalTo(0));
+
assertThat(response.getHits().totalHits(), equalTo(2l));
- logger.info("Hit[0] {} Explanation {}", response.getHits().getAt(0).id(), response.getHits().getAt(0).explanation());
- logger.info("Hit[1] {} Explanation {}", response.getHits().getAt(1).id(), response.getHits().getAt(1).explanation());
+ logger.info(" --> Hit[0] {} Explanation {}", response.getHits().getAt(0).id(), response.getHits().getAt(0).explanation());
+ logger.info(" --> Hit[1] {} Explanation {}", response.getHits().getAt(1).id(), response.getHits().getAt(1).explanation());
assertThat(response.getHits().getAt(0).id(), equalTo("2"));
assertThat(response.getHits().getAt(1).id(), equalTo("1"));
- logger.info("running param1 * param2 * _score");
- response = client.search(searchRequest()
+ logger.info(" --> running param1 * param2 * _score");
+ response = client().search(searchRequest()
.searchType(SearchType.QUERY_THEN_FETCH)
.source(searchSource().explain(true).query(customScoreQuery(termQuery("test", "value")).script("param1 * param2 * _score").param("param1", 2).param("param2", 2).lang("js")))
).actionGet();
+ assertThat("Failures " + Arrays.toString(response.getShardFailures()), response.getShardFailures().length, equalTo(0));
+
assertThat(response.getHits().totalHits(), equalTo(2l));
- logger.info("Hit[0] {} Explanation {}", response.getHits().getAt(0).id(), response.getHits().getAt(0).explanation());
- logger.info("Hit[1] {} Explanation {}", response.getHits().getAt(1).id(), response.getHits().getAt(1).explanation());
+ logger.info(" --> Hit[0] {} Explanation {}", response.getHits().getAt(0).id(), response.getHits().getAt(0).explanation());
+ logger.info(" --> Hit[1] {} Explanation {}", response.getHits().getAt(1).id(), response.getHits().getAt(1).explanation());
}
}