Skip to content

Commit b0bc6b3

Browse files
committed
LOGBACK-1604 fix tests
Signed-off-by: Ceki Gulcu <ceki@qos.ch>
1 parent add37b6 commit b0bc6b3

File tree

8 files changed

+46
-18
lines changed

8 files changed

+46
-18
lines changed

logback-classic/src/test/java/ch/qos/logback/classic/selector/ContextDetachingSCLTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@
2525
import ch.qos.logback.classic.ClassicConstants;
2626
import ch.qos.logback.classic.selector.servlet.ContextDetachingSCL;
2727
import ch.qos.logback.classic.util.ContextSelectorStaticBinder;
28-
import ch.qos.logback.classic.util.MockInitialContext;
29-
import ch.qos.logback.classic.util.MockInitialContextFactory;
28+
import ch.qos.logback.core.testUtil.MockInitialContext;
29+
import ch.qos.logback.core.testUtil.MockInitialContextFactory;
3030

3131
@Ignore
3232
public class ContextDetachingSCLTest {

logback-classic/src/test/java/ch/qos/logback/classic/selector/ContextJNDISelectorTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,9 @@
2424

2525
import ch.qos.logback.classic.ClassicConstants;
2626
import ch.qos.logback.classic.util.ContextSelectorStaticBinder;
27-
import ch.qos.logback.classic.util.MockInitialContext;
28-
import ch.qos.logback.classic.util.MockInitialContextFactory;
2927
import ch.qos.logback.core.Context;
28+
import ch.qos.logback.core.testUtil.MockInitialContext;
29+
import ch.qos.logback.core.testUtil.MockInitialContextFactory;
3030

3131
@Ignore
3232
public class ContextJNDISelectorTest {

logback-core/src/main/java/ch/qos/logback/core/util/JNDIUtil.java

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515

1616
import static ch.qos.logback.core.CoreConstants.JNDI_JAVA_NAMESPACE;
1717

18+
import java.util.Hashtable;
19+
1820
import javax.naming.Context;
1921
import javax.naming.InitialContext;
2022
import javax.naming.NamingException;
@@ -36,10 +38,14 @@ public static Context getInitialContext() throws NamingException {
3638
return new InitialContext();
3739
}
3840

39-
public static Object lookupObject(Context ctx, String name) throws NamingException {
40-
if (ctx == null) {
41-
return null;
42-
}
41+
public static Context getInitialContext(Hashtable<?,?> props) throws NamingException {
42+
return new InitialContext(props);
43+
}
44+
45+
public static Object lookupObject(Context ctx, String name) throws NamingException {
46+
if (ctx == null) {
47+
return null;
48+
}
4349

4450
if (OptionHelper.isNullOrEmpty(name)) {
4551
return null;
@@ -59,7 +65,7 @@ public static void jndiNameSecurityCheck(String name) throws NamingException {
5965

6066
public static String lookupString(Context ctx, String name) throws NamingException {
6167
Object lookup = lookupObject(ctx, name);
62-
return lookup == null ? null : lookup.toString();
68+
return (String) lookup;
6369
}
6470

6571
}

logback-core/src/test/java/ch/qos/logback/core/testUtil/CoreTestConstants.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
* as published by the Free Software Foundation.
1313
*/
1414
package ch.qos.logback.core.testUtil;
15-
15+
1616
public class CoreTestConstants {
1717

1818
public static final String TEST_SRC_PREFIX = "src/test/";
@@ -29,4 +29,5 @@ public class CoreTestConstants {
2929
public static final String BASH_PATH_ON_LINUX = "bash";
3030

3131
public static final String SLOW_JENKINS = "slowJenkins";
32+
public static final String JAVA_NAMING_FACTORY_INITIAL = "java.naming.factory.initial";
3233
}

logback-classic/src/test/java/ch/qos/logback/classic/util/MockInitialContext.java renamed to logback-core/src/test/java/ch/qos/logback/core/testUtil/MockInitialContext.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
* under the terms of the GNU Lesser General Public License version 2.1
1212
* as published by the Free Software Foundation.
1313
*/
14-
package ch.qos.logback.classic.util;
14+
package ch.qos.logback.core.testUtil;
1515

1616
import java.util.HashMap;
1717
import java.util.Map;

logback-classic/src/test/java/ch/qos/logback/classic/util/MockInitialContextFactory.java renamed to logback-core/src/test/java/ch/qos/logback/core/testUtil/MockInitialContextFactory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
* under the terms of the GNU Lesser General Public License version 2.1
1212
* as published by the Free Software Foundation.
1313
*/
14-
package ch.qos.logback.classic.util;
14+
package ch.qos.logback.core.testUtil;
1515

1616
import java.util.Hashtable;
1717

Lines changed: 26 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,29 @@
11
package ch.qos.logback.core.util;
22

3-
import static org.junit.Assert.*;
3+
import static org.junit.Assert.assertNull;
4+
import static org.junit.Assert.fail;
5+
6+
import java.util.Hashtable;
47

58
import javax.naming.Context;
69
import javax.naming.NamingException;
710

811
import org.junit.Test;
912

13+
import ch.qos.logback.core.testUtil.CoreTestConstants;
14+
import ch.qos.logback.core.testUtil.MockInitialContextFactory;
15+
1016
public class JNDIUtilTest {
1117

1218
@Test
1319
public void ensureJavaNameSpace() throws NamingException {
14-
Context ctxt = JNDIUtil.getInitialContext();
1520

1621
try {
17-
JNDIUtil.lookupObject(ctxt, "ldap:...");
22+
Context ctxt = JNDIUtil.getInitialContext();
23+
JNDIUtil.lookupString(ctxt, "ldap:...");
1824
} catch (NamingException e) {
1925
String excaptionMsg = e.getMessage();
20-
if(excaptionMsg.startsWith(JNDIUtil.RESTRICTION_MSG))
26+
if (excaptionMsg.startsWith(JNDIUtil.RESTRICTION_MSG))
2127
return;
2228
else {
2329
fail("unexpected exception " + e);
@@ -27,4 +33,19 @@ public void ensureJavaNameSpace() throws NamingException {
2733
fail("Should aNot yet implemented");
2834
}
2935

30-
}
36+
@Test
37+
public void testToStringCast() throws NamingException {
38+
Hashtable<String, String> props = new Hashtable<String, String>();
39+
props.put(CoreTestConstants.JAVA_NAMING_FACTORY_INITIAL, MockInitialContextFactory.class.getCanonicalName());
40+
Context ctxt = JNDIUtil.getInitialContext(props);
41+
String x = JNDIUtil.lookupString(ctxt, "java:comp:/inexistent");
42+
assertNull(x);
43+
}
44+
45+
public String castToString(Object input) {
46+
String a = (String) input;
47+
return a;
48+
}
49+
50+
}
51+

logback-site/src/site/pages/manual/loggingSeparation.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -496,7 +496,7 @@ <h2 class="doAnchor" name="tamingStaticRefs">Taming static
496496
<p>If you were able to keep up with the discussion thus far and
497497
have actually tried the logback-starwars examples, then you must be
498498
truly obsessed with logging. You should consider seeking <a
499-
href="http://www.qos.ch/shop/products/professionalSupport">professional
499+
href="https://www.qos.ch/support.html">professional
500500
help</a>.</p>
501501

502502

0 commit comments

Comments
 (0)