Search in sources :

Example 6 with ConfigurationData

use of org.apache.sling.caconfig.management.ConfigurationData in project sling by apache.

the class ConfigurationManagerImplTest method testGetConfiguration_WithOverride.

@Test
public void testGetConfiguration_WithOverride() {
    context.registerService(ConfigurationOverrideProvider.class, new DummyConfigurationOverrideProvider("[/content]" + CONFIG_NAME + "={\"prop1\":\"override1\"}"));
    ConfigurationData configData = underTest.getConfiguration(contextResource, CONFIG_NAME);
    assertNotNull(configData);
    assertFalse(configData.isInherited());
    assertTrue(configData.isOverridden());
    assertEquals(ImmutableSet.of("prop1", "prop2", "prop3"), configData.getPropertyNames());
    assertEquals("value1", configData.getValues().get("prop1", String.class));
    assertEquals("override1", configData.getEffectiveValues().get("prop1", String.class));
    assertEquals((Integer) 5, configData.getEffectiveValues().get("prop3", 0));
    assertFalse(configData.getValueInfo("prop1").isInherited());
    assertTrue(configData.getValueInfo("prop1").isOverridden());
    assertFalse(configData.getValueInfo("prop3").isInherited());
    assertTrue(configData.getValueInfo("prop3").isOverridden());
}
Also used : ConfigurationData(org.apache.sling.caconfig.management.ConfigurationData) DummyConfigurationOverrideProvider(org.apache.sling.caconfig.impl.override.DummyConfigurationOverrideProvider) Test(org.junit.Test)

Example 7 with ConfigurationData

use of org.apache.sling.caconfig.management.ConfigurationData in project sling by apache.

the class ConfigurationManagerImplTest method testGetConfigurationCollection_WithResourceCollectionInheritance.

@Test
public void testGetConfigurationCollection_WithResourceCollectionInheritance() {
    ConfigurationCollectionData configCollectionData = underTest.getConfigurationCollection(contextResourceLevel2, CONFIG_COL_NAME);
    List<ConfigurationData> configDatas = ImmutableList.copyOf(configCollectionData.getItems());
    assertEquals(2, configDatas.size());
    ConfigurationData configData1 = configDatas.get(0);
    assertFalse(configData1.isInherited());
    assertEquals(ImmutableSet.of("prop1", "prop2", "prop3"), configData1.getPropertyNames());
    assertEquals("value1_level2", configData1.getValues().get("prop1", String.class));
    assertEquals("value1_level2", configData1.getEffectiveValues().get("prop1", String.class));
    assertEquals((Integer) 5, configData1.getEffectiveValues().get("prop3", 0));
    String configPath1 = getConfigCollectionItemResolvePath(getConfigCollectionParentResolvePath("/conf/test/level2/sling:configs/" + CONFIG_COL_NAME) + "/1");
    assertFalse(configData1.getValueInfo("prop1").isInherited());
    assertEquals(configPath1, configData1.getValueInfo("prop1").getConfigSourcePath());
    assertFalse(configData1.getValueInfo("prop3").isInherited());
    assertNull(configData1.getValueInfo("prop3").getConfigSourcePath());
    ConfigurationData configData2 = configDatas.get(1);
    assertTrue(configData2.isInherited());
    assertEquals(ImmutableSet.of("prop1", "prop2", "prop3", "prop4"), configData2.getPropertyNames());
    assertNull(configData2.getValues().get("prop1", String.class));
    assertEquals((Integer) 5, configData2.getEffectiveValues().get("prop3", 0));
    String configPath2 = getConfigCollectionItemResolvePath(getConfigCollectionParentResolvePath("/conf/test/sling:configs/" + CONFIG_COL_NAME) + "/2");
    assertTrue(configData2.getValueInfo("prop4").isInherited());
    assertEquals(configPath2, configData2.getValueInfo("prop4").getConfigSourcePath());
    assertFalse(configData2.getValueInfo("prop3").isInherited());
    assertNull(configData2.getValueInfo("prop3").getConfigSourcePath());
    assertTrue((Boolean) configCollectionData.getProperties().get(ConfigurationResourceNameConstants.PROPERTY_CONFIG_COLLECTION_INHERIT));
}
Also used : ConfigurationCollectionData(org.apache.sling.caconfig.management.ConfigurationCollectionData) ConfigurationData(org.apache.sling.caconfig.management.ConfigurationData) Test(org.junit.Test)

