aboutsummaryrefslogtreecommitdiffstats
path: root/container-search/src/test/java/com/yahoo/search/rendering
diff options
context:
space:
mode:
authorLester Solbakken <lesters@yahoo-inc.com>2016-08-10 14:56:25 +0200
committerLester Solbakken <lesters@yahoo-inc.com>2016-08-10 14:56:25 +0200
commit64828a3afbe4a13764573e4b6badce784ded6cd4 (patch)
tree7ba6ac3685631d2205625b3c07752a3c1fda63bd /container-search/src/test/java/com/yahoo/search/rendering
parent161f8e25e70d34c03c9f9624a5b69a428956abc3 (diff)
Add JSONP support to JsonRenderer
Diffstat (limited to 'container-search/src/test/java/com/yahoo/search/rendering')
-rw-r--r--container-search/src/test/java/com/yahoo/search/rendering/JsonRendererTestCase.java47
1 files changed, 45 insertions, 2 deletions
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 4b26187c9d3..1cb72b4dd65 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
@@ -131,12 +131,17 @@ public class JsonRendererTestCase {
assertEqualJson(expected, summary);
}
- private Result newEmptyResult() {
- Query q = new Query("/?query=a");
+ private Result newEmptyResult(String[] args) {
+ String query = "/?" + String.join("&", args);
+ Query q = new Query(query);
Result r = new Result(q);
return r;
}
+ private Result newEmptyResult() {
+ return newEmptyResult(new String[] {"query=a"});
+ }
+
@Test
public final void testDataTypes() throws IOException, InterruptedException, ExecutionException, JSONException {
String expected = "{\n"
@@ -1084,6 +1089,44 @@ public class JsonRendererTestCase {
assertEqualJson(expected, summary);
}
+ @Test
+ public final void testJsonCallback() throws IOException, InterruptedException, ExecutionException, JSONException {
+ String expected = "{\n"
+ + " \"root\": {\n"
+ + " \"children\": [\n"
+ + " {\n"
+ + " \"fields\": {\n"
+ + " \"documentid\": \"id:unittest:smoke::whee\"\n"
+ + " },\n"
+ + " \"id\": \"id:unittest:smoke::whee\",\n"
+ + " \"relevance\": 1.0\n"
+ + " }\n"
+ + " ],\n"
+ + " \"fields\": {\n"
+ + " \"totalCount\": 1\n"
+ + " },\n"
+ + " \"id\": \"toplevel\",\n"
+ + " \"relevance\": 1.0\n"
+ + " }\n"
+ + "}\n";
+
+ String jsonCallback = "some_function_name";
+ Result r = newEmptyResult(new String[] {"query=a", "jsoncallback="+jsonCallback} );
+ Hit h = new Hit("jsonCallbackTest");
+ h.setField("documentid", new DocumentId("id:unittest:smoke::whee"));
+ r.hits().add(h);
+ r.setTotalHitCount(1L);
+ String summary = render(r);
+
+ String jsonCallbackBegin = summary.substring(0, jsonCallback.length() + 1);
+ String jsonCallbackEnd = summary.substring(summary.length() - 2);
+ String json = summary.substring(jsonCallback.length() + 1, summary.length() - 2);
+
+ assertEquals(jsonCallback + "(", jsonCallbackBegin);
+ assertEqualJson(expected, json);
+ assertEquals(");", jsonCallbackEnd);
+ }
+
private String render(Result r) throws InterruptedException,
ExecutionException {
Execution execution = new Execution(