Search in sources :

Example 6 with GracefulDisconnectDecoder

use of org.apache.directory.api.ldap.extras.extended.ads_impl.gracefulDisconnect.GracefulDisconnectDecoder in project directory-ldap-api by apache.

the class GracefulDisconnectResponseTest method testDecodeGracefulDisconnectTimeOfflineEmpty.

/**
 * Test the decoding of a GracefulDisconnect with an empty TimeOffline
 */
@Test
public void testDecodeGracefulDisconnectTimeOfflineEmpty() {
    Asn1Decoder decoder = new GracefulDisconnectDecoder();
    ByteBuffer bb = ByteBuffer.allocate(0x0b);
    bb.put(new byte[] { // GracefulDisconnect ::= SEQUENCE {
    0x30, // GracefulDisconnect ::= SEQUENCE {
    0x02, 0x02, // timeOffline INTEGER (0..720) DEFAULT 0,
    0x00 });
    bb.flip();
    GracefulDisconnectContainer container = new GracefulDisconnectContainer();
    try {
        decoder.decode(bb, container);
    } catch (DecoderException de) {
        assertTrue(true);
        return;
    }
    fail("We should not reach this point");
}
Also used : GracefulDisconnectContainer(org.apache.directory.api.ldap.extras.extended.ads_impl.gracefulDisconnect.GracefulDisconnectContainer) DecoderException(org.apache.directory.api.asn1.DecoderException) Asn1Decoder(org.apache.directory.api.asn1.ber.Asn1Decoder) GracefulDisconnectDecoder(org.apache.directory.api.ldap.extras.extended.ads_impl.gracefulDisconnect.GracefulDisconnectDecoder) ByteBuffer(java.nio.ByteBuffer) Test(org.junit.Test)

Example 7 with GracefulDisconnectDecoder

use of org.apache.directory.api.ldap.extras.extended.ads_impl.gracefulDisconnect.GracefulDisconnectDecoder in project directory-ldap-api by apache.

the class GracefulDisconnectResponseTest method testDecodeGracefulDisconnectTimeOfflineOffLimit.

// Defensive tests
/**
 * Test the decoding of a GracefulDisconnect with a timeOffline off limit
 */
@Test
public void testDecodeGracefulDisconnectTimeOfflineOffLimit() {
    Asn1Decoder decoder = new GracefulDisconnectDecoder();
    ByteBuffer bb = ByteBuffer.allocate(0x0b);
    bb.put(new byte[] { // GracefulDisconnect ::= SEQUENCE {
    0x30, // GracefulDisconnect ::= SEQUENCE {
    0x04, 0x02, 0x02, 0x03, // timeOffline INTEGER (0..720)
    (byte) 0xE8 // DEFAULT 0,
    });
    bb.flip();
    GracefulDisconnectContainer container = new GracefulDisconnectContainer();
    try {
        decoder.decode(bb, container);
    } catch (DecoderException de) {
        assertTrue(true);
        return;
    }
    fail("We should not reach this point");
}
Also used : GracefulDisconnectContainer(org.apache.directory.api.ldap.extras.extended.ads_impl.gracefulDisconnect.GracefulDisconnectContainer) DecoderException(org.apache.directory.api.asn1.DecoderException) Asn1Decoder(org.apache.directory.api.asn1.ber.Asn1Decoder) GracefulDisconnectDecoder(org.apache.directory.api.ldap.extras.extended.ads_impl.gracefulDisconnect.GracefulDisconnectDecoder) ByteBuffer(java.nio.ByteBuffer) Test(org.junit.Test)

Example 8 with GracefulDisconnectDecoder

use of org.apache.directory.api.ldap.extras.extended.ads_impl.gracefulDisconnect.GracefulDisconnectDecoder in project directory-ldap-api by apache.

the class GracefulDisconnectResponseTest method testDecodeGracefulDisconnectReplicatedContextsEmpty.

/**
 * Test the decoding of a GracefulDisconnect with an empty replicated
 * contexts
 */
@Test
public void testDecodeGracefulDisconnectReplicatedContextsEmpty() {
    Asn1Decoder decoder = new GracefulDisconnectDecoder();
    ByteBuffer bb = ByteBuffer.allocate(0x04);
    bb.put(new byte[] { // GracefulDisconnect ::= SEQUENCE {
    0x30, // GracefulDisconnect ::= SEQUENCE {
    0x02, 0x30, // replicatedContexts Referral OPTIONAL
    0x00 });
    bb.flip();
    GracefulDisconnectContainer container = new GracefulDisconnectContainer();
    try {
        decoder.decode(bb, container);
    } catch (DecoderException de) {
        assertTrue(true);
        return;
    }
    fail("We should not reach this point");
}
Also used : GracefulDisconnectContainer(org.apache.directory.api.ldap.extras.extended.ads_impl.gracefulDisconnect.GracefulDisconnectContainer) DecoderException(org.apache.directory.api.asn1.DecoderException) Asn1Decoder(org.apache.directory.api.asn1.ber.Asn1Decoder) GracefulDisconnectDecoder(org.apache.directory.api.ldap.extras.extended.ads_impl.gracefulDisconnect.GracefulDisconnectDecoder) ByteBuffer(java.nio.ByteBuffer) Test(org.junit.Test)

Example 9 with GracefulDisconnectDecoder

