Skip to content

Commit 36f8414

Browse files
committed
Fix test case for changed paths in config origins.
1 parent 4bfc25d commit 36f8414

File tree

1 file changed

+42
-23
lines changed

1 file changed

+42
-23
lines changed

jooby/src/test/java/io/jooby/EnvironmentTest.java

Lines changed: 42 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -13,46 +13,51 @@
1313
import java.util.Map;
1414
import java.util.Properties;
1515
import java.util.function.BiConsumer;
16+
import java.util.function.Predicate;
1617

1718
import static java.util.Arrays.asList;
1819
import static org.junit.jupiter.api.Assertions.assertEquals;
20+
import static org.junit.jupiter.api.Assertions.assertTrue;
1921

2022
public class EnvironmentTest {
2123

2224
@Test
2325
public void defaultEnv() {
2426

2527
env("foo", (env, conf) -> {
26-
assertEquals("[dev]\n"
27-
+ "└── system properties\n"
28-
+ " └── env variables\n"
29-
+ " └── classpath://env/foo/application.conf\n"
30-
+ " └── defaults", env.toString());
28+
assertEnvMatches(env,
29+
"[dev]"::equals,
30+
"└── system properties"::equals,
31+
" └── env variables"::equals,
32+
pathEndsMatch("env/foo/application.conf"),
33+
" └── defaults"::equals);
3134
assertEquals("[dev]", env.getActiveNames().toString());
3235
assertEquals(System.getProperty("user.dir"), conf.getString("user.dir"));
3336
assertEquals("bar", conf.getString("foo"));
3437
assertEquals(asList("a", "b", "c"), conf.getStringList("letters"));
3538
});
3639

3740
env("foo", mapOf("application.env", "PROD"), (env, conf) -> {
38-
assertEquals("[prod]\n"
39-
+ "└── system properties\n"
40-
+ " └── env variables\n"
41-
+ " └── classpath://env/foo/application.prod.conf\n"
42-
+ " └── classpath://env/foo/application.conf\n"
43-
+ " └── defaults", env.toString());
41+
assertEnvMatches(env,
42+
"[prod]"::equals,
43+
"└── system properties"::equals,
44+
" └── env variables"::equals,
45+
pathEndsMatch("env/foo/application.prod.conf"),
46+
pathEndsMatch("env/foo/application.conf"),
47+
" └── defaults"::equals);
4448
assertEquals("[prod]", env.getActiveNames().toString());
4549
assertEquals("bazz", conf.getString("foo"));
4650
assertEquals(asList("a", "b", "c"), conf.getStringList("letters"));
4751
});
4852

4953
env("foo", mapOf("application.env", "Test, bar"), (env, conf) -> {
50-
assertEquals("[test, bar]\n"
51-
+ "└── system properties\n"
52-
+ " └── env variables\n"
53-
+ " └── classpath://env/foo/application.test.conf\n"
54-
+ " └── classpath://env/foo/application.bar.conf\n"
55-
+ " └── defaults", env.toString());
54+
assertEnvMatches(env,
55+
"[test, bar]"::equals,
56+
"└── system properties"::equals,
57+
" └── env variables"::equals,
58+
pathEndsMatch("env/foo/application.test.conf"),
59+
pathEndsMatch("env/foo/application.bar.conf"),
60+
" └── defaults"::equals);
5661
assertEquals("[test, bar]", env.getActiveNames().toString());
5762
assertEquals("test", conf.getString("foo"));
5863
assertEquals(asList("d"), conf.getStringList("letters"));
@@ -79,12 +84,13 @@ public void envfromfs() {
7984
.loadEnvironment(new EnvironmentOptions().setBasedir(basedir).setActiveNames("prod"));
8085
assertEquals("bazz", env.getConfig().getString("foo"));
8186
System.out.println(env.toString());
82-
assertEquals("[prod]\n"
83-
+ "└── system properties\n"
84-
+ " └── env variables\n"
85-
+ " └── "+ reldir.resolve("application.prod.conf")+"\n"
86-
+ " └── "+ reldir.resolve("application.conf")+"\n"
87-
+ " └── defaults", env.toString());
87+
assertEnvMatches(env,
88+
"[prod]"::equals,
89+
"└── system properties"::equals,
90+
" └── env variables"::equals,
91+
pathEndsMatch(reldir.resolve("application.prod.conf").toString()),
92+
pathEndsMatch(reldir.resolve("application.conf").toString()),
93+
" └── defaults"::equals);
8894
}
8995

9096
@Test
@@ -147,4 +153,17 @@ private Map<String, Object> mapOf(Object... values) {
147153
}
148154
return hash;
149155
}
156+
157+
private static Predicate<String> pathEndsMatch(String path) {
158+
return line -> line.replaceAll("\\\\", "/").endsWith(path.replaceAll("\\\\", "/"));
159+
}
160+
161+
@SafeVarargs
162+
private static void assertEnvMatches(Environment environment, Predicate<String>... predicates) {
163+
final String[] lines = environment.toString().split("\n");
164+
assertEquals(lines.length, predicates.length);
165+
for (int i = 0; i < predicates.length; ++i) {
166+
assertTrue(predicates[i].test(lines[i]), "Predicate for line nr. " + i + " should succeed.");
167+
}
168+
}
150169
}

0 commit comments

Comments
 (0)