package com.celements.configuration; import static com.celements.common.test.CelementsTestUtils.*; import static org.easymock.EasyMock.*; import static org.junit.Assert.*; import org.junit.Before; import org.junit.Test; import org.xwiki.component.descriptor.DefaultComponentDescriptor; import org.xwiki.configuration.ConfigurationSource; import com.celements.common.test.AbstractComponentTest; import com.xpn.xwiki.web.Utils; public class CelementsDefaultConfigurationSourceTest extends AbstractComponentTest { private CelementsDefaultConfigurationSource cfgSrc; @Before public void setUp() throws Exception { super.setUp(); Utils.getComponentManager().unregisterComponent(ConfigurationSource.class, "default"); CelementsDefaultConfigurationSource instance = new CelementsDefaultConfigurationSource(); instance.spacePreferencesSource = createMockAndAddToDefault(ConfigurationSource.class); instance.wikiPreferencesSource = createMockAndAddToDefault(ConfigurationSource.class); instance.celementsPropertiesSource = createMockAndAddToDefault(ConfigurationSource.class); instance.xwikiPropertiesSource = createMockAndAddToDefault(ConfigurationSource.class); instance.initialize(); DefaultComponentDescriptor<ConfigurationSource> descriptor = new DefaultComponentDescriptor<ConfigurationSource>(); descriptor.setRole(ConfigurationSource.class); descriptor.setRoleHint("default"); Utils.getComponentManager().registerComponent(descriptor, instance); cfgSrc = (CelementsDefaultConfigurationSource) Utils.getComponent(ConfigurationSource.class); } @Test public void test_getProperty_none() throws Exception { String key = "key"; expect(cfgSrc.spacePreferencesSource.containsKey(eq(key))).andReturn(false).once(); expect(cfgSrc.wikiPreferencesSource.containsKey(eq(key))).andReturn(false).once(); expect(cfgSrc.celementsPropertiesSource.containsKey(eq(key))).andReturn(false).once(); expect(cfgSrc.xwikiPropertiesSource.containsKey(eq(key))).andReturn(false).once(); replayDefault(); assertNull(cfgSrc.getProperty(key)); verifyDefault(); } @Test public void test_getProperty_fromCel() throws Exception { String key = "key"; String val = "val"; expect(cfgSrc.spacePreferencesSource.containsKey(eq(key))).andReturn(false).once(); expect(cfgSrc.wikiPreferencesSource.containsKey(eq(key))).andReturn(false).once(); expect(cfgSrc.celementsPropertiesSource.containsKey(eq(key))).andReturn(true).once(); expect(cfgSrc.celementsPropertiesSource.getProperty(eq(key))).andReturn(val).once(); replayDefault(); assertEquals(val, cfgSrc.getProperty(key)); verifyDefault(); } }