*/
package org.wamblee.support.jndi;
-import static junit.framework.Assert.assertEquals;
+import static junit.framework.Assert.*;
+import javax.naming.CompositeName;
import javax.naming.InitialContext;
+import javax.naming.NameNotFoundException;
import javax.naming.NamingException;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
-import org.wamblee.support.jndi.StubInitialContextFactory;
public class StubInitiaContextFactoryTest {
+ private static final String JNDI_NAME = "a/b";
+
@Before
@After
public void setUp() {
@Test(expected = NamingException.class)
public void testLookupNotRegistered() throws Exception {
InitialContext ctx = new InitialContext();
- ctx.bind("a/b", "hallo");
+ ctx.bind(JNDI_NAME, "hallo");
}
+
+ // String based lookups.
@Test
public void testLookup() throws Exception {
StubInitialContextFactory.register();
InitialContext ctx = new InitialContext();
- ctx.bind("a/b", "hallo");
+ ctx.bind(JNDI_NAME, "hallo");
ctx = new InitialContext();
- Object obj = ctx.lookup("a/b");
+ Object obj = ctx.lookup(JNDI_NAME);
assertEquals("hallo", obj);
}
+
+ @Test(expected = NameNotFoundException.class)
+ public void testUnbind() throws Exception {
+ testLookup();
+ InitialContext ctx = new InitialContext();
+ ctx.unbind(JNDI_NAME);
+ ctx = new InitialContext();
+ ctx.lookup(JNDI_NAME);
+
+ }
+
+ @Test(expected = NameNotFoundException.class)
+ public void testLookupFails() throws Exception {
+ StubInitialContextFactory.register();
+
+ InitialContext ctx = new InitialContext();
+ Object obj = ctx.lookup(JNDI_NAME);
+ }
+
+ // Name based lookups
+
+ @Test
+ public void testLookupName() throws Exception {
+ StubInitialContextFactory.register();
+
+ InitialContext ctx = new InitialContext();
+ ctx.bind(new CompositeName(JNDI_NAME), "hallo");
+ ctx = new InitialContext();
+ Object obj = ctx.lookup(new CompositeName(JNDI_NAME));
+
+ assertEquals("hallo", obj);
+ }
+
+ @Test(expected = NameNotFoundException.class)
+ public void testUnbindName() throws Exception {
+ testLookup();
+ InitialContext ctx = new InitialContext();
+ ctx.unbind(new CompositeName(JNDI_NAME));
+ ctx = new InitialContext();
+ ctx.lookup(new CompositeName(JNDI_NAME));
+ }
+
+ @Test(expected = NameNotFoundException.class)
+ public void testLookupFailsName() throws Exception {
+ StubInitialContextFactory.register();
+
+ InitialContext ctx = new InitialContext();
+ Object obj = ctx.lookup(JNDI_NAME);
+ }
}