You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by el...@apache.org on 2005/09/24 17:39:41 UTC
svn commit: r291317 -
/directory/shared/ldap/trunk/apache2-provider/src/test/org/apache/asn1new/ldap/codec/AbandonRequestTest.java
Author: elecharny
Date: Sat Sep 24 08:39:38 2005
New Revision: 291317
URL: http://svn.apache.org/viewcvs?rev=291317&view=rev
Log:
Added a test with a MessageId over 127.
Modified:
directory/shared/ldap/trunk/apache2-provider/src/test/org/apache/asn1new/ldap/codec/AbandonRequestTest.java
Modified: directory/shared/ldap/trunk/apache2-provider/src/test/org/apache/asn1new/ldap/codec/AbandonRequestTest.java
URL: http://svn.apache.org/viewcvs/directory/shared/ldap/trunk/apache2-provider/src/test/org/apache/asn1new/ldap/codec/AbandonRequestTest.java?rev=291317&r1=291316&r2=291317&view=diff
==============================================================================
--- directory/shared/ldap/trunk/apache2-provider/src/test/org/apache/asn1new/ldap/codec/AbandonRequestTest.java (original)
+++ directory/shared/ldap/trunk/apache2-provider/src/test/org/apache/asn1new/ldap/codec/AbandonRequestTest.java Sat Sep 24 08:39:38 2005
@@ -173,4 +173,65 @@
Assert.fail( ee.getMessage() );
}
}
+
+ /**
+ * Test the decoding of a AbandonRequest with no controls
+ */
+ public void testDecodeAbandonRequestNoControlsHighMessageId()
+ {
+ Asn1Decoder ldapDecoder = new LdapDecoder();
+
+ ByteBuffer stream = ByteBuffer.allocate( 0x0A );
+ stream.put(
+ new byte[]
+ {
+ 0x30, 0x08, // LDAPMessage ::=SEQUENCE {
+ 0x02, 0x03, 0x00, (byte)0x80, 0x13, // messageID MessageID
+ 0x50, 0x01, 0x02 // CHOICE { ..., abandonRequest AbandonRequest,...
+ // AbandonRequest ::= [APPLICATION 16] MessageID
+ } );
+
+ String decodedPdu = StringUtils.dumpBytes( stream.array() );
+ stream.flip();
+
+ // Allocate a LdapMessageContainer Container
+ IAsn1Container ldapMessageContainer = new LdapMessageContainer();
+
+ // Decode the PDU
+ try
+ {
+ ldapDecoder.decode( stream, ldapMessageContainer );
+ }
+ catch ( DecoderException de )
+ {
+ de.printStackTrace();
+ Assert.fail( de.getMessage() );
+ }
+
+ // Check that everything is OK
+ LdapMessage message = ( ( LdapMessageContainer ) ldapMessageContainer ).getLdapMessage();
+ AbandonRequest abandonRequest = message.getAbandonRequest();
+
+ Assert.assertEquals( 32787, message.getMessageId() );
+ Assert.assertEquals( 2, abandonRequest.getAbandonedMessageId() );
+
+ // Check the length
+ Assert.assertEquals(10, message.computeLength());
+
+ // Check the encoding
+ try
+ {
+ ByteBuffer bb = message.encode( null );
+
+ String encodedPdu = StringUtils.dumpBytes( bb.array() );
+
+ Assert.assertEquals(encodedPdu, decodedPdu );
+ }
+ catch ( EncoderException ee )
+ {
+ ee.printStackTrace();
+ Assert.fail( ee.getMessage() );
+ }
+ }
+
}