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 2010/08/16 15:23:29 UTC
svn commit: r985918 [2/2] - in /directory:
apacheds/branches/apacheds-codec-merge/core-api/src/main/java/org/apache/directory/server/core/
apacheds/branches/apacheds-codec-merge/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/oper...
Modified: directory/shared/branches/shared-codec-merge/ldap/src/test/java/org/apache/directory/shared/ldap/codec/extended/ExtendedRequestTest.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-codec-merge/ldap/src/test/java/org/apache/directory/shared/ldap/codec/extended/ExtendedRequestTest.java?rev=985918&r1=985917&r2=985918&view=diff
==============================================================================
--- directory/shared/branches/shared-codec-merge/ldap/src/test/java/org/apache/directory/shared/ldap/codec/extended/ExtendedRequestTest.java (original)
+++ directory/shared/branches/shared-codec-merge/ldap/src/test/java/org/apache/directory/shared/ldap/codec/extended/ExtendedRequestTest.java Mon Aug 16 13:23:28 2010
@@ -25,7 +25,7 @@ import static org.junit.Assert.assertTru
import static org.junit.Assert.fail;
import java.nio.ByteBuffer;
-import java.util.List;
+import java.util.Map;
import org.apache.directory.junit.tools.Concurrent;
import org.apache.directory.junit.tools.ConcurrentJunitRunner;
@@ -34,7 +34,9 @@ import org.apache.directory.shared.asn1.
import org.apache.directory.shared.asn1.codec.DecoderException;
import org.apache.directory.shared.asn1.codec.EncoderException;
import org.apache.directory.shared.ldap.codec.LdapMessageContainer;
+import org.apache.directory.shared.ldap.message.LdapProtocolEncoder;
import org.apache.directory.shared.ldap.message.control.Control;
+import org.apache.directory.shared.ldap.message.internal.InternalExtendedRequest;
import org.apache.directory.shared.ldap.util.StringTools;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -49,6 +51,10 @@ import org.junit.runner.RunWith;
@Concurrent()
public class ExtendedRequestTest
{
+ /** The encoder instance */
+ LdapProtocolEncoder encoder = new LdapProtocolEncoder();
+
+
/**
* Test the decoding of a full ExtendedRequest
*/
@@ -60,16 +66,14 @@ public class ExtendedRequestTest
ByteBuffer stream = ByteBuffer.allocate( 0x1D );
stream.put( new byte[]
- {
- 0x30, 0x1B, // LDAPMessage ::= SEQUENCE {
- 0x02, 0x01, 0x01, // messageID MessageID
- // CHOICE { ..., extendedReq ExtendedRequest, ...
- 0x77, 0x16, // ExtendedRequest ::= [APPLICATION 23] SEQUENCE {
- // requestName [0] LDAPOID,
- ( byte ) 0x80, 0x0D, '1', '.', '3', '.', '6', '.', '1', '.', '5', '.', '5', '.', '2',
- // requestValue [1] OCTET STRING OPTIONAL }
- ( byte ) 0x81, 0x05, 'v', 'a', 'l', 'u', 'e'
- } );
+ { 0x30, 0x1B, // LDAPMessage ::= SEQUENCE {
+ 0x02, 0x01, 0x01, // messageID MessageID
+ // CHOICE { ..., extendedReq ExtendedRequest, ...
+ 0x77, 0x16, // ExtendedRequest ::= [APPLICATION 23] SEQUENCE {
+ // requestName [0] LDAPOID,
+ ( byte ) 0x80, 0x0D, '1', '.', '3', '.', '6', '.', '1', '.', '5', '.', '5', '.', '2',
+ // requestValue [1] OCTET STRING OPTIONAL }
+ ( byte ) 0x81, 0x05, 'v', 'a', 'l', 'u', 'e' } );
String decodedPdu = StringTools.dumpBytes( stream.array() );
stream.flip();
@@ -89,19 +93,20 @@ public class ExtendedRequestTest
}
// Check the decoded ExtendedRequest PDU
- ExtendedRequestCodec extendedRequest = ( ( LdapMessageContainer ) ldapMessageContainer ).getExtendedRequest();
+ InternalExtendedRequest extendedRequest = ( ( LdapMessageContainer ) ldapMessageContainer )
+ .getExtendedRequest();
assertEquals( 1, extendedRequest.getMessageId() );
assertEquals( "1.3.6.1.5.5.2", extendedRequest.getRequestName() );
assertEquals( "value", StringTools.utf8ToString( extendedRequest.getRequestValue() ) );
- // Check the length
- assertEquals( 0x1D, extendedRequest.computeLength() );
-
// Check the encoding
try
{
- ByteBuffer bb = extendedRequest.encode();
+ ByteBuffer bb = encoder.encodeMessage( extendedRequest );
+
+ // Check the length
+ assertEquals( 0x1D, bb.limit() );
String encodedPdu = StringTools.dumpBytes( bb.array() );
@@ -126,21 +131,20 @@ public class ExtendedRequestTest
ByteBuffer stream = ByteBuffer.allocate( 0x3A );
stream.put( new byte[]
- {
- 0x30, 0x38, // LDAPMessage ::= SEQUENCE {
- 0x02, 0x01, 0x01, // messageID MessageID
- // CHOICE { ..., extendedReq ExtendedRequest, ...
- 0x77, 0x16, // ExtendedRequest ::= [APPLICATION 23] SEQUENCE {
- // requestName [0] LDAPOID,
+ { 0x30,
+ 0x38, // LDAPMessage ::= SEQUENCE {
+ 0x02, 0x01,
+ 0x01, // messageID MessageID
+ // CHOICE { ..., extendedReq ExtendedRequest, ...
+ 0x77,
+ 0x16, // ExtendedRequest ::= [APPLICATION 23] SEQUENCE {
+ // requestName [0] LDAPOID,
( byte ) 0x80, 0x0D, '1', '.', '3', '.', '6', '.', '1', '.', '5', '.', '5', '.', '2',
- // requestValue [1] OCTET STRING OPTIONAL }
- ( byte ) 0x81, 0x05, 'v', 'a', 'l', 'u', 'e',
- ( byte ) 0xA0, 0x1B, // A control
- 0x30, 0x19,
- 0x04, 0x17,
- '2', '.', '1', '6', '.', '8', '4', '0', '.', '1', '.', '1', '1', '3', '7', '3',
- '0', '.', '3', '.', '4', '.', '2'
- } );
+ // requestValue [1] OCTET STRING OPTIONAL }
+ ( byte ) 0x81, 0x05, 'v', 'a', 'l', 'u', 'e', ( byte ) 0xA0,
+ 0x1B, // A control
+ 0x30, 0x19, 0x04, 0x17, '2', '.', '1', '6', '.', '8', '4', '0', '.', '1', '.', '1', '1', '3', '7', '3',
+ '0', '.', '3', '.', '4', '.', '2' } );
String decodedPdu = StringTools.dumpBytes( stream.array() );
stream.flip();
@@ -160,28 +164,29 @@ public class ExtendedRequestTest
}
// Check the decoded ExtendedRequest PDU
- ExtendedRequestCodec extendedRequest = ( ( LdapMessageContainer ) ldapMessageContainer ).getExtendedRequest();
+ InternalExtendedRequest extendedRequest = ( ( LdapMessageContainer ) ldapMessageContainer )
+ .getExtendedRequest();
assertEquals( 1, extendedRequest.getMessageId() );
assertEquals( "1.3.6.1.5.5.2", extendedRequest.getRequestName() );
assertEquals( "value", StringTools.utf8ToString( extendedRequest.getRequestValue() ) );
// Check the Control
- List<Control> controls = extendedRequest.getControls();
+ Map<String, Control> controls = extendedRequest.getControls();
assertEquals( 1, controls.size() );
+ assertTrue( extendedRequest.hasControl( "2.16.840.1.113730.3.4.2" ) );
- Control control = extendedRequest.getControls( 0 );
- assertEquals( "2.16.840.1.113730.3.4.2", control.getOid() );
+ Control control = extendedRequest.getControl( "2.16.840.1.113730.3.4.2" );
assertEquals( "", StringTools.dumpBytes( ( byte[] ) control.getValue() ) );
- // Check the length
- assertEquals( 0x3A, extendedRequest.computeLength() );
-
// Check the encoding
try
{
- ByteBuffer bb = extendedRequest.encode();
+ ByteBuffer bb = encoder.encodeMessage( extendedRequest );
+
+ // Check the length
+ assertEquals( 0x3A, bb.limit() );
String encodedPdu = StringTools.dumpBytes( bb.array() );
@@ -207,21 +212,20 @@ public class ExtendedRequestTest
ByteBuffer stream = ByteBuffer.allocate( 0x33 );
stream.put( new byte[]
- {
- 0x30, 0x31, // LDAPMessage ::= SEQUENCE {
- 0x02, 0x01, 0x01, // messageID MessageID
- // CHOICE { ..., extendedReq ExtendedRequest, ...
- 0x77, 0x0F, // ExtendedRequest ::= [APPLICATION 23] SEQUENCE {
- // requestName [0] LDAPOID,
- ( byte ) 0x80, 0x0D,
- '1', '.', '3', '.', '6', '.', '1', '.', '5', '.', '5', '.', '2',
- // requestValue [1] OCTET STRING OPTIONAL }
- ( byte ) 0xA0, 0x1B, // A control
- 0x30, 0x19,
- 0x04, 0x17,
- '2', '.', '1', '6', '.', '8', '4', '0', '.', '1', '.', '1', '1', '3', '7', '3',
- '0', '.', '3', '.', '4', '.', '2'
- } );
+ { 0x30,
+ 0x31, // LDAPMessage ::= SEQUENCE {
+ 0x02, 0x01,
+ 0x01, // messageID MessageID
+ // CHOICE { ..., extendedReq ExtendedRequest, ...
+ 0x77,
+ 0x0F, // ExtendedRequest ::= [APPLICATION 23] SEQUENCE {
+ // requestName [0] LDAPOID,
+ ( byte ) 0x80, 0x0D, '1', '.', '3', '.', '6', '.', '1', '.', '5', '.', '5', '.', '2',
+ // requestValue [1] OCTET STRING OPTIONAL }
+ ( byte ) 0xA0,
+ 0x1B, // A control
+ 0x30, 0x19, 0x04, 0x17, '2', '.', '1', '6', '.', '8', '4', '0', '.', '1', '.', '1', '1', '3', '7', '3',
+ '0', '.', '3', '.', '4', '.', '2' } );
String decodedPdu = StringTools.dumpBytes( stream.array() );
stream.flip();
@@ -241,28 +245,30 @@ public class ExtendedRequestTest
}
// Check the decoded ExtendedRequest PDU
- ExtendedRequestCodec extendedRequest = ( ( LdapMessageContainer ) ldapMessageContainer ).getExtendedRequest();
+ InternalExtendedRequest extendedRequest = ( ( LdapMessageContainer ) ldapMessageContainer )
+ .getExtendedRequest();
assertEquals( 1, extendedRequest.getMessageId() );
assertEquals( "1.3.6.1.5.5.2", extendedRequest.getRequestName() );
assertEquals( "", StringTools.utf8ToString( extendedRequest.getRequestValue() ) );
// Check the Control
- List<Control> controls = extendedRequest.getControls();
+ Map<String, Control> controls = extendedRequest.getControls();
assertEquals( 1, controls.size() );
- Control control = extendedRequest.getControls( 0 );
- assertEquals( "2.16.840.1.113730.3.4.2", control.getOid() );
- assertEquals( "", StringTools.dumpBytes( ( byte[] ) control.getValue() ) );
+ assertTrue( extendedRequest.hasControl( "2.16.840.1.113730.3.4.2" ) );
- // Check the length
- assertEquals( 0x33, extendedRequest.computeLength() );
+ Control control = extendedRequest.getControl( "2.16.840.1.113730.3.4.2" );
+ assertEquals( "", StringTools.dumpBytes( ( byte[] ) control.getValue() ) );
// Check the encoding
try
{
- ByteBuffer bb = extendedRequest.encode();
+ ByteBuffer bb = encoder.encodeMessage( extendedRequest );
+
+ // Check the length
+ assertEquals( 0x33, bb.limit() );
String encodedPdu = StringTools.dumpBytes( bb.array() );
@@ -287,11 +293,10 @@ public class ExtendedRequestTest
ByteBuffer stream = ByteBuffer.allocate( 0x07 );
stream.put( new byte[]
- {
- 0x30, 0x05, // LDAPMessage ::= SEQUENCE {
- 0x02, 0x01, 0x01, // messageID MessageID
- // CHOICE { ..., extendedReq ExtendedRequest, ...
- 0x77, 0x00, // ExtendedRequest ::= [APPLICATION 23] SEQUENCE {
+ { 0x30, 0x05, // LDAPMessage ::= SEQUENCE {
+ 0x02, 0x01, 0x01, // messageID MessageID
+ // CHOICE { ..., extendedReq ExtendedRequest, ...
+ 0x77, 0x00, // ExtendedRequest ::= [APPLICATION 23] SEQUENCE {
} );
stream.flip();
@@ -323,13 +328,11 @@ public class ExtendedRequestTest
ByteBuffer stream = ByteBuffer.allocate( 0x09 );
stream.put( new byte[]
- {
- 0x30, 0x07, // LDAPMessage ::= SEQUENCE {
- 0x02, 0x01, 0x01, // messageID MessageID
- // CHOICE { ..., extendedReq ExtendedRequest, ...
- 0x77, 0x02, // ExtendedRequest ::= [APPLICATION 23] SEQUENCE {
- ( byte ) 0x80, 0x00
- } );
+ { 0x30, 0x07, // LDAPMessage ::= SEQUENCE {
+ 0x02, 0x01, 0x01, // messageID MessageID
+ // CHOICE { ..., extendedReq ExtendedRequest, ...
+ 0x77, 0x02, // ExtendedRequest ::= [APPLICATION 23] SEQUENCE {
+ ( byte ) 0x80, 0x00 } );
stream.flip();
@@ -348,6 +351,7 @@ public class ExtendedRequestTest
}
}
+
/**
* Test the decoding of a bad name
*/
@@ -359,15 +363,12 @@ public class ExtendedRequestTest
ByteBuffer stream = ByteBuffer.allocate( 0x16 );
stream.put( new byte[]
- {
- 0x30, 0x14, // LDAPMessage ::= SEQUENCE {
- 0x02, 0x01, 0x01, // messageID MessageID
- // CHOICE { ..., extendedReq ExtendedRequest, ...
- 0x77, 0x0F, // ExtendedRequest ::= [APPLICATION 23] SEQUENCE {
- // requestName [0] LDAPOID,
- ( byte ) 0x80, 0x0D,
- '1', '-', '3', '.', '6', '.', '1', '.', '5', '.', '5', '.', '2',
- } );
+ { 0x30, 0x14, // LDAPMessage ::= SEQUENCE {
+ 0x02, 0x01, 0x01, // messageID MessageID
+ // CHOICE { ..., extendedReq ExtendedRequest, ...
+ 0x77, 0x0F, // ExtendedRequest ::= [APPLICATION 23] SEQUENCE {
+ // requestName [0] LDAPOID,
+ ( byte ) 0x80, 0x0D, '1', '-', '3', '.', '6', '.', '1', '.', '5', '.', '5', '.', '2', } );
stream.flip();
@@ -384,7 +385,8 @@ public class ExtendedRequestTest
{
assertTrue( true );
}
- }
+ }
+
/**
* Test the decoding of a name only ExtendedRequest
@@ -397,15 +399,12 @@ public class ExtendedRequestTest
ByteBuffer stream = ByteBuffer.allocate( 0x16 );
stream.put( new byte[]
- {
- 0x30, 0x14, // LDAPMessage ::= SEQUENCE {
- 0x02, 0x01, 0x01, // messageID MessageID
- // CHOICE { ..., extendedReq ExtendedRequest, ...
- 0x77, 0x0F, // ExtendedRequest ::= [APPLICATION 23] SEQUENCE {
- // requestName [0] LDAPOID,
- ( byte ) 0x80, 0x0D,
- '1', '.', '3', '.', '6', '.', '1', '.', '5', '.', '5', '.', '2',
- } );
+ { 0x30, 0x14, // LDAPMessage ::= SEQUENCE {
+ 0x02, 0x01, 0x01, // messageID MessageID
+ // CHOICE { ..., extendedReq ExtendedRequest, ...
+ 0x77, 0x0F, // ExtendedRequest ::= [APPLICATION 23] SEQUENCE {
+ // requestName [0] LDAPOID,
+ ( byte ) 0x80, 0x0D, '1', '.', '3', '.', '6', '.', '1', '.', '5', '.', '5', '.', '2', } );
String decodedPdu = StringTools.dumpBytes( stream.array() );
stream.flip();
@@ -425,18 +424,19 @@ public class ExtendedRequestTest
}
// Check the decoded ExtendedRequest PDU
- ExtendedRequestCodec extendedRequest = ( ( LdapMessageContainer ) ldapMessageContainer ).getExtendedRequest();
+ InternalExtendedRequest extendedRequest = ( ( LdapMessageContainer ) ldapMessageContainer )
+ .getExtendedRequest();
assertEquals( 1, extendedRequest.getMessageId() );
assertEquals( "1.3.6.1.5.5.2", extendedRequest.getRequestName() );
- // Check the length
- assertEquals( 0x16, extendedRequest.computeLength() );
-
// Check the encoding
try
{
- ByteBuffer bb = extendedRequest.encode();
+ ByteBuffer bb = encoder.encodeMessage( extendedRequest );
+
+ // Check the length
+ assertEquals( 0x16, bb.limit() );
String encodedPdu = StringTools.dumpBytes( bb.array() );
@@ -461,16 +461,16 @@ public class ExtendedRequestTest
ByteBuffer stream = ByteBuffer.allocate( 0x18 );
stream.put( new byte[]
- {
- 0x30, 0x16, // LDAPMessage ::= SEQUENCE {
- 0x02, 0x01, 0x01, // messageID MessageID
- // CHOICE { ..., extendedReq ExtendedRequest, ...
- 0x77, 0x11, // ExtendedRequest ::= [APPLICATION 23] SEQUENCE {
- // requestName [0] LDAPOID,
- ( byte ) 0x80, 0x0D,
- '1', '.', '3', '.', '6', '.', '1', '.', '5', '.', '5', '.', '2',
- ( byte ) 0x81, 0x00
- } );
+ { 0x30,
+ 0x16, // LDAPMessage ::= SEQUENCE {
+ 0x02, 0x01,
+ 0x01, // messageID MessageID
+ // CHOICE { ..., extendedReq ExtendedRequest, ...
+ 0x77,
+ 0x11, // ExtendedRequest ::= [APPLICATION 23] SEQUENCE {
+ // requestName [0] LDAPOID,
+ ( byte ) 0x80, 0x0D, '1', '.', '3', '.', '6', '.', '1', '.', '5', '.', '5', '.', '2', ( byte ) 0x81,
+ 0x00 } );
String decodedPdu = StringTools.dumpBytes( stream.array() );
stream.flip();
@@ -490,19 +490,20 @@ public class ExtendedRequestTest
}
// Check the decoded ExtendedRequest PDU
- ExtendedRequestCodec extendedRequest = ( ( LdapMessageContainer ) ldapMessageContainer ).getExtendedRequest();
+ InternalExtendedRequest extendedRequest = ( ( LdapMessageContainer ) ldapMessageContainer )
+ .getExtendedRequest();
assertEquals( 1, extendedRequest.getMessageId() );
assertEquals( "1.3.6.1.5.5.2", extendedRequest.getRequestName() );
assertEquals( "", StringTools.utf8ToString( extendedRequest.getRequestValue() ) );
- // Check the length
- assertEquals( 0x18, extendedRequest.computeLength() );
-
// Check the encoding
try
{
- ByteBuffer bb = extendedRequest.encode();
+ ByteBuffer bb = encoder.encodeMessage( extendedRequest );
+
+ // Check the length
+ assertEquals( 0x18, bb.limit() );
String encodedPdu = StringTools.dumpBytes( bb.array() );
Modified: directory/shared/branches/shared-codec-merge/ldap/src/test/java/org/apache/directory/shared/ldap/message/ExtendedRequestImplTest.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-codec-merge/ldap/src/test/java/org/apache/directory/shared/ldap/message/ExtendedRequestImplTest.java?rev=985918&r1=985917&r2=985918&view=diff
==============================================================================
--- directory/shared/branches/shared-codec-merge/ldap/src/test/java/org/apache/directory/shared/ldap/message/ExtendedRequestImplTest.java (original)
+++ directory/shared/branches/shared-codec-merge/ldap/src/test/java/org/apache/directory/shared/ldap/message/ExtendedRequestImplTest.java Mon Aug 16 13:23:28 2010
@@ -69,12 +69,12 @@ public class ExtendedRequestImplTest
public void testEqualsExactCopy()
{
ExtendedRequestImpl req0 = new ExtendedRequestImpl( 5 );
- req0.setID( "1.1.1.1" );
- req0.setEncodedValue( "Hello World!".getBytes() );
+ req0.setRequestName( "1.1.1.1" );
+ req0.setRequestValue( "Hello World!".getBytes() );
ExtendedRequestImpl req1 = new ExtendedRequestImpl( 5 );
- req1.setID( "1.1.1.1" );
- req1.setEncodedValue( "Hello World!".getBytes() );
+ req1.setRequestName( "1.1.1.1" );
+ req1.setRequestValue( "Hello World!".getBytes() );
assertTrue( req0.equals( req1 ) );
assertTrue( req1.equals( req0 ) );
@@ -99,12 +99,12 @@ public class ExtendedRequestImplTest
public void testHashCodeExactCopy()
{
ExtendedRequestImpl req0 = new ExtendedRequestImpl( 5 );
- req0.setID( "1.1.1.1" );
- req0.setEncodedValue( "Hello World!".getBytes() );
+ req0.setRequestName( "1.1.1.1" );
+ req0.setRequestValue( "Hello World!".getBytes() );
ExtendedRequestImpl req1 = new ExtendedRequestImpl( 5 );
- req1.setID( "1.1.1.1" );
- req1.setEncodedValue( "Hello World!".getBytes() );
+ req1.setRequestName( "1.1.1.1" );
+ req1.setRequestValue( "Hello World!".getBytes() );
assertTrue( req0.hashCode() == req1.hashCode() );
}
@@ -131,12 +131,12 @@ public class ExtendedRequestImplTest
public void testNotEqualDiffOID()
{
ExtendedRequestImpl req0 = new ExtendedRequestImpl( 5 );
- req0.setID( "1.1.1.1" );
- req0.setEncodedValue( "Hello World!".getBytes() );
+ req0.setRequestName( "1.1.1.1" );
+ req0.setRequestValue( "Hello World!".getBytes() );
ExtendedRequestImpl req1 = new ExtendedRequestImpl( 5 );
- req0.setID( "1.2.2.1" );
- req0.setEncodedValue( "Hello World!".getBytes() );
+ req0.setRequestName( "1.2.2.1" );
+ req0.setRequestValue( "Hello World!".getBytes() );
assertFalse( req0.equals( req1 ) );
assertFalse( req1.equals( req0 ) );
@@ -150,12 +150,12 @@ public class ExtendedRequestImplTest
public void testNotEqualDiffValue()
{
ExtendedRequestImpl req0 = new ExtendedRequestImpl( 5 );
- req0.setID( "1.1.1.1" );
- req0.setEncodedValue( "Hello ".getBytes() );
+ req0.setRequestName( "1.1.1.1" );
+ req0.setRequestValue( "Hello ".getBytes() );
ExtendedRequestImpl req1 = new ExtendedRequestImpl( 5 );
- req0.setID( "1.1.1.1" );
- req0.setEncodedValue( "World!".getBytes() );
+ req0.setRequestName( "1.1.1.1" );
+ req0.setRequestValue( "World!".getBytes() );
assertFalse( req0.equals( req1 ) );
assertFalse( req1.equals( req0 ) );
@@ -174,18 +174,18 @@ public class ExtendedRequestImplTest
private static final long serialVersionUID = 1L;
- public void setID( String oid )
+ public void setRequestName( String oid )
{
}
- public byte[] getEncodedValue()
+ public byte[] getRequestValue()
{
return null;
}
- public void setEncodedValue( byte[] payload )
+ public void setRequestValue( byte[] payload )
{
}
@@ -248,7 +248,7 @@ public class ExtendedRequestImplTest
}
- public String getID()
+ public String getRequestName()
{
return null;
}