use of org.apache.directory.api.ldap.model.message.controls.SortKey in project directory-ldap-api by apache.
the class SortRequestControlTest method testDecodeControlWithMultipleAtDescOnly.
@Test
public void testDecodeControlWithMultipleAtDescOnly() throws Exception {
ByteBuffer buffer = ByteBuffer.allocate(0x0E);
buffer.put(new byte[] { 0x30, 0x0C, 0x30, 0x04, 0x04, 0x02, 'c', 'n', 0x30, 0x04, 0x04, 0x02, 's', 'n' });
buffer.flip();
SortRequestDecorator decorator = new SortRequestDecorator(codec);
SortRequest control = (SortRequest) decorator.decode(buffer.array());
assertEquals(2, control.getSortKeys().size());
SortKey sk = control.getSortKeys().get(0);
assertEquals("cn", sk.getAttributeTypeDesc());
assertNull(sk.getMatchingRuleId());
assertFalse(sk.isReverseOrder());
sk = control.getSortKeys().get(1);
assertEquals("sn", sk.getAttributeTypeDesc());
assertNull(sk.getMatchingRuleId());
assertFalse(sk.isReverseOrder());
ByteBuffer encoded = ByteBuffer.allocate(buffer.capacity());
decorator.computeLength();
decorator.encode(encoded);
assertTrue(Arrays.equals(buffer.array(), encoded.array()));
}
use of org.apache.directory.api.ldap.model.message.controls.SortKey in project directory-ldap-api by apache.
the class SortRequestControlTest method testDecodeControlWithMultipleSortKeys.
@Test
public void testDecodeControlWithMultipleSortKeys() throws Exception {
ByteBuffer buffer = ByteBuffer.allocate(0x1E);
buffer.put(new byte[] { 0x30, 0x1C, 0x30, 0x0C, 0x04, 0x02, 'c', 'n', (byte) 0x80, 0x03, 'o', 'i', 'd', (byte) 0x81, 0x01, (byte) 0xFF, 0x30, 0x0C, 0x04, 0x02, 's', 'n', (byte) 0x80, 0x03, 'i', 'o', 'd', (byte) 0x81, 0x01, (byte) 0xFF });
buffer.flip();
SortRequestDecorator decorator = new SortRequestDecorator(codec);
SortRequest control = (SortRequest) decorator.decode(buffer.array());
assertEquals(2, control.getSortKeys().size());
SortKey sk = control.getSortKeys().get(0);
assertEquals("cn", sk.getAttributeTypeDesc());
assertEquals("oid", sk.getMatchingRuleId());
assertTrue(sk.isReverseOrder());
sk = control.getSortKeys().get(1);
assertEquals("sn", sk.getAttributeTypeDesc());
assertEquals("iod", sk.getMatchingRuleId());
assertTrue(sk.isReverseOrder());
ByteBuffer encoded = ByteBuffer.allocate(buffer.capacity());
decorator.computeLength();
decorator.encode(encoded);
assertTrue(Arrays.equals(buffer.array(), encoded.array()));
}
Aggregations