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


Reply via email to