Search in sources :

Example 21 with ASN1Buffer

use of com.unboundid.asn1.ASN1Buffer in project ldapsdk by pingidentity.

the class SearchResultEntryProtocolOpTestCase method testSearchResultEntryProtocolOp.

/**
 * Provides test coverage for the search result entry protocol op.
 *
 * @throws  Exception  If an unexpected problem occurs.
 */
@Test()
public void testSearchResultEntryProtocolOp() throws Exception {
    List<Attribute> attrs = new LinkedList<Attribute>();
    attrs.add(new Attribute("objectClass", "top", "domain"));
    attrs.add(new Attribute("dc", "example"));
    SearchResultEntryProtocolOp op = new SearchResultEntryProtocolOp("dc=example,dc=com", attrs);
    ASN1Buffer buffer = new ASN1Buffer();
    op.writeTo(buffer);
    byte[] opBytes = buffer.toByteArray();
    ByteArrayInputStream inputStream = new ByteArrayInputStream(opBytes);
    ASN1StreamReader reader = new ASN1StreamReader(inputStream);
    op = new SearchResultEntryProtocolOp(reader);
    op = SearchResultEntryProtocolOp.decodeProtocolOp(op.encodeProtocolOp());
    op = new SearchResultEntryProtocolOp(op.toSearchResultEntry());
    assertEquals(new DN(op.getDN()), new DN("dc=example,dc=com"));
    attrs = op.getAttributes();
    assertEquals(attrs.size(), 2);
    assertEquals(op.getProtocolOpType(), (byte) 0x64);
    assertNotNull(op.toString());
}
Also used : Attribute(com.unboundid.ldap.sdk.Attribute) ByteArrayInputStream(java.io.ByteArrayInputStream) ASN1Buffer(com.unboundid.asn1.ASN1Buffer) DN(com.unboundid.ldap.sdk.DN) ASN1StreamReader(com.unboundid.asn1.ASN1StreamReader) LinkedList(java.util.LinkedList) Test(org.testng.annotations.Test)

Example 22 with ASN1Buffer

use of com.unboundid.asn1.ASN1Buffer in project ldapsdk by pingidentity.

the class SearchResultReferenceProtocolOpTestCase method testSearchResultReferenceProtocolOp.

/**
 * Provides test coverage for the search result reference protocol op.
 *
 * @throws  Exception  If an unexpected problem occurs.
 */
@Test()
public void testSearchResultReferenceProtocolOp() throws Exception {
    LinkedList<String> refs = new LinkedList<String>();
    refs.add("ldap://server1.example.com:389/dc=example,dc=com");
    refs.add("ldap://server2.example.com:389/dc=example,dc=com");
    SearchResultReferenceProtocolOp op = new SearchResultReferenceProtocolOp(refs);
    ASN1Buffer buffer = new ASN1Buffer();
    op.writeTo(buffer);
    byte[] opBytes = buffer.toByteArray();
    ByteArrayInputStream inputStream = new ByteArrayInputStream(opBytes);
    ASN1StreamReader reader = new ASN1StreamReader(inputStream);
    op = new SearchResultReferenceProtocolOp(reader);
    op = SearchResultReferenceProtocolOp.decodeProtocolOp(op.encodeProtocolOp());
    op = new SearchResultReferenceProtocolOp(op.toSearchResultReference());
    assertNotNull(op.getReferralURLs());
    assertEquals(op.getReferralURLs().size(), 2);
    assertEquals(op.getProtocolOpType(), (byte) 0x73);
    assertNotNull(op.toString());
}
Also used : ByteArrayInputStream(java.io.ByteArrayInputStream) ASN1Buffer(com.unboundid.asn1.ASN1Buffer) ASN1OctetString(com.unboundid.asn1.ASN1OctetString) ASN1StreamReader(com.unboundid.asn1.ASN1StreamReader) LinkedList(java.util.LinkedList) Test(org.testng.annotations.Test)

Example 23 with ASN1Buffer

use of com.unboundid.asn1.ASN1Buffer in project ldapsdk by pingidentity.

the class AddRequestTestCase method testEncoding.

/**
 * Tests to ensure that the encoding for the provided add request is identical
 * when using the stream-based and non-stream-based ASN.1 encoding mechanisms.
 *
 * @param  addRequest  The add request to be tested.
 *
 * @throws  Exception  If an unexpected problem occurs.
 */
private static void testEncoding(final AddRequest addRequest) throws Exception {
    ASN1Element protocolOpElement = addRequest.encodeProtocolOp();
    ASN1Buffer b = new ASN1Buffer();
    addRequest.writeTo(b);
    assertTrue(Arrays.equals(b.toByteArray(), protocolOpElement.encode()));
}
Also used : ASN1Buffer(com.unboundid.asn1.ASN1Buffer) ASN1Element(com.unboundid.asn1.ASN1Element)

Example 24 with ASN1Buffer

use of com.unboundid.asn1.ASN1Buffer in project ldapsdk by pingidentity.

the class AddRequestProtocolOpTestCase method testDecodeRequestMalformedAttr.

