Author: sseifert
Date: Sat Sep 30 07:37:56 2017
New Revision: 1810182

URL: http://svn.apache.org/viewvc?rev=1810182&view=rev
Log:
SLING-7165 more unit tests

Added:
    
sling/trunk/bundles/extensions/caconfig/impl/src/test/java/org/apache/sling/caconfig/example/ListNestedConfig.java
   (with props)
Modified:
    
sling/trunk/bundles/extensions/caconfig/impl/src/test/java/org/apache/sling/caconfig/impl/ConfigurationResolverAnnotationClassTest.java
    
sling/trunk/bundles/extensions/caconfig/impl/src/test/java/org/apache/sling/caconfig/impl/def/DefaultConfigurationPersistenceStrategyTest.java

Added: 
sling/trunk/bundles/extensions/caconfig/impl/src/test/java/org/apache/sling/caconfig/example/ListNestedConfig.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/caconfig/impl/src/test/java/org/apache/sling/caconfig/example/ListNestedConfig.java?rev=1810182&view=auto
==============================================================================
--- 
sling/trunk/bundles/extensions/caconfig/impl/src/test/java/org/apache/sling/caconfig/example/ListNestedConfig.java
 (added)
+++ 
sling/trunk/bundles/extensions/caconfig/impl/src/test/java/org/apache/sling/caconfig/example/ListNestedConfig.java
 Sat Sep 30 07:37:56 2017
