package humanize.config; import java.net.URL; import java.util.Properties; import org.testng.Assert; import org.testng.annotations.Test; import com.google.common.cache.CacheBuilderSpec; public class TestConfigLoader { @Test public void defaultsTests() { Properties p = ConfigLoader.loadProperties("inexistent.properties"); Assert.assertNotNull(p); String specStr = p.getProperty(ConfigLoader.CACHE_BUILDER_SPEC); Assert.assertEquals(specStr, "expireAfterAccess=1h"); CacheBuilderSpec spec = CacheBuilderSpec.parse(specStr); Assert.assertNotNull(spec); } @Test public void loadTest() { Properties p = ConfigLoader.loadProperties(); Assert.assertNotNull(p); String specStr = p.getProperty(ConfigLoader.CACHE_BUILDER_SPEC); Assert.assertEquals(specStr, "expireAfterAccess=15m"); CacheBuilderSpec spec = CacheBuilderSpec.parse(specStr); Assert.assertNotNull(spec); } @Test public void locateTest() { URL url = ConfigLoader.locateConfig("humanize.properties"); Assert.assertNotNull(url); Assert.assertTrue(url.toExternalForm().endsWith("humanize.properties")); } @Test public void systemPropertyTest() { System.setProperty("humanize.config", "humanize.alt.properties"); Properties p = ConfigLoader.loadProperties(); Assert.assertNotNull(p); String specStr = p.getProperty(ConfigLoader.CACHE_BUILDER_SPEC); Assert.assertEquals(specStr, "expireAfterAccess=30m"); CacheBuilderSpec spec = CacheBuilderSpec.parse(specStr); Assert.assertNotNull(spec); } @Test(expectedExceptions = IllegalArgumentException.class) public void unparseableSpecTest() { CacheBuilderSpec.parse("bla blablaba !"); } }