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();
+  }
   
 }