| /* |
| * Licensed to the Apache Software Foundation (ASF) under one or more |
| * contributor license agreements. See the NOTICE file distributed with |
| * this work for additional information regarding copyright ownership. |
| * The ASF licenses this file to You under the Apache License, Version 2.0 |
| * (the "License"); you may not use this file except in compliance with |
| * the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| package org.apache.solr.response; |
| |
| import org.apache.solr.SolrTestCaseJ4; |
| import org.apache.solr.common.SolrInputDocument; |
| import org.apache.solr.request.SolrQueryRequest; |
| import org.junit.After; |
| import org.junit.BeforeClass; |
| import org.junit.Test; |
| |
| /** |
| * Tests Raw JSON output for fields when used with and without the unique key field. |
| * |
| * See SOLR-7993 |
| */ |
| public class TestRawTransformer extends SolrTestCaseJ4 { |
| |
| @BeforeClass |
| public static void beforeClass() throws Exception { |
| initCore("solrconfig-doctransformers.xml", "schema.xml"); |
| } |
| |
| @After |
| public void cleanup() throws Exception { |
| assertU(delQ("*:*")); |
| assertU(commit()); |
| } |
| |
| @Test |
| public void testCustomTransformer() throws Exception { |
| // Build a simple index |
| int max = 10; |
| for (int i = 0; i < max; i++) { |
| SolrInputDocument sdoc = new SolrInputDocument(); |
| sdoc.addField("id", i); |
| sdoc.addField("subject", "{poffL:[{offL:[{oGUID:\"79D5A31D-B3E4-4667-B812-09DF4336B900\",oID:\"OO73XRX\",prmryO:1,oRank:1,addTp:\"Office\",addCd:\"AA4GJ5T\",ad1:\"102 S 3rd St Ste 100\",city:\"Carson City\",st:\"MI\",zip:\"48811\",lat:43.176885,lng:-84.842919,phL:[\"(989) 584-1308\"],faxL:[\"(989) 584-6453\"]}]}]}"); |
| sdoc.addField("title", "title_" + i); |
| updateJ(jsonAdd(sdoc), null); |
| } |
| assertU(commit()); |
| assertQ(req("q", "*:*"), "//*[@numFound='" + max + "']"); |
| |
| SolrQueryRequest req = req("q", "*:*", "fl", "subject:[json]", "wt", "json"); |
| String strResponse = h.query(req); |
| assertTrue("response does not contain right JSON encoding: " + strResponse, |
| strResponse.contains("\"subject\":[{poffL:[{offL:[{oGUID:\"7")); |
| |
| req = req("q", "*:*", "fl", "id,subject", "wt", "json"); |
| strResponse = h.query(req); |
| assertTrue("response does not contain right JSON encoding: " + strResponse, |
| strResponse.contains("subject\":[\"")); |
| } |
| |
| } |
| |