Search in sources :

Example 96 with Dn

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")));
}
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 97 with Dn

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);
}
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 98 with Dn

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);
}
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 99 with Dn

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());
}
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)

Example 100 with Dn

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));
}
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)307 Test (org.junit.Test)183 Rdn (org.apache.directory.api.ldap.model.name.Rdn)63 LdifEntry (org.apache.directory.api.ldap.model.ldif.LdifEntry)50 LdapException (org.apache.directory.api.ldap.model.exception.LdapException)39 Entry (org.apache.directory.api.ldap.model.entry.Entry)34 DnNode (org.apache.directory.api.ldap.util.tree.DnNode)30 DefaultEntry (org.apache.directory.api.ldap.model.entry.DefaultEntry)20 LdapInvalidDnException (org.apache.directory.api.ldap.model.exception.LdapInvalidDnException)19 DefaultAttribute (org.apache.directory.api.ldap.model.entry.DefaultAttribute)17 Modification (org.apache.directory.api.ldap.model.entry.Modification)17 DefaultModification (org.apache.directory.api.ldap.model.entry.DefaultModification)16 TLV (org.apache.directory.api.asn1.ber.tlv.TLV)10 Attribute (org.apache.directory.api.ldap.model.entry.Attribute)10 ModifyRequest (org.apache.directory.api.ldap.model.message.ModifyRequest)10 Referral (org.apache.directory.api.ldap.model.message.Referral)10 File (java.io.File)9 ArrayList (java.util.ArrayList)9 ResponseCarryingException (org.apache.directory.api.ldap.codec.api.ResponseCarryingException)8 Value (org.apache.directory.api.ldap.model.entry.Value)8