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