package io.ebean.config; import io.ebean.Platform; import org.junit.Test; import java.util.Properties; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNull; public class PropertiesWrapperTest { @Test public void testGetServerName() throws Exception { PropertiesWrapper pw = new PropertiesWrapper(null, "myserver", new Properties()); assertEquals("myserver", pw.getServerName()); } @Test public void testGetEnum() { Properties properties = new Properties(); properties.put("platform", "postgres"); PropertiesWrapper pw = new PropertiesWrapper("pref", "myserver", properties); assertEquals(Platform.POSTGRES, pw.getEnum(Platform.class, "platform", Platform.H2)); assertEquals(Platform.H2, pw.getEnum(Platform.class, "junk", Platform.H2)); assertNull(pw.getEnum(Platform.class, "junk", null)); } @Test public void testTrimPropertyValues() { Properties properties = new Properties(); properties.put("someBasic", " hello "); properties.put("someInt", " 42 "); properties.put("noTrimReqr", "jim"); properties.put("includeSpaces", " jim bob "); PropertiesWrapper pw = new PropertiesWrapper("pref", "myserver", properties); assertEquals("hello", pw.get("someBasic")); assertEquals(42, pw.getInt("someInt", 1)); assertNull(pw.get("doesNotExist", null)); assertEquals("jim", pw.get("noTrimReqr")); assertEquals("jim bob", pw.get("includeSpaces")); } @Test public void testGetProperties() throws Exception { String home = System.getenv("HOME"); String tmpDir = System.getProperty("java.io.tmpdir"); Properties properties = new Properties(); properties.put("someBasic", "hello"); properties.put("someInt", "42"); properties.put("someDouble", "5.5"); properties.put("somePath", "${HOME}/hello"); properties.put("someSystemProp", "/aaa/${java.io.tmpdir}/bbb"); PropertiesWrapper pw = new PropertiesWrapper("pref", "myserver", properties); assertEquals(42, pw.getInt("someInt", 99)); assertEquals(Double.valueOf(5.5D), (Double.valueOf(pw.getDouble("someDouble", 99.9D)))); assertEquals(home + "/hello", pw.get("somePath", null)); assertEquals(tmpDir, "/aaa/" + tmpDir + "/bbb", pw.get("someSystemProp")); Properties properties1 = pw.asPropertiesLowerCase(); assertEquals("hello", properties1.getProperty("somebasic")); assertEquals("42", properties1.getProperty("someint")); assertEquals(home + "/hello", properties1.get("somepath")); assertEquals(tmpDir, "/aaa/" + tmpDir + "/bbb", properties1.get("somesystemprop")); pw = new PropertiesWrapper(properties); assertEquals(42, pw.getInt("someInt", 99)); assertEquals(Double.valueOf(5.5D), (Double.valueOf(pw.getDouble("someDouble", 99.9D)))); assertEquals(home + "/hello", pw.get("somePath", null)); assertEquals(tmpDir, "/aaa/" + tmpDir + "/bbb", pw.get("someSystemProp")); properties1 = pw.asPropertiesLowerCase(); assertEquals("hello", properties1.getProperty("somebasic")); assertEquals("42", properties1.getProperty("someint")); assertEquals(home + "/hello", properties1.get("somepath")); assertEquals(tmpDir, "/aaa/" + tmpDir + "/bbb", properties1.get("somesystemprop")); } }