You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by ps...@apache.org on 2004/12/23 08:15:41 UTC

svn commit: r123173 - /incubator/directory/naming/trunk/core/src/test/org/apache/naming/SelectorContextTest.java

Author: psteitz
Date: Wed Dec 22 23:15:39 2004
New Revision: 123173

URL: http://svn.apache.org/viewcvs?view=rev&rev=123173
Log:
Added test cases verifying name parsing and context delegation.
Modified:
   incubator/directory/naming/trunk/core/src/test/org/apache/naming/SelectorContextTest.java

Modified: incubator/directory/naming/trunk/core/src/test/org/apache/naming/SelectorContextTest.java
Url: http://svn.apache.org/viewcvs/incubator/directory/naming/trunk/core/src/test/org/apache/naming/SelectorContextTest.java?view=diff&rev=123173&p1=incubator/directory/naming/trunk/core/src/test/org/apache/naming/SelectorContextTest.java&r1=123172&p2=incubator/directory/naming/trunk/core/src/test/org/apache/naming/SelectorContextTest.java&r2=123173
==============================================================================
--- incubator/directory/naming/trunk/core/src/test/org/apache/naming/SelectorContextTest.java	(original)
+++ incubator/directory/naming/trunk/core/src/test/org/apache/naming/SelectorContextTest.java	Wed Dec 22 23:15:39 2004
@@ -18,6 +18,8 @@
 import java.util.Hashtable;
 
 import javax.naming.Context;
+import javax.naming.NamingException;
+import javax.naming.NameNotFoundException;
 
 import junit.framework.Test;
 import junit.framework.TestSuite;
@@ -47,5 +49,53 @@
     
     protected Context makeInitialContext() {
     	return new SelectorContext(new Hashtable(), true);
+    }
+    
+    public void testGetNameInNamespace() throws Exception {
+        assertEquals(SelectorContext.prefix, initialContext.getNameInNamespace());
+    }
+        
+    public void testParseName() throws Exception {
+        try {
+            initialContext.lookup("java:x");
+        } catch (NameNotFoundException ex) {
+            // expected 
+        }
+        try {
+            initialContext.lookup("hava:x");
+        } catch (NamingException ex) {
+            // expected 
+        }     
+    }
+    
+    public void testGetBoundContext() throws Exception {
+       
+        Context initCtx = new SelectorContext(new Hashtable(), true);
+        // Initial context should be bound under the name IC_PREFIX
+        initCtx.bind("java:comp:a", "initial");
+        assertEquals("initial", ContextBindings.getContext
+                (SelectorContext.IC_PREFIX).lookup("java:comp:a"));
+        
+        // Bind classloader 
+        Context clContext = new NamingContext(new Hashtable(), "cl");
+        clContext.bind("a", "classloader");
+        ContextBindings.bindContext("cl", clContext);
+        ContextBindings.bindClassLoader("cl");  
+        
+        // Get a SelectorContext that is not an initial context 
+        Context selCtx = new SelectorContext(new Hashtable(), false);
+        // lookup should strip URL header, then delegate to clContext
+        assertEquals("classloader", (String) selCtx.lookup("java:a")); // URL is stripped
+        
+        // Now bind thread 
+        Context threadContext = new NamingContext(new Hashtable(), "th");
+        threadContext.bind("a", "thread");
+        ContextBindings.bindContext("th", threadContext);
+        ContextBindings.bindThread("th");
+        // thread binding takes precedence, so threadContext should get the call
+        assertEquals("thread", (String) selCtx.lookup("java:a")); // URL is stripped
+        
+        // Fix up so teardown does not blow
+        initialContext.createSubcontext(firstContextName());
     }
 }