blob: a962484c8d9bc5b3937556e41e888a88889ba28d [file] [log] [blame]
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);
}
}