You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ho...@apache.org on 2012/03/23 23:14:19 UTC
svn commit: r1304628 -
/lucene/dev/trunk/solr/core/src/test/org/apache/solr/request/JSONWriterTest.java
Author: hossman
Date: Fri Mar 23 22:14:19 2012
New Revision: 1304628
URL: http://svn.apache.org/viewvc?rev=1304628&view=rev
Log:
SOLR-2291: bug doesn't exist on trunk, but forward porting test to prove it
Modified:
lucene/dev/trunk/solr/core/src/test/org/apache/solr/request/JSONWriterTest.java
Modified: lucene/dev/trunk/solr/core/src/test/org/apache/solr/request/JSONWriterTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/test/org/apache/solr/request/JSONWriterTest.java?rev=1304628&r1=1304627&r2=1304628&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/test/org/apache/solr/request/JSONWriterTest.java (original)
+++ lucene/dev/trunk/solr/core/src/test/org/apache/solr/request/JSONWriterTest.java Fri Mar 23 22:14:19 2012
@@ -19,9 +19,15 @@ package org.apache.solr.request;
import java.io.IOException;
import java.io.StringWriter;
+import java.util.HashSet;
+import java.util.Set;
import org.apache.solr.SolrTestCaseJ4;
+import org.apache.solr.common.SolrDocument;
+import org.apache.solr.common.SolrDocumentList;
+import org.apache.solr.common.params.CommonParams;
import org.apache.solr.common.util.NamedList;
+import org.apache.solr.search.ReturnFields;
import org.apache.solr.response.JSONResponseWriter;
import org.apache.solr.response.PHPSerializedResponseWriter;
import org.apache.solr.response.PythonResponseWriter;
@@ -85,5 +91,45 @@ public class JSONWriterTest extends Solr
assertEquals("{\"nl\":[[\"data1\",\"he\\u2028llo\\u2029!\"],[null,42]],\"byte\":-3,\"short\":-4,\"bytes\":\"YWJj\"}", buf.toString());
req.close();
}
+
+ @Test
+ public void testJSONSolrDocument() throws IOException {
+ SolrQueryRequest req = req(CommonParams.WT,"json",
+ CommonParams.FL,"id,score");
+ SolrQueryResponse rsp = new SolrQueryResponse();
+ JSONResponseWriter w = new JSONResponseWriter();
+
+ ReturnFields returnFields = new ReturnFields(req);
+ rsp.setReturnFields(returnFields);
+
+ StringWriter buf = new StringWriter();
+
+ SolrDocument solrDoc = new SolrDocument();
+ solrDoc.addField("id", "1");
+ solrDoc.addField("subject", "hello2");
+ solrDoc.addField("title", "hello3");
+ solrDoc.addField("score", "0.7");
+
+ SolrDocumentList list = new SolrDocumentList();
+ list.setNumFound(1);
+ list.setStart(0);
+ list.setMaxScore(0.7f);
+ list.add(solrDoc);
+
+ rsp.add("response", list);
+
+ w.write(buf, req, rsp);
+ String result = buf.toString();
+ assertFalse("response contains unexpected fields: " + result,
+ result.contains("hello") ||
+ result.contains("\"subject\"") ||
+ result.contains("\"title\""));
+ assertTrue("response doesn't contain expected fields: " + result,
+ result.contains("\"id\"") &&
+ result.contains("\"score\""));
+
+
+ req.close();
+ }
}