Search in sources :

Example 6 with DnNode

use of org.apache.directory.api.ldap.util.tree.DnNode in project directory-ldap-api by apache.

the class TestDnNode method testHasChildrenDN.

// ---------------------------------------------------------------------------
// Test the hasChildren(Dn) method
// ---------------------------------------------------------------------------
@Test
public void testHasChildrenDN() throws Exception {
    DnNode<Dn> tree = new DnNode<Dn>();
    Dn dn1 = new Dn("dc=b,dc=a");
    tree.add(dn1);
    assertTrue(tree.hasChildren(new Dn("dc=a")));
    assertFalse(tree.hasChildren(dn1));
}
Also used : DnNode(org.apache.directory.api.ldap.util.tree.DnNode) Dn(org.apache.directory.api.ldap.model.name.Dn) Test(org.junit.Test)

Example 7 with DnNode

use of org.apache.directory.api.ldap.util.tree.DnNode 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")));
}
Also used : DnNode(org.apache.directory.api.ldap.util.tree.DnNode) Dn(org.apache.directory.api.ldap.model.name.Dn) Test(org.junit.Test)

Example 8 with DnNode

use of org.apache.directory.api.ldap.util.tree.DnNode 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);
}
Also used : DnNode(org.apache.directory.api.ldap.util.tree.DnNode) Dn(org.apache.directory.api.ldap.model.name.Dn) Test(org.junit.Test)

Example 9 with DnNode

use of org.apache.directory.api.ldap.util.tree.DnNode 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);
}
Also used : DnNode(org.apache.directory.api.ldap.util.tree.DnNode) Dn(org.apache.directory.api.ldap.model.name.Dn) Test(org.junit.Test)

Example 10 with DnNode

use of org.apache.directory.api.ldap.util.tree.DnNode 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());
}
Also used : DnNode(org.apache.directory.api.ldap.util.tree.DnNode) Dn(org.apache.directory.api.ldap.model.name.Dn) Rdn(org.apache.directory.api.ldap.model.name.Rdn) Test(org.junit.Test)

Aggregations

Dn (org.apache.directory.api.ldap.model.name.Dn)30 DnNode (org.apache.directory.api.ldap.util.tree.DnNode)30 Test (org.junit.Test)29 Rdn (org.apache.directory.api.ldap.model.name.Rdn)19 Name (javax.naming.Name)1