summaryrefslogtreecommitdiffstats
path: root/container-search/src/test/java/com/yahoo/search/yql
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@gmail.com>2020-09-03 14:43:55 +0200
committerJon Bratseth <bratseth@gmail.com>2020-09-03 14:43:55 +0200
commit842478eca170b3cc04408d80acafb252d7c19c26 (patch)
tree70d50d80ac146aa0791d34ccb60a81e941708a08 /container-search/src/test/java/com/yahoo/search/yql
parent9156860dab6788bb7da0387cfef22a855e5d9e7c (diff)
Continuation references
Diffstat (limited to 'container-search/src/test/java/com/yahoo/search/yql')
-rw-r--r--container-search/src/test/java/com/yahoo/search/yql/UserInputTestCase.java27
1 files changed, 22 insertions, 5 deletions
diff --git a/container-search/src/test/java/com/yahoo/search/yql/UserInputTestCase.java b/container-search/src/test/java/com/yahoo/search/yql/UserInputTestCase.java
index 75517a25909..6433270d691 100644
--- a/container-search/src/test/java/com/yahoo/search/yql/UserInputTestCase.java
+++ b/container-search/src/test/java/com/yahoo/search/yql/UserInputTestCase.java
@@ -15,6 +15,8 @@ import com.yahoo.search.Result;
import com.yahoo.search.Searcher;
import com.yahoo.search.searchchain.Execution;
+import java.util.Arrays;
+
import static com.yahoo.container.protect.Error.INVALID_QUERY_PARAMETER;
/**
@@ -204,13 +206,30 @@ public class UserInputTestCase {
assertEquals("select * from sources * where year > 1980;", query.yqlRepresentation());
}
+ @Test
+ public void testReferenceInContinuation() {
+ URIBuilder builder = searchUri();
+ builder.setParameter("continuation", "BCBCBCBEBG");
+ builder.setParameter("yql",
+ "select * from sources * where myfield contains 'token'" +
+ "| [{'continuations':[@continuation, 'BCBKCBACBKCCK'] }] all(group(f) each(output(count())));");
+ Query query = searchAndAssertNoErrors(builder);
+ assertEquals("select * from sources * where myfield contains \"token\" | [{ 'continuations':['BCBCBCBEBG', 'BCBKCBACBKCCK'] }]all(group(f) each(output(count())));", query.yqlRepresentation());
+ }
+
private Query searchAndAssertNoErrors(URIBuilder builder) {
Query query = new Query(builder.toString());
Result r = execution.search(query);
- assertNull(r.hits().getError());
+ assertNull(stackTraceIfAny(r), r.hits().getError());
return query;
}
+ private String stackTraceIfAny(Result r) {
+ if (r.hits().getError() == null) return "";
+ if (r.hits().getError().getCause() == null) return "";
+ return Arrays.toString(r.hits().getError().getCause().getStackTrace());
+ }
+
private URIBuilder searchUri() {
URIBuilder builder = new URIBuilder();
builder.setPath("search/");
@@ -220,8 +239,7 @@ public class UserInputTestCase {
@Test
public void testEmptyUserInput() {
URIBuilder builder = searchUri();
- builder.setParameter("yql",
- "select * from sources * where userInput(\"\");");
+ builder.setParameter("yql", "select * from sources * where userInput(\"\");");
assertQueryFails(builder);
}
@@ -229,8 +247,7 @@ public class UserInputTestCase {
public void testEmptyUserInputFromQueryProperty() {
URIBuilder builder = searchUri();
builder.setParameter("foo", "");
- builder.setParameter("yql",
- "select * from sources * where userInput(@foo);");
+ builder.setParameter("yql", "select * from sources * where userInput(@foo);");
assertQueryFails(builder);
}