aboutsummaryrefslogtreecommitdiffstats
path: root/container-search/src/test/java/com/yahoo
diff options
context:
space:
mode:
Diffstat (limited to 'container-search/src/test/java/com/yahoo')
-rw-r--r--container-search/src/test/java/com/yahoo/prelude/fastsearch/test/FastSearcherTestCase.java2
-rw-r--r--container-search/src/test/java/com/yahoo/search/grouping/GroupingQueryParserTestCase.java2
-rw-r--r--container-search/src/test/java/com/yahoo/search/grouping/GroupingRequestTestCase.java33
-rw-r--r--container-search/src/test/java/com/yahoo/search/grouping/UniqueGroupingSearcherTestCase.java2
-rw-r--r--container-search/src/test/java/com/yahoo/search/grouping/result/GroupListTestCase.java6
-rw-r--r--container-search/src/test/java/com/yahoo/search/grouping/result/HitListTestCase.java6
-rw-r--r--container-search/src/test/java/com/yahoo/search/grouping/result/HitRendererTestCase.java7
-rw-r--r--container-search/src/test/java/com/yahoo/search/grouping/vespa/CompositeContinuationTestCase.java5
-rw-r--r--container-search/src/test/java/com/yahoo/search/grouping/vespa/GroupingTransformTestCase.java5
-rw-r--r--container-search/src/test/java/com/yahoo/search/rendering/JsonRendererTestCase.java20
-rw-r--r--container-search/src/test/java/com/yahoo/search/yql/MinimalQueryInserterTestCase.java3
-rw-r--r--container-search/src/test/java/com/yahoo/select/SelectParserTestCase.java (renamed from container-search/src/test/java/com/yahoo/select/SelectTestCase.java)98
12 files changed, 67 insertions, 122 deletions
diff --git a/container-search/src/test/java/com/yahoo/prelude/fastsearch/test/FastSearcherTestCase.java b/container-search/src/test/java/com/yahoo/prelude/fastsearch/test/FastSearcherTestCase.java
index c9773008e05..ec586e67763 100644
--- a/container-search/src/test/java/com/yahoo/prelude/fastsearch/test/FastSearcherTestCase.java
+++ b/container-search/src/test/java/com/yahoo/prelude/fastsearch/test/FastSearcherTestCase.java
@@ -491,7 +491,7 @@ public class FastSearcherTestCase {
}
private void assertForceSinglePassIs(boolean expected, Query query) {
- for (GroupingRequest request : query.getSelect().getGrouping())
+ for (GroupingRequest request : GroupingRequest.getRequests(query))
assertForceSinglePassIs(expected, request.getRootOperation());
}
diff --git a/container-search/src/test/java/com/yahoo/search/grouping/GroupingQueryParserTestCase.java b/container-search/src/test/java/com/yahoo/search/grouping/GroupingQueryParserTestCase.java
index 90459fe614f..8de704a8a0e 100644
--- a/container-search/src/test/java/com/yahoo/search/grouping/GroupingQueryParserTestCase.java
+++ b/container-search/src/test/java/com/yahoo/search/grouping/GroupingQueryParserTestCase.java
@@ -105,6 +105,6 @@ public class GroupingQueryParserTestCase {
query.properties().set(GroupingQueryParser.PARAM_CONTINUE, continuation);
query.properties().set(GroupingQueryParser.PARAM_TIMEZONE, timeZone);
new Execution(new GroupingQueryParser(), Execution.Context.createContextStub()).search(query);
- return query.getSelect().getGrouping();
+ return GroupingRequest.getRequests(query);
}
}
diff --git a/container-search/src/test/java/com/yahoo/search/grouping/GroupingRequestTestCase.java b/container-search/src/test/java/com/yahoo/search/grouping/GroupingRequestTestCase.java
index 8b1bbb6842e..494602be7b3 100644
--- a/container-search/src/test/java/com/yahoo/search/grouping/GroupingRequestTestCase.java
+++ b/container-search/src/test/java/com/yahoo/search/grouping/GroupingRequestTestCase.java
@@ -10,10 +10,8 @@ import com.yahoo.search.result.Hit;
import org.junit.Test;
import java.lang.reflect.Field;
-import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
-import java.util.List;
import static org.junit.Assert.*;
@@ -28,10 +26,7 @@ public class GroupingRequestTestCase {
assertTrue(req.continuations().isEmpty());
Continuation foo = new Continuation() {
- @Override
- public Continuation copy() {
- return null;
- }
+
};
req.continuations().add(foo);
assertEquals(Arrays.asList(foo), req.continuations());
@@ -110,22 +105,32 @@ public class GroupingRequestTestCase {
@Test
public void requireThatGetRequestsReturnsAllRequests() {
Query query = new Query();
- assertEquals(Collections.emptyList(), query.getSelect().getGrouping());
+ assertEquals(Collections.emptyList(), GroupingRequest.getRequests(query));
GroupingRequest foo = GroupingRequest.newInstance(query);
- assertEquals(Arrays.asList(foo), query.getSelect().getGrouping());
+ assertEquals(Arrays.asList(foo), GroupingRequest.getRequests(query));
GroupingRequest bar = GroupingRequest.newInstance(query);
- assertEquals(Arrays.asList(foo, bar), query.getSelect().getGrouping());
+ assertEquals(Arrays.asList(foo, bar), GroupingRequest.getRequests(query));
+ }
+
+ @Test
+ public void requireThatGetRequestThrowsIllegalArgumentOnBadProperty() throws Exception {
+ Query query = new Query();
+ Field propName = GroupingRequest.class.getDeclaredField("PROP_REQUEST");
+ propName.setAccessible(true);
+ query.properties().set((CompoundName)propName.get(null), new Object());
+ try {
+ GroupingRequest.getRequests(query);
+ fail();
+ } catch (IllegalArgumentException e) {
+
+ }
}
-
private static RootGroup newRootGroup(int id) {
return new RootGroup(id, new Continuation() {
- @Override
- public Continuation copy() {
- return null;
- }
+
});
}
}
diff --git a/container-search/src/test/java/com/yahoo/search/grouping/UniqueGroupingSearcherTestCase.java b/container-search/src/test/java/com/yahoo/search/grouping/UniqueGroupingSearcherTestCase.java
index 22e5196c0c6..b570adc51c6 100644
--- a/container-search/src/test/java/com/yahoo/search/grouping/UniqueGroupingSearcherTestCase.java
+++ b/container-search/src/test/java/com/yahoo/search/grouping/UniqueGroupingSearcherTestCase.java
@@ -210,7 +210,7 @@ public class UniqueGroupingSearcherTestCase {
Result result = new Result(query);
if (addGroupingData) {
result.hits().add(resultGroup);
- query.getSelect().getGrouping().get(0).setResultGroup(resultGroup);
+ GroupingRequest.getRequests(query).get(0).setResultGroup(resultGroup);
result.setTotalHitCount(totalHitCount);
}
return result;
diff --git a/container-search/src/test/java/com/yahoo/search/grouping/result/GroupListTestCase.java b/container-search/src/test/java/com/yahoo/search/grouping/result/GroupListTestCase.java
index b8cc25930e2..651321a3b69 100644
--- a/container-search/src/test/java/com/yahoo/search/grouping/result/GroupListTestCase.java
+++ b/container-search/src/test/java/com/yahoo/search/grouping/result/GroupListTestCase.java
@@ -31,11 +31,5 @@ public class GroupListTestCase {
private static class MyContinuation extends Continuation {
- @Override
- public Continuation copy() {
- return null;
- }
-
}
-
}
diff --git a/container-search/src/test/java/com/yahoo/search/grouping/result/HitListTestCase.java b/container-search/src/test/java/com/yahoo/search/grouping/result/HitListTestCase.java
index 8203691e11e..05a78b71cac 100644
--- a/container-search/src/test/java/com/yahoo/search/grouping/result/HitListTestCase.java
+++ b/container-search/src/test/java/com/yahoo/search/grouping/result/HitListTestCase.java
@@ -31,11 +31,5 @@ public class HitListTestCase {
private static class MyContinuation extends Continuation {
- @Override
- public Continuation copy() {
- return null;
- }
-
}
-
}
diff --git a/container-search/src/test/java/com/yahoo/search/grouping/result/HitRendererTestCase.java b/container-search/src/test/java/com/yahoo/search/grouping/result/HitRendererTestCase.java
index 657c169720e..85b8ff7a6d5 100644
--- a/container-search/src/test/java/com/yahoo/search/grouping/result/HitRendererTestCase.java
+++ b/container-search/src/test/java/com/yahoo/search/grouping/result/HitRendererTestCase.java
@@ -167,15 +167,8 @@ public class HitRendererTestCase {
}
@Override
- public Continuation copy() {
- return null;
- }
-
- @Override
public String toString() {
return str;
}
-
}
-
}
diff --git a/container-search/src/test/java/com/yahoo/search/grouping/vespa/CompositeContinuationTestCase.java b/container-search/src/test/java/com/yahoo/search/grouping/vespa/CompositeContinuationTestCase.java
index b9887495940..6a6741ae1b4 100644
--- a/container-search/src/test/java/com/yahoo/search/grouping/vespa/CompositeContinuationTestCase.java
+++ b/container-search/src/test/java/com/yahoo/search/grouping/vespa/CompositeContinuationTestCase.java
@@ -109,11 +109,6 @@ public class CompositeContinuationTestCase {
private static class MyContinuation extends EncodableContinuation {
@Override
- public EncodableContinuation copy() {
- return null;
- }
-
- @Override
public void encode(IntegerEncoder out) {
}
diff --git a/container-search/src/test/java/com/yahoo/search/grouping/vespa/GroupingTransformTestCase.java b/container-search/src/test/java/com/yahoo/search/grouping/vespa/GroupingTransformTestCase.java
index 161c3a24801..038df42bd28 100644
--- a/container-search/src/test/java/com/yahoo/search/grouping/vespa/GroupingTransformTestCase.java
+++ b/container-search/src/test/java/com/yahoo/search/grouping/vespa/GroupingTransformTestCase.java
@@ -162,10 +162,7 @@ public class GroupingTransformTestCase {
GroupingTransform transform = newTransform();
try {
transform.addContinuation(new Continuation() {
- @Override
- public Continuation copy() {
- return null;
- }
+
});
fail();
} catch (UnsupportedOperationException e) {
diff --git a/container-search/src/test/java/com/yahoo/search/rendering/JsonRendererTestCase.java b/container-search/src/test/java/com/yahoo/search/rendering/JsonRendererTestCase.java
index 726d5cb76be..caad1c76362 100644
--- a/container-search/src/test/java/com/yahoo/search/rendering/JsonRendererTestCase.java
+++ b/container-search/src/test/java/com/yahoo/search/rendering/JsonRendererTestCase.java
@@ -790,11 +790,6 @@ public class JsonRendererTestCase {
Result r = newEmptyResult();
RootGroup rg = new RootGroup(0, new Continuation() {
@Override
- public Continuation copy() {
- return null;
- }
-
- @Override
public String toString() {
return "AAAA";
}
@@ -802,22 +797,12 @@ public class JsonRendererTestCase {
GroupList gl = new GroupList("customer");
gl.continuations().put("prev", new Continuation() {
@Override
- public Continuation copy() {
- return null;
- }
-
- @Override
public String toString() {
return "BBBB";
}
});
gl.continuations().put("next", new Continuation() {
@Override
- public Continuation copy() {
- return null;
- }
-
- @Override
public String toString() {
return "CCCC";
}
@@ -875,11 +860,6 @@ public class JsonRendererTestCase {
Result r = newEmptyResult();
RootGroup rg = new RootGroup(0, new Continuation() {
@Override
- public Continuation copy() {
- return null;
- }
-
- @Override
public String toString() {
return "AAAA";
}
diff --git a/container-search/src/test/java/com/yahoo/search/yql/MinimalQueryInserterTestCase.java b/container-search/src/test/java/com/yahoo/search/yql/MinimalQueryInserterTestCase.java
index b23e25e173e..e5dbe10a0e4 100644
--- a/container-search/src/test/java/com/yahoo/search/yql/MinimalQueryInserterTestCase.java
+++ b/container-search/src/test/java/com/yahoo/search/yql/MinimalQueryInserterTestCase.java
@@ -329,8 +329,9 @@ public class MinimalQueryInserterTestCase {
private static void assertGrouping(String expected, Query query) {
List<String> actual = new ArrayList<>();
- for (GroupingRequest request : query.getSelect().getGrouping())
+ for (GroupingRequest request : GroupingRequest.getRequests(query)) {
actual.add(request.continuations().toString() + request.getRootOperation());
+ }
assertEquals(expected, actual.toString());
}
diff --git a/container-search/src/test/java/com/yahoo/select/SelectTestCase.java b/container-search/src/test/java/com/yahoo/select/SelectParserTestCase.java
index 6871e26b96a..031ba386ad4 100644
--- a/container-search/src/test/java/com/yahoo/select/SelectTestCase.java
+++ b/container-search/src/test/java/com/yahoo/select/SelectParserTestCase.java
@@ -15,14 +15,14 @@ import com.yahoo.prelude.query.WeakAndItem;
import com.yahoo.prelude.query.WordAlternativesItem;
import com.yahoo.prelude.query.WordItem;
import com.yahoo.search.Query;
-import com.yahoo.search.grouping.GroupingRequest;
-import com.yahoo.search.grouping.request.AllOperation;
+import com.yahoo.search.federation.ProviderConfig;
import com.yahoo.search.query.QueryTree;
import com.yahoo.search.query.Select;
import com.yahoo.search.query.SelectParser;
import com.yahoo.search.query.parser.Parsable;
import com.yahoo.search.query.parser.ParserEnvironment;
import com.yahoo.search.yql.VespaGroupingStep;
+import org.apache.http.client.utils.URIBuilder;
import org.json.JSONException;
import org.json.JSONObject;
import org.junit.Test;
@@ -33,23 +33,24 @@ import java.util.List;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotSame;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertSame;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
+
/**
- * Tests Query.Select
+ * Specification for the conversion of Select expressions to Vespa search queries.
*
* @author henrhoi
- * @author bratseth
*/
-public class SelectTestCase {
+
+public class SelectParserTestCase {
private final SelectParser parser = new SelectParser(new ParserEnvironment());
- //------------------------------------------------------------------- "where" tests
+
+ /** WHERE TESTS */
@Test
public void test_contains() throws Exception {
@@ -135,6 +136,7 @@ public class SelectTestCase {
"+title:madonna -title:saint");
}
+
@Test
public void testLessThan() throws JSONException {
JSONObject range_json = new JSONObject();
@@ -163,6 +165,7 @@ public class SelectTestCase {
"price:>500");
}
+
@Test
public void testLessThanOrEqual() throws JSONException {
JSONObject range_json = new JSONObject();
@@ -323,6 +326,7 @@ public class SelectTestCase {
assertEquals(3, origin.end);
}
+
@Test
public void testSameElement() {
assertParse("{ \"contains\": [ \"baz\", {\"sameElement\" : [ { \"contains\" : [\"f1\", \"a\"] }, { \"contains\" : [\"f2\", \"b\"] } ]} ] }",
@@ -416,7 +420,7 @@ public class SelectTestCase {
WordItem first = (WordItem)root.getItem(0);
WordItem second = (WordItem)root.getItem(1);
WordItem third = (WordItem)root.getItem(2);
- assertEquals(third, first.getConnectedItem());
+ assertTrue(first.getConnectedItem() == third);
assertEquals(first.getConnectivity(), 7.0d, 1E-6);
assertNull(second.getConnectedItem());
@@ -553,17 +557,17 @@ public class SelectTestCase {
@Test
public void testAffixItems() {
assertRootClass("{ \"contains\" : { \"children\" : [\"baz\", \"colors\"], \"attributes\" : {\"suffix\": true} } }",
- SuffixItem.class);
+ SuffixItem.class);
assertRootClass("{ \"contains\" : { \"children\" : [\"baz\", \"colors\"], \"attributes\" : {\"prefix\": true} } }",
- PrefixItem.class);
+ PrefixItem.class);
assertRootClass("{ \"contains\" : { \"children\" : [\"baz\", \"colors\"], \"attributes\" : {\"substring\": true} } }",
- SubstringItem.class);
+ SubstringItem.class);
assertParseFail("{ \"contains\" : { \"children\" : [\"baz\", \"colors\"], \"attributes\" : {\"suffix\": true, \"prefix\" : true} } }",
- new IllegalArgumentException("Only one of prefix, substring and suffix can be set."));
+ new IllegalArgumentException("Only one of prefix, substring and suffix can be set."));
assertParseFail("{ \"contains\" : { \"children\" : [\"baz\", \"colors\"], \"attributes\" : {\"suffix\": true, \"substring\" : true} } }",
- new IllegalArgumentException("Only one of prefix, substring and suffix can be set."));
+ new IllegalArgumentException("Only one of prefix, substring and suffix can be set."));
}
@Test
@@ -637,7 +641,7 @@ public class SelectTestCase {
checkWordAlternativesContent(alternatives);
}
- //------------------------------------------------------------------- grouping tests
+ /** GROUPING TESTS */
@Test
public void testGrouping(){
@@ -655,7 +659,9 @@ public class SelectTestCase {
assertGrouping(expected, parseGrouping(grouping));
}
- //------------------------------------------------------------------- Other tests
+
+
+ /** OTHER TESTS */
@Test
public void testOverridingOtherQueryTree() {
@@ -663,15 +669,16 @@ public class SelectTestCase {
assertEquals("default:query", query.getModel().getQueryTree().toString());
assertEquals(Query.Type.ALL, query.getModel().getType());
- query.getSelect().setWhereString("{\"contains\" : [\"default\", \"select\"] }");
+ query.getSelect().setWhere("{\"contains\" : [\"default\", \"select\"] }");
assertEquals("default:select", query.getModel().getQueryTree().toString());
assertEquals(Query.Type.SELECT, query.getModel().getType());
}
+
@Test
public void testOverridingWhereQueryTree() {
- Query query = new Query("?query=default:query");
- query.getSelect().setWhereString("{\"contains\" : [\"default\", \"select\"] }");
+ Query query = new Query();
+ query.getSelect().setWhere("{\"contains\" : [\"default\", \"select\"] }");
assertEquals("default:select", query.getModel().getQueryTree().toString());
assertEquals(Query.Type.SELECT, query.getModel().getType());
@@ -681,44 +688,10 @@ public class SelectTestCase {
assertEquals(Query.Type.ALL, query.getModel().getType());
}
- @Test
- public void testProgrammaticAssignment() {
- Query query = new Query();
- query.getSelect().setGroupingString("[ { \"all\" : { \"group\" : \"time.year(a)\", \"each\" : { \"output\" : \"count()\" } } } ]");
- assertEquals(1, query.getSelect().getGrouping().size());
- assertEquals("all(group(time.year(a)) each(output(count())))", query.getSelect().getGrouping().get(0).getRootOperation().toString());
- // Setting from string resets the grouping expression
- query.getSelect().setGroupingString("[ { \"all\" : { \"group\" : \"time.dayofmonth(a)\", \"each\" : { \"output\" : \"count()\" } } } ]");
- assertEquals(1, query.getSelect().getGrouping().size());
- assertEquals("all(group(time.dayofmonth(a)) each(output(count())))", query.getSelect().getGrouping().get(0).getRootOperation().toString());
- }
- @Test
- public void testConstructionAndClone() {
- Query query = new Query();
- query.getSelect().setWhereString("{\"contains\" : [\"default\", \"select\"] }");
- query.getSelect().setGroupingString("[ { \"all\" : { \"group\" : \"time.dayofmonth(a)\", \"each\" : { \"output\" : \"count()\" } } } ]");
- GroupingRequest secondRequest = GroupingRequest.newInstance(query);
- assertEquals("default:select", query.getModel().getQueryTree().toString());
- assertEquals(2, query.getSelect().getGrouping().size());
- assertEquals("all(group(time.dayofmonth(a)) each(output(count())))", query.getSelect().getGrouping().get(0).toString());
-
- Query clone = query.clone();
- assertNotSame(query.getSelect(), clone.getSelect());
- assertNotSame(query.getSelect().getGrouping(), clone.getSelect().getGrouping());
- assertNotSame(query.getSelect().getGrouping().get(0), clone.getSelect().getGrouping().get(0));
- assertNotSame(query.getSelect().getGrouping().get(1), clone.getSelect().getGrouping().get(1));
- assertEquals(query.getSelect().getWhereString(), clone.getSelect().getWhereString());
- assertEquals(query.getSelect().getGroupingString(), clone.getSelect().getGroupingString());
- assertEquals(query.getSelect().getGrouping().get(0).toString(), clone.getSelect().getGrouping().get(0).toString());
- assertEquals(query.getSelect().getGrouping().get(1).toString(), clone.getSelect().getGrouping().get(1).toString());
-
-
- }
-
- //------------------------------------------------------------------- Assert methods
+ /** Assert-methods */
private void assertParse(String where, String expectedQueryTree) {
String queryTree = parseWhere(where).toString();
assertEquals(expectedQueryTree, queryTree);
@@ -748,10 +721,13 @@ public class SelectTestCase {
assertEquals(expected, actual.toString());
}
- //------------------------------------------------------------------- Parse methods
+
+
+
+ /** Parse-methods*/
private QueryTree parseWhere(String where) {
- Select select = new Select(where, "", new Query());
+ Select select = new Select(where, "");
return parser.parse(new Parsable().setSelect(select));
}
@@ -761,8 +737,17 @@ public class SelectTestCase {
return parser.getGroupingSteps(grouping);
}
- //------------------------------------------------------------------- Other methods
+ private QueryTree parse(String where, String grouping) {
+ Select select = new Select(where, grouping);
+ return parser.parse(new Parsable().setSelect(select));
+ }
+
+
+
+
+
+ /** Other methods */
private WordItem getRootWord(String yqlQuery) {
Item root = parseWhere(yqlQuery).getRoot();
assertTrue(root instanceof WordItem);
@@ -790,4 +775,5 @@ public class SelectTestCase {
}
}
+
}