You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by yo...@apache.org on 2010/10/15 16:53:48 UTC
svn commit: r1022956 -
/lucene/dev/trunk/solr/src/test/org/apache/solr/handler/component/TermVectorComponentTest.java
Author: yonik
Date: Fri Oct 15 14:53:48 2010
New Revision: 1022956
URL: http://svn.apache.org/viewvc?rev=1022956&view=rev
Log:
tests: fix resource leaks and simplify
Modified:
lucene/dev/trunk/solr/src/test/org/apache/solr/handler/component/TermVectorComponentTest.java
Modified: lucene/dev/trunk/solr/src/test/org/apache/solr/handler/component/TermVectorComponentTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/src/test/org/apache/solr/handler/component/TermVectorComponentTest.java?rev=1022956&r1=1022955&r2=1022956&view=diff
==============================================================================
--- lucene/dev/trunk/solr/src/test/org/apache/solr/handler/component/TermVectorComponentTest.java (original)
+++ lucene/dev/trunk/solr/src/test/org/apache/solr/handler/component/TermVectorComponentTest.java Fri Oct 15 14:53:48 2010
@@ -145,130 +145,25 @@ public class TermVectorComponentTest ext
@Test
public void testPerField() throws Exception {
- SolrCore core = h.getCore();
- SearchComponent tvComp = core.getSearchComponent("tvComponent");
- assertTrue("tvComp is null and it shouldn't be", tvComp != null);
- ModifiableSolrParams params = new ModifiableSolrParams();
- params.add(CommonParams.Q, "id:0");
- params.add(CommonParams.QT, "tvrh");
- params.add(TermVectorParams.FIELDS, "test_basictv,test_notv,test_postv,test_offtv,test_posofftv");
- params.add(TermVectorParams.TF, "true");
- params.add(TermVectorParams.DF, "true");
- params.add(TermVectorParams.OFFSETS, "true");
- params.add(TermVectorParams.POSITIONS, "true");
- params.add(TermVectorParams.TF_IDF, "true");
- params.add(TermVectorComponent.COMPONENT_NAME, "true");
- //per field
- params.add("f.test_posofftv." + TermVectorParams.POSITIONS, "false");
- params.add("f.test_offtv." + TermVectorParams.OFFSETS, "false");
- params.add("f.test_basictv." + TermVectorParams.DF, "false");
- params.add("f.test_basictv." + TermVectorParams.TF, "false");
- params.add("f.test_basictv." + TermVectorParams.TF_IDF, "false");
- SolrRequestHandler handler = core.getRequestHandler("tvrh");
- SolrQueryResponse rsp;
- rsp = new SolrQueryResponse();
- rsp.add("responseHeader", new SimpleOrderedMap());
- handler.handleRequest(new LocalSolrQueryRequest(core, params), rsp);
- NamedList values = rsp.getValues();
- NamedList termVectors = (NamedList) values.get(TermVectorComponent.TERM_VECTORS);
- assertTrue("termVectors is null and it shouldn't be", termVectors != null);
- if (VERBOSE) System.out.println("TVs: " + termVectors);
- NamedList doc = (NamedList) termVectors.get("doc-0");
- assertTrue("doc is null and it shouldn't be", doc != null);
- assertEquals(doc.size(), 5);
- NamedList vec;
- NamedList another;
- NamedList offsets;
- NamedList pos;
- Integer df;
- Double val;
- vec = (NamedList) doc.get("test_posofftv");
- assertNotNull(vec);
- assertEquals(vec.size(), 2);
- another = (NamedList) vec.get("anoth");
- offsets = (NamedList) another.get("offsets");
- assertNotNull(offsets);
- assertTrue(offsets.size() > 0);
- pos = (NamedList) another.get("positions");
- //positions should be null, since we turned them off
- assertNull(pos);
- df = (Integer) another.get("df");
- assertNotNull(df);
- assertTrue(df == 2);
- val = (Double) another.get("tf-idf");
- assertTrue("tfIdf is null and it shouldn't be", val != null);
- assertTrue(val + " does not equal: " + 0.5, val == 0.5);
- //Try out the other fields, too
- vec = (NamedList) doc.get("test_offtv");
- assertNotNull(vec);
- assertEquals(vec.size(), 2);
- another = (NamedList) vec.get("anoth");
- offsets = (NamedList) another.get("offsets");
- assertNull(offsets);
- pos = (NamedList) another.get("positions");
- //positions should be null, since we turned them off
- assertNull(vec.toString(), pos);
- df = (Integer) another.get("df");
- assertNotNull(df);
- assertTrue(df == 2);
- val = (Double) another.get("tf-idf");
- assertTrue("tfIdf is null and it shouldn't be", val != null);
- assertTrue(val + " does not equal: " + 0.5, val == 0.5);
- vec = (NamedList) doc.get("test_basictv");
- assertNotNull(vec);
- assertEquals(vec.size(), 2);
- another = (NamedList) vec.get("anoth");
- offsets = (NamedList) another.get("offsets");
- assertNull(offsets);
- pos = (NamedList) another.get("positions");
- assertNull(pos);
- df = (Integer) another.get("df");
- assertNull(df);
- val = (Double) another.get("tf-idf");
- assertNull(val);
- val = (Double) another.get("tf");
- assertNull(val);
- //Now validate we have error messages
- NamedList warnings = (NamedList) termVectors.get("warnings");
- assertNotNull(warnings);
- List<String> theList;
- theList = (List<String>) warnings.get("noTermVectors");
- assertNotNull(theList);
- assertEquals(theList.size(), 1);
- theList = (List<String>) warnings.get("noPositions");
- assertNotNull(theList);
- assertEquals(theList.size(), 2);
- theList = (List<String>) warnings.get("noOffsets");
- assertNotNull(theList);
- assertEquals(theList.size(), 2);
- }
-
- @Test
- public void testNoFields() throws Exception {
- ignoreException("undefined field: foo");
- SolrCore core = h.getCore();
- SearchComponent tvComp = core.getSearchComponent("tvComponent");
- assertTrue("tvComp is null and it shouldn't be", tvComp != null);
- ModifiableSolrParams params = new ModifiableSolrParams();
- params.add(CommonParams.Q, "id:0");
- params.add(CommonParams.QT, "tvrh");
- params.add(TermVectorParams.TF, "true");
- //Pass in a field that doesn't exist on the doc, thus, no vectors should be returned
- params.add(TermVectorParams.FIELDS, "foo");
- params.add(TermVectorComponent.COMPONENT_NAME, "true");
- SolrRequestHandler handler = core.getRequestHandler("tvrh");
- SolrQueryResponse rsp;
- rsp = new SolrQueryResponse();
- rsp.add("responseHeader", new SimpleOrderedMap());
- handler.handleRequest(new LocalSolrQueryRequest(core, params), rsp);
- Exception exception = rsp.getException();
- assertNotNull(exception);
- resetExceptionIgnores();
+ assertJQ(req("json.nl","map", "qt",tv, "q", "id:0", TermVectorComponent.COMPONENT_NAME, "true"
+ ,TermVectorParams.TF, "true", TermVectorParams.DF, "true", TermVectorParams.OFFSETS, "true", TermVectorParams.POSITIONS, "true", TermVectorParams.TF_IDF, "true"
+ ,TermVectorParams.FIELDS, "test_basictv,test_notv,test_postv,test_offtv,test_posofftv"
+ ,"f.test_posofftv." + TermVectorParams.POSITIONS, "false"
+ ,"f.test_offtv." + TermVectorParams.OFFSETS, "false"
+ ,"f.test_basictv." + TermVectorParams.DF, "false"
+ ,"f.test_basictv." + TermVectorParams.TF, "false"
+ ,"f.test_basictv." + TermVectorParams.TF_IDF, "false"
+ )
+ ,"/termVectors/doc-0/test_basictv=={'anoth':{},'titl':{}}"
+ ,"/termVectors/doc-0/test_postv/anoth=={'tf':1, 'positions':{'position':1}, 'df':2, 'tf-idf':0.5}"
+ ,"/termVectors/doc-0/test_offtv/anoth=={'tf':1, 'df':2, 'tf-idf':0.5}"
+ ,"/termVectors/warnings=={ 'noTermVectors':['test_notv'], 'noPositions':['test_basictv', 'test_offtv'], 'noOffsets':['test_basictv', 'test_postv']}"
+ );
}
-
-
+ // TODO: this test is really fragile since it pokes around in solr's guts and makes many assumptions.
+ // it should be rewritten to use the real distributed interface
@Test
public void testDistributed() throws Exception {
SolrCore core = h.getCore();
@@ -309,14 +204,13 @@ public class TermVectorComponentTest ext
ModifiableSolrParams solrParams = request.params;
log.info("Shard: " + Arrays.asList(request.shards) + " Params: " + solrParams);
}
+
+ rb.req.close();
}
}
-
-
-
/*
* <field name="test_basictv" type="text" termVectors="true"/>
<field name="test_notv" type="text" termVectors="false"/>