/**
 * Tests the behavior when trying to decode an add request with a malformed
 * attribute list.
 *
 * @throws  Exception  If an unexpected problem occurs.
 */
@Test(expectedExceptions = { LDAPException.class })
public void testDecodeRequestMalformedAttr() throws Exception {
    ASN1Buffer b = new ASN1Buffer();
    ASN1BufferSequence opSequence = b.beginSequence((byte) 0x68);
    b.addOctetString("dc=example,dc=com");
    ASN1BufferSequence attrsSequence = b.beginSequence();
    b.addOctetString();
    attrsSequence.end();
    opSequence.end();
    byte[] requestBytes = b.toByteArray();
    ByteArrayInputStream inputStream = new ByteArrayInputStream(requestBytes);
    ASN1StreamReader reader = new ASN1StreamReader(inputStream);
    new AddRequestProtocolOp(reader);
}
Also used : ASN1BufferSequence(com.unboundid.asn1.ASN1BufferSequence) ByteArrayInputStream(java.io.ByteArrayInputStream) ASN1Buffer(com.unboundid.asn1.ASN1Buffer) ASN1StreamReader(com.unboundid.asn1.ASN1StreamReader) Test(org.testng.annotations.Test)

Example 25 with ASN1Buffer

use of com.unboundid.asn1.ASN1Buffer in project ldapsdk by pingidentity.

the class AddResponseProtocolOpTestCase method testAddResponseProtocolOpFailure.

/**
 * Provides test coverage for the add response protocol op for a failure
 * response.
 *
 * @throws  Exception  If an unexpected problem occurs.
 */
@Test()
public void testAddResponseProtocolOpFailure() throws Exception {
    LinkedList<String> refs = new LinkedList<String>();
    refs.add("ldap://server1.example.com:389/dc=example,dc=com");
    refs.add("ldap://server2.example.com:389/dc=example,dc=com");
    AddResponseProtocolOp op = new AddResponseProtocolOp(32, "dc=example,dc=com", "The parent entry did not exist", refs);
    ASN1Buffer buffer = new ASN1Buffer();
    op.writeTo(buffer);
    byte[] opBytes = buffer.toByteArray();
    ByteArrayInputStream inputStream = new ByteArrayInputStream(opBytes);
    ASN1StreamReader reader = new ASN1StreamReader(inputStream);
    op = new AddResponseProtocolOp(reader);
    op = AddResponseProtocolOp.decodeProtocolOp(op.encodeProtocolOp());
    op = new AddResponseProtocolOp(op.toLDAPResult());
    assertEquals(op.getResultCode(), 32);
    assertNotNull(op.getMatchedDN());
    assertEquals(new DN(op.getMatchedDN()), new DN("dc=example,dc=com"));
    assertNotNull(op.getDiagnosticMessage());
    assertEquals(op.getDiagnosticMessage(), "The parent entry did not exist");
    assertNotNull(op.getReferralURLs());
    assertFalse(op.getReferralURLs().isEmpty());
    assertEquals(op.getReferralURLs().size(), 2);
    assertEquals(op.getProtocolOpType(), (byte) 0x69);
    assertNotNull(op.toString());
}
Also used : ByteArrayInputStream(java.io.ByteArrayInputStream) ASN1Buffer(com.unboundid.asn1.ASN1Buffer) DN(com.unboundid.ldap.sdk.DN) ASN1StreamReader(com.unboundid.asn1.ASN1StreamReader) LinkedList(java.util.LinkedList) Test(org.testng.annotations.Test)

Aggregations

ASN1Buffer (com.unboundid.asn1.ASN1Buffer)100 ASN1StreamReader (com.unboundid.asn1.ASN1StreamReader)91 ByteArrayInputStream (java.io.ByteArrayInputStream)91 Test (org.testng.annotations.Test)91 ASN1BufferSequence (com.unboundid.asn1.ASN1BufferSequence)47 ASN1OctetString (com.unboundid.asn1.ASN1OctetString)32 LinkedList (java.util.LinkedList)28 DN (com.unboundid.ldap.sdk.DN)21 Control (com.unboundid.ldap.sdk.Control)17 ASN1Element (com.unboundid.asn1.ASN1Element)8 Attribute (com.unboundid.ldap.sdk.Attribute)6 SimpleBindRequest (com.unboundid.ldap.sdk.SimpleBindRequest)4 ASN1BufferSet (com.unboundid.asn1.ASN1BufferSet)3 Modification (com.unboundid.ldap.sdk.Modification)3 RDN (com.unboundid.ldap.sdk.RDN)2 JSONObjectFilter (com.unboundid.ldap.sdk.unboundidds.jsonfilter.JSONObjectFilter)2 OutputStream (java.io.OutputStream)2 ExtendedResponseProtocolOp (com.unboundid.ldap.protocol.ExtendedResponseProtocolOp)1 LDAPMessage (com.unboundid.ldap.protocol.LDAPMessage)1 ExtendedRequest (com.unboundid.ldap.sdk.ExtendedRequest)1