Example 8 with ConfigurationData

use of org.apache.sling.caconfig.management.ConfigurationData in project sling by apache.

the class ConfigurationManagerImplTest method testDeleteConfiguration.

@Test
public void testDeleteConfiguration() throws Exception {
    underTest.deleteConfiguration(contextResource, CONFIG_NAME);
    ConfigurationData configData = underTest.getConfiguration(contextResource, CONFIG_NAME);
    assertEquals(ImmutableSet.of("prop1", "prop2", "prop3"), configData.getPropertyNames());
    assertNull(configData.getValues().get("prop1", String.class));
    assertEquals("defValue", configData.getEffectiveValues().get("prop1", String.class));
    assertNull(configData.getValues().get("prop2", String.class));
    assertNull(configData.getEffectiveValues().get("prop2", String.class));
    assertNull(configData.getValues().get("prop3", Integer.class));
    assertEquals((Integer) 5, configData.getEffectiveValues().get("prop3", Integer.class));
}
Also used : ConfigurationData(org.apache.sling.caconfig.management.ConfigurationData) Test(org.junit.Test)

Example 9 with ConfigurationData

use of org.apache.sling.caconfig.management.ConfigurationData in project sling by apache.

the class ConfigurationManagerImplTest method testNewCollectionItem_NoConfigMetadata.

@Test
public void testNewCollectionItem_NoConfigMetadata() {
    when(configurationMetadataProvider.getConfigurationMetadata(CONFIG_COL_NAME)).thenReturn(null);
    ConfigurationData newItem = underTest.newCollectionItem(contextResource, CONFIG_COL_NAME);
    assertNull(newItem);
}
Also used : ConfigurationData(org.apache.sling.caconfig.management.ConfigurationData) Test(org.junit.Test)

Example 10 with ConfigurationData

use of org.apache.sling.caconfig.management.ConfigurationData in project sling by apache.

the class ConfigurationManagerImplTest method testNewCollectionItem_Nested_SubList.

@Test
public void testNewCollectionItem_Nested_SubList() {
    ConfigurationData configData = underTest.newCollectionItem(contextResource, getConfigResolvePath(CONFIG_NESTED_NAME) + "/propSubList");
    assertEquals(getConfigResolvePath(CONFIG_NESTED_NAME) + "/propSubList", configData.getConfigName());
    assertNull(configData.getValues().get("prop1", String.class));
    assertEquals("defValueSubList", configData.getEffectiveValues().get("prop1", String.class));
}
Also used : ConfigurationData(org.apache.sling.caconfig.management.ConfigurationData) Test(org.junit.Test)

Aggregations

ConfigurationData (org.apache.sling.caconfig.management.ConfigurationData)34 Test (org.junit.Test)31 ValueMap (org.apache.sling.api.resource.ValueMap)5 ConfigurationCollectionData (org.apache.sling.caconfig.management.ConfigurationCollectionData)4 ConfigurationMetadata (org.apache.sling.caconfig.spi.metadata.ConfigurationMetadata)4 Resource (org.apache.sling.api.resource.Resource)3 DummyConfigurationOverrideProvider (org.apache.sling.caconfig.impl.override.DummyConfigurationOverrideProvider)2 ConfigurationPersistData (org.apache.sling.caconfig.spi.ConfigurationPersistData)2 ArrayList (java.util.ArrayList)1 Collection (java.util.Collection)1 Iterator (java.util.Iterator)1 ResettableIterator (org.apache.commons.collections.ResettableIterator)1 ListIteratorWrapper (org.apache.commons.collections.iterators.ListIteratorWrapper)1 ResourceResolver (org.apache.sling.api.resource.ResourceResolver)1 ContextResource (org.apache.sling.caconfig.resource.spi.ContextResource)1 ConfigurationCollectionPersistData (org.apache.sling.caconfig.spi.ConfigurationCollectionPersistData)1