package org.javalite.app_config; import org.javalite.test.jspec.JSpecSupport; import org.junit.FixMethodOrder; import org.junit.Test; import org.junit.runners.MethodSorters; import static org.javalite.app_config.AppConfig.p; @FixMethodOrder(MethodSorters.NAME_ASCENDING) public class AppConfigTest implements JSpecSupport { @Test public void should_A_GetNameInDevelopmentEnv() { the(p("first.name")).shouldBeEqual("John"); } @Test public void should_B_ReadAsMapFromDevelopmentFile() { the(new AppConfig().get("first.name")).shouldBeEqual("John"); } @Test public void should_C_FindPropertiesWithPrefix(){ the(AppConfig.getProperties("prop")).shouldContain("one"); the(AppConfig.getProperties("prop")).shouldContain("two"); the(AppConfig.getProperties("prop")).shouldNotContain("John"); } @Test public void should_D_FindKeysWithPrefix(){ the(AppConfig.getKeys("prop")).shouldContain("prop.1"); the(AppConfig.getKeys("prop")).shouldContain("prop.1"); the(AppConfig.getKeys("prop")).shouldNotContain("first.name"); } @Test public void should_E_OverridePropertyFromFile(){ the(AppConfig.getKeys("prop")).shouldContain("prop.1"); the(AppConfig.getKeys("prop")).shouldContain("prop.1"); the(AppConfig.getKeys("prop")).shouldNotContain("first.name"); } @Test public void should_F_OverrideFromFile(){ System.setProperty("app_config.properties", "target/test-classes/production.properties"); AppConfig.reload(); the(p("first.name")).shouldBeEqual("Larry"); } @Test public void shouldOverrideFromCode(){ AppConfig.reload(); AppConfig.setProperty("first.name", "Mike"); a(p("first.name")).shouldBeEqual("Mike"); AppConfig.reload(); a(p("first.name")).shouldBeEqual("John"); } }