use of org.apache.directory.api.ldap.extras.extended.ads_impl.gracefulDisconnect.GracefulDisconnectDecoder in project directory-ldap-api by apache.

the class GracefulDisconnectResponseTest method testDecodeGracefulDisconnectTimeOfflineDelay.

/**
 * Test the decoding of a GracefulDisconnect with a timeOffline and a delay
 */
@Test
public void testDecodeGracefulDisconnectTimeOfflineDelay() {
    Asn1Decoder decoder = new GracefulDisconnectDecoder();
    ByteBuffer bb = ByteBuffer.allocate(0x08);
    bb.put(new byte[] { // GracefulDisconnect ::= SEQUENCE {
    0x30, // GracefulDisconnect ::= SEQUENCE {
    0x06, 0x02, 0x01, // timeOffline INTEGER (0..720) DEFAULT 0,
    0x01, (byte) 0x80, 0x01, // timeOffline INTEGER (0..720)
    0x01 // DEFAULT 0,
    });
    String decodedPdu = Strings.dumpBytes(bb.array());
    bb.flip();
    GracefulDisconnectContainer container = new GracefulDisconnectContainer();
    try {
        decoder.decode(bb, container);
    } catch (DecoderException de) {
        de.printStackTrace();
        fail(de.getMessage());
    }
    GracefulDisconnectResponseDecorator gracefulDisconnect = container.getGracefulDisconnectResponse();
    assertEquals(1, gracefulDisconnect.getTimeOffline());
    assertEquals(1, gracefulDisconnect.getDelay());
    assertEquals(0, gracefulDisconnect.getReplicatedContexts().getLdapUrls().size());
    // Check the length
    assertEquals(0x08, gracefulDisconnect.computeLengthInternal());
    // Check the encoding
    try {
        ByteBuffer bb2 = gracefulDisconnect.encodeInternal();
        String encodedPdu = Strings.dumpBytes(bb2.array());
        assertEquals(encodedPdu, decodedPdu);
    } catch (EncoderException ee) {
        ee.printStackTrace();
        fail(ee.getMessage());
    }
}
Also used : GracefulDisconnectContainer(org.apache.directory.api.ldap.extras.extended.ads_impl.gracefulDisconnect.GracefulDisconnectContainer) DecoderException(org.apache.directory.api.asn1.DecoderException) EncoderException(org.apache.directory.api.asn1.EncoderException) Asn1Decoder(org.apache.directory.api.asn1.ber.Asn1Decoder) GracefulDisconnectDecoder(org.apache.directory.api.ldap.extras.extended.ads_impl.gracefulDisconnect.GracefulDisconnectDecoder) GracefulDisconnectResponseDecorator(org.apache.directory.api.ldap.extras.extended.ads_impl.gracefulDisconnect.GracefulDisconnectResponseDecorator) ByteBuffer(java.nio.ByteBuffer) Test(org.junit.Test)

Example 10 with GracefulDisconnectDecoder

use of org.apache.directory.api.ldap.extras.extended.ads_impl.gracefulDisconnect.GracefulDisconnectDecoder in project directory-ldap-api by apache.

the class GracefulDisconnectResponseTest method testDecodeGracefulDisconnectDelayEmpty.

/**
 * Test the decoding of a GracefulDisconnect with an empty delay
 */
@Test
public void testDecodeGracefulDisconnectDelayEmpty() {
    Asn1Decoder decoder = new GracefulDisconnectDecoder();
    ByteBuffer bb = ByteBuffer.allocate(0x0b);
    bb.put(new byte[] { // GracefulDisconnect ::= SEQUENCE {
    0x30, // GracefulDisconnect ::= SEQUENCE {
    0x02, (byte) 0x80, // delay INTEGER (0..86400) DEFAULT 0
    0x00 });
    bb.flip();
    GracefulDisconnectContainer container = new GracefulDisconnectContainer();
    try {
        decoder.decode(bb, container);
    } catch (DecoderException de) {
        assertTrue(true);
        return;
    }
    fail("We should not reach this point");
}
Also used : GracefulDisconnectContainer(org.apache.directory.api.ldap.extras.extended.ads_impl.gracefulDisconnect.GracefulDisconnectContainer) DecoderException(org.apache.directory.api.asn1.DecoderException) Asn1Decoder(org.apache.directory.api.asn1.ber.Asn1Decoder) GracefulDisconnectDecoder(org.apache.directory.api.ldap.extras.extended.ads_impl.gracefulDisconnect.GracefulDisconnectDecoder) ByteBuffer(java.nio.ByteBuffer) Test(org.junit.Test)

Aggregations

ByteBuffer (java.nio.ByteBuffer)12 DecoderException (org.apache.directory.api.asn1.DecoderException)12 Asn1Decoder (org.apache.directory.api.asn1.ber.Asn1Decoder)12 GracefulDisconnectContainer (org.apache.directory.api.ldap.extras.extended.ads_impl.gracefulDisconnect.GracefulDisconnectContainer)12 GracefulDisconnectDecoder (org.apache.directory.api.ldap.extras.extended.ads_impl.gracefulDisconnect.GracefulDisconnectDecoder)12 Test (org.junit.Test)12 EncoderException (org.apache.directory.api.asn1.EncoderException)6 GracefulDisconnectResponseDecorator (org.apache.directory.api.ldap.extras.extended.ads_impl.gracefulDisconnect.GracefulDisconnectResponseDecorator)6