Search in sources :

Example 41 with Dsmlv2Parser

use of org.apache.directory.api.dsmlv2.Dsmlv2Parser in project directory-ldap-api by apache.

the class AddRequestTest method testRequestWith1Control.

/**
 * Test parsing of a request with a (optional) Control element
 */
@Test
public void testRequestWith1Control() {
    Dsmlv2Parser parser = null;
    try {
        parser = newParser();
        parser.setInput(AddRequestTest.class.getResource("request_with_1_control.xml").openStream(), "UTF-8");
        parser.parse();
    } catch (Exception e) {
        fail(e.getMessage());
    }
    AddRequest addRequest = (AddRequest) parser.getBatchRequest().getCurrentRequest();
    Map<String, Control> controls = addRequest.getControls();
    assertEquals(1, addRequest.getControls().size());
    Control control = controls.get("1.2.840.113556.1.4.643");
    assertNotNull(control);
    assertTrue(control.isCritical());
    assertEquals("1.2.840.113556.1.4.643", control.getOid());
    assertEquals("Some text", Strings.utf8ToString(((DsmlControl<?>) control).getValue()));
}
Also used : AddRequest(org.apache.directory.api.ldap.model.message.AddRequest) DsmlControl(org.apache.directory.api.dsmlv2.DsmlControl) DsmlControl(org.apache.directory.api.dsmlv2.DsmlControl) Control(org.apache.directory.api.ldap.model.message.Control) Dsmlv2Parser(org.apache.directory.api.dsmlv2.Dsmlv2Parser) Test(org.junit.Test) AbstractTest(org.apache.directory.api.dsmlv2.AbstractTest)

Example 42 with Dsmlv2Parser

use of org.apache.directory.api.dsmlv2.Dsmlv2Parser in project directory-ldap-api by apache.

the class AddRequestTest method testRequestWith2AttrWithValue.

/**
 * Test parsing of a request with 2 Attr elements with value
 */
@Test
public void testRequestWith2AttrWithValue() {
    Dsmlv2Parser parser = null;
    try {
        parser = newParser();
        parser.setInput(AddRequestTest.class.getResource("request_with_2_attr_with_value.xml").openStream(), "UTF-8");
        parser.parse();
    } catch (Exception e) {
        fail(e.getMessage());
    }
    AddRequest addRequest = (AddRequest) parser.getBatchRequest().getCurrentRequest();
    Entry entry = addRequest.getEntry();
    assertEquals(1, entry.size());
    // Getting the Attribute
    Iterator<Attribute> attributeIterator = entry.iterator();
    Attribute attribute = attributeIterator.next();
    assertEquals("objectclass", attribute.getUpId());
    // Getting the Value
    Iterator<Value> valueIterator = attribute.iterator();
    assertTrue(valueIterator.hasNext());
    Value value = valueIterator.next();
    assertEquals("top", value.getValue());
    assertTrue(valueIterator.hasNext());
    value = valueIterator.next();
    assertEquals("person", value.getValue());
    assertFalse(valueIterator.hasNext());
}
Also used : AddRequest(org.apache.directory.api.ldap.model.message.AddRequest) Entry(org.apache.directory.api.ldap.model.entry.Entry) Attribute(org.apache.directory.api.ldap.model.entry.Attribute) Value(org.apache.directory.api.ldap.model.entry.Value) Dsmlv2Parser(org.apache.directory.api.dsmlv2.Dsmlv2Parser) Test(org.junit.Test) AbstractTest(org.apache.directory.api.dsmlv2.AbstractTest)

Example 43 with Dsmlv2Parser

use of org.apache.directory.api.dsmlv2.Dsmlv2Parser in project directory-ldap-api by apache.

the class AddRequestTest method testRequestWith1ControlBase64Value.

/**
 * Test parsing of a request with a (optional) Control element with Base64 value
 */
@Test
public void testRequestWith1ControlBase64Value() {
    Dsmlv2Parser parser = null;
    try {
        parser = newParser();
        parser.setInput(AddRequestTest.class.getResource("request_with_1_control_base64_value.xml").openStream(), "UTF-8");
        parser.parse();
    } catch (Exception e) {
        fail(e.getMessage());
    }
    AddRequest addRequest = (AddRequest) parser.getBatchRequest().getCurrentRequest();
    Map<String, Control> controls = addRequest.getControls();
    assertEquals(1, addRequest.getControls().size());
    Control control = controls.get("1.2.840.113556.1.4.643");
    assertNotNull(control);
    assertTrue(control.isCritical());
    assertEquals("1.2.840.113556.1.4.643", control.getOid());
    assertEquals("DSMLv2.0 rocks!!", Strings.utf8ToString(((DsmlControl<?>) control).getValue()));
}
Also used : AddRequest(org.apache.directory.api.ldap.model.message.AddRequest) DsmlControl(org.apache.directory.api.dsmlv2.DsmlControl) DsmlControl(org.apache.directory.api.dsmlv2.DsmlControl) Control(org.apache.directory.api.ldap.model.message.Control) Dsmlv2Parser(org.apache.directory.api.dsmlv2.Dsmlv2Parser) Test(org.junit.Test) AbstractTest(org.apache.directory.api.dsmlv2.AbstractTest)

