package com.ctrip.framework.apollo.spi; import static org.hamcrest.core.IsEqual.equalTo; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertThat; import org.junit.Before; import org.junit.Test; import com.ctrip.framework.apollo.Config; import com.ctrip.framework.apollo.ConfigFile; import com.ctrip.framework.apollo.build.MockInjector; import com.ctrip.framework.apollo.core.enums.ConfigFileFormat; /** * @author Jason Song(song_s@ctrip.com) */ public class DefaultConfigRegistryTest { private DefaultConfigRegistry defaultConfigRegistry; @Before public void setUp() throws Exception { MockInjector.reset(); defaultConfigRegistry = new DefaultConfigRegistry(); } @Test public void testGetFactory() throws Exception { String someNamespace = "someName"; ConfigFactory someConfigFactory = new MockConfigFactory(); defaultConfigRegistry.register(someNamespace, someConfigFactory); assertThat("Should return the registered config factory", defaultConfigRegistry.getFactory(someNamespace), equalTo(someConfigFactory)); } @Test public void testGetFactoryWithNamespaceUnregistered() throws Exception { String someUnregisteredNamespace = "someName"; assertNull(defaultConfigRegistry.getFactory(someUnregisteredNamespace)); } public static class MockConfigFactory implements ConfigFactory { @Override public Config create(String namespace) { return null; } @Override public ConfigFile createConfigFile(String namespace, ConfigFileFormat configFileFormat) { return null; } } }