summaryrefslogtreecommitdiff
path: root/core/src/test/java/org/elasticsearch/search/aggregations/metrics/AvgTests.java
diff options
context:
space:
mode:
authorColin Goodheart-Smithe <colings86@users.noreply.github.com>2015-07-09 13:23:00 +0100
committerColin Goodheart-Smithe <colings86@users.noreply.github.com>2015-07-10 13:09:31 +0100
commitfcf8d2408fcc24728b65ec29fad8871630f094de (patch)
tree9f62f400f4fe34c285245d861ac155eb83060566 /core/src/test/java/org/elasticsearch/search/aggregations/metrics/AvgTests.java
parent0eb9f07f0e7342726045c2e55f585e81c0eb3560 (diff)
Aggregations: Adds new script API to ValuesSourceMetricsAggregationBuilder
A method for the new Script API were missing in the ValuesSourceMetricsAggregationBuilder. This change adds the missing method and deprecates the old Script API methods
Diffstat (limited to 'core/src/test/java/org/elasticsearch/search/aggregations/metrics/AvgTests.java')
-rw-r--r--core/src/test/java/org/elasticsearch/search/aggregations/metrics/AvgTests.java225
1 files changed, 215 insertions, 10 deletions
diff --git a/core/src/test/java/org/elasticsearch/search/aggregations/metrics/AvgTests.java b/core/src/test/java/org/elasticsearch/search/aggregations/metrics/AvgTests.java
index 27e6830f0a..590db86e3a 100644
--- a/core/src/test/java/org/elasticsearch/search/aggregations/metrics/AvgTests.java
+++ b/core/src/test/java/org/elasticsearch/search/aggregations/metrics/AvgTests.java
@@ -19,11 +19,16 @@
package org.elasticsearch.search.aggregations.metrics;
import org.elasticsearch.action.search.SearchResponse;
+import org.elasticsearch.script.Script;
+import org.elasticsearch.script.ScriptService.ScriptType;
import org.elasticsearch.search.aggregations.bucket.global.Global;
import org.elasticsearch.search.aggregations.bucket.histogram.Histogram;
import org.elasticsearch.search.aggregations.metrics.avg.Avg;
import org.junit.Test;
+import java.util.HashMap;
+import java.util.Map;
+
import static org.elasticsearch.index.query.QueryBuilders.matchAllQuery;
import static org.elasticsearch.search.aggregations.AggregationBuilders.avg;
import static org.elasticsearch.search.aggregations.AggregationBuilders.global;
@@ -136,7 +141,7 @@ public class AvgTests extends AbstractNumericTests {
public void testSingleValuedField_WithValueScript() throws Exception {
SearchResponse searchResponse = client().prepareSearch("idx")
.setQuery(matchAllQuery())
- .addAggregation(avg("avg").field("value").script("_value + 1"))
+ .addAggregation(avg("avg").field("value").script(new Script("_value + 1")))
.execute().actionGet();
assertThat(searchResponse.getHits().getTotalHits(), equalTo(10l));
@@ -150,9 +155,11 @@ public class AvgTests extends AbstractNumericTests {
@Override
@Test
public void testSingleValuedField_WithValueScript_WithParams() throws Exception {
+ Map<String, Object> params = new HashMap<>();
+ params.put("inc", 1);
SearchResponse searchResponse = client().prepareSearch("idx")
.setQuery(matchAllQuery())
- .addAggregation(avg("avg").field("value").script("_value + inc").param("inc", 1))
+ .addAggregation(avg("avg").field("value").script(new Script("_value + inc", ScriptType.INLINE, null, params)))
.execute().actionGet();
assertThat(searchResponse.getHits().getTotalHits(), equalTo(10l));
@@ -197,7 +204,7 @@ public class AvgTests extends AbstractNumericTests {
public void testMultiValuedField_WithValueScript() throws Exception {
SearchResponse searchResponse = client().prepareSearch("idx")
.setQuery(matchAllQuery())
- .addAggregation(avg("avg").field("values").script("_value + 1"))
+ .addAggregation(avg("avg").field("values").script(new Script("_value + 1")))
.execute().actionGet();
assertThat(searchResponse.getHits().getTotalHits(), equalTo(10l));
@@ -211,9 +218,11 @@ public class AvgTests extends AbstractNumericTests {
@Override
@Test
public void testMultiValuedField_WithValueScript_WithParams() throws Exception {
+ Map<String, Object> params = new HashMap<>();
+ params.put("inc", 1);
SearchResponse searchResponse = client().prepareSearch("idx")
.setQuery(matchAllQuery())
- .addAggregation(avg("avg").field("values").script("_value + inc").param("inc", 1))
+ .addAggregation(avg("avg").field("values").script(new Script("_value + inc", ScriptType.INLINE, null, params)))
.execute().actionGet();
assertThat(searchResponse.getHits().getTotalHits(), equalTo(10l));
@@ -229,7 +238,7 @@ public class AvgTests extends AbstractNumericTests {
public void testScript_SingleValued() throws Exception {
SearchResponse searchResponse = client().prepareSearch("idx")
.setQuery(matchAllQuery())
- .addAggregation(avg("avg").script("doc['value'].value"))
+ .addAggregation(avg("avg").script(new Script("doc['value'].value")))
.execute().actionGet();
assertThat(searchResponse.getHits().getTotalHits(), equalTo(10l));
@@ -243,9 +252,11 @@ public class AvgTests extends AbstractNumericTests {
@Override
@Test
public void testScript_SingleValued_WithParams() throws Exception {
+ Map<String, Object> params = new HashMap<>();
+ params.put("inc", 1);
SearchResponse searchResponse = client().prepareSearch("idx")
.setQuery(matchAllQuery())
- .addAggregation(avg("avg").script("doc['value'].value + inc").param("inc", 1))
+ .addAggregation(avg("avg").script(new Script("doc['value'].value + inc", ScriptType.INLINE, null, params)))
.execute().actionGet();
assertThat(searchResponse.getHits().getTotalHits(), equalTo(10l));
@@ -259,9 +270,11 @@ public class AvgTests extends AbstractNumericTests {
@Override
@Test
public void testScript_ExplicitSingleValued_WithParams() throws Exception {
+ Map<String, Object> params = new HashMap<>();
+ params.put("inc", 1);
SearchResponse searchResponse = client().prepareSearch("idx")
.setQuery(matchAllQuery())
- .addAggregation(avg("avg").script("doc['value'].value + inc").param("inc", 1))
+ .addAggregation(avg("avg").script(new Script("doc['value'].value + inc", ScriptType.INLINE, null, params)))
.execute().actionGet();
assertThat(searchResponse.getHits().getTotalHits(), equalTo(10l));
@@ -277,7 +290,7 @@ public class AvgTests extends AbstractNumericTests {
public void testScript_MultiValued() throws Exception {
SearchResponse searchResponse = client().prepareSearch("idx")
.setQuery(matchAllQuery())
- .addAggregation(avg("avg").script("[ doc['value'].value, doc['value'].value + 1 ]"))
+ .addAggregation(avg("avg").script(new Script("[ doc['value'].value, doc['value'].value + 1 ]")))
.execute().actionGet();
assertThat(searchResponse.getHits().getTotalHits(), equalTo(10l));
@@ -293,7 +306,7 @@ public class AvgTests extends AbstractNumericTests {
public void testScript_ExplicitMultiValued() throws Exception {
SearchResponse searchResponse = client().prepareSearch("idx")
.setQuery(matchAllQuery())
- .addAggregation(avg("avg").script("[ doc['value'].value, doc['value'].value + 1 ]"))
+ .addAggregation(avg("avg").script(new Script("[ doc['value'].value, doc['value'].value + 1 ]")))
.execute().actionGet();
assertThat(searchResponse.getHits().getTotalHits(), equalTo(10l));
@@ -307,9 +320,183 @@ public class AvgTests extends AbstractNumericTests {
@Override
@Test
public void testScript_MultiValued_WithParams() throws Exception {
+ Map<String, Object> params = new HashMap<>();
+ params.put("inc", 1);
SearchResponse searchResponse = client().prepareSearch("idx")
.setQuery(matchAllQuery())
- .addAggregation(avg("avg").script("[ doc['value'].value, doc['value'].value + inc ]").param("inc", 1))
+ .addAggregation(
+ avg("avg").script(new Script("[ doc['value'].value, doc['value'].value + inc ]", ScriptType.INLINE, null, params)))
+ .execute().actionGet();
+
+ assertThat(searchResponse.getHits().getTotalHits(), equalTo(10l));
+
+ Avg avg = searchResponse.getAggregations().get("avg");
+ assertThat(avg, notNullValue());
+ assertThat(avg.getName(), equalTo("avg"));
+ assertThat(avg.getValue(), equalTo((double) (1+2+2+3+3+4+4+5+5+6+6+7+7+8+8+9+9+10+10+11) / 20));
+ }
+
+ /*
+ * TODO Remove in 3.0
+ */
+ @Override
+ @Test
+ public void testSingleValuedField_WithValueScript_OldScriptAPI() throws Exception {
+ SearchResponse searchResponse = client().prepareSearch("idx")
+ .setQuery(matchAllQuery())
+ .addAggregation(avg("avg").field("value").script("_value + 1"))
+ .execute().actionGet();
+
+ assertThat(searchResponse.getHits().getTotalHits(), equalTo(10l));
+
+ Avg avg = searchResponse.getAggregations().get("avg");
+ assertThat(avg, notNullValue());
+ assertThat(avg.getName(), equalTo("avg"));
+ assertThat(avg.getValue(), equalTo((double) (2+3+4+5+6+7+8+9+10+11) / 10));
+ }
+
+ /*
+ * TODO Remove in 3.0
+ */
+ @Override
+ @Test
+ public void testSingleValuedField_WithValueScript_WithParams_OldScriptAPI() throws Exception {
+ SearchResponse searchResponse = client().prepareSearch("idx")
+ .setQuery(matchAllQuery())
+ .addAggregation(avg("avg").field("value").script("_value + inc").param("inc", 1))
+ .execute().actionGet();
+
+ assertThat(searchResponse.getHits().getTotalHits(), equalTo(10l));
+
+ Avg avg = searchResponse.getAggregations().get("avg");
+ assertThat(avg, notNullValue());
+ assertThat(avg.getName(), equalTo("avg"));
+ assertThat(avg.getValue(), equalTo((double) (2+3+4+5+6+7+8+9+10+11) / 10));
+ }
+
+ /*
+ * TODO Remove in 3.0
+ */
+ @Override
+ @Test
+ public void testMultiValuedField_WithValueScript_OldScriptAPI() throws Exception {
+ SearchResponse searchResponse = client().prepareSearch("idx")
+ .setQuery(matchAllQuery())
+ .addAggregation(avg("avg").field("values").script("_value + 1"))
+ .execute().actionGet();
+
+ assertThat(searchResponse.getHits().getTotalHits(), equalTo(10l));
+
+ Avg avg = searchResponse.getAggregations().get("avg");
+ assertThat(avg, notNullValue());
+ assertThat(avg.getName(), equalTo("avg"));
+ assertThat(avg.getValue(), equalTo((double) (3+4+4+5+5+6+6+7+7+8+8+9+9+10+10+11+11+12+12+13) / 20));
+ }
+
+ /*
+ * TODO Remove in 3.0
+ */
+ @Override
+ @Test
+ public void testMultiValuedField_WithValueScript_WithParams_OldScriptAPI() throws Exception {
+ SearchResponse searchResponse = client().prepareSearch("idx")
+ .setQuery(matchAllQuery())
+ .addAggregation(avg("avg").field("values").script("_value + inc").param("inc", 1))
+ .execute().actionGet();
+
+ assertThat(searchResponse.getHits().getTotalHits(), equalTo(10l));
+
+ Avg avg = searchResponse.getAggregations().get("avg");
+ assertThat(avg, notNullValue());
+ assertThat(avg.getName(), equalTo("avg"));
+ assertThat(avg.getValue(), equalTo((double) (3+4+4+5+5+6+6+7+7+8+8+9+9+10+10+11+11+12+12+13) / 20));
+ }
+
+ /*
+ * TODO Remove in 3.0
+ */
+ @Override
+ @Test
+ public void testScript_SingleValued_OldScriptAPI() throws Exception {
+ SearchResponse searchResponse = client().prepareSearch("idx")
+ .setQuery(matchAllQuery())
+ .addAggregation(avg("avg").script("doc['value'].value"))
+ .execute().actionGet();
+
+ assertThat(searchResponse.getHits().getTotalHits(), equalTo(10l));
+
+ Avg avg = searchResponse.getAggregations().get("avg");
+ assertThat(avg, notNullValue());
+ assertThat(avg.getName(), equalTo("avg"));
+ assertThat(avg.getValue(), equalTo((double) (1+2+3+4+5+6+7+8+9+10) / 10));
+ }
+
+ /*
+ * TODO Remove in 3.0
+ */
+ @Override
+ @Test
+ public void testScript_SingleValued_WithParams_OldScriptAPI() throws Exception {
+ SearchResponse searchResponse = client().prepareSearch("idx")
+ .setQuery(matchAllQuery())
+ .addAggregation(avg("avg").script("doc['value'].value + inc").param("inc", 1))
+ .execute().actionGet();
+
+ assertThat(searchResponse.getHits().getTotalHits(), equalTo(10l));
+
+ Avg avg = searchResponse.getAggregations().get("avg");
+ assertThat(avg, notNullValue());
+ assertThat(avg.getName(), equalTo("avg"));
+ assertThat(avg.getValue(), equalTo((double) (2+3+4+5+6+7+8+9+10+11) / 10));
+ }
+
+ /*
+ * TODO Remove in 3.0
+ */
+ @Override
+ @Test
+ public void testScript_ExplicitSingleValued_WithParams_OldScriptAPI() throws Exception {
+ SearchResponse searchResponse = client().prepareSearch("idx")
+ .setQuery(matchAllQuery())
+ .addAggregation(avg("avg").script("doc['value'].value + inc").param("inc", 1))
+ .execute().actionGet();
+
+ assertThat(searchResponse.getHits().getTotalHits(), equalTo(10l));
+
+ Avg avg = searchResponse.getAggregations().get("avg");
+ assertThat(avg, notNullValue());
+ assertThat(avg.getName(), equalTo("avg"));
+ assertThat(avg.getValue(), equalTo((double) (2+3+4+5+6+7+8+9+10+11) / 10));
+ }
+
+ /*
+ * TODO Remove in 3.0
+ */
+ @Override
+ @Test
+ public void testScript_MultiValued_OldScriptAPI() throws Exception {
+ SearchResponse searchResponse = client().prepareSearch("idx")
+ .setQuery(matchAllQuery())
+ .addAggregation(avg("avg").script("[ doc['value'].value, doc['value'].value + 1 ]"))
+ .execute().actionGet();
+
+ assertThat(searchResponse.getHits().getTotalHits(), equalTo(10l));
+
+ Avg avg = searchResponse.getAggregations().get("avg");
+ assertThat(avg, notNullValue());
+ assertThat(avg.getName(), equalTo("avg"));
+ assertThat(avg.getValue(), equalTo((double) (1+2+2+3+3+4+4+5+5+6+6+7+7+8+8+9+9+10+10+11) / 20));
+ }
+
+ /*
+ * TODO Remove in 3.0
+ */
+ @Override
+ @Test
+ public void testScript_ExplicitMultiValued_OldScriptAPI() throws Exception {
+ SearchResponse searchResponse = client().prepareSearch("idx")
+ .setQuery(matchAllQuery())
+ .addAggregation(avg("avg").script("[ doc['value'].value, doc['value'].value + 1 ]"))
.execute().actionGet();
assertThat(searchResponse.getHits().getTotalHits(), equalTo(10l));
@@ -320,4 +507,22 @@ public class AvgTests extends AbstractNumericTests {
assertThat(avg.getValue(), equalTo((double) (1+2+2+3+3+4+4+5+5+6+6+7+7+8+8+9+9+10+10+11) / 20));
}
+ /*
+ * TODO Remove in 3.0
+ */
+ @Override
+ @Test
+ public void testScript_MultiValued_WithParams_OldScriptAPI() throws Exception {
+ SearchResponse searchResponse = client().prepareSearch("idx")
+ .setQuery(matchAllQuery())
+ .addAggregation(avg("avg").script("[ doc['value'].value, doc['value'].value + inc ]").param("inc", 1))
+ .execute().actionGet();
+
+ assertThat(searchResponse.getHits().getTotalHits(), equalTo(10l));
+
+ Avg avg = searchResponse.getAggregations().get("avg");
+ assertThat(avg, notNullValue());
+ assertThat(avg.getName(), equalTo("avg"));
+ assertThat(avg.getValue(), equalTo((double) (1+2+2+3+3+4+4+5+5+6+6+7+7+8+8+9+9+10+10+11) / 20));
+ }
} \ No newline at end of file