blob: 2fc1fedf4c7c49bfc451b33b35b977e1c9b028ca [file] [log] [blame]
Mahesh Poojary S1c356e32015-08-21 15:05:30 +05301/*
2 * Copyright 2014-2015 Open Networking Laboratory
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16package org.onosproject.pcepio;
17
Mahesh Poojary S1c356e32015-08-21 15:05:30 +053018
19import org.jboss.netty.buffer.ChannelBuffer;
20import org.jboss.netty.buffer.ChannelBuffers;
Mahesh Poojary S1c356e32015-08-21 15:05:30 +053021import org.junit.Test;
22import org.onosproject.pcepio.exceptions.PcepParseException;
23import org.onosproject.pcepio.protocol.PcepErrorMsg;
24import org.onosproject.pcepio.protocol.PcepFactories;
25import org.onosproject.pcepio.protocol.PcepMessage;
26import org.onosproject.pcepio.protocol.PcepMessageReader;
Mahesh Poojary S1c356e32015-08-21 15:05:30 +053027
Phaneendra Manda75daf942015-08-27 20:10:02 +053028import static org.hamcrest.MatcherAssert.assertThat;
Sho SHIMIZUe090a422015-09-04 17:35:49 -070029import static org.hamcrest.Matchers.instanceOf;
Phaneendra Manda75daf942015-08-27 20:10:02 +053030import static org.hamcrest.core.Is.is;
Phaneendra Manda75daf942015-08-27 20:10:02 +053031
Mahesh Poojary S1c356e32015-08-21 15:05:30 +053032/**
33 * Test cases for PCEP ERROR Message.
34 */
35public class PcepErrorMsgTest {
36
mahesh poojary s87977d12015-08-24 19:15:37 +053037 /**
38 * This test case checks for
39 * PCEP-ERROR Object, OPEN Object (STATEFUL-PCE-CAPABILITY, GMPLS-CAPABILITY-TLV,
40 * PCECC-CAPABILITY-TLV, TED Capability TLV)
41 * in PcepErrorMsg message.
mahesh poojary s87977d12015-08-24 19:15:37 +053042 */
Mahesh Poojary S1c356e32015-08-21 15:05:30 +053043 @Test
44 public void errorMessageTest1() throws PcepParseException {
45
Phaneendra Manda75daf942015-08-27 20:10:02 +053046 byte[] errorMsg = new byte[]{0x20, 0x06, 0x00, 0x34, // common header
Mahesh Poojary S1c356e32015-08-21 15:05:30 +053047 0x0D, 0x10, 0x00, 0x08, // PCERR Object Header
48 0x00, 0x00, 0x01, 0x01, 0x01, 0x10, 0x00, 0x28, // OPEN object header
49 0x20, 0x05, 0x1E, 0x01, // OPEN object
50 0x00, 0x10, 0x00, 0x04, // STATEFUL-PCE-CAPABILITY
51 0x00, 0x00, 0x00, 0x05, 0x00, 0x0E, 0x00, 0x04, // GMPLS-CAPABILITY-TLV
52 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, // PCECC-CAPABILITY-TLV
53 0x00, 0x00, 0x00, 0x03, 0x00, (byte) 0x84, 0x00, 0x04, // TED Capability TLV
Phaneendra Manda75daf942015-08-27 20:10:02 +053054 0x00, 0x00, 0x00, 0x00};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +053055
56 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
57 buffer.writeBytes(errorMsg);
58
59 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
60 PcepMessage message = null;
Mahesh Poojary S1c356e32015-08-21 15:05:30 +053061
mahesh poojary s87977d12015-08-24 19:15:37 +053062 message = reader.readFrom(buffer);
63
Phaneendra Manda75daf942015-08-27 20:10:02 +053064 byte[] testErrorMsg = {0};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +053065 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
Phaneendra Manda75daf942015-08-27 20:10:02 +053066
Sho SHIMIZUe090a422015-09-04 17:35:49 -070067 assertThat(message, instanceOf(PcepErrorMsg.class));
mahesh poojary s87977d12015-08-24 19:15:37 +053068 message.writeTo(buf);
Phaneendra Manda75daf942015-08-27 20:10:02 +053069 int iReadLen = buf.writerIndex();
mahesh poojary s87977d12015-08-24 19:15:37 +053070 testErrorMsg = new byte[iReadLen];
71 buf.readBytes(testErrorMsg, 0, iReadLen);
Mahesh Poojary S1c356e32015-08-21 15:05:30 +053072
Phaneendra Manda75daf942015-08-27 20:10:02 +053073 assertThat(testErrorMsg, is(errorMsg));
Mahesh Poojary S1c356e32015-08-21 15:05:30 +053074 }
75
mahesh poojary s87977d12015-08-24 19:15:37 +053076 /**
77 * This test case checks for
78 * PCEP-ERROR Object, PCEP-ERROR Object, OPEN Object (STATEFUL-PCE-CAPABILITY, GMPLS-CAPABILITY-TLV,
79 * PCECC-CAPABILITY-TLV, TED Capability TLV)
80 * in PcepErrorMsg message.
mahesh poojary s87977d12015-08-24 19:15:37 +053081 */
Mahesh Poojary S1c356e32015-08-21 15:05:30 +053082 @Test
83 public void errorMessageTest2() throws PcepParseException {
84
Phaneendra Manda75daf942015-08-27 20:10:02 +053085 byte[] errorMsg = new byte[]{0x20, 0x06, 0x00, 0x3C, // common header
Mahesh Poojary S1c356e32015-08-21 15:05:30 +053086 0x0D, 0x10, 0x00, 0x08, // PCERR Object Header
87 0x00, 0x00, 0x01, 0x01, 0x0D, 0x10, 0x00, 0x08, // PCERR Object Header
88 0x00, 0x00, 0x01, 0x03, 0x01, 0x10, 0x00, 0x28, // OPEN object header
89 0x20, 0x05, 0x1E, 0x01, // OPEN object
90 0x00, 0x10, 0x00, 0x04, // STATEFUL-PCE-CAPABILITY
91 0x00, 0x00, 0x00, 0x05, 0x00, 0x0E, 0x00, 0x04, // GMPLS-CAPABILITY-TLV
92 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, // PCECC-CAPABILITY-TLV
93 0x00, 0x00, 0x00, 0x03, 0x00, (byte) 0x84, 0x00, 0x04, // TED Capability TLV
Phaneendra Manda75daf942015-08-27 20:10:02 +053094 0x00, 0x00, 0x00, 0x00};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +053095
96 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
97 buffer.writeBytes(errorMsg);
98
99 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
100 PcepMessage message = null;
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530101
mahesh poojary s87977d12015-08-24 19:15:37 +0530102 message = reader.readFrom(buffer);
103
Phaneendra Manda75daf942015-08-27 20:10:02 +0530104 byte[] testErrorMsg = {0};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530105 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
Sho SHIMIZUe090a422015-09-04 17:35:49 -0700106 assertThat(message, instanceOf(PcepErrorMsg.class));
mahesh poojary s87977d12015-08-24 19:15:37 +0530107 message.writeTo(buf);
Phaneendra Manda75daf942015-08-27 20:10:02 +0530108 int iReadLen = buf.writerIndex();
mahesh poojary s87977d12015-08-24 19:15:37 +0530109 testErrorMsg = new byte[iReadLen];
110 buf.readBytes(testErrorMsg, 0, iReadLen);
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530111
Phaneendra Manda75daf942015-08-27 20:10:02 +0530112 assertThat(testErrorMsg, is(errorMsg));
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530113 }
114
mahesh poojary s87977d12015-08-24 19:15:37 +0530115 /**
116 * This test case checks for
Phaneendra Manda75daf942015-08-27 20:10:02 +0530117 * PCEP-ERROR Object, PCEP-ERROR Object, OPEN Object (STATEFUL-PCE-CAPABILITY, GMPLS-CAPABILITY-TLV,
mahesh poojary s87977d12015-08-24 19:15:37 +0530118 * PCECC-CAPABILITY-TLV)
119 * in PcepErrorMsg message.
mahesh poojary s87977d12015-08-24 19:15:37 +0530120 */
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530121 @Test
122 public void errorMessageTest3() throws PcepParseException {
123
Phaneendra Manda75daf942015-08-27 20:10:02 +0530124 byte[] errorMsg = new byte[]{0x20, 0x06, 0x00, 0x34, // common header
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530125 0x0D, 0x10, 0x00, 0x08, // PCERR Object Header
126 0x00, 0x00, 0x01, 0x01, 0x0D, 0x10, 0x00, 0x08, // PCERR Object Header
127 0x00, 0x00, 0x01, 0x03, 0x01, 0x10, 0x00, 0x20, // OPEN object header
128 0x20, 0x05, 0x1E, 0x01, // OPEN object
129 0x00, 0x10, 0x00, 0x04, // STATEFUL-PCE-CAPABILITY
130 0x00, 0x00, 0x00, 0x05, 0x00, 0x0E, 0x00, 0x04, // GMPLS-CAPABILITY-TLV
131 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, // PCECC-CAPABILITY-TLV
Phaneendra Manda75daf942015-08-27 20:10:02 +0530132 0x00, 0x00, 0x00, 0x03};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530133
134 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
135 buffer.writeBytes(errorMsg);
136
137 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
138 PcepMessage message = null;
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530139
mahesh poojary s87977d12015-08-24 19:15:37 +0530140 message = reader.readFrom(buffer);
141
Phaneendra Manda75daf942015-08-27 20:10:02 +0530142 byte[] testErrorMsg = {0};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530143 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
Sho SHIMIZUe090a422015-09-04 17:35:49 -0700144 assertThat(message, instanceOf(PcepErrorMsg.class));
mahesh poojary s87977d12015-08-24 19:15:37 +0530145 message.writeTo(buf);
Phaneendra Manda75daf942015-08-27 20:10:02 +0530146 int iReadLen = buf.writerIndex();
mahesh poojary s87977d12015-08-24 19:15:37 +0530147 testErrorMsg = new byte[iReadLen];
148 buf.readBytes(testErrorMsg, 0, iReadLen);
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530149
Phaneendra Manda75daf942015-08-27 20:10:02 +0530150 assertThat(testErrorMsg, is(errorMsg));
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530151 }
152
mahesh poojary s87977d12015-08-24 19:15:37 +0530153 /**
154 * This test case checks for
155 * PCEP-ERROR Object, PCEP-ERROR Object, OPEN Object (STATEFUL-PCE-CAPABILITY, GMPLS-CAPABILITY-TLV)
156 * in PcepErrorMsg message.
mahesh poojary s87977d12015-08-24 19:15:37 +0530157 */
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530158 @Test
159 public void errorMessageTest4() throws PcepParseException {
160
Phaneendra Manda75daf942015-08-27 20:10:02 +0530161 byte[] errorMsg = new byte[]{0x20, 0x06, 0x00, 0x2c, // common header
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530162 0x0D, 0x10, 0x00, 0x08, // PCERR Object Header
163 0x00, 0x00, 0x01, 0x01, 0x0D, 0x10, 0x00, 0x08, // PCERR Object Header
164 0x00, 0x00, 0x01, 0x03, 0x01, 0x10, 0x00, 0x18, // OPEN object header
165 0x20, 0x05, 0x1E, 0x01, // OPEN object
166 0x00, 0x10, 0x00, 0x04, // STATEFUL-PCE-CAPABILITY
167 0x00, 0x00, 0x00, 0x05, 0x00, 0x0E, 0x00, 0x04, // GMPLS-CAPABILITY-TLV
Phaneendra Manda75daf942015-08-27 20:10:02 +0530168 0x00, 0x00, 0x00, 0x00};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530169
170 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
171 buffer.writeBytes(errorMsg);
172
173 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
174 PcepMessage message = null;
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530175
mahesh poojary s87977d12015-08-24 19:15:37 +0530176 message = reader.readFrom(buffer);
177
Phaneendra Manda75daf942015-08-27 20:10:02 +0530178 byte[] testErrorMsg = {0};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530179 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
Sho SHIMIZUe090a422015-09-04 17:35:49 -0700180 assertThat(message, instanceOf(PcepErrorMsg.class));
mahesh poojary s87977d12015-08-24 19:15:37 +0530181 message.writeTo(buf);
Phaneendra Manda75daf942015-08-27 20:10:02 +0530182 int iReadLen = buf.writerIndex();
mahesh poojary s87977d12015-08-24 19:15:37 +0530183 testErrorMsg = new byte[iReadLen];
184 buf.readBytes(testErrorMsg, 0, iReadLen);
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530185
Phaneendra Manda75daf942015-08-27 20:10:02 +0530186 assertThat(testErrorMsg, is(errorMsg));
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530187 }
188
mahesh poojary s87977d12015-08-24 19:15:37 +0530189 /**
190 * This test case checks for
191 * PCEP-ERROR Object, PCEP-ERROR Object, OPEN Object (STATEFUL-PCE-CAPABILITY)
192 * in PcepErrorMsg message.
mahesh poojary s87977d12015-08-24 19:15:37 +0530193 */
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530194 @Test
195 public void errorMessageTest5() throws PcepParseException {
196
Phaneendra Manda75daf942015-08-27 20:10:02 +0530197 byte[] errorMsg = new byte[]{0x20, 0x06, 0x00, 0x24, // common header
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530198 0x0D, 0x10, 0x00, 0x08, // PCERR Object Header
199 0x00, 0x00, 0x01, 0x01, 0x0D, 0x10, 0x00, 0x08, // PCERR Object Header
200 0x00, 0x00, 0x01, 0x03, 0x01, 0x10, 0x00, 0x10, // OPEN object header
201 0x20, 0x05, 0x1E, 0x01, // OPEN object
202 0x00, 0x10, 0x00, 0x04, // STATEFUL-PCE-CAPABILITY
Phaneendra Manda75daf942015-08-27 20:10:02 +0530203 0x00, 0x00, 0x00, 0x05};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530204
205 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
206 buffer.writeBytes(errorMsg);
207
208 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
209 PcepMessage message = null;
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530210
mahesh poojary s87977d12015-08-24 19:15:37 +0530211 message = reader.readFrom(buffer);
212
Phaneendra Manda75daf942015-08-27 20:10:02 +0530213 byte[] testErrorMsg = {0};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530214 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
Sho SHIMIZUe090a422015-09-04 17:35:49 -0700215 assertThat(message, instanceOf(PcepErrorMsg.class));
mahesh poojary s87977d12015-08-24 19:15:37 +0530216 message.writeTo(buf);
Phaneendra Manda75daf942015-08-27 20:10:02 +0530217 int iReadLen = buf.writerIndex();
mahesh poojary s87977d12015-08-24 19:15:37 +0530218 testErrorMsg = new byte[iReadLen];
219 buf.readBytes(testErrorMsg, 0, iReadLen);
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530220
Phaneendra Manda75daf942015-08-27 20:10:02 +0530221 assertThat(testErrorMsg, is(errorMsg));
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530222 }
223
mahesh poojary s87977d12015-08-24 19:15:37 +0530224 /**
225 * This test case checks for
226 * PCEP-ERROR Object, PCEP-ERROR Object, OPEN Object
227 * in PcepErrorMsg message.
mahesh poojary s87977d12015-08-24 19:15:37 +0530228 */
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530229 @Test
230 public void errorMessageTest6() throws PcepParseException {
231
Phaneendra Manda75daf942015-08-27 20:10:02 +0530232 byte[] errorMsg = new byte[]{0x20, 0x06, 0x00, 0x1C, // common header
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530233 0x0D, 0x10, 0x00, 0x08, // PCERR Object Header
234 0x00, 0x00, 0x01, 0x01, 0x0D, 0x10, 0x00, 0x08, // PCERR Object Header
235 0x00, 0x00, 0x01, 0x03, 0x01, 0x10, 0x00, 0x08, // OPEN object header
236 0x20, 0x05, 0x1E, 0x01 // OPEN object
237 };
238
239 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
240 buffer.writeBytes(errorMsg);
241
242 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
243 PcepMessage message = null;
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530244
mahesh poojary s87977d12015-08-24 19:15:37 +0530245 message = reader.readFrom(buffer);
246
Phaneendra Manda75daf942015-08-27 20:10:02 +0530247 byte[] testErrorMsg = {0};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530248 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
Sho SHIMIZUe090a422015-09-04 17:35:49 -0700249 assertThat(message, instanceOf(PcepErrorMsg.class));
mahesh poojary s87977d12015-08-24 19:15:37 +0530250 message.writeTo(buf);
Phaneendra Manda75daf942015-08-27 20:10:02 +0530251 int iReadLen = buf.writerIndex();
mahesh poojary s87977d12015-08-24 19:15:37 +0530252 testErrorMsg = new byte[iReadLen];
253 buf.readBytes(testErrorMsg, 0, iReadLen);
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530254
Phaneendra Manda75daf942015-08-27 20:10:02 +0530255 assertThat(testErrorMsg, is(errorMsg));
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530256 }
257
mahesh poojary s87977d12015-08-24 19:15:37 +0530258 /**
259 * This test case checks for
260 * PCEP-ERROR Object, OPEN Object
261 * in PcepErrorMsg message.
mahesh poojary s87977d12015-08-24 19:15:37 +0530262 */
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530263 @Test
264 public void errorMessageTest7() throws PcepParseException {
265
Phaneendra Manda75daf942015-08-27 20:10:02 +0530266 byte[] errorMsg = new byte[]{0x20, 0x06, 0x00, 0x14, // common header
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530267 0x0D, 0x10, 0x00, 0x08, // PCERR Object Header
268 0x00, 0x00, 0x01, 0x01, 0x01, 0x10, 0x00, 0x08, // OPEN object header
269 0x20, 0x05, 0x1E, 0x01 // OPEN object
270 };
271
272 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
273 buffer.writeBytes(errorMsg);
274
275 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
276 PcepMessage message = null;
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530277
mahesh poojary s87977d12015-08-24 19:15:37 +0530278 message = reader.readFrom(buffer);
279
Phaneendra Manda75daf942015-08-27 20:10:02 +0530280 byte[] testErrorMsg = {0};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530281 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
Sho SHIMIZUe090a422015-09-04 17:35:49 -0700282 assertThat(message, instanceOf(PcepErrorMsg.class));
mahesh poojary s87977d12015-08-24 19:15:37 +0530283 message.writeTo(buf);
Phaneendra Manda75daf942015-08-27 20:10:02 +0530284 int iReadLen = buf.writerIndex();
mahesh poojary s87977d12015-08-24 19:15:37 +0530285 testErrorMsg = new byte[iReadLen];
286 buf.readBytes(testErrorMsg, 0, iReadLen);
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530287
Phaneendra Manda75daf942015-08-27 20:10:02 +0530288 assertThat(testErrorMsg, is(errorMsg));
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530289 }
290
mahesh poojary s87977d12015-08-24 19:15:37 +0530291 /**
292 * This test case checks for
293 * PCEP-ERROR Object, RP Object, PCEP-ERROR Object
294 * in PcepErrorMsg message.
mahesh poojary s87977d12015-08-24 19:15:37 +0530295 */
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530296 @Test
297 public void errorMessageTest8() throws PcepParseException {
298
Phaneendra Manda75daf942015-08-27 20:10:02 +0530299 byte[] errorMsg = new byte[]{0x20, 0x06, 0x00, 0x20, // common header
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530300 0x0D, 0x10, 0x00, 0x08, // PCERR Object Header
mahesh poojary s87977d12015-08-24 19:15:37 +0530301 0x00, 0x00, 0x01, 0x01, 0x02, 0x10, 0x00, 0x0C, // RP Object Header
302 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0D, 0x10, 0x00, 0x08, // PCERR Object Header
Phaneendra Manda75daf942015-08-27 20:10:02 +0530303 0x00, 0x00, 0x01, 0x03};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530304
305 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
306 buffer.writeBytes(errorMsg);
307
308 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
309 PcepMessage message = null;
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530310
mahesh poojary s87977d12015-08-24 19:15:37 +0530311 message = reader.readFrom(buffer);
312
Phaneendra Manda75daf942015-08-27 20:10:02 +0530313 byte[] testErrorMsg = {0};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530314 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
Sho SHIMIZUe090a422015-09-04 17:35:49 -0700315 assertThat(message, instanceOf(PcepErrorMsg.class));
mahesh poojary s87977d12015-08-24 19:15:37 +0530316 message.writeTo(buf);
Phaneendra Manda75daf942015-08-27 20:10:02 +0530317 int iReadLen = buf.writerIndex();
mahesh poojary s87977d12015-08-24 19:15:37 +0530318 testErrorMsg = new byte[iReadLen];
319 buf.readBytes(testErrorMsg, 0, iReadLen);
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530320
Phaneendra Manda75daf942015-08-27 20:10:02 +0530321 assertThat(testErrorMsg, is(errorMsg));
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530322 }
323
mahesh poojary s87977d12015-08-24 19:15:37 +0530324 /**
325 * This test case checks for
326 * PCEP-ERROR Object, PCEP-ERROR Object
327 * in PcepErrorMsg message.
mahesh poojary s87977d12015-08-24 19:15:37 +0530328 */
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530329 @Test
330 public void errorMessageTest9() throws PcepParseException {
331
Phaneendra Manda75daf942015-08-27 20:10:02 +0530332 byte[] errorMsg = new byte[]{0x20, 0x06, 0x00, 0x14, // common header
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530333 0x0D, 0x10, 0x00, 0x08, // PCEP-ERROR Object Header
334 0x00, 0x00, 0x01, 0x01, 0x0D, 0x10, 0x00, 0x08, // PCEP-ERROR Object Header
Phaneendra Manda75daf942015-08-27 20:10:02 +0530335 0x00, 0x00, 0x01, 0x01};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530336
337 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
338 buffer.writeBytes(errorMsg);
339
340 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
341 PcepMessage message = null;
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530342
mahesh poojary s87977d12015-08-24 19:15:37 +0530343 message = reader.readFrom(buffer);
344
Phaneendra Manda75daf942015-08-27 20:10:02 +0530345 byte[] testErrorMsg = {0};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530346 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
Sho SHIMIZUe090a422015-09-04 17:35:49 -0700347 assertThat(message, instanceOf(PcepErrorMsg.class));
mahesh poojary s87977d12015-08-24 19:15:37 +0530348 message.writeTo(buf);
Phaneendra Manda75daf942015-08-27 20:10:02 +0530349 int iReadLen = buf.writerIndex();
mahesh poojary s87977d12015-08-24 19:15:37 +0530350 testErrorMsg = new byte[iReadLen];
351 buf.readBytes(testErrorMsg, 0, iReadLen);
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530352
Phaneendra Manda75daf942015-08-27 20:10:02 +0530353 assertThat(testErrorMsg, is(errorMsg));
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530354 }
355
mahesh poojary s87977d12015-08-24 19:15:37 +0530356 /**
357 * This test case checks for
358 * PCEP-ERROR Object, PCEP-ERROR Object
359 * in PcepErrorMsg message.
mahesh poojary s87977d12015-08-24 19:15:37 +0530360 */
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530361 @Test
362 public void errorMessageTest10() throws PcepParseException {
363
Phaneendra Manda75daf942015-08-27 20:10:02 +0530364 byte[] errorMsg = new byte[]{0x20, 0x06, 0x00, 0x14, // common header
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530365 0x0D, 0x10, 0x00, 0x08, // PCEP-ERROR Object Header
366 0x00, 0x00, 0x01, 0x01, 0x0D, 0x10, 0x00, 0x08, // PCEP-ERROR Object Header
Phaneendra Manda75daf942015-08-27 20:10:02 +0530367 0x00, 0x00, 0x01, 0x01};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530368
369 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
370 buffer.writeBytes(errorMsg);
371
372 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
373 PcepMessage message = null;
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530374
mahesh poojary s87977d12015-08-24 19:15:37 +0530375 message = reader.readFrom(buffer);
376
Phaneendra Manda75daf942015-08-27 20:10:02 +0530377 byte[] testErrorMsg = {0};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530378 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
Sho SHIMIZUe090a422015-09-04 17:35:49 -0700379 assertThat(message, instanceOf(PcepErrorMsg.class));
mahesh poojary s87977d12015-08-24 19:15:37 +0530380 message.writeTo(buf);
Phaneendra Manda75daf942015-08-27 20:10:02 +0530381 int iReadLen = buf.writerIndex();
mahesh poojary s87977d12015-08-24 19:15:37 +0530382 testErrorMsg = new byte[iReadLen];
383 buf.readBytes(testErrorMsg, 0, iReadLen);
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530384
Phaneendra Manda75daf942015-08-27 20:10:02 +0530385 assertThat(testErrorMsg, is(errorMsg));
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530386 }
387
mahesh poojary s87977d12015-08-24 19:15:37 +0530388 /**
389 * This test case checks for
390 * TE Object, PCEP-ERROR Object
391 * in PcepErrorMsg message.
mahesh poojary s87977d12015-08-24 19:15:37 +0530392 */
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530393 @Test
394 public void errorMessageTest11() throws PcepParseException {
395
Phaneendra Manda75daf942015-08-27 20:10:02 +0530396 byte[] errorMsg = new byte[]{0x20, 0x06, 0x00, 0x18, // common header
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530397 0x65, 0x13, 0x00, 0x0C, // TE Object Header
398 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x10, // TE-ID
399 0x0D, 0x10, 0x00, 0x08, // PCEP-ERROR Object Header
Phaneendra Manda75daf942015-08-27 20:10:02 +0530400 0x00, 0x00, 0x01, 0x01};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530401
402 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
403 buffer.writeBytes(errorMsg);
404
405 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
406 PcepMessage message = null;
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530407
mahesh poojary s87977d12015-08-24 19:15:37 +0530408 message = reader.readFrom(buffer);
409
Phaneendra Manda75daf942015-08-27 20:10:02 +0530410 byte[] testErrorMsg = {0};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530411 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
Sho SHIMIZUe090a422015-09-04 17:35:49 -0700412 assertThat(message, instanceOf(PcepErrorMsg.class));
mahesh poojary s87977d12015-08-24 19:15:37 +0530413 message.writeTo(buf);
Phaneendra Manda75daf942015-08-27 20:10:02 +0530414 int iReadLen = buf.writerIndex();
mahesh poojary s87977d12015-08-24 19:15:37 +0530415 testErrorMsg = new byte[iReadLen];
416 buf.readBytes(testErrorMsg, 0, iReadLen);
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530417
Phaneendra Manda75daf942015-08-27 20:10:02 +0530418 assertThat(testErrorMsg, is(errorMsg));
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530419 }
420
mahesh poojary s87977d12015-08-24 19:15:37 +0530421 /**
422 * This test case checks for
423 * RP Object, PCEP-ERROR Object
424 * in PcepErrorMsg message.
mahesh poojary s87977d12015-08-24 19:15:37 +0530425 */
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530426 @Test
427 public void errorMessageTest12() throws PcepParseException {
428
429 //RP Object, PCEP-ERROR Object
Phaneendra Manda75daf942015-08-27 20:10:02 +0530430 byte[] errorMsg = new byte[]{0x20, 0x06, 0x00, 0x18, // common header
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530431 0x02, 0x10, 0x00, 0x0C, // RP Object Header
mahesh poojary s87977d12015-08-24 19:15:37 +0530432 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0D, 0x10, 0x00, 0x08, // PCEP-ERROR Object Header
Phaneendra Manda75daf942015-08-27 20:10:02 +0530433 0x00, 0x00, 0x01, 0x01};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530434
435 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
436 buffer.writeBytes(errorMsg);
437
438 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
439 PcepMessage message = null;
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530440
mahesh poojary s87977d12015-08-24 19:15:37 +0530441 message = reader.readFrom(buffer);
442
Phaneendra Manda75daf942015-08-27 20:10:02 +0530443 byte[] testErrorMsg = {0};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530444 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
Sho SHIMIZUe090a422015-09-04 17:35:49 -0700445 assertThat(message, instanceOf(PcepErrorMsg.class));
mahesh poojary s87977d12015-08-24 19:15:37 +0530446 message.writeTo(buf);
Phaneendra Manda75daf942015-08-27 20:10:02 +0530447 int iReadLen = buf.writerIndex();
mahesh poojary s87977d12015-08-24 19:15:37 +0530448 testErrorMsg = new byte[iReadLen];
449 buf.readBytes(testErrorMsg, 0, iReadLen);
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530450
Phaneendra Manda75daf942015-08-27 20:10:02 +0530451 assertThat(testErrorMsg, is(errorMsg));
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530452 }
453
mahesh poojary s87977d12015-08-24 19:15:37 +0530454 /**
455 * This test case checks for
456 * RP Object, RP Object, PCEP-ERROR Object
457 * in PcepErrorMsg message.
mahesh poojary s87977d12015-08-24 19:15:37 +0530458 */
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530459 @Test
460 public void errorMessageTest13() throws PcepParseException {
461
Phaneendra Manda75daf942015-08-27 20:10:02 +0530462 byte[] errorMsg = new byte[]{0x20, 0x06, 0x00, 0x24, // common header
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530463 0x02, 0x10, 0x00, 0x0C, // RP Object Header
mahesh poojary s87977d12015-08-24 19:15:37 +0530464 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x02, 0x10, 0x00, 0x0C, // RP Object Header
465 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x0D, 0x10, 0x00, 0x08, // PCEP-ERROR Object Header
Phaneendra Manda75daf942015-08-27 20:10:02 +0530466 0x00, 0x00, 0x01, 0x01};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530467
468 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
469 buffer.writeBytes(errorMsg);
470
471 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
472 PcepMessage message = null;
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530473
mahesh poojary s87977d12015-08-24 19:15:37 +0530474 message = reader.readFrom(buffer);
475
Phaneendra Manda75daf942015-08-27 20:10:02 +0530476 byte[] testErrorMsg = {0};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530477 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
Sho SHIMIZUe090a422015-09-04 17:35:49 -0700478 assertThat(message, instanceOf(PcepErrorMsg.class));
mahesh poojary s87977d12015-08-24 19:15:37 +0530479 message.writeTo(buf);
Phaneendra Manda75daf942015-08-27 20:10:02 +0530480 int iReadLen = buf.writerIndex();
mahesh poojary s87977d12015-08-24 19:15:37 +0530481 testErrorMsg = new byte[iReadLen];
482 buf.readBytes(testErrorMsg, 0, iReadLen);
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530483
Phaneendra Manda75daf942015-08-27 20:10:02 +0530484 assertThat(testErrorMsg, is(errorMsg));
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530485 }
486
mahesh poojary s87977d12015-08-24 19:15:37 +0530487 /**
488 * This test case checks for
489 * TE Object, TE Object, PCEP-ERROR Object
490 * in PcepErrorMsg message.
mahesh poojary s87977d12015-08-24 19:15:37 +0530491 */
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530492 @Test
493 public void errorMessageTest14() throws PcepParseException {
494
Phaneendra Manda75daf942015-08-27 20:10:02 +0530495 byte[] errorMsg = new byte[]{0x20, 0x06, 0x00, 0x24, // common header
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530496 0x65, 0x10, 0x00, 0x0C, // TE Object Header
mahesh poojary s87977d12015-08-24 19:15:37 +0530497 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x10, // TE-ID
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530498 0x65, 0x10, 0x00, 0x0C, // TE Object Header
mahesh poojary s87977d12015-08-24 19:15:37 +0530499 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x11, // TE-ID
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530500 0x0D, 0x10, 0x00, 0x08, // PCEP-ERROR Object Header
Phaneendra Manda75daf942015-08-27 20:10:02 +0530501 0x00, 0x00, 0x01, 0x01};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530502
503 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
504 buffer.writeBytes(errorMsg);
505
506 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
507 PcepMessage message = null;
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530508
mahesh poojary s87977d12015-08-24 19:15:37 +0530509 message = reader.readFrom(buffer);
510
Phaneendra Manda75daf942015-08-27 20:10:02 +0530511 byte[] testErrorMsg = {0};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530512 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
Sho SHIMIZUe090a422015-09-04 17:35:49 -0700513 assertThat(message, instanceOf(PcepErrorMsg.class));
mahesh poojary s87977d12015-08-24 19:15:37 +0530514 message.writeTo(buf);
Phaneendra Manda75daf942015-08-27 20:10:02 +0530515 int iReadLen = buf.writerIndex();
mahesh poojary s87977d12015-08-24 19:15:37 +0530516 testErrorMsg = new byte[iReadLen];
517 buf.readBytes(testErrorMsg, 0, iReadLen);
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530518
Phaneendra Manda75daf942015-08-27 20:10:02 +0530519 assertThat(testErrorMsg, is(errorMsg));
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530520 }
521
mahesh poojary s87977d12015-08-24 19:15:37 +0530522 /**
523 * This test case checks for
524 * PCEP-ERROR Object, TE Object, PCEP-ERROR Object
525 * in PcepErrorMsg message.
mahesh poojary s87977d12015-08-24 19:15:37 +0530526 */
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530527 @Test
528 public void errorMessageTest15() throws PcepParseException {
529
Phaneendra Manda75daf942015-08-27 20:10:02 +0530530 byte[] errorMsg = new byte[]{0x20, 0x06, 0x00, 0x20, // common header
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530531 0x0D, 0x10, 0x00, 0x08, // PCERR Object Header
mahesh poojary s87977d12015-08-24 19:15:37 +0530532 0x00, 0x00, 0x01, 0x01, 0x65, 0x10, 0x00, 0x0C, // TE Object Header
533 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x10, // TE-ID
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530534 0x0D, 0x10, 0x00, 0x08, // PCEP-ERROR Object Header
Phaneendra Manda75daf942015-08-27 20:10:02 +0530535 0x00, 0x00, 0x01, 0x03};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530536
537 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
538 buffer.writeBytes(errorMsg);
539
540 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
541 PcepMessage message = null;
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530542
mahesh poojary s87977d12015-08-24 19:15:37 +0530543 message = reader.readFrom(buffer);
544
Phaneendra Manda75daf942015-08-27 20:10:02 +0530545 byte[] testErrorMsg = {0};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530546 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
Sho SHIMIZUe090a422015-09-04 17:35:49 -0700547 assertThat(message, instanceOf(PcepErrorMsg.class));
mahesh poojary s87977d12015-08-24 19:15:37 +0530548 message.writeTo(buf);
Phaneendra Manda75daf942015-08-27 20:10:02 +0530549 int iReadLen = buf.writerIndex();
mahesh poojary s87977d12015-08-24 19:15:37 +0530550 testErrorMsg = new byte[iReadLen];
551 buf.readBytes(testErrorMsg, 0, iReadLen);
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530552
Phaneendra Manda75daf942015-08-27 20:10:02 +0530553 assertThat(testErrorMsg, is(errorMsg));
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530554 }
555
mahesh poojary s87977d12015-08-24 19:15:37 +0530556 /**
557 * This test case checks for
558 * PCEP-ERROR Object, RP Object, RP Object, PCEP-ERROR Object
559 * in PcepErrorMsg message.
mahesh poojary s87977d12015-08-24 19:15:37 +0530560 */
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530561 @Test
562 public void errorMessageTest16() throws PcepParseException {
563
Phaneendra Manda75daf942015-08-27 20:10:02 +0530564 byte[] errorMsg = new byte[]{0x20, 0x06, 0x00, 0x2C, // common header
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530565 0x0D, 0x10, 0x00, 0x08, // PCEP-ERROR Object Header
mahesh poojary s87977d12015-08-24 19:15:37 +0530566 0x00, 0x00, 0x01, 0x01, 0x02, 0x10, 0x00, 0x0C, // RP Object Header
567 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x02, 0x10, 0x00, 0x0C, // RP Object Header
568 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x0D, 0x10, 0x00, 0x08, // PCERR Object Header
Phaneendra Manda75daf942015-08-27 20:10:02 +0530569 0x00, 0x00, 0x01, 0x03};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530570
571 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
572 buffer.writeBytes(errorMsg);
573
574 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
575 PcepMessage message = null;
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530576
mahesh poojary s87977d12015-08-24 19:15:37 +0530577 message = reader.readFrom(buffer);
578
Phaneendra Manda75daf942015-08-27 20:10:02 +0530579 byte[] testErrorMsg = {0};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530580 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
Sho SHIMIZUe090a422015-09-04 17:35:49 -0700581 assertThat(message, instanceOf(PcepErrorMsg.class));
mahesh poojary s87977d12015-08-24 19:15:37 +0530582 message.writeTo(buf);
Phaneendra Manda75daf942015-08-27 20:10:02 +0530583 int iReadLen = buf.writerIndex();
mahesh poojary s87977d12015-08-24 19:15:37 +0530584 testErrorMsg = new byte[iReadLen];
585 buf.readBytes(testErrorMsg, 0, iReadLen);
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530586
Phaneendra Manda75daf942015-08-27 20:10:02 +0530587 assertThat(testErrorMsg, is(errorMsg));
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530588 }
589
mahesh poojary s87977d12015-08-24 19:15:37 +0530590 /**
591 * This test case checks for
592 * PCEP-ERROR Object, TE Object, TE Object, PCEP-ERROR Object
593 * in PcepErrorMsg message.
mahesh poojary s87977d12015-08-24 19:15:37 +0530594 */
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530595 @Test
596 public void errorMessageTest17() throws PcepParseException {
597
Phaneendra Manda75daf942015-08-27 20:10:02 +0530598 byte[] errorMsg = new byte[]{0x20, 0x06, 0x00, 0x2C, // common header
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530599 0x0D, 0x10, 0x00, 0x08, // PCEP-ERROR Object Header
mahesh poojary s87977d12015-08-24 19:15:37 +0530600 0x00, 0x00, 0x01, 0x01, 0x65, 0x10, 0x00, 0x0C, // TE Object Header
601 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x10, // TE-ID
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530602 0x65, 0x10, 0x00, 0x0C, // TE Object Header
mahesh poojary s87977d12015-08-24 19:15:37 +0530603 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x11, // TE-ID
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530604 0x0D, 0x10, 0x00, 0x08, // PCEP-ERROR Object Header
Phaneendra Manda75daf942015-08-27 20:10:02 +0530605 0x00, 0x00, 0x01, 0x03};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530606
607 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
608 buffer.writeBytes(errorMsg);
609
610 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
611 PcepMessage message = null;
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530612
mahesh poojary s87977d12015-08-24 19:15:37 +0530613 message = reader.readFrom(buffer);
614
Phaneendra Manda75daf942015-08-27 20:10:02 +0530615 byte[] testErrorMsg = {0};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530616 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
Sho SHIMIZUe090a422015-09-04 17:35:49 -0700617 assertThat(message, instanceOf(PcepErrorMsg.class));
mahesh poojary s87977d12015-08-24 19:15:37 +0530618 message.writeTo(buf);
Phaneendra Manda75daf942015-08-27 20:10:02 +0530619 int iReadLen = buf.writerIndex();
mahesh poojary s87977d12015-08-24 19:15:37 +0530620 testErrorMsg = new byte[iReadLen];
621 buf.readBytes(testErrorMsg, 0, iReadLen);
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530622
Phaneendra Manda75daf942015-08-27 20:10:02 +0530623 assertThat(testErrorMsg, is(errorMsg));
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530624 }
625
mahesh poojary s87977d12015-08-24 19:15:37 +0530626 /**
627 * This test case checks for
628 * PCEP-ERROR Object, PCEP-ERROR Object, RP Object, RP Object, PCEP-ERROR Object, PCEP-ERROR Object
629 * in PcepErrorMsg message.
mahesh poojary s87977d12015-08-24 19:15:37 +0530630 */
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530631 @Test
632 public void errorMessageTest18() throws PcepParseException {
633
Phaneendra Manda75daf942015-08-27 20:10:02 +0530634 byte[] errorMsg = new byte[]{0x20, 0x06, 0x00, 0x3C, // common header
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530635 0x0D, 0x10, 0x00, 0x08, // PCEP-ERROR Object Header
mahesh poojary s87977d12015-08-24 19:15:37 +0530636 0x00, 0x00, 0x01, 0x01, 0x0D, 0x10, 0x00, 0x08, // PCEP-ERROR Object Header
637 0x00, 0x00, 0x01, 0x03, 0x02, 0x10, 0x00, 0x0C, // RP Object Header
638 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x02, 0x10, 0x00, 0x0C, // RP Object Header
639 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x0D, 0x10, 0x00, 0x08, // PCEP-ERROR Object Header
640 0x00, 0x00, 0x01, 0x04, 0x0D, 0x10, 0x00, 0x08, // PCEP-ERROR Object Header
Phaneendra Manda75daf942015-08-27 20:10:02 +0530641 0x00, 0x00, 0x01, 0x06};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530642
643 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
644 buffer.writeBytes(errorMsg);
645
646 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
647 PcepMessage message = null;
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530648
mahesh poojary s87977d12015-08-24 19:15:37 +0530649 message = reader.readFrom(buffer);
650
Phaneendra Manda75daf942015-08-27 20:10:02 +0530651 byte[] testErrorMsg = {0};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530652 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
Sho SHIMIZUe090a422015-09-04 17:35:49 -0700653 assertThat(message, instanceOf(PcepErrorMsg.class));
mahesh poojary s87977d12015-08-24 19:15:37 +0530654 message.writeTo(buf);
Phaneendra Manda75daf942015-08-27 20:10:02 +0530655 int iReadLen = buf.writerIndex();
mahesh poojary s87977d12015-08-24 19:15:37 +0530656 testErrorMsg = new byte[iReadLen];
657 buf.readBytes(testErrorMsg, 0, iReadLen);
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530658
Phaneendra Manda75daf942015-08-27 20:10:02 +0530659 assertThat(testErrorMsg, is(errorMsg));
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530660 }
661
mahesh poojary s87977d12015-08-24 19:15:37 +0530662 /**
663 * This test case checks for
664 * PCEP-ERROR Object, PCEP-ERROR Object, TE Object, TE Object, PCEP-ERROR Object, PCEP-ERROR Object
665 * in PcepErrorMsg message.
mahesh poojary s87977d12015-08-24 19:15:37 +0530666 */
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530667 @Test
668 public void errorMessageTest19() throws PcepParseException {
669
Phaneendra Manda75daf942015-08-27 20:10:02 +0530670 byte[] errorMsg = new byte[]{0x20, 0x06, 0x00, 0x3C, // common header
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530671 0x0D, 0x10, 0x00, 0x08, // PCERR Object Header
mahesh poojary s87977d12015-08-24 19:15:37 +0530672 0x00, 0x00, 0x01, 0x01, 0x0D, 0x10, 0x00, 0x08, // PCERR Object Header
673 0x00, 0x00, 0x01, 0x03, 0x65, 0x10, 0x00, 0x0C, // TE Object Header
674 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x10, // TE-ID
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530675 0x65, 0x10, 0x00, 0x0C, // TE Object Header
mahesh poojary s87977d12015-08-24 19:15:37 +0530676 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x11, // TE-ID
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530677 0x0D, 0x10, 0x00, 0x08, // PCERR Object Header
mahesh poojary s87977d12015-08-24 19:15:37 +0530678 0x00, 0x00, 0x01, 0x04, 0x0D, 0x10, 0x00, 0x08, // PCERR Object Header
Phaneendra Manda75daf942015-08-27 20:10:02 +0530679 0x00, 0x00, 0x01, 0x06};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530680
681 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
682 buffer.writeBytes(errorMsg);
683
684 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
685 PcepMessage message = null;
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530686
mahesh poojary s87977d12015-08-24 19:15:37 +0530687 message = reader.readFrom(buffer);
688
Phaneendra Manda75daf942015-08-27 20:10:02 +0530689 byte[] testErrorMsg = {0};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530690 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
Sho SHIMIZUe090a422015-09-04 17:35:49 -0700691 assertThat(message, instanceOf(PcepErrorMsg.class));
mahesh poojary s87977d12015-08-24 19:15:37 +0530692 message.writeTo(buf);
Phaneendra Manda75daf942015-08-27 20:10:02 +0530693 int iReadLen = buf.writerIndex();
mahesh poojary s87977d12015-08-24 19:15:37 +0530694 testErrorMsg = new byte[iReadLen];
695 buf.readBytes(testErrorMsg, 0, iReadLen);
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530696
Phaneendra Manda75daf942015-08-27 20:10:02 +0530697 assertThat(testErrorMsg, is(errorMsg));
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530698 }
699
mahesh poojary s87977d12015-08-24 19:15:37 +0530700 /**
701 * This test case checks for
702 * PCEP-ERROR Object, RP Object, RP Object, PCEP-ERROR Object, PCEP-ERROR Object,
703 * TE Object, PCEP-ERROR Object
704 * in PcepErrorMsg message.
mahesh poojary s87977d12015-08-24 19:15:37 +0530705 */
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530706 @Test
707 public void errorMessageTest20() throws PcepParseException {
708
Phaneendra Manda75daf942015-08-27 20:10:02 +0530709 byte[] errorMsg = new byte[]{0x20, 0x06, 0x00, 0x48, // common header
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530710 0x0D, 0x10, 0x00, 0x08, // PCEP-ERROR Object Header
mahesh poojary s87977d12015-08-24 19:15:37 +0530711 0x00, 0x00, 0x01, 0x01, 0x02, 0x10, 0x00, 0x0C, // RP Object Header
712 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x02, 0x10, 0x00, 0x0C, // RP Object Header
713 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x0D, 0x10, 0x00, 0x08, // PCERR Object Header
714 0x00, 0x00, 0x01, 0x04, 0x0D, 0x10, 0x00, 0x08, // PCERR Object Header
715 0x00, 0x00, 0x01, 0x06, 0x65, 0x10, 0x00, 0x0C, // TE Object Header
716 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x10, // TE-ID
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530717 0x0D, 0x10, 0x00, 0x08, // PCERR Object Header
Phaneendra Manda75daf942015-08-27 20:10:02 +0530718 0x00, 0x00, 0x01, 0x06};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530719
720 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
721 buffer.writeBytes(errorMsg);
722
723 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
724 PcepMessage message = null;
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530725
mahesh poojary s87977d12015-08-24 19:15:37 +0530726 message = reader.readFrom(buffer);
727
Phaneendra Manda75daf942015-08-27 20:10:02 +0530728 byte[] testErrorMsg = {0};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530729 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
Sho SHIMIZUe090a422015-09-04 17:35:49 -0700730 assertThat(message, instanceOf(PcepErrorMsg.class));
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530731
mahesh poojary s87977d12015-08-24 19:15:37 +0530732 message.writeTo(buf);
Phaneendra Manda75daf942015-08-27 20:10:02 +0530733 int iReadLen = buf.writerIndex();
mahesh poojary s87977d12015-08-24 19:15:37 +0530734 testErrorMsg = new byte[iReadLen];
735 buf.readBytes(testErrorMsg, 0, iReadLen);
736
Phaneendra Manda75daf942015-08-27 20:10:02 +0530737 assertThat(testErrorMsg, is(errorMsg));
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530738 }
739}