@@ -0,0 +1,32 @@
+/*
+ * 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.sling.caconfig.example;
+
+import org.apache.sling.caconfig.annotation.Configuration;
+
+@Configuration(collection = true)
+public @interface ListNestedConfig {
+
+    String stringParam();
+    
+    int intParam();
+
+    ListConfig[] subListConfig();
+    
+}

Propchange: 
sling/trunk/bundles/extensions/caconfig/impl/src/test/java/org/apache/sling/caconfig/example/ListNestedConfig.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
sling/trunk/bundles/extensions/caconfig/impl/src/test/java/org/apache/sling/caconfig/example/ListNestedConfig.java
------------------------------------------------------------------------------
--- svn:keywords (added)
+++ svn:keywords Sat Sep 30 07:37:56 2017
@@ -0,0 +1 @@
+LastChangedDate LastChangedRevision LastChangedBy HeadURL Id Author

Propchange: 
sling/trunk/bundles/extensions/caconfig/impl/src/test/java/org/apache/sling/caconfig/example/ListNestedConfig.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: 
sling/trunk/bundles/extensions/caconfig/impl/src/test/java/org/apache/sling/caconfig/impl/ConfigurationResolverAnnotationClassTest.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/caconfig/impl/src/test/java/org/apache/sling/caconfig/impl/ConfigurationResolverAnnotationClassTest.java?rev=1810182&r1=1810181&r2=1810182&view=diff
==============================================================================
--- 
sling/trunk/bundles/extensions/caconfig/impl/src/test/java/org/apache/sling/caconfig/impl/ConfigurationResolverAnnotationClassTest.java
 (original)
+++ 
sling/trunk/bundles/extensions/caconfig/impl/src/test/java/org/apache/sling/caconfig/impl/ConfigurationResolverAnnotationClassTest.java
 Sat Sep 30 07:37:56 2017
@@ -35,6 +35,7 @@ import org.apache.sling.api.resource.Res
 import org.apache.sling.caconfig.ConfigurationResolveException;
 import org.apache.sling.caconfig.ConfigurationResolver;
 import org.apache.sling.caconfig.example.ListConfig;
+import org.apache.sling.caconfig.example.ListNestedConfig;
 import org.apache.sling.caconfig.example.NestedConfig;
 import org.apache.sling.caconfig.example.SimpleConfig;
 import org.apache.sling.testing.mock.sling.junit.SlingContext;
@@ -141,17 +142,52 @@ public class ConfigurationResolverAnnota
     public void testConfig_List() {
         
context.build().resource("/conf/content/site1/sling:configs/org.apache.sling.caconfig.example.ListConfig")
             .siblingsMode()
-            .resource("1", "stringParam", "configValue1.1")
-            .resource("2", "stringParam", "configValue1.2")
-            .resource("3", "stringParam", "configValue1.3");
+            .resource("1", "stringParam", "value1")
+            .resource("2", "stringParam", "value2")
+            .resource("3", "stringParam", "value3");
 
         Collection<ListConfig> cfgList = 
underTest.get(site1Page1).asCollection(ListConfig.class);
 
         assertEquals(3, cfgList.size());
         Iterator<ListConfig> cfgIterator = cfgList.iterator();
-        assertEquals("configValue1.1", cfgIterator.next().stringParam());
-        assertEquals("configValue1.2", cfgIterator.next().stringParam());
-        assertEquals("configValue1.3", cfgIterator.next().stringParam());
+        assertEquals("value1", cfgIterator.next().stringParam());
+        assertEquals("value2", cfgIterator.next().stringParam());
+        assertEquals("value3", cfgIterator.next().stringParam());
+    }
+
+    @Test
+    public void testConfig_List_Nested() {
+        
context.build().resource("/conf/content/site1/sling:configs/org.apache.sling.caconfig.example.ListNestedConfig")
+            .siblingsMode()
+            .resource("1", "stringParam", "value1")
+            .resource("2", "stringParam", "value2")
+            .resource("3", "stringParam", "value3");
+        
context.build().resource("/conf/content/site1/sling:configs/org.apache.sling.caconfig.example.ListNestedConfig/1/subListConfig")
+            .siblingsMode()
+            .resource("1", "stringParam", "value11")
+            .resource("2", "stringParam", "value12");
+        
context.build().resource("/conf/content/site1/sling:configs/org.apache.sling.caconfig.example.ListNestedConfig/2/subListConfig")
+            .siblingsMode()
+            .resource("1", "stringParam", "value21");
+
+        List<ListNestedConfig> cfgList = 
ImmutableList.copyOf(underTest.get(site1Page1).asCollection(ListNestedConfig.class));
+
+        assertEquals(3, cfgList.size());
+        
+        ListNestedConfig config1 = cfgList.get(0);
+        assertEquals("value1", config1.stringParam());
+        assertEquals(2, config1.subListConfig().length);
+        assertEquals("value11", config1.subListConfig()[0].stringParam());
+        assertEquals("value12", config1.subListConfig()[1].stringParam());
+        
+        ListNestedConfig config2 = cfgList.get(1);
+        assertEquals("value2", config2.stringParam());
+        assertEquals(1, config2.subListConfig().length);
+        assertEquals("value21", config2.subListConfig()[0].stringParam());
+
+        ListNestedConfig config3 = cfgList.get(2);
+        assertEquals("value3", config3.stringParam());
+        assertEquals(0, config3.subListConfig().length);
     }
 
     @Test

Modified: 
sling/trunk/bundles/extensions/caconfig/impl/src/test/java/org/apache/sling/caconfig/impl/def/DefaultConfigurationPersistenceStrategyTest.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/caconfig/impl/src/test/java/org/apache/sling/caconfig/impl/def/DefaultConfigurationPersistenceStrategyTest.java?rev=1810182&r1=1810181&r2=1810182&view=diff
==============================================================================
--- 
sling/trunk/bundles/extensions/caconfig/impl/src/test/java/org/apache/sling/caconfig/impl/def/DefaultConfigurationPersistenceStrategyTest.java
 (original)
+++ 
sling/trunk/bundles/extensions/caconfig/impl/src/test/java/org/apache/sling/caconfig/impl/def/DefaultConfigurationPersistenceStrategyTest.java
 Sat Sep 30 07:37:56 2017
@@ -152,13 +152,13 @@ public class DefaultConfigurationPersist
         ));
 
         // store nested items
-        
assertTrue(underTest.persistConfigurationCollection(context.resourceResolver(), 
"/conf/test/item1",
+        
assertTrue(underTest.persistConfigurationCollection(context.resourceResolver(), 
"/conf/test/item1/subList",
                 new ConfigurationCollectionPersistData(ImmutableList.of(
                         new 
ConfigurationPersistData(ImmutableMap.<String,Object>of("prop1", 
"value11")).collectionItemName("sub1"),
                         new 
ConfigurationPersistData(ImmutableMap.<String,Object>of("prop1", 
"value12")).collectionItemName("sub2")
                 ))
         ));
-        
assertTrue(underTest.persistConfigurationCollection(context.resourceResolver(), 
"/conf/test/item2",
+        
assertTrue(underTest.persistConfigurationCollection(context.resourceResolver(), 
"/conf/test/item2/subList",
                 new ConfigurationCollectionPersistData(ImmutableList.of(
                         new 
ConfigurationPersistData(ImmutableMap.<String,Object>of("prop1", 
"value21")).collectionItemName("sub1")
                 ))
@@ -171,13 +171,13 @@ public class DefaultConfigurationPersist
         assertThat(resource, ResourceMatchers.containsChildren("item1", 
"item2"));
 
         assertThat(resource.getChild("item1"), ResourceMatchers.props("prop1", 
"value1"));
-        assertThat(resource.getChild("item1"), 
ResourceMatchers.containsChildren("sub1", "sub2"));
-        assertThat(resource.getChild("item1/sub1"), 
ResourceMatchers.props("prop1", "value11"));
-        assertThat(resource.getChild("item1/sub2"), 
ResourceMatchers.props("prop1", "value12"));
+        assertThat(resource.getChild("item1/subList"), 
ResourceMatchers.containsChildren("sub1", "sub2"));
+        assertThat(resource.getChild("item1/subList/sub1"), 
ResourceMatchers.props("prop1", "value11"));
+        assertThat(resource.getChild("item1/subList/sub2"), 
ResourceMatchers.props("prop1", "value12"));
         
         assertThat(resource.getChild("item2"), ResourceMatchers.props("prop1", 
"value2"));
-        assertThat(resource.getChild("item2"), 
ResourceMatchers.containsChildren("sub1"));
-        assertThat(resource.getChild("item2/sub1"), 
ResourceMatchers.props("prop1", "value21"));
+        assertThat(resource.getChild("item2/subList"), 
ResourceMatchers.containsChildren("sub1"));
+        assertThat(resource.getChild("item2/subList/sub1"), 
ResourceMatchers.props("prop1", "value21"));
 
 
         // update config collection items
@@ -194,13 +194,13 @@ public class DefaultConfigurationPersist
         assertThat(resource, ResourceMatchers.containsChildren("item1", 
"item2", "item3"));
 
         assertThat(resource.getChild("item1"), ResourceMatchers.props("prop1", 
"value1-new"));
-        assertThat(resource.getChild("item1"), 
ResourceMatchers.containsChildren("sub1", "sub2"));
-        assertThat(resource.getChild("item1/sub1"), 
ResourceMatchers.props("prop1", "value11"));
-        assertThat(resource.getChild("item1/sub2"), 
ResourceMatchers.props("prop1", "value12"));
+        assertThat(resource.getChild("item1/subList"), 
ResourceMatchers.containsChildren("sub1", "sub2"));
+        assertThat(resource.getChild("item1/subList/sub1"), 
ResourceMatchers.props("prop1", "value11"));
+        assertThat(resource.getChild("item1/subList/sub2"), 
ResourceMatchers.props("prop1", "value12"));
         
         assertThat(resource.getChild("item2"), ResourceMatchers.props("prop1", 
"value2-new"));
-        assertThat(resource.getChild("item2"), 
ResourceMatchers.containsChildren("sub1"));
-        assertThat(resource.getChild("item2/sub1"), 
ResourceMatchers.props("prop1", "value21"));
+        assertThat(resource.getChild("item2/subList"), 
ResourceMatchers.containsChildren("sub1"));
+        assertThat(resource.getChild("item2/subList/sub1"), 
ResourceMatchers.props("prop1", "value21"));
 
         assertThat(resource.getChild("item3"), ResourceMatchers.props("prop1", 
"value3-new"));
         assertFalse(resource.getChild("item3").listChildren().hasNext());


Reply via email to