This is an automated email from the ASF dual-hosted git repository. ggregory pushed a commit to branch release-2.x in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git
commit 8dcea7ce5a6f7d8b1a10b4feb1d849dfb9bf470e Author: Gary Gregory <garydgreg...@gmail.com> AuthorDate: Sun Dec 19 10:09:31 2021 -0500 Sort members. --- .../log4j/core/lookup/StrSubstitutorTest.java | 140 ++++++++++----------- 1 file changed, 70 insertions(+), 70 deletions(-) diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/lookup/StrSubstitutorTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/lookup/StrSubstitutorTest.java index 375ff30..93ef200 100644 --- a/log4j-core/src/test/java/org/apache/logging/log4j/core/lookup/StrSubstitutorTest.java +++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/lookup/StrSubstitutorTest.java @@ -33,37 +33,17 @@ public class StrSubstitutorTest { private static final String TESTVAL = "TestValue"; - @BeforeAll - public static void before() { - System.setProperty(TESTKEY, TESTVAL); - } - @AfterAll public static void after() { System.clearProperty(TESTKEY); } - - @Test - public void testLookup() { - final Map<String, String> map = new HashMap<>(); - map.put(TESTKEY, TESTVAL); - final StrLookup lookup = new Interpolator(new MapLookup(map)); - final StrSubstitutor subst = new StrSubstitutor(lookup); - ThreadContext.put(TESTKEY, TESTVAL); - String value = subst.replace("${TestKey}-${ctx:TestKey}-${sys:TestKey}"); - assertEquals("TestValue-TestValue-TestValue", value); - value = subst.replace("${BadKey}"); - assertEquals("${BadKey}", value); - - value = subst.replace("${BadKey:-Unknown}-${ctx:BadKey:-Unknown}-${sys:BadKey:-Unknown}"); - assertEquals("Unknown-Unknown-Unknown", value); - value = subst.replace("${BadKey:-Unknown}-${ctx:BadKey}-${sys:BadKey:-Unknown}"); - assertEquals("Unknown-${ctx:BadKey}-Unknown", value); - value = subst.replace("${BadKey:-Unknown}-${ctx:BadKey:-}-${sys:BadKey:-Unknown}"); - assertEquals("Unknown--Unknown", value); + @BeforeAll + public static void before() { + System.setProperty(TESTKEY, TESTVAL); } + @Test public void testDefault() { final Map<String, String> map = new HashMap<>(); @@ -106,34 +86,54 @@ public class StrSubstitutorTest { } @Test - public void testRecursiveSubstitution() { + public void testLookup() { final Map<String, String> map = new HashMap<>(); - map.put("first", "${ctx:first}"); - map.put("second", "secondValue"); + map.put(TESTKEY, TESTVAL); final StrLookup lookup = new Interpolator(new MapLookup(map)); final StrSubstitutor subst = new StrSubstitutor(lookup); - subst.setRecursiveEvaluationAllowed(true); - assertEquals("${ctx:first} and secondValue", subst.replace("${ctx:first} and ${ctx:second}")); + ThreadContext.put(TESTKEY, TESTVAL); + String value = subst.replace("${TestKey}-${ctx:TestKey}-${sys:TestKey}"); + assertEquals("TestValue-TestValue-TestValue", value); + value = subst.replace("${BadKey}"); + assertEquals("${BadKey}", value); + + value = subst.replace("${BadKey:-Unknown}-${ctx:BadKey:-Unknown}-${sys:BadKey:-Unknown}"); + assertEquals("Unknown-Unknown-Unknown", value); + value = subst.replace("${BadKey:-Unknown}-${ctx:BadKey}-${sys:BadKey:-Unknown}"); + assertEquals("Unknown-${ctx:BadKey}-Unknown", value); + value = subst.replace("${BadKey:-Unknown}-${ctx:BadKey:-}-${sys:BadKey:-Unknown}"); + assertEquals("Unknown--Unknown", value); } @Test - public void testRecursiveWithDefault() { + public void testLookupsNestedWithoutRecursiveEvaluation() { final Map<String, String> map = new HashMap<>(); - map.put("first", "${ctx:first:-default}"); + map.put("first", "${java:version}"); final StrLookup lookup = new Interpolator(new MapLookup(map)); final StrSubstitutor subst = new StrSubstitutor(lookup); - subst.setRecursiveEvaluationAllowed(true); - assertEquals("default", subst.replace("${ctx:first}")); + subst.setRecursiveEvaluationAllowed(false); + assertEquals("${java:version}", subst.replace("${${lower:C}t${lower:X}:first}")); } @Test - public void testRecursiveWithRecursiveDefault() { - final Map<String, String> map = new HashMap<>(); - map.put("first", "${ctx:first:-${ctx:first}}"); - final StrLookup lookup = new Interpolator(new MapLookup(map)); - final StrSubstitutor subst = new StrSubstitutor(lookup); - subst.setRecursiveEvaluationAllowed(true); - assertEquals("${ctx:first}", subst.replace("${ctx:first}")); + public void testLookupThrows() { + final StrSubstitutor subst = new StrSubstitutor(new Interpolator(new StrLookup() { + + @Override + public String lookup(LogEvent event, String key) { + return lookup(key); + } + + @Override + public String lookup(String key) { + if ("throw".equals(key)) { + throw new RuntimeException(); + } + return "success"; + } + })); + subst.setRecursiveEvaluationAllowed(false); + assertEquals("success ${foo:throw} success", subst.replace("${foo:a} ${foo:throw} ${foo:c}")); } @Test @@ -147,16 +147,6 @@ public class StrSubstitutorTest { } @Test - public void testRandomWithRecursiveDefault() { - final Map<String, String> map = new HashMap<>(); - map.put("first", "${env:RANDOM:-${ctx:first}}"); - final StrLookup lookup = new Interpolator(new MapLookup(map)); - final StrSubstitutor subst = new StrSubstitutor(lookup); - subst.setRecursiveEvaluationAllowed(true); - assertEquals("${ctx:first}", subst.replace("${ctx:first}")); - } - - @Test public void testNoRecursiveEvaluationWithDefault() { final Map<String, String> map = new HashMap<>(); map.put("first", "${java:version}"); @@ -178,33 +168,43 @@ public class StrSubstitutorTest { } @Test - public void testLookupsNestedWithoutRecursiveEvaluation() { + public void testRandomWithRecursiveDefault() { final Map<String, String> map = new HashMap<>(); - map.put("first", "${java:version}"); + map.put("first", "${env:RANDOM:-${ctx:first}}"); final StrLookup lookup = new Interpolator(new MapLookup(map)); final StrSubstitutor subst = new StrSubstitutor(lookup); - subst.setRecursiveEvaluationAllowed(false); - assertEquals("${java:version}", subst.replace("${${lower:C}t${lower:X}:first}")); + subst.setRecursiveEvaluationAllowed(true); + assertEquals("${ctx:first}", subst.replace("${ctx:first}")); } @Test - public void testLookupThrows() { - final StrSubstitutor subst = new StrSubstitutor(new Interpolator(new StrLookup() { + public void testRecursiveSubstitution() { + final Map<String, String> map = new HashMap<>(); + map.put("first", "${ctx:first}"); + map.put("second", "secondValue"); + final StrLookup lookup = new Interpolator(new MapLookup(map)); + final StrSubstitutor subst = new StrSubstitutor(lookup); + subst.setRecursiveEvaluationAllowed(true); + assertEquals("${ctx:first} and secondValue", subst.replace("${ctx:first} and ${ctx:second}")); + } - @Override - public String lookup(String key) { - if ("throw".equals(key)) { - throw new RuntimeException(); - } - return "success"; - } + @Test + public void testRecursiveWithDefault() { + final Map<String, String> map = new HashMap<>(); + map.put("first", "${ctx:first:-default}"); + final StrLookup lookup = new Interpolator(new MapLookup(map)); + final StrSubstitutor subst = new StrSubstitutor(lookup); + subst.setRecursiveEvaluationAllowed(true); + assertEquals("default", subst.replace("${ctx:first}")); + } - @Override - public String lookup(LogEvent event, String key) { - return lookup(key); - } - })); - subst.setRecursiveEvaluationAllowed(false); - assertEquals("success ${foo:throw} success", subst.replace("${foo:a} ${foo:throw} ${foo:c}")); + @Test + public void testRecursiveWithRecursiveDefault() { + final Map<String, String> map = new HashMap<>(); + map.put("first", "${ctx:first:-${ctx:first}}"); + final StrLookup lookup = new Interpolator(new MapLookup(map)); + final StrSubstitutor subst = new StrSubstitutor(lookup); + subst.setRecursiveEvaluationAllowed(true); + assertEquals("${ctx:first}", subst.replace("${ctx:first}")); } }