You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by cz...@apache.org on 2016/08/04 11:40:52 UTC

svn commit: r1755173 - /sling/trunk/contrib/extensions/context-aware-config/impl/src/test/java/org/apache/sling/contextaware/resource/impl/ConfigurationResourceResolverImplTest.java

Author: cziegeler
Date: Thu Aug  4 11:40:52 2016
New Revision: 1755173

URL: http://svn.apache.org/viewvc?rev=1755173&view=rev
Log:
Add basic tests for resource resolving

Modified:
    sling/trunk/contrib/extensions/context-aware-config/impl/src/test/java/org/apache/sling/contextaware/resource/impl/ConfigurationResourceResolverImplTest.java

Modified: sling/trunk/contrib/extensions/context-aware-config/impl/src/test/java/org/apache/sling/contextaware/resource/impl/ConfigurationResourceResolverImplTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/context-aware-config/impl/src/test/java/org/apache/sling/contextaware/resource/impl/ConfigurationResourceResolverImplTest.java?rev=1755173&r1=1755172&r2=1755173&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/context-aware-config/impl/src/test/java/org/apache/sling/contextaware/resource/impl/ConfigurationResourceResolverImplTest.java (original)
+++ sling/trunk/contrib/extensions/context-aware-config/impl/src/test/java/org/apache/sling/contextaware/resource/impl/ConfigurationResourceResolverImplTest.java Thu Aug  4 11:40:52 2016
@@ -19,6 +19,11 @@
 package org.apache.sling.contextaware.resource.impl;
 
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Set;
 
 import org.apache.sling.api.resource.Resource;
 import org.apache.sling.contextaware.resource.ConfigurationResourceResolver;
@@ -27,6 +32,8 @@ import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
 
+import com.google.common.collect.ImmutableMap;
+
 public class ConfigurationResourceResolverImplTest {
 
     @Rule
@@ -42,8 +49,21 @@ public class ConfigurationResourceResolv
         underTest = context.registerInjectActivateService(new ConfigurationResourceResolverImpl());
 
         // content resources
-        site1Page1 = context.create().resource("/content/site1/page1");
-        site2Page1 = context.create().resource("/content/site2/page1");
+        site1Page1 = context.create().resource("/content/site1/page1", ImmutableMap.<String, Object>builder()
+                .put("sling:config", "/config/site1")
+                .build());
+        site2Page1 = context.create().resource("/content/site2/page1", ImmutableMap.<String, Object>builder()
+                .put("sling:config", "/config/site2")
+                .build());
+
+        // configuration
+        context.create().resource("/libs/test");
+        context.create().resource("/config/site1/test");
+        context.create().resource("/apps/feature/a");
+        context.create().resource("/libs/feature/b");
+        context.create().resource("/config/site1/feature/c");
+        context.create().resource("/config/site2/feature/c");
+        context.create().resource("/config/site2/feature/d");
     }
 
     @Test
@@ -52,4 +72,34 @@ public class ConfigurationResourceResolv
         assertEquals("/content/site2", underTest.getContextPath(site2Page1));
     }
 
+    @Test
+    public void testGetResource() {
+        assertEquals("/config/site1/test", underTest.getResource(site1Page1, "test").getPath());
+        assertEquals("/libs/test", underTest.getResource(site2Page1, "test").getPath());
+    }
+
+    @Test
+    public void testGetResourceCollection() {
+        final Collection<Resource> col1 = underTest.getResourceCollection(site1Page1, "feature");
+        assertEquals(3, col1.size());
+        final Set<String> expectedPaths = new HashSet<>();
+        expectedPaths.add("/config/site1/feature/c");
+        expectedPaths.add("/apps/feature/a");
+        expectedPaths.add("/libs/feature/b");
+
+        for(final Resource rsrc : col1) {
+            assertTrue(expectedPaths.remove(rsrc.getPath()));
+        }
+
+        final Collection<Resource> col2 = underTest.getResourceCollection(site2Page1, "feature");
+        assertEquals(4, col2.size());
+        expectedPaths.add("/config/site2/feature/d");
+        expectedPaths.add("/config/site2/feature/c");
+        expectedPaths.add("/apps/feature/a");
+        expectedPaths.add("/libs/feature/b");
+
+        for(final Resource rsrc : col2) {
+            assertTrue(expectedPaths.remove(rsrc.getPath()));
+        }
+    }
 }