/* * Copyright 2015-present Open Networking Laboratory * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.onosproject.pcepio.protocol; import org.jboss.netty.buffer.ChannelBuffer; import org.jboss.netty.buffer.ChannelBuffers; import org.junit.Test; import org.onosproject.pcepio.exceptions.PcepOutOfBoundMessageException; import org.onosproject.pcepio.exceptions.PcepParseException; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.instanceOf; import static org.hamcrest.core.Is.is; /** * Test cases for PCEP ERROR Message. */ public class PcepErrorMsgTest { /** * This test case checks for * PCEP-ERROR Object, OPEN Object (STATEFUL-PCE-CAPABILITY, GMPLS-CAPABILITY-TLV, * PCECC-CAPABILITY-TLV, LS Capability TLV) * in PcepErrorMsg message. */ @Test public void errorMessageTest1() throws PcepParseException, PcepOutOfBoundMessageException { byte[] errorMsg = new byte[]{0x20, 0x06, 0x00, 0x34, // common header 0x0D, 0x10, 0x00, 0x08, // PCERR Object Header 0x00, 0x00, 0x01, 0x01, 0x01, 0x10, 0x00, 0x28, // OPEN object header 0x20, 0x05, 0x1E, 0x01, // OPEN object 0x00, 0x10, 0x00, 0x04, // STATEFUL-PCE-CAPABILITY 0x00, 0x00, 0x00, 0x05, 0x00, 0x0E, 0x00, 0x04, // GMPLS-CAPABILITY-TLV 0x00, 0x00, 0x00, 0x00, (byte) 0xff, 0x07, 0x00, 0x04, // PCECC-CAPABILITY-TLV 0x00, 0x00, 0x00, 0x03, (byte) 0xFF, (byte) 0x00, 0x00, 0x04, // LS Capability TLV 0x00, 0x00, 0x00, 0x00}; ChannelBuffer buffer = ChannelBuffers.dynamicBuffer(); buffer.writeBytes(errorMsg); PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader(); PcepMessage message = null; message = reader.readFrom(buffer); byte[] testErrorMsg = {0}; ChannelBuffer buf = ChannelBuffers.dynamicBuffer(); assertThat(message, instanceOf(PcepErrorMsg.class)); message.writeTo(buf); int iReadLen = buf.writerIndex(); testErrorMsg = new byte[iReadLen]; buf.readBytes(testErrorMsg, 0, iReadLen); assertThat(testErrorMsg, is(errorMsg)); } /** * This test case checks for * PCEP-ERROR Object, PCEP-ERROR Object, OPEN Object (STATEFUL-PCE-CAPABILITY, GMPLS-CAPABILITY-TLV, * PCECC-CAPABILITY-TLV, LS Capability TLV) * in PcepErrorMsg message. */ @Test public void errorMessageTest2() throws PcepParseException, PcepOutOfBoundMessageException { byte[] errorMsg = new byte[]{0x20, 0x06, 0x00, 0x3C, // common header 0x0D, 0x10, 0x00, 0x08, // PCERR Object Header 0x00, 0x00, 0x01, 0x01, 0x0D, 0x10, 0x00, 0x08, // PCERR Object Header 0x00, 0x00, 0x01, 0x03, 0x01, 0x10, 0x00, 0x28, // OPEN object header 0x20, 0x05, 0x1E, 0x01, // OPEN object 0x00, 0x10, 0x00, 0x04, // STATEFUL-PCE-CAPABILITY 0x00, 0x00, 0x00, 0x05, 0x00, 0x0E, 0x00, 0x04, // GMPLS-CAPABILITY-TLV 0x00, 0x00, 0x00, 0x00, (byte) 0xff, 0x07, 0x00, 0x04, // PCECC-CAPABILITY-TLV 0x00, 0x00, 0x00, 0x03, (byte) 0xFF, (byte) 0x00, 0x00, 0x04, // LS Capability TLV 0x00, 0x00, 0x00, 0x00}; ChannelBuffer buffer = ChannelBuffers.dynamicBuffer(); buffer.writeBytes(errorMsg); PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader(); PcepMessage message = null; message = reader.readFrom(buffer); byte[] testErrorMsg = {0}; ChannelBuffer buf = ChannelBuffers.dynamicBuffer(); assertThat(message, instanceOf(PcepErrorMsg.class)); message.writeTo(buf); int iReadLen = buf.writerIndex(); testErrorMsg = new byte[iReadLen]; buf.readBytes(testErrorMsg, 0, iReadLen); assertThat(testErrorMsg, is(errorMsg)); } /** * This test case checks for * PCEP-ERROR Object, PCEP-ERROR Object, OPEN Object (STATEFUL-PCE-CAPABILITY, GMPLS-CAPABILITY-TLV, * PCECC-CAPABILITY-TLV) * in PcepErrorMsg message. */ @Test public void errorMessageTest3() throws PcepParseException, PcepOutOfBoundMessageException { byte[] errorMsg = new byte[]{0x20, 0x06, 0x00, 0x34, // common header 0x0D, 0x10, 0x00, 0x08, // PCERR Object Header 0x00, 0x00, 0x01, 0x01, 0x0D, 0x10, 0x00, 0x08, // PCERR Object Header 0x00, 0x00, 0x01, 0x03, 0x01, 0x10, 0x00, 0x20, // OPEN object header 0x20, 0x05, 0x1E, 0x01, // OPEN object 0x00, 0x10, 0x00, 0x04, // STATEFUL-PCE-CAPABILITY 0x00, 0x00, 0x00, 0x05, 0x00, 0x0E, 0x00, 0x04, // GMPLS-CAPABILITY-TLV 0x00, 0x00, 0x00, 0x00, (byte) 0xff, 0x07, 0x00, 0x04, // PCECC-CAPABILITY-TLV 0x00, 0x00, 0x00, 0x03}; ChannelBuffer buffer = ChannelBuffers.dynamicBuffer(); buffer.writeBytes(errorMsg); PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader(); PcepMessage message = null; message = reader.readFrom(buffer); byte[] testErrorMsg = {0}; ChannelBuffer buf = ChannelBuffers.dynamicBuffer(); assertThat(message, instanceOf(PcepErrorMsg.class)); message.writeTo(buf); int iReadLen = buf.writerIndex(); testErrorMsg = new byte[iReadLen]; buf.readBytes(testErrorMsg, 0, iReadLen); assertThat(testErrorMsg, is(errorMsg)); } /** * This test case checks for * PCEP-ERROR Object, PCEP-ERROR Object, OPEN Object (STATEFUL-PCE-CAPABILITY, GMPLS-CAPABILITY-TLV) * in PcepErrorMsg message. */ @Test public void errorMessageTest4() throws PcepParseException, PcepOutOfBoundMessageException { byte[] errorMsg = new byte[]{0x20, 0x06, 0x00, 0x2c, // common header 0x0D, 0x10, 0x00, 0x08, // PCERR Object Header 0x00, 0x00, 0x01, 0x01, 0x0D, 0x10, 0x00, 0x08, // PCERR Object Header 0x00, 0x00, 0x01, 0x03, 0x01, 0x10, 0x00, 0x18, // OPEN object header 0x20, 0x05, 0x1E, 0x01, // OPEN object 0x00, 0x10, 0x00, 0x04, // STATEFUL-PCE-CAPABILITY 0x00, 0x00, 0x00, 0x05, 0x00, 0x0E, 0x00, 0x04, // GMPLS-CAPABILITY-TLV 0x00, 0x00, 0x00, 0x00}; ChannelBuffer buffer = ChannelBuffers.dynamicBuffer(); buffer.writeBytes(errorMsg); PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader(); PcepMessage message = null; message = reader.readFrom(buffer); byte[] testErrorMsg = {0}; ChannelBuffer buf = ChannelBuffers.dynamicBuffer(); assertThat(message, instanceOf(PcepErrorMsg.class)); message.writeTo(buf); int iReadLen = buf.writerIndex(); testErrorMsg = new byte[iReadLen]; buf.readBytes(testErrorMsg, 0, iReadLen); assertThat(testErrorMsg, is(errorMsg)); } /** * This test case checks for * PCEP-ERROR Object, PCEP-ERROR Object, OPEN Object (STATEFUL-PCE-CAPABILITY) * in PcepErrorMsg message. */ @Test public void errorMessageTest5() throws PcepParseException, PcepOutOfBoundMessageException { byte[] errorMsg = new byte[]{0x20, 0x06, 0x00, 0x24, // common header 0x0D, 0x10, 0x00, 0x08, // PCERR Object Header 0x00, 0x00, 0x01, 0x01, 0x0D, 0x10, 0x00, 0x08, // PCERR Object Header 0x00, 0x00, 0x01, 0x03, 0x01, 0x10, 0x00, 0x10, // OPEN object header 0x20, 0x05, 0x1E, 0x01, // OPEN object 0x00, 0x10, 0x00, 0x04, // STATEFUL-PCE-CAPABILITY 0x00, 0x00, 0x00, 0x05}; ChannelBuffer buffer = ChannelBuffers.dynamicBuffer(); buffer.writeBytes(errorMsg); PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader(); PcepMessage message = null; message = reader.readFrom(buffer); byte[] testErrorMsg = {0}; ChannelBuffer buf = ChannelBuffers.dynamicBuffer(); assertThat(message, instanceOf(PcepErrorMsg.class)); message.writeTo(buf); int iReadLen = buf.writerIndex(); testErrorMsg = new byte[iReadLen]; buf.readBytes(testErrorMsg, 0, iReadLen); assertThat(testErrorMsg, is(errorMsg)); } /** * This test case checks for * PCEP-ERROR Object, PCEP-ERROR Object, OPEN Object * in PcepErrorMsg message. */ @Test public void errorMessageTest6() throws PcepParseException, PcepOutOfBoundMessageException { byte[] errorMsg = new byte[]{0x20, 0x06, 0x00, 0x1C, // common header 0x0D, 0x10, 0x00, 0x08, // PCERR Object Header 0x00, 0x00, 0x01, 0x01, 0x0D, 0x10, 0x00, 0x08, // PCERR Object Header 0x00, 0x00, 0x01, 0x03, 0x01, 0x10, 0x00, 0x08, // OPEN object header 0x20, 0x05, 0x1E, 0x01 // OPEN object }; ChannelBuffer buffer = ChannelBuffers.dynamicBuffer(); buffer.writeBytes(errorMsg); PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader(); PcepMessage message = null; message = reader.readFrom(buffer); byte[] testErrorMsg = {0}; ChannelBuffer buf = ChannelBuffers.dynamicBuffer(); assertThat(message, instanceOf(PcepErrorMsg.class)); message.writeTo(buf); int iReadLen = buf.writerIndex(); testErrorMsg = new byte[iReadLen]; buf.readBytes(testErrorMsg, 0, iReadLen); assertThat(testErrorMsg, is(errorMsg)); } /** * This test case checks for * PCEP-ERROR Object, OPEN Object * in PcepErrorMsg message. */ @Test public void errorMessageTest7() throws PcepParseException, PcepOutOfBoundMessageException { byte[] errorMsg = new byte[]{0x20, 0x06, 0x00, 0x14, // common header 0x0D, 0x10, 0x00, 0x08, // PCERR Object Header 0x00, 0x00, 0x01, 0x01, 0x01, 0x10, 0x00, 0x08, // OPEN object header 0x20, 0x05, 0x1E, 0x01 // OPEN object }; ChannelBuffer buffer = ChannelBuffers.dynamicBuffer(); buffer.writeBytes(errorMsg); PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader(); PcepMessage message = null; message = reader.readFrom(buffer); byte[] testErrorMsg = {0}; ChannelBuffer buf = ChannelBuffers.dynamicBuffer(); assertThat(message, instanceOf(PcepErrorMsg.class)); message.writeTo(buf); int iReadLen = buf.writerIndex(); testErrorMsg = new byte[iReadLen]; buf.readBytes(testErrorMsg, 0, iReadLen); assertThat(testErrorMsg, is(errorMsg)); } /** * This test case checks for * PCEP-ERROR Object, RP Object, PCEP-ERROR Object * in PcepErrorMsg message. */ @Test public void errorMessageTest8() throws PcepParseException, PcepOutOfBoundMessageException { byte[] errorMsg = new byte[]{0x20, 0x06, 0x00, 0x20, // common header 0x0D, 0x10, 0x00, 0x08, // PCERR Object Header 0x00, 0x00, 0x01, 0x01, 0x02, 0x10, 0x00, 0x0C, // RP Object Header 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0D, 0x10, 0x00, 0x08, // PCERR Object Header 0x00, 0x00, 0x01, 0x03}; ChannelBuffer buffer = ChannelBuffers.dynamicBuffer(); buffer.writeBytes(errorMsg); PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader(); PcepMessage message = null; message = reader.readFrom(buffer); byte[] testErrorMsg = {0}; ChannelBuffer buf = ChannelBuffers.dynamicBuffer(); assertThat(message, instanceOf(PcepErrorMsg.class)); message.writeTo(buf); int iReadLen = buf.writerIndex(); testErrorMsg = new byte[iReadLen]; buf.readBytes(testErrorMsg, 0, iReadLen); assertThat(testErrorMsg, is(errorMsg)); } /** * This test case checks for * PCEP-ERROR Object, PCEP-ERROR Object * in PcepErrorMsg message. */ @Test public void errorMessageTest9() throws PcepParseException, PcepOutOfBoundMessageException { byte[] errorMsg = new byte[]{0x20, 0x06, 0x00, 0x14, // common header 0x0D, 0x10, 0x00, 0x08, // PCEP-ERROR Object Header 0x00, 0x00, 0x01, 0x01, 0x0D, 0x10, 0x00, 0x08, // PCEP-ERROR Object Header 0x00, 0x00, 0x01, 0x01}; ChannelBuffer buffer = ChannelBuffers.dynamicBuffer(); buffer.writeBytes(errorMsg); PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader(); PcepMessage message = null; message = reader.readFrom(buffer); byte[] testErrorMsg = {0}; ChannelBuffer buf = ChannelBuffers.dynamicBuffer(); assertThat(message, instanceOf(PcepErrorMsg.class)); message.writeTo(buf); int iReadLen = buf.writerIndex(); testErrorMsg = new byte[iReadLen]; buf.readBytes(testErrorMsg, 0, iReadLen); assertThat(testErrorMsg, is(errorMsg)); } /** * This test case checks for * PCEP-ERROR Object, PCEP-ERROR Object * in PcepErrorMsg message. */ @Test public void errorMessageTest10() throws PcepParseException, PcepOutOfBoundMessageException { byte[] errorMsg = new byte[]{0x20, 0x06, 0x00, 0x14, // common header 0x0D, 0x10, 0x00, 0x08, // PCEP-ERROR Object Header 0x00, 0x00, 0x01, 0x01, 0x0D, 0x10, 0x00, 0x08, // PCEP-ERROR Object Header 0x00, 0x00, 0x01, 0x01}; ChannelBuffer buffer = ChannelBuffers.dynamicBuffer(); buffer.writeBytes(errorMsg); PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader(); PcepMessage message = null; message = reader.readFrom(buffer); byte[] testErrorMsg = {0}; ChannelBuffer buf = ChannelBuffers.dynamicBuffer(); assertThat(message, instanceOf(PcepErrorMsg.class)); message.writeTo(buf); int iReadLen = buf.writerIndex(); testErrorMsg = new byte[iReadLen]; buf.readBytes(testErrorMsg, 0, iReadLen); assertThat(testErrorMsg, is(errorMsg)); } /** * This test case checks for * LS Object, PCEP-ERROR Object * in PcepErrorMsg message. */ @Test public void errorMessageTest11() throws PcepParseException, PcepOutOfBoundMessageException { byte[] errorMsg = new byte[]{0x20, 0x06, 0x00, 0x1C, // common header (byte) 0xE0, 0x13, 0x00, 0x10, // LS Object Header 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, // LS-ID 0x00, 0x00, 0x00, 0x10, 0x0D, 0x10, 0x00, 0x08, // PCEP-ERROR Object Header 0x00, 0x00, 0x01, 0x01}; ChannelBuffer buffer = ChannelBuffers.dynamicBuffer(); buffer.writeBytes(errorMsg); PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader(); PcepMessage message = null; message = reader.readFrom(buffer); byte[] testErrorMsg = {0}; ChannelBuffer buf = ChannelBuffers.dynamicBuffer(); assertThat(message, instanceOf(PcepErrorMsg.class)); message.writeTo(buf); int iReadLen = buf.writerIndex(); testErrorMsg = new byte[iReadLen]; buf.readBytes(testErrorMsg, 0, iReadLen); assertThat(testErrorMsg, is(errorMsg)); } /** * This test case checks for * RP Object, PCEP-ERROR Object * in PcepErrorMsg message. */ @Test public void errorMessageTest12() throws PcepParseException, PcepOutOfBoundMessageException { //RP Object, PCEP-ERROR Object byte[] errorMsg = new byte[]{0x20, 0x06, 0x00, 0x18, // common header 0x02, 0x10, 0x00, 0x0C, // RP Object Header 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0D, 0x10, 0x00, 0x08, // PCEP-ERROR Object Header 0x00, 0x00, 0x01, 0x01}; ChannelBuffer buffer = ChannelBuffers.dynamicBuffer(); buffer.writeBytes(errorMsg); PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader(); PcepMessage message = null; message = reader.readFrom(buffer); byte[] testErrorMsg = {0}; ChannelBuffer buf = ChannelBuffers.dynamicBuffer(); assertThat(message, instanceOf(PcepErrorMsg.class)); message.writeTo(buf); int iReadLen = buf.writerIndex(); testErrorMsg = new byte[iReadLen]; buf.readBytes(testErrorMsg, 0, iReadLen); assertThat(testErrorMsg, is(errorMsg)); } /** * This test case checks for * RP Object, RP Object, PCEP-ERROR Object * in PcepErrorMsg message. */ @Test public void errorMessageTest13() throws PcepParseException, PcepOutOfBoundMessageException { byte[] errorMsg = new byte[]{0x20, 0x06, 0x00, 0x24, // common header 0x02, 0x10, 0x00, 0x0C, // RP Object Header 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x02, 0x10, 0x00, 0x0C, // RP Object Header 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x0D, 0x10, 0x00, 0x08, // PCEP-ERROR Object Header 0x00, 0x00, 0x01, 0x01}; ChannelBuffer buffer = ChannelBuffers.dynamicBuffer(); buffer.writeBytes(errorMsg); PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader(); PcepMessage message = null; message = reader.readFrom(buffer); byte[] testErrorMsg = {0}; ChannelBuffer buf = ChannelBuffers.dynamicBuffer(); assertThat(message, instanceOf(PcepErrorMsg.class)); message.writeTo(buf); int iReadLen = buf.writerIndex(); testErrorMsg = new byte[iReadLen]; buf.readBytes(testErrorMsg, 0, iReadLen); assertThat(testErrorMsg, is(errorMsg)); } /** * This test case checks for * LS Object, LS Object, PCEP-ERROR Object * in PcepErrorMsg message. */ @Test public void errorMessageTest14() throws PcepParseException, PcepOutOfBoundMessageException { byte[] errorMsg = new byte[]{0x20, 0x06, 0x00, 0x2C, // common header (byte) 0xE0, 0x10, 0x00, 0x10, // LS Object Header 0x01, 0x00, 0x00, 0x03, // LS-ID 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, (byte) 0xE0, 0x10, 0x00, 0x10, // LS Object Header 0x01, 0x00, 0x00, 0x03, // LS-ID 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x0D, 0x10, 0x00, 0x08, // PCEP-ERROR Object Header 0x00, 0x00, 0x01, 0x01}; ChannelBuffer buffer = ChannelBuffers.dynamicBuffer(); buffer.writeBytes(errorMsg); PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader(); PcepMessage message = null; message = reader.readFrom(buffer); byte[] testErrorMsg = {0}; ChannelBuffer buf = ChannelBuffers.dynamicBuffer(); assertThat(message, instanceOf(PcepErrorMsg.class)); message.writeTo(buf); int iReadLen = buf.writerIndex(); testErrorMsg = new byte[iReadLen]; buf.readBytes(testErrorMsg, 0, iReadLen); assertThat(testErrorMsg, is(errorMsg)); } /** * This test case checks for * PCEP-ERROR Object, LS Object, PCEP-ERROR Object * in PcepErrorMsg message. */ @Test public void errorMessageTest15() throws PcepParseException, PcepOutOfBoundMessageException { byte[] errorMsg = new byte[]{0x20, 0x06, 0x00, 0x24, // common header 0x0D, 0x10, 0x00, 0x08, // PCERR Object Header 0x00, 0x00, 0x01, 0x01, (byte) 0xE0, 0x10, 0x00, 0x10, // LS Object Header 0x01, 0x00, 0x00, 0x03, // LS-ID 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0D, 0x10, 0x00, 0x08, // PCEP-ERROR Object Header 0x00, 0x00, 0x01, 0x03}; ChannelBuffer buffer = ChannelBuffers.dynamicBuffer(); buffer.writeBytes(errorMsg); PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader(); PcepMessage message = null; message = reader.readFrom(buffer); byte[] testErrorMsg = {0}; ChannelBuffer buf = ChannelBuffers.dynamicBuffer(); assertThat(message, instanceOf(PcepErrorMsg.class)); message.writeTo(buf); int iReadLen = buf.writerIndex(); testErrorMsg = new byte[iReadLen]; buf.readBytes(testErrorMsg, 0, iReadLen); assertThat(testErrorMsg, is(errorMsg)); } /** * This test case checks for * PCEP-ERROR Object, RP Object, RP Object, PCEP-ERROR Object * in PcepErrorMsg message. */ @Test public void errorMessageTest16() throws PcepParseException, PcepOutOfBoundMessageException { byte[] errorMsg = new byte[]{0x20, 0x06, 0x00, 0x2C, // common header 0x0D, 0x10, 0x00, 0x08, // PCEP-ERROR Object Header 0x00, 0x00, 0x01, 0x01, 0x02, 0x10, 0x00, 0x0C, // RP Object Header 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x02, 0x10, 0x00, 0x0C, // RP Object Header 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x0D, 0x10, 0x00, 0x08, // PCERR Object Header 0x00, 0x00, 0x01, 0x03}; ChannelBuffer buffer = ChannelBuffers.dynamicBuffer(); buffer.writeBytes(errorMsg); PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader(); PcepMessage message = null; message = reader.readFrom(buffer); byte[] testErrorMsg = {0}; ChannelBuffer buf = ChannelBuffers.dynamicBuffer(); assertThat(message, instanceOf(PcepErrorMsg.class)); message.writeTo(buf); int iReadLen = buf.writerIndex(); testErrorMsg = new byte[iReadLen]; buf.readBytes(testErrorMsg, 0, iReadLen); assertThat(testErrorMsg, is(errorMsg)); } /** * This test case checks for * PCEP-ERROR Object, LS Object, LS Object, PCEP-ERROR Object * in PcepErrorMsg message. */ @Test public void errorMessageTest17() throws PcepParseException, PcepOutOfBoundMessageException { byte[] errorMsg = new byte[]{0x20, 0x06, 0x00, 0x34, // common header 0x0D, 0x10, 0x00, 0x08, // PCEP-ERROR Object Header 0x00, 0x00, 0x01, 0x01, (byte) 0xE0, 0x10, 0x00, 0x10, // LS Object Header 0x01, 0x00, 0x00, 0x03, // LS-ID 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, (byte) 0xE0, 0x10, 0x00, 0x10, // LS Object Header 0x01, 0x00, 0x00, 0x03, // LS-ID 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x0D, 0x10, 0x00, 0x08, // PCEP-ERROR Object Header 0x00, 0x00, 0x01, 0x03}; ChannelBuffer buffer = ChannelBuffers.dynamicBuffer(); buffer.writeBytes(errorMsg); PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader(); PcepMessage message = null; message = reader.readFrom(buffer); byte[] testErrorMsg = {0}; ChannelBuffer buf = ChannelBuffers.dynamicBuffer(); assertThat(message, instanceOf(PcepErrorMsg.class)); message.writeTo(buf); int iReadLen = buf.writerIndex(); testErrorMsg = new byte[iReadLen]; buf.readBytes(testErrorMsg, 0, iReadLen); assertThat(testErrorMsg, is(errorMsg)); } /** * This test case checks for * PCEP-ERROR Object, PCEP-ERROR Object, RP Object, RP Object, PCEP-ERROR Object, PCEP-ERROR Object * in PcepErrorMsg message. */ @Test public void errorMessageTest18() throws PcepParseException, PcepOutOfBoundMessageException { byte[] errorMsg = new byte[]{0x20, 0x06, 0x00, 0x3C, // common header 0x0D, 0x10, 0x00, 0x08, // PCEP-ERROR Object Header 0x00, 0x00, 0x01, 0x01, 0x0D, 0x10, 0x00, 0x08, // PCEP-ERROR Object Header 0x00, 0x00, 0x01, 0x03, 0x02, 0x10, 0x00, 0x0C, // RP Object Header 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x02, 0x10, 0x00, 0x0C, // RP Object Header 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x0D, 0x10, 0x00, 0x08, // PCEP-ERROR Object Header 0x00, 0x00, 0x01, 0x04, 0x0D, 0x10, 0x00, 0x08, // PCEP-ERROR Object Header 0x00, 0x00, 0x01, 0x06}; ChannelBuffer buffer = ChannelBuffers.dynamicBuffer(); buffer.writeBytes(errorMsg); PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader(); PcepMessage message = null; message = reader.readFrom(buffer); byte[] testErrorMsg = {0}; ChannelBuffer buf = ChannelBuffers.dynamicBuffer(); assertThat(message, instanceOf(PcepErrorMsg.class)); message.writeTo(buf); int iReadLen = buf.writerIndex(); testErrorMsg = new byte[iReadLen]; buf.readBytes(testErrorMsg, 0, iReadLen); assertThat(testErrorMsg, is(errorMsg)); } /** * This test case checks for * PCEP-ERROR Object, PCEP-ERROR Object, LS Object, LS Object, PCEP-ERROR Object, PCEP-ERROR Object * in PcepErrorMsg message. */ @Test public void errorMessageTest19() throws PcepParseException, PcepOutOfBoundMessageException { byte[] errorMsg = new byte[]{0x20, 0x06, 0x00, 0x44, // common header 0x0D, 0x10, 0x00, 0x08, // PCERR Object Header 0x00, 0x00, 0x01, 0x01, 0x0D, 0x10, 0x00, 0x08, // PCERR Object Header 0x00, 0x00, 0x01, 0x03, (byte) 0xE0, 0x10, 0x00, 0x10, // LS Object Header 0x01, 0x00, 0x00, 0x03, // LS-ID 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, (byte) 0xE0, 0x10, 0x00, 0x10, // LS Object Header 0x01, 0x00, 0x00, 0x03, // LS-ID 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x0D, 0x10, 0x00, 0x08, // PCERR Object Header 0x00, 0x00, 0x01, 0x04, // PCERR Object Header 0x0D, 0x10, 0x00, 0x08, 0x00, 0x00, 0x01, 0x06}; ChannelBuffer buffer = ChannelBuffers.dynamicBuffer(); buffer.writeBytes(errorMsg); PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader(); PcepMessage message = null; message = reader.readFrom(buffer); byte[] testErrorMsg = {0}; ChannelBuffer buf = ChannelBuffers.dynamicBuffer(); assertThat(message, instanceOf(PcepErrorMsg.class)); message.writeTo(buf); int iReadLen = buf.writerIndex(); testErrorMsg = new byte[iReadLen]; buf.readBytes(testErrorMsg, 0, iReadLen); assertThat(testErrorMsg, is(errorMsg)); } /** * This test case checks for * PCEP-ERROR Object, RP Object, RP Object, PCEP-ERROR Object, PCEP-ERROR Object, * LS Object, PCEP-ERROR Object * in PcepErrorMsg message. */ @Test public void errorMessageTest20() throws PcepParseException, PcepOutOfBoundMessageException { byte[] errorMsg = new byte[]{0x20, 0x06, 0x00, 0x4C, // common header 0x0D, 0x10, 0x00, 0x08, // PCEP-ERROR Object Header 0x00, 0x00, 0x01, 0x01, 0x02, 0x10, 0x00, 0x0C, // RP Object Header 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x02, 0x10, 0x00, 0x0C, // RP Object Header 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x0D, 0x10, 0x00, 0x08, // PCERR Object Header 0x00, 0x00, 0x01, 0x04, 0x0D, 0x10, 0x00, 0x08, // PCERR Object Header 0x00, 0x00, 0x01, 0x06, (byte) 0xE0, 0x10, 0x00, 0x10, // LS Object Header 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, // LS-ID 0x0D, 0x10, 0x00, 0x08, // PCERR Object Header 0x00, 0x00, 0x01, 0x06}; ChannelBuffer buffer = ChannelBuffers.dynamicBuffer(); buffer.writeBytes(errorMsg); PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader(); PcepMessage message = null; message = reader.readFrom(buffer); byte[] testErrorMsg = {0}; ChannelBuffer buf = ChannelBuffers.dynamicBuffer(); assertThat(message, instanceOf(PcepErrorMsg.class)); message.writeTo(buf); int iReadLen = buf.writerIndex(); testErrorMsg = new byte[iReadLen]; buf.readBytes(testErrorMsg, 0, iReadLen); assertThat(testErrorMsg, is(errorMsg)); } }