Search in sources :

Example 1 with LdapResult

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

the class ExtendedResponseTest method testResponseWithErrorMessage.

/**
 * Test parsing of a response with Error Message
 */
@Test
public void testResponseWithErrorMessage() {
    Dsmlv2ResponseParser parser = null;
    try {
        parser = new Dsmlv2ResponseParser(getCodec());
        parser.setInput(ExtendedResponseTest.class.getResource("response_with_error_message.xml").openStream(), "UTF-8");
        parser.parse();
    } catch (Exception e) {
        fail(e.getMessage());
    }
    ExtendedResponse extendedResponse = (ExtendedResponse) parser.getBatchResponse().getCurrentResponse();
    LdapResult ldapResult = extendedResponse.getLdapResult();
    assertEquals("Unrecognized extended operation EXTENSION_OID: 1.2.6.1.4.1.18060.1.1.1.100.2", 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 2 with LdapResult

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

the class ModifyDNResponseTest method testResponseWithResultCode.

/**
 * Test parsing of a response with Result Code
 */
@Test
public void testResponseWithResultCode() {
    Dsmlv2ResponseParser parser = null;
    try {
        parser = new Dsmlv2ResponseParser(getCodec());
        parser.setInput(ModifyDNResponseTest.class.getResource("response_with_result_code.xml").openStream(), "UTF-8");
        parser.parse();
    } catch (Exception e) {
        fail(e.getMessage());
    }
    ModifyDnResponse modifyDNResponse = (ModifyDnResponse) parser.getBatchResponse().getCurrentResponse();
    LdapResult ldapResult = modifyDNResponse.getLdapResult();
    assertEquals(ResultCodeEnum.PROTOCOL_ERROR, ldapResult.getResultCode());
}
Also used : Dsmlv2ResponseParser(org.apache.directory.api.dsmlv2.Dsmlv2ResponseParser) LdapResult(org.apache.directory.api.ldap.model.message.LdapResult) ModifyDnResponse(org.apache.directory.api.ldap.model.message.ModifyDnResponse) LdapURLEncodingException(org.apache.directory.api.ldap.model.exception.LdapURLEncodingException) Test(org.junit.Test) AbstractResponseTest(org.apache.directory.api.dsmlv2.AbstractResponseTest)

Example 3 with LdapResult

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

the class ModifyDNResponseTest method testResponseWith1EmptyReferral.

/**
 * Test parsing of a response with an empty Referral
 */
@Test
public void testResponseWith1EmptyReferral() {
    Dsmlv2ResponseParser parser = null;
    try {
        parser = new Dsmlv2ResponseParser(getCodec());
        parser.setInput(ModifyDNResponseTest.class.getResource("response_with_1_empty_referral.xml").openStream(), "UTF-8");
        parser.parse();
    } catch (Exception e) {
        fail(e.getMessage());
    }
    ModifyDnResponse modifyDNResponse = (ModifyDnResponse) parser.getBatchResponse().getCurrentResponse();
    LdapResult ldapResult = modifyDNResponse.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) ModifyDnResponse(org.apache.directory.api.ldap.model.message.ModifyDnResponse) LdapURLEncodingException(org.apache.directory.api.ldap.model.exception.LdapURLEncodingException) Test(org.junit.Test) AbstractResponseTest(org.apache.directory.api.dsmlv2.AbstractResponseTest)

Example 4 with LdapResult

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

the class ModifyDNResponseTest 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(ModifyDNResponseTest.class.getResource("response_with_2_referrals.xml").openStream(), "UTF-8");
        parser.parse();
    } catch (Exception e) {
        fail(e.getMessage());
    }
    ModifyDnResponse modifyDNResponse = (ModifyDnResponse) parser.getBatchResponse().getCurrentResponse();
    LdapResult ldapResult = modifyDNResponse.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) ModifyDnResponse(org.apache.directory.api.ldap.model.message.ModifyDnResponse) LdapURLEncodingException(org.apache.directory.api.ldap.model.exception.LdapURLEncodingException) Test(org.junit.Test) AbstractResponseTest(org.apache.directory.api.dsmlv2.AbstractResponseTest)

Example 5 with LdapResult

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

the class ModifyDNResponseTest 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(ModifyDNResponseTest.class.getResource("response_with_1_referral_and_error_message.xml").openStream(), "UTF-8");
        parser.parse();
    } catch (Exception e) {
        fail(e.getMessage());
    }
    ModifyDnResponse modifyDNResponse = (ModifyDnResponse) parser.getBatchResponse().getCurrentResponse();
    LdapResult ldapResult = modifyDNResponse.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) ModifyDnResponse(org.apache.directory.api.ldap.model.message.ModifyDnResponse) LdapURLEncodingException(org.apache.directory.api.ldap.model.exception.LdapURLEncodingException) Test(org.junit.Test) AbstractResponseTest(org.apache.directory.api.dsmlv2.AbstractResponseTest)

Aggregations

LdapResult (org.apache.directory.api.ldap.model.message.LdapResult)71 LdapURLEncodingException (org.apache.directory.api.ldap.model.exception.LdapURLEncodingException)65 Test (org.junit.Test)65 AbstractResponseTest (org.apache.directory.api.dsmlv2.AbstractResponseTest)64 Dsmlv2ResponseParser (org.apache.directory.api.dsmlv2.Dsmlv2ResponseParser)64 LdapUrl (org.apache.directory.api.ldap.model.url.LdapUrl)23 DecoderException (org.apache.directory.api.asn1.DecoderException)13 ExtendedResponse (org.apache.directory.api.ldap.model.message.ExtendedResponse)9 SearchResponse (org.apache.directory.api.dsmlv2.response.SearchResponse)8 AddResponse (org.apache.directory.api.ldap.model.message.AddResponse)8 BindResponse (org.apache.directory.api.ldap.model.message.BindResponse)8 CompareResponse (org.apache.directory.api.ldap.model.message.CompareResponse)8 DeleteResponse (org.apache.directory.api.ldap.model.message.DeleteResponse)8 ModifyDnResponse (org.apache.directory.api.ldap.model.message.ModifyDnResponse)8 ModifyResponse (org.apache.directory.api.ldap.model.message.ModifyResponse)8 SearchResultDone (org.apache.directory.api.ldap.model.message.SearchResultDone)8 TLV (org.apache.directory.api.asn1.ber.tlv.TLV)5 ResultResponse (org.apache.directory.api.ldap.model.message.ResultResponse)5 Referral (org.apache.directory.api.ldap.model.message.Referral)3 ResultCodeEnum (org.apache.directory.api.ldap.model.message.ResultCodeEnum)3