Search in sources :

Example 21 with ExtendedResponse

use of org.apache.directory.api.ldap.model.message.ExtendedResponse in project directory-ldap-api by apache.

the class ExtendedResponseTest method testResponseWith1ReferralAndAnErrorMessage.

/**
 * Test parsing of a response with a Referral and an Error Message
 */
@Test
public void testResponseWith1ReferralAndAnErrorMessage() {
    Dsmlv2ResponseParser parser = null;
    try {
        parser = new Dsmlv2ResponseParser(getCodec());
        parser.setInput(ExtendedResponseTest.class.getResource("response_with_1_referral_and_error_message.xml").openStream(), "UTF-8");
        parser.parse();
    } catch (Exception e) {
        fail(e.getMessage());
    }
    ExtendedResponse extendedResponse = (ExtendedResponse) parser.getBatchResponse().getCurrentResponse();
    LdapResult ldapResult = extendedResponse.getLdapResult();
    Collection<String> referrals = ldapResult.getReferral().getLdapUrls();
    assertEquals(1, referrals.size());
    try {
        assertTrue(referrals.contains(new LdapUrl("ldap://www.apache.org/").toString()));
    } catch (LdapURLEncodingException e) {
        fail();
    }
}
Also used : LdapUrl(org.apache.directory.api.ldap.model.url.LdapUrl) LdapURLEncodingException(org.apache.directory.api.ldap.model.exception.LdapURLEncodingException) Dsmlv2ResponseParser(org.apache.directory.api.dsmlv2.Dsmlv2ResponseParser) LdapResult(org.apache.directory.api.ldap.model.message.LdapResult) ExtendedResponse(org.apache.directory.api.ldap.model.message.ExtendedResponse) LdapURLEncodingException(org.apache.directory.api.ldap.model.exception.LdapURLEncodingException) DecoderException(org.apache.directory.api.asn1.DecoderException) AbstractResponseTest(org.apache.directory.api.dsmlv2.AbstractResponseTest) Test(org.junit.Test)

Example 22 with ExtendedResponse

use of org.apache.directory.api.ldap.model.message.ExtendedResponse in project directory-ldap-api by apache.

the class ExtendedResponseTest method testResponseWithRequestId.

/**
 * Test parsing of a Response with the (optional) requestID attribute
 */
@Test
public void testResponseWithRequestId() {
    Dsmlv2ResponseParser parser = null;
    try {
        parser = new Dsmlv2ResponseParser(getCodec());
        parser.setInput(ExtendedResponseTest.class.getResource("response_with_requestID_attribute.xml").openStream(), "UTF-8");
        parser.parse();
    } catch (Exception e) {
        fail(e.getMessage());
    }
    ExtendedResponse extendedResponse = (ExtendedResponse) parser.getBatchResponse().getCurrentResponse();
    assertEquals(456, extendedResponse.getMessageId());
}
Also used : Dsmlv2ResponseParser(org.apache.directory.api.dsmlv2.Dsmlv2ResponseParser) ExtendedResponse(org.apache.directory.api.ldap.model.message.ExtendedResponse) LdapURLEncodingException(org.apache.directory.api.ldap.model.exception.LdapURLEncodingException) DecoderException(org.apache.directory.api.asn1.DecoderException) AbstractResponseTest(org.apache.directory.api.dsmlv2.AbstractResponseTest) Test(org.junit.Test)

Example 23 with ExtendedResponse

use of org.apache.directory.api.ldap.model.message.ExtendedResponse in project directory-ldap-api by apache.

the class ExtendedResponseTest method testResponseWithEmptyErrorMessage.

/**
 * Test parsing of a response with empty Error Message
 */
@Test
public void testResponseWithEmptyErrorMessage() {
    Dsmlv2ResponseParser parser = null;
    try {
        parser = new Dsmlv2ResponseParser(getCodec());
        parser.setInput(ExtendedResponseTest.class.getResource("response_with_empty_error_message.xml").openStream(), "UTF-8");
        parser.parse();
    } catch (Exception e) {
        fail(e.getMessage());
    }
    ExtendedResponse extendedResponse = (ExtendedResponse) parser.getBatchResponse().getCurrentResponse();
    LdapResult ldapResult = extendedResponse.getLdapResult();
    assertNull(ldapResult.getDiagnosticMessage());
}
Also used : Dsmlv2ResponseParser(org.apache.directory.api.dsmlv2.Dsmlv2ResponseParser) LdapResult(org.apache.directory.api.ldap.model.message.LdapResult) ExtendedResponse(org.apache.directory.api.ldap.model.message.ExtendedResponse) LdapURLEncodingException(org.apache.directory.api.ldap.model.exception.LdapURLEncodingException) DecoderException(org.apache.directory.api.asn1.DecoderException) AbstractResponseTest(org.apache.directory.api.dsmlv2.AbstractResponseTest) Test(org.junit.Test)

Example 24 with ExtendedResponse

use of org.apache.directory.api.ldap.model.message.ExtendedResponse in project directory-ldap-api by apache.