Example 44 with Dsmlv2Parser

use of org.apache.directory.api.dsmlv2.Dsmlv2Parser in project directory-ldap-api by apache.

the class AddRequestTest method testRequestWithDn.

/**
 * Test parsing of a request with the dn attribute
 */
@Test
public void testRequestWithDn() {
    Dsmlv2Parser parser = null;
    try {
        parser = newParser();
        parser.setInput(AddRequestTest.class.getResource("request_with_dn_attribute.xml").openStream(), "UTF-8");
        parser.parse();
    } catch (Exception e) {
        fail(e.getMessage());
    }
    AddRequest addRequest = (AddRequest) parser.getBatchRequest().getCurrentRequest();
    assertTrue(addRequest.getEntryDn().equals("cn=Bob Rush,ou=Dev,dc=Example,dc=COM"));
}
Also used : AddRequest(org.apache.directory.api.ldap.model.message.AddRequest) Dsmlv2Parser(org.apache.directory.api.dsmlv2.Dsmlv2Parser) Test(org.junit.Test) AbstractTest(org.apache.directory.api.dsmlv2.AbstractTest)

Example 45 with Dsmlv2Parser

use of org.apache.directory.api.dsmlv2.Dsmlv2Parser in project directory-ldap-api by apache.

the class AuthRequestTest method testRequestWith1ControlBase64Value.

/**
 * Test parsing of a request with a (optional) Control element with Base64 value
 */
@Test
public void testRequestWith1ControlBase64Value() {
    Dsmlv2Parser parser = null;
    try {
        parser = newParser();
        parser.setInput(AuthRequestTest.class.getResource("request_with_1_control_base64_value.xml").openStream(), "UTF-8");
        parser.parse();
    } catch (Exception e) {
        fail(e.getMessage());
    }
    BindRequest abandonRequest = (BindRequest) parser.getBatchRequest().getCurrentRequest();
    Map<String, Control> controls = abandonRequest.getControls();
    assertEquals(1, abandonRequest.getControls().size());
    Control control = controls.get("1.2.840.113556.1.4.643");
    assertNotNull(control);
    assertTrue(control.isCritical());
    assertEquals("1.2.840.113556.1.4.643", control.getOid());
    assertEquals("DSMLv2.0 rocks!!", Strings.utf8ToString(((DsmlControl<?>) control).getValue()));
}
Also used : DsmlControl(org.apache.directory.api.dsmlv2.DsmlControl) DsmlControl(org.apache.directory.api.dsmlv2.DsmlControl) Control(org.apache.directory.api.ldap.model.message.Control) BindRequest(org.apache.directory.api.ldap.model.message.BindRequest) Dsmlv2Parser(org.apache.directory.api.dsmlv2.Dsmlv2Parser) Test(org.junit.Test) AbstractTest(org.apache.directory.api.dsmlv2.AbstractTest)

Aggregations

Dsmlv2Parser (org.apache.directory.api.dsmlv2.Dsmlv2Parser)171 Test (org.junit.Test)168 AbstractTest (org.apache.directory.api.dsmlv2.AbstractTest)164 LdapException (org.apache.directory.api.ldap.model.exception.LdapException)78 SearchRequest (org.apache.directory.api.ldap.model.message.SearchRequest)67 DsmlControl (org.apache.directory.api.dsmlv2.DsmlControl)45 Control (org.apache.directory.api.ldap.model.message.Control)45 ExprNode (org.apache.directory.api.ldap.model.filter.ExprNode)40 BatchRequestDsml (org.apache.directory.api.dsmlv2.request.BatchRequestDsml)23 ModifyRequest (org.apache.directory.api.ldap.model.message.ModifyRequest)18 AddRequest (org.apache.directory.api.ldap.model.message.AddRequest)16 ModifyDnRequest (org.apache.directory.api.ldap.model.message.ModifyDnRequest)15 SubstringNode (org.apache.directory.api.ldap.model.filter.SubstringNode)14 CompareRequest (org.apache.directory.api.ldap.model.message.CompareRequest)13 Attribute (org.apache.directory.api.ldap.model.entry.Attribute)12 AbandonRequest (org.apache.directory.api.ldap.model.message.AbandonRequest)10 DeleteRequest (org.apache.directory.api.ldap.model.message.DeleteRequest)10 ExtendedRequestDsml (org.apache.directory.api.dsmlv2.request.ExtendedRequestDsml)9 Modification (org.apache.directory.api.ldap.model.entry.Modification)9 ExtensibleNode (org.apache.directory.api.ldap.model.filter.ExtensibleNode)9