use of org.apache.directory.api.ldap.model.name.Dn in project directory-ldap-api by apache.
the class TestDnNode method testComplexTreeDeletion.
/**
* test the deletion of elements in a tree
*/
@Test
public void testComplexTreeDeletion() throws LdapException {
DnNode<Dn> dnLookupTree = new DnNode<Dn>();
Dn dn1 = new Dn("dc=directory,dc=apache,dc=org");
Dn dn2 = new Dn("dc=mina,dc=apache,dc=org");
Dn dn3 = new Dn("dc=test,dc=com");
Dn dn4 = new Dn("dc=acme,dc=com");
Dn dn5 = new Dn("dc=acme,c=us,dc=com");
Dn dn6 = new Dn("dc=empty");
dnLookupTree.add(dn1, dn1);
dnLookupTree.add(dn2, dn2);
dnLookupTree.add(dn3, dn3);
dnLookupTree.add(dn4, dn4);
dnLookupTree.add(dn5, dn5);
dnLookupTree.add(dn6, dn6);
assertEquals(11, dnLookupTree.size());
dnLookupTree.remove(dn3);
assertEquals(10, dnLookupTree.size());
assertTrue(dnLookupTree.hasParent(dn1));
assertTrue(dnLookupTree.hasParent(dn2));
assertTrue(dnLookupTree.hasParent(dn4));
assertTrue(dnLookupTree.hasParent(dn5));
assertTrue(dnLookupTree.hasParent(dn6));
assertTrue(dnLookupTree.hasParent(new Dn("dc=nothing,dc=empty")));
assertFalse(dnLookupTree.hasParent(new Dn("dc=directory,dc=apache,dc=root")));
dnLookupTree.remove(dn6);
assertEquals(9, dnLookupTree.size());
assertTrue(dnLookupTree.hasParent(dn1));
assertTrue(dnLookupTree.hasParent(dn2));
assertTrue(dnLookupTree.hasParent(dn4));
assertTrue(dnLookupTree.hasParent(dn5));
assertFalse(dnLookupTree.hasParent(new Dn("dc=nothing,dc=empty")));
assertFalse(dnLookupTree.hasParent(new Dn("dc=directory,dc=apache,dc=root")));
dnLookupTree.remove(dn1);
assertEquals(8, dnLookupTree.size());
assertTrue(dnLookupTree.hasParent(dn2));
assertTrue(dnLookupTree.hasParent(dn4));
assertTrue(dnLookupTree.hasParent(dn5));
assertFalse(dnLookupTree.hasParent(new Dn("dc=nothing,dc=empty")));
assertFalse(dnLookupTree.hasParent(new Dn("dc=directory,dc=apache,dc=root")));
// Should not change anything
dnLookupTree.remove(dn3);
assertEquals(8, dnLookupTree.size());
assertTrue(dnLookupTree.hasParent(dn2));
assertTrue(dnLookupTree.hasParent(dn4));
assertTrue(dnLookupTree.hasParent(dn5));
assertFalse(dnLookupTree.hasParent(new Dn("dc=nothing,dc=empty")));
assertFalse(dnLookupTree.hasParent(new Dn("dc=directory,dc=apache,dc=root")));
dnLookupTree.remove(dn5);
assertEquals(6, dnLookupTree.size());
assertTrue(dnLookupTree.hasParent(dn2));
assertTrue(dnLookupTree.hasParent(dn4));
assertFalse(dnLookupTree.hasParent(new Dn("dc=nothing,dc=empty")));
assertFalse(dnLookupTree.hasParent(new Dn("dc=directory,dc=apache,dc=root")));
dnLookupTree.remove(dn2);
assertEquals(3, dnLookupTree.size());
assertTrue(dnLookupTree.hasParent(dn4));
assertFalse(dnLookupTree.hasParent(new Dn("dc=nothing,dc=empty")));
assertFalse(dnLookupTree.hasParent(new Dn("dc=directory,dc=apache,dc=root")));
dnLookupTree.remove(dn4);
assertEquals(1, dnLookupTree.size());
assertFalse(dnLookupTree.hasParent(new Dn("dc=nothing,dc=empty")));
assertFalse(dnLookupTree.hasParent(new Dn("dc=directory,dc=apache,dc=root")));
}
use of org.apache.directory.api.ldap.model.name.Dn in project directory-ldap-api by apache.
the class TestDnNode method testAdd2EqualDNsNoElem.
/**
* Test the addition of two equal DNs
*/
@Test(expected = LdapUnwillingToPerformException.class)
public void testAdd2EqualDNsNoElem() throws LdapException {
DnNode<Dn> tree = new DnNode<Dn>();
Dn dn1 = new Dn("dc=b,dc=a");
Dn dn2 = new Dn("dc=b,dc=a");
tree.add(dn1);
tree.add(dn2);
}
use of org.apache.directory.api.ldap.model.name.Dn in project directory-ldap-api by apache.
the class TestDnNode method testAdd2EqualDNs.
/**
* Test the addition of two equal DNs
*/
@Test(expected = LdapUnwillingToPerformException.class)
public void testAdd2EqualDNs() throws LdapException {
DnNode<Dn> tree = new DnNode<Dn>();
Dn dn1 = new Dn("dc=b,dc=a");
Dn dn2 = new Dn("dc=b,dc=a");
tree.add(dn1, dn1);
tree.add(dn2, dn2);
}
use of org.apache.directory.api.ldap.model.name.Dn in project directory-ldap-api by apache.
the class TestDnNode method testIsLeaf.
// ---------------------------------------------------------------------------
// Test the isLeaf() method
// ---------------------------------------------------------------------------
@Test
public void testIsLeaf() throws Exception {
DnNode<Dn> tree = new DnNode<Dn>();
Dn dn = new Dn("dc=c,dc=b,dc=a");
tree.add(dn);
assertFalse(tree.isLeaf());
DnNode<Dn> child = tree.getChild(new Rdn("dc=a"));
assertFalse(child.isLeaf());
child = child.getChild(new Rdn("dc=b"));
assertFalse(child.isLeaf());
child = child.getChild(new Rdn("dc=c"));
assertTrue(child.isLeaf());
}
use of org.apache.directory.api.ldap.model.name.Dn in project directory-ldap-api by apache.
the class TestDnNode method testRename.
@Test
public void testRename() throws Exception {
DnNode<Dn> rootNode = new DnNode<Dn>();
Dn dn = new Dn("dc=directory,dc=apache,dc=org");
rootNode.add(dn);
Rdn childRdn = new Rdn("dc=org");
DnNode<Dn> child = rootNode.getChild(childRdn);
assertNotNull(child);
Rdn newChildRdn = new Rdn("dc=neworg");
child.rename(newChildRdn);
assertNull(rootNode.getChild(childRdn));
assertEquals(new Dn("dc=neworg"), child.getDn());
DnNode<Dn> child2 = child.getChild(new Rdn("dc=apache"));
assertEquals(new Dn("dc=apache,dc=neworg"), child2.getDn());
assertEquals(new Dn("dc=directory,dc=apache,dc=neworg"), child2.getChild(new Rdn("dc=directory")).getDn());
assertNotNull(rootNode.getChild(newChildRdn));
}
Aggregations