summaryrefslogtreecommitdiffstats
path: root/das-java/contrib/ldap/das.ldap/src/test/java/org/apache/tuscany/das/ldap/util/test/JNDIUtilTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'das-java/contrib/ldap/das.ldap/src/test/java/org/apache/tuscany/das/ldap/util/test/JNDIUtilTest.java')
-rw-r--r--das-java/contrib/ldap/das.ldap/src/test/java/org/apache/tuscany/das/ldap/util/test/JNDIUtilTest.java109
1 files changed, 109 insertions, 0 deletions
diff --git a/das-java/contrib/ldap/das.ldap/src/test/java/org/apache/tuscany/das/ldap/util/test/JNDIUtilTest.java b/das-java/contrib/ldap/das.ldap/src/test/java/org/apache/tuscany/das/ldap/util/test/JNDIUtilTest.java
new file mode 100644
index 0000000000..a962484c8d
--- /dev/null
+++ b/das-java/contrib/ldap/das.ldap/src/test/java/org/apache/tuscany/das/ldap/util/test/JNDIUtilTest.java
@@ -0,0 +1,109 @@
+package org.apache.tuscany.das.ldap.util.test;
+
+import javax.naming.NamingException;
+import javax.naming.directory.DirContext;
+
+import org.apache.tuscany.das.ldap.schema.embedded.setup.test.AbstractTestSetup;
+import org.apache.tuscany.das.ldap.util.JNDIUtil;
+
+/*
+ * Note that these tests rely on the ADS Partition
+ * ou=system, which is also the directoryContext
+ * that the tests start with.
+ */
+public class JNDIUtilTest
+extends AbstractTestSetup
+{
+ DirContext test1Context = null;
+ DirContext test2Context = null;
+ DirContext test3Context = null;
+
+ public void setUp() throws Exception
+ {
+ super.setUp();
+ test1Context =
+ ( DirContext )
+ dasPartitionContext.
+ createSubcontext( "cn=test1" );
+
+ test2Context =
+ ( DirContext )
+ test1Context.
+ createSubcontext( "cn=test2" );
+
+ test3Context =
+ ( DirContext )
+ test2Context.
+ createSubcontext( "cn=test3" );
+ }
+
+ public void tearDown() throws Exception
+ {
+ test2Context.destroySubcontext( "cn=test3" );
+ test1Context.destroySubcontext("cn=test2");
+ dasPartitionContext.destroySubcontext("cn=test1");
+ super.tearDown();
+ }
+
+ public void testCalculateParentRelativeDN() throws NamingException
+ {
+ String partitionDN = "ou=das";
+
+ String testA =
+ JNDIUtil.calculateParentRelativeDN(
+ test2Context, partitionDN );
+
+ String testB =
+ JNDIUtil.calculateParentRelativeDN(
+ test3Context, partitionDN );
+
+ String testC =
+ JNDIUtil.calculateParentRelativeDN( test1Context, partitionDN );
+
+ assertTrue(testA.equals( "cn=test1" ));
+ assertTrue(testB.equals( "cn=test2,cn=test1" ));
+ assertTrue(testC.equals( "ou=das" ));
+
+ }
+
+ public void testCalculateDNComponents() throws NamingException
+ {
+ String[] contextComponents = JNDIUtil.calculateDNComponents( test3Context );
+ assertTrue(contextComponents.length==4);
+
+ contextComponents = null;
+
+ contextComponents = JNDIUtil.calculateDNComponents( test3Context.getNameInNamespace() );
+ assertTrue(contextComponents.length==4);
+ }
+
+ public void testGetParentContext() throws NamingException
+ {
+ DirContext parentContext =
+ JNDIUtil.
+ getParentContext(
+ test3Context,
+ dasPartitionContext );
+
+ assertTrue(
+ parentContext.getNameInNamespace().
+ equals("cn=test2,cn=test1,ou=das"));
+
+ parentContext =
+ JNDIUtil.getParentContext(
+ test1Context,
+ dasPartitionContext );
+
+ assertTrue(
+ parentContext.getNameInNamespace().
+ equals("ou=das"));
+
+ parentContext =
+ JNDIUtil.
+ getParentContext(
+ dasPartitionContext,
+ dasPartitionContext );
+
+ assertTrue(null == parentContext);
+ }
+}