the class ExtendedResponseTest method testResponseWith1EmptyReferral.

/**
 * Test parsing of a response with a empty Referral
 */
@Test
public void testResponseWith1EmptyReferral() {
    Dsmlv2ResponseParser parser = null;
    try {
        parser = new Dsmlv2ResponseParser(getCodec());
        parser.setInput(ExtendedResponseTest.class.getResource("response_with_1_empty_referral.xml").openStream(), "UTF-8");
        parser.parse();
    } catch (Exception e) {
        fail(e.getMessage());
    }
    ExtendedResponse extendedResponse = (ExtendedResponse) parser.getBatchResponse().getCurrentResponse();
    LdapResult ldapResult = extendedResponse.getLdapResult();
    Collection<String> referrals = ldapResult.getReferral().getLdapUrls();
    assertEquals(0, referrals.size());
}
Also used : Dsmlv2ResponseParser(org.apache.directory.api.dsmlv2.Dsmlv2ResponseParser) LdapResult(org.apache.directory.api.ldap.model.message.LdapResult) ExtendedResponse(org.apache.directory.api.ldap.model.message.ExtendedResponse) LdapURLEncodingException(org.apache.directory.api.ldap.model.exception.LdapURLEncodingException) DecoderException(org.apache.directory.api.asn1.DecoderException) AbstractResponseTest(org.apache.directory.api.dsmlv2.AbstractResponseTest) Test(org.junit.Test)

Example 25 with ExtendedResponse

use of org.apache.directory.api.ldap.model.message.ExtendedResponse in project directory-ldap-api by apache.

the class ExtendedResponseTest method testResponseWith2Referrals.

/**
 * Test parsing of a response with 2 Referral elements
 */
@Test
public void testResponseWith2Referrals() {
    Dsmlv2ResponseParser parser = null;
    try {
        parser = new Dsmlv2ResponseParser(getCodec());
        parser.setInput(ExtendedResponseTest.class.getResource("response_with_2_referrals.xml").openStream(), "UTF-8");
        parser.parse();
    } catch (Exception e) {
        fail(e.getMessage());
    }
    ExtendedResponse extendedResponse = (ExtendedResponse) parser.getBatchResponse().getCurrentResponse();
    LdapResult ldapResult = extendedResponse.getLdapResult();
    Collection<String> referrals = ldapResult.getReferral().getLdapUrls();
    assertEquals(2, referrals.size());
    try {
        assertTrue(referrals.contains(new LdapUrl("ldap://www.apache.org/").toString()));
    } catch (LdapURLEncodingException e) {
        fail();
    }
    try {
        assertTrue(referrals.contains(new LdapUrl("ldap://www.apple.com/").toString()));
    } catch (LdapURLEncodingException e) {
        fail();
    }
}
Also used : LdapUrl(org.apache.directory.api.ldap.model.url.LdapUrl) LdapURLEncodingException(org.apache.directory.api.ldap.model.exception.LdapURLEncodingException) Dsmlv2ResponseParser(org.apache.directory.api.dsmlv2.Dsmlv2ResponseParser) LdapResult(org.apache.directory.api.ldap.model.message.LdapResult) ExtendedResponse(org.apache.directory.api.ldap.model.message.ExtendedResponse) LdapURLEncodingException(org.apache.directory.api.ldap.model.exception.LdapURLEncodingException) DecoderException(org.apache.directory.api.asn1.DecoderException) AbstractResponseTest(org.apache.directory.api.dsmlv2.AbstractResponseTest) Test(org.junit.Test)

Aggregations

ExtendedResponse (org.apache.directory.api.ldap.model.message.ExtendedResponse)30 DecoderException (org.apache.directory.api.asn1.DecoderException)22 Test (org.junit.Test)19 AbstractResponseTest (org.apache.directory.api.dsmlv2.AbstractResponseTest)17 Dsmlv2ResponseParser (org.apache.directory.api.dsmlv2.Dsmlv2ResponseParser)17 LdapURLEncodingException (org.apache.directory.api.ldap.model.exception.LdapURLEncodingException)15 LdapResult (org.apache.directory.api.ldap.model.message.LdapResult)8 ExtendedResponseDecorator (org.apache.directory.api.ldap.codec.decorators.ExtendedResponseDecorator)7 Control (org.apache.directory.api.ldap.model.message.Control)6 ByteBuffer (java.nio.ByteBuffer)4 Asn1Decoder (org.apache.directory.api.asn1.ber.Asn1Decoder)4 DsmlControl (org.apache.directory.api.dsmlv2.DsmlControl)4 LdapUrl (org.apache.directory.api.ldap.model.url.LdapUrl)3 IOException (java.io.IOException)2 PrintWriter (java.io.PrintWriter)2 StringWriter (java.io.StringWriter)2 ConnectException (java.net.ConnectException)2 UnresolvedAddressException (java.nio.channels.UnresolvedAddressException)2 EncoderException (org.apache.directory.api.asn1.EncoderException)2 BatchResponseDsml (org.apache.directory.api.dsmlv2.response.BatchResponseDsml)2