code style improvements.
[utils] / test / enterprise / src / test / java / org / wamblee / support / jndi / StubInitiaContextFactoryTest.java
index 16d62d617cc3c12d042016327d5387ebddf3784c..c0638148447e82f53df25df37faccb29f24686cb 100644 (file)
@@ -1,17 +1,35 @@
+/*
+ * Copyright 2005-2010 the original author or authors.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */ 
 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() {
@@ -21,20 +39,71 @@ public class StubInitiaContextFactoryTest {
     @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);
+    }
 }