1 package ch.qos.logback.core.util;
2
3 import java.util.Hashtable;
4
5 import javax.naming.Context;
6 import javax.naming.NamingException;
7
8 import org.junit.jupiter.api.Assertions;
9 import org.junit.jupiter.api.Test;
10
11 import ch.qos.logback.core.testUtil.CoreTestConstants;
12 import ch.qos.logback.core.testUtil.MockInitialContextFactory;
13
14 import static org.junit.jupiter.api.Assertions.fail;
15
16 public class JNDIUtilTest {
17
18 @Test
19 public void ensureJavaNameSpace() throws NamingException {
20
21 try {
22 Context ctxt = JNDIUtil.getInitialContext();
23 JNDIUtil.lookupString(ctxt, "ldap:...");
24 } catch (NamingException e) {
25 String excaptionMsg = e.getMessage();
26 if (excaptionMsg.startsWith(JNDIUtil.RESTRICTION_MSG))
27 return;
28 else {
29 fail("unexpected exception " + e);
30 }
31 }
32
33 fail("Should aNot yet implemented");
34 }
35
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 Assertions.assertNull(x);
43 }
44
45 public String castToString(Object input) {
46 String a = (String) input;
47 return a;
48 }
49
50 }