Author: tommaso
Date: Tue Jul 28 08:40:56 2015
New Revision: 1693030
URL: http://svn.apache.org/r1693030
Log:
OAK-3147 - added tests
Modified:
jackrabbit/oak/trunk/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/query/FilterQueryParserTest.java
jackrabbit/oak/trunk/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrIndexQueryTestIT.java
Modified:
jackrabbit/oak/trunk/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/query/FilterQueryParserTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/query/FilterQueryParserTest.java?rev=1693030&r1=1693029&r2=1693030&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/query/FilterQueryParserTest.java
(original)
+++
jackrabbit/oak/trunk/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/query/FilterQueryParserTest.java
Tue Jul 28 08:40:56 2015
@@ -65,6 +65,22 @@ public class FilterQueryParserTest {
assertEquals("*:*", solrQuery.get("q"));
}
-
+ @Test
+ public void testCollapseJcrContentNodes() throws Exception {
+ String query = "select [jcr:path], [jcr:score], * from [nt:hierarchy]
as a where isdescendantnode(a, '/')";
+ Filter filter = mock(Filter.class);
+ OakSolrConfiguration configuration = new DefaultSolrConfiguration(){
+ @Override
+ public boolean collapseJcrContentNodes() {
+ return true;
+ }
+ };
+ when(filter.getQueryStatement()).thenReturn(query);
+ SolrQuery solrQuery = FilterQueryParser.getQuery(filter, null,
configuration);
+ assertNotNull(solrQuery);
+ String[] filterQueries = solrQuery.getFilterQueries();
+ assertTrue(Arrays.asList(filterQueries).contains("{!collapse field=" +
configuration.getCollapsedPathField() + "}"));
+ assertEquals("*:*", solrQuery.get("q"));
+ }
}
Modified:
jackrabbit/oak/trunk/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrIndexQueryTestIT.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrIndexQueryTestIT.java?rev=1693030&r1=1693029&r2=1693030&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrIndexQueryTestIT.java
(original)
+++
jackrabbit/oak/trunk/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrIndexQueryTestIT.java
Tue Jul 28 08:40:56 2015
@@ -29,6 +29,7 @@ import org.apache.jackrabbit.oak.plugins
import
org.apache.jackrabbit.oak.plugins.index.property.PropertyIndexEditorProvider;
import org.apache.jackrabbit.oak.plugins.index.property.PropertyIndexProvider;
import org.apache.jackrabbit.oak.plugins.index.solr.TestUtils;
+import
org.apache.jackrabbit.oak.plugins.index.solr.configuration.DefaultSolrConfiguration;
import
org.apache.jackrabbit.oak.plugins.index.solr.index.SolrIndexEditorProvider;
import org.apache.jackrabbit.oak.plugins.nodetype.write.InitialContent;
import org.apache.jackrabbit.oak.query.AbstractQueryTest;
@@ -529,4 +530,27 @@ public class SolrIndexQueryTestIT extend
assertEquals("/content/a", results.next());
assertFalse(results.hasNext());
}
+
+ @Test
+ @Ignore("need to be able to inject configuration")
+ public void testCollapsedJcrContentNodeDescandants() throws Exception {
+ Tree test = root.getTree("/").addChild("test");
+ Tree content = test.addChild("content");
+ Tree content1 = content.addChild("sample1").addChild("jcr:content");
+ content1.setProperty("foo", "bar");
+ content1.addChild("text").setProperty("text", "bar");
+ Tree content2 = content.addChild("sample2").addChild("jcr:content");
+ content2.setProperty("foo", "bar");
+ content2.addChild("text").setProperty("text", "bar");
+ root.commit();
+
+ String xpath = "/jcr:root/test/content//element(*,
nt:base)[jcr:contains(., 'bar')]";
+
+ Iterator<String> result = executeQuery(xpath, XPATH).iterator();
+ assertTrue(result.hasNext());
+ assertEquals("/test/content/sample1/jcr:content", result.next());
+ assertTrue(result.hasNext());
+ assertEquals("/test/content/sample2/jcr:content", result.next());
+ assertFalse(result.hasNext());
+ }
}