diff options
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.java | 109 |
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); + } +} |