blob: 234cea675c59a40f1f1c7071e24e9e306ae465c6 [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 */
Sho SHIMIZU3559c312015-11-04 14:59:31 -080016package org.onosproject.pcepio.protocol;
Mahesh Poojary S1c356e32015-08-21 15:05:30 +053017
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;
Mahesh Poojary S1c356e32015-08-21 15:05:30 +053023
Phaneendra Manda75daf942015-08-27 20:10:02 +053024import static org.hamcrest.MatcherAssert.assertThat;
Sho SHIMIZUe090a422015-09-04 17:35:49 -070025import static org.hamcrest.Matchers.instanceOf;
Phaneendra Manda75daf942015-08-27 20:10:02 +053026import static org.hamcrest.core.Is.is;
Phaneendra Manda75daf942015-08-27 20:10:02 +053027
Mahesh Poojary S1c356e32015-08-21 15:05:30 +053028/**
29 * Test cases for PCEP ERROR Message.
30 */
31public class PcepErrorMsgTest {
32
mahesh poojary s87977d12015-08-24 19:15:37 +053033 /**
34 * This test case checks for
35 * PCEP-ERROR Object, OPEN Object (STATEFUL-PCE-CAPABILITY, GMPLS-CAPABILITY-TLV,
36 * PCECC-CAPABILITY-TLV, TED Capability TLV)
37 * in PcepErrorMsg message.
mahesh poojary s87977d12015-08-24 19:15:37 +053038 */
Mahesh Poojary S1c356e32015-08-21 15:05:30 +053039 @Test
40 public void errorMessageTest1() throws PcepParseException {
41
Phaneendra Manda75daf942015-08-27 20:10:02 +053042 byte[] errorMsg = new byte[]{0x20, 0x06, 0x00, 0x34, // common header
Mahesh Poojary S1c356e32015-08-21 15:05:30 +053043 0x0D, 0x10, 0x00, 0x08, // PCERR Object Header
44 0x00, 0x00, 0x01, 0x01, 0x01, 0x10, 0x00, 0x28, // OPEN object header
45 0x20, 0x05, 0x1E, 0x01, // OPEN object
46 0x00, 0x10, 0x00, 0x04, // STATEFUL-PCE-CAPABILITY
47 0x00, 0x00, 0x00, 0x05, 0x00, 0x0E, 0x00, 0x04, // GMPLS-CAPABILITY-TLV
48 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, // PCECC-CAPABILITY-TLV
49 0x00, 0x00, 0x00, 0x03, 0x00, (byte) 0x84, 0x00, 0x04, // TED Capability TLV
Phaneendra Manda75daf942015-08-27 20:10:02 +053050 0x00, 0x00, 0x00, 0x00};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +053051
52 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
53 buffer.writeBytes(errorMsg);
54
55 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
56 PcepMessage message = null;
Mahesh Poojary S1c356e32015-08-21 15:05:30 +053057
mahesh poojary s87977d12015-08-24 19:15:37 +053058 message = reader.readFrom(buffer);
59
Phaneendra Manda75daf942015-08-27 20:10:02 +053060 byte[] testErrorMsg = {0};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +053061 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
Phaneendra Manda75daf942015-08-27 20:10:02 +053062
Sho SHIMIZUe090a422015-09-04 17:35:49 -070063 assertThat(message, instanceOf(PcepErrorMsg.class));
mahesh poojary s87977d12015-08-24 19:15:37 +053064 message.writeTo(buf);
Phaneendra Manda75daf942015-08-27 20:10:02 +053065 int iReadLen = buf.writerIndex();
mahesh poojary s87977d12015-08-24 19:15:37 +053066 testErrorMsg = new byte[iReadLen];
67 buf.readBytes(testErrorMsg, 0, iReadLen);
Mahesh Poojary S1c356e32015-08-21 15:05:30 +053068
Phaneendra Manda75daf942015-08-27 20:10:02 +053069 assertThat(testErrorMsg, is(errorMsg));
Mahesh Poojary S1c356e32015-08-21 15:05:30 +053070 }
71
mahesh poojary s87977d12015-08-24 19:15:37 +053072 /**
73 * This test case checks for
74 * PCEP-ERROR Object, PCEP-ERROR Object, OPEN Object (STATEFUL-PCE-CAPABILITY, GMPLS-CAPABILITY-TLV,
75 * PCECC-CAPABILITY-TLV, TED Capability TLV)
76 * in PcepErrorMsg message.
mahesh poojary s87977d12015-08-24 19:15:37 +053077 */
Mahesh Poojary S1c356e32015-08-21 15:05:30 +053078 @Test
79 public void errorMessageTest2() throws PcepParseException {
80
Phaneendra Manda75daf942015-08-27 20:10:02 +053081 byte[] errorMsg = new byte[]{0x20, 0x06, 0x00, 0x3C, // common header
Mahesh Poojary S1c356e32015-08-21 15:05:30 +053082 0x0D, 0x10, 0x00, 0x08, // PCERR Object Header
83 0x00, 0x00, 0x01, 0x01, 0x0D, 0x10, 0x00, 0x08, // PCERR Object Header
84 0x00, 0x00, 0x01, 0x03, 0x01, 0x10, 0x00, 0x28, // OPEN object header
85 0x20, 0x05, 0x1E, 0x01, // OPEN object
86 0x00, 0x10, 0x00, 0x04, // STATEFUL-PCE-CAPABILITY
87 0x00, 0x00, 0x00, 0x05, 0x00, 0x0E, 0x00, 0x04, // GMPLS-CAPABILITY-TLV
88 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, // PCECC-CAPABILITY-TLV
89 0x00, 0x00, 0x00, 0x03, 0x00, (byte) 0x84, 0x00, 0x04, // TED Capability TLV
Phaneendra Manda75daf942015-08-27 20:10:02 +053090 0x00, 0x00, 0x00, 0x00};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +053091
92 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
93 buffer.writeBytes(errorMsg);
94
95 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
96 PcepMessage message = null;
Mahesh Poojary S1c356e32015-08-21 15:05:30 +053097
mahesh poojary s87977d12015-08-24 19:15:37 +053098 message = reader.readFrom(buffer);
99
Phaneendra Manda75daf942015-08-27 20:10:02 +0530100 byte[] testErrorMsg = {0};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530101 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
Sho SHIMIZUe090a422015-09-04 17:35:49 -0700102 assertThat(message, instanceOf(PcepErrorMsg.class));
mahesh poojary s87977d12015-08-24 19:15:37 +0530103 message.writeTo(buf);
Phaneendra Manda75daf942015-08-27 20:10:02 +0530104 int iReadLen = buf.writerIndex();
mahesh poojary s87977d12015-08-24 19:15:37 +0530105 testErrorMsg = new byte[iReadLen];
106 buf.readBytes(testErrorMsg, 0, iReadLen);
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530107
Phaneendra Manda75daf942015-08-27 20:10:02 +0530108 assertThat(testErrorMsg, is(errorMsg));
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530109 }
110
mahesh poojary s87977d12015-08-24 19:15:37 +0530111 /**
112 * This test case checks for
Phaneendra Manda75daf942015-08-27 20:10:02 +0530113 * PCEP-ERROR Object, PCEP-ERROR Object, OPEN Object (STATEFUL-PCE-CAPABILITY, GMPLS-CAPABILITY-TLV,
mahesh poojary s87977d12015-08-24 19:15:37 +0530114 * PCECC-CAPABILITY-TLV)
115 * in PcepErrorMsg message.
mahesh poojary s87977d12015-08-24 19:15:37 +0530116 */
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530117 @Test
118 public void errorMessageTest3() throws PcepParseException {
119
Phaneendra Manda75daf942015-08-27 20:10:02 +0530120 byte[] errorMsg = new byte[]{0x20, 0x06, 0x00, 0x34, // common header
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530121 0x0D, 0x10, 0x00, 0x08, // PCERR Object Header
122 0x00, 0x00, 0x01, 0x01, 0x0D, 0x10, 0x00, 0x08, // PCERR Object Header
123 0x00, 0x00, 0x01, 0x03, 0x01, 0x10, 0x00, 0x20, // OPEN object header
124 0x20, 0x05, 0x1E, 0x01, // OPEN object
125 0x00, 0x10, 0x00, 0x04, // STATEFUL-PCE-CAPABILITY
126 0x00, 0x00, 0x00, 0x05, 0x00, 0x0E, 0x00, 0x04, // GMPLS-CAPABILITY-TLV
127 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, // PCECC-CAPABILITY-TLV
Phaneendra Manda75daf942015-08-27 20:10:02 +0530128 0x00, 0x00, 0x00, 0x03};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530129
130 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
131 buffer.writeBytes(errorMsg);
132
133 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
134 PcepMessage message = null;
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530135
mahesh poojary s87977d12015-08-24 19:15:37 +0530136 message = reader.readFrom(buffer);
137
Phaneendra Manda75daf942015-08-27 20:10:02 +0530138 byte[] testErrorMsg = {0};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530139 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
Sho SHIMIZUe090a422015-09-04 17:35:49 -0700140 assertThat(message, instanceOf(PcepErrorMsg.class));
mahesh poojary s87977d12015-08-24 19:15:37 +0530141 message.writeTo(buf);
Phaneendra Manda75daf942015-08-27 20:10:02 +0530142 int iReadLen = buf.writerIndex();
mahesh poojary s87977d12015-08-24 19:15:37 +0530143 testErrorMsg = new byte[iReadLen];
144 buf.readBytes(testErrorMsg, 0, iReadLen);
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530145
Phaneendra Manda75daf942015-08-27 20:10:02 +0530146 assertThat(testErrorMsg, is(errorMsg));
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530147 }
148
mahesh poojary s87977d12015-08-24 19:15:37 +0530149 /**
150 * This test case checks for
151 * PCEP-ERROR Object, PCEP-ERROR Object, OPEN Object (STATEFUL-PCE-CAPABILITY, GMPLS-CAPABILITY-TLV)
152 * in PcepErrorMsg message.
mahesh poojary s87977d12015-08-24 19:15:37 +0530153 */
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530154 @Test
155 public void errorMessageTest4() throws PcepParseException {
156
Phaneendra Manda75daf942015-08-27 20:10:02 +0530157 byte[] errorMsg = new byte[]{0x20, 0x06, 0x00, 0x2c, // common header
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530158 0x0D, 0x10, 0x00, 0x08, // PCERR Object Header
159 0x00, 0x00, 0x01, 0x01, 0x0D, 0x10, 0x00, 0x08, // PCERR Object Header
160 0x00, 0x00, 0x01, 0x03, 0x01, 0x10, 0x00, 0x18, // OPEN object header
161 0x20, 0x05, 0x1E, 0x01, // OPEN object
162 0x00, 0x10, 0x00, 0x04, // STATEFUL-PCE-CAPABILITY
163 0x00, 0x00, 0x00, 0x05, 0x00, 0x0E, 0x00, 0x04, // GMPLS-CAPABILITY-TLV
Phaneendra Manda75daf942015-08-27 20:10:02 +0530164 0x00, 0x00, 0x00, 0x00};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530165
166 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
167 buffer.writeBytes(errorMsg);
168
169 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
170 PcepMessage message = null;
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530171
mahesh poojary s87977d12015-08-24 19:15:37 +0530172 message = reader.readFrom(buffer);
173
Phaneendra Manda75daf942015-08-27 20:10:02 +0530174 byte[] testErrorMsg = {0};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530175 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
Sho SHIMIZUe090a422015-09-04 17:35:49 -0700176 assertThat(message, instanceOf(PcepErrorMsg.class));
mahesh poojary s87977d12015-08-24 19:15:37 +0530177 message.writeTo(buf);
Phaneendra Manda75daf942015-08-27 20:10:02 +0530178 int iReadLen = buf.writerIndex();
mahesh poojary s87977d12015-08-24 19:15:37 +0530179 testErrorMsg = new byte[iReadLen];
180 buf.readBytes(testErrorMsg, 0, iReadLen);
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530181
Phaneendra Manda75daf942015-08-27 20:10:02 +0530182 assertThat(testErrorMsg, is(errorMsg));
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530183 }
184
mahesh poojary s87977d12015-08-24 19:15:37 +0530185 /**
186 * This test case checks for
187 * PCEP-ERROR Object, PCEP-ERROR Object, OPEN Object (STATEFUL-PCE-CAPABILITY)
188 * in PcepErrorMsg message.
mahesh poojary s87977d12015-08-24 19:15:37 +0530189 */
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530190 @Test
191 public void errorMessageTest5() throws PcepParseException {
192
Phaneendra Manda75daf942015-08-27 20:10:02 +0530193 byte[] errorMsg = new byte[]{0x20, 0x06, 0x00, 0x24, // common header
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530194 0x0D, 0x10, 0x00, 0x08, // PCERR Object Header
195 0x00, 0x00, 0x01, 0x01, 0x0D, 0x10, 0x00, 0x08, // PCERR Object Header
196 0x00, 0x00, 0x01, 0x03, 0x01, 0x10, 0x00, 0x10, // OPEN object header
197 0x20, 0x05, 0x1E, 0x01, // OPEN object
198 0x00, 0x10, 0x00, 0x04, // STATEFUL-PCE-CAPABILITY
Phaneendra Manda75daf942015-08-27 20:10:02 +0530199 0x00, 0x00, 0x00, 0x05};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530200
201 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
202 buffer.writeBytes(errorMsg);
203
204 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
205 PcepMessage message = null;
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530206
mahesh poojary s87977d12015-08-24 19:15:37 +0530207 message = reader.readFrom(buffer);
208
Phaneendra Manda75daf942015-08-27 20:10:02 +0530209 byte[] testErrorMsg = {0};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530210 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
Sho SHIMIZUe090a422015-09-04 17:35:49 -0700211 assertThat(message, instanceOf(PcepErrorMsg.class));
mahesh poojary s87977d12015-08-24 19:15:37 +0530212 message.writeTo(buf);
Phaneendra Manda75daf942015-08-27 20:10:02 +0530213 int iReadLen = buf.writerIndex();
mahesh poojary s87977d12015-08-24 19:15:37 +0530214 testErrorMsg = new byte[iReadLen];
215 buf.readBytes(testErrorMsg, 0, iReadLen);
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530216
Phaneendra Manda75daf942015-08-27 20:10:02 +0530217 assertThat(testErrorMsg, is(errorMsg));
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530218 }
219
mahesh poojary s87977d12015-08-24 19:15:37 +0530220 /**
221 * This test case checks for
222 * PCEP-ERROR Object, PCEP-ERROR Object, OPEN Object
223 * in PcepErrorMsg message.
mahesh poojary s87977d12015-08-24 19:15:37 +0530224 */
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530225 @Test
226 public void errorMessageTest6() throws PcepParseException {
227
Phaneendra Manda75daf942015-08-27 20:10:02 +0530228 byte[] errorMsg = new byte[]{0x20, 0x06, 0x00, 0x1C, // common header
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530229 0x0D, 0x10, 0x00, 0x08, // PCERR Object Header
230 0x00, 0x00, 0x01, 0x01, 0x0D, 0x10, 0x00, 0x08, // PCERR Object Header
231 0x00, 0x00, 0x01, 0x03, 0x01, 0x10, 0x00, 0x08, // OPEN object header
232 0x20, 0x05, 0x1E, 0x01 // OPEN object
233 };
234
235 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
236 buffer.writeBytes(errorMsg);
237
238 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
239 PcepMessage message = null;
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530240
mahesh poojary s87977d12015-08-24 19:15:37 +0530241 message = reader.readFrom(buffer);
242
Phaneendra Manda75daf942015-08-27 20:10:02 +0530243 byte[] testErrorMsg = {0};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530244 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
Sho SHIMIZUe090a422015-09-04 17:35:49 -0700245 assertThat(message, instanceOf(PcepErrorMsg.class));
mahesh poojary s87977d12015-08-24 19:15:37 +0530246 message.writeTo(buf);
Phaneendra Manda75daf942015-08-27 20:10:02 +0530247 int iReadLen = buf.writerIndex();
mahesh poojary s87977d12015-08-24 19:15:37 +0530248 testErrorMsg = new byte[iReadLen];
249 buf.readBytes(testErrorMsg, 0, iReadLen);
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530250
Phaneendra Manda75daf942015-08-27 20:10:02 +0530251 assertThat(testErrorMsg, is(errorMsg));
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530252 }
253
mahesh poojary s87977d12015-08-24 19:15:37 +0530254 /**
255 * This test case checks for
256 * PCEP-ERROR Object, OPEN Object
257 * in PcepErrorMsg message.
mahesh poojary s87977d12015-08-24 19:15:37 +0530258 */
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530259 @Test
260 public void errorMessageTest7() throws PcepParseException {
261
Phaneendra Manda75daf942015-08-27 20:10:02 +0530262 byte[] errorMsg = new byte[]{0x20, 0x06, 0x00, 0x14, // common header
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530263 0x0D, 0x10, 0x00, 0x08, // PCERR Object Header
264 0x00, 0x00, 0x01, 0x01, 0x01, 0x10, 0x00, 0x08, // OPEN object header
265 0x20, 0x05, 0x1E, 0x01 // OPEN object
266 };
267
268 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
269 buffer.writeBytes(errorMsg);
270
271 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
272 PcepMessage message = null;
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530273
mahesh poojary s87977d12015-08-24 19:15:37 +0530274 message = reader.readFrom(buffer);
275
Phaneendra Manda75daf942015-08-27 20:10:02 +0530276 byte[] testErrorMsg = {0};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530277 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
Sho SHIMIZUe090a422015-09-04 17:35:49 -0700278 assertThat(message, instanceOf(PcepErrorMsg.class));
mahesh poojary s87977d12015-08-24 19:15:37 +0530279 message.writeTo(buf);
Phaneendra Manda75daf942015-08-27 20:10:02 +0530280 int iReadLen = buf.writerIndex();
mahesh poojary s87977d12015-08-24 19:15:37 +0530281 testErrorMsg = new byte[iReadLen];
282 buf.readBytes(testErrorMsg, 0, iReadLen);
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530283
Phaneendra Manda75daf942015-08-27 20:10:02 +0530284 assertThat(testErrorMsg, is(errorMsg));
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530285 }
286
mahesh poojary s87977d12015-08-24 19:15:37 +0530287 /**
288 * This test case checks for
289 * PCEP-ERROR Object, RP Object, PCEP-ERROR Object
290 * in PcepErrorMsg message.
mahesh poojary s87977d12015-08-24 19:15:37 +0530291 */
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530292 @Test
293 public void errorMessageTest8() throws PcepParseException {
294
Phaneendra Manda75daf942015-08-27 20:10:02 +0530295 byte[] errorMsg = new byte[]{0x20, 0x06, 0x00, 0x20, // common header
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530296 0x0D, 0x10, 0x00, 0x08, // PCERR Object Header
mahesh poojary s87977d12015-08-24 19:15:37 +0530297 0x00, 0x00, 0x01, 0x01, 0x02, 0x10, 0x00, 0x0C, // RP Object Header
298 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0D, 0x10, 0x00, 0x08, // PCERR Object Header
Phaneendra Manda75daf942015-08-27 20:10:02 +0530299 0x00, 0x00, 0x01, 0x03};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530300
301 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
302 buffer.writeBytes(errorMsg);
303
304 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
305 PcepMessage message = null;
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530306
mahesh poojary s87977d12015-08-24 19:15:37 +0530307 message = reader.readFrom(buffer);
308
Phaneendra Manda75daf942015-08-27 20:10:02 +0530309 byte[] testErrorMsg = {0};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530310 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
Sho SHIMIZUe090a422015-09-04 17:35:49 -0700311 assertThat(message, instanceOf(PcepErrorMsg.class));
mahesh poojary s87977d12015-08-24 19:15:37 +0530312 message.writeTo(buf);
Phaneendra Manda75daf942015-08-27 20:10:02 +0530313 int iReadLen = buf.writerIndex();
mahesh poojary s87977d12015-08-24 19:15:37 +0530314 testErrorMsg = new byte[iReadLen];
315 buf.readBytes(testErrorMsg, 0, iReadLen);
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530316
Phaneendra Manda75daf942015-08-27 20:10:02 +0530317 assertThat(testErrorMsg, is(errorMsg));
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530318 }
319
mahesh poojary s87977d12015-08-24 19:15:37 +0530320 /**
321 * This test case checks for
322 * PCEP-ERROR Object, PCEP-ERROR Object
323 * in PcepErrorMsg message.
mahesh poojary s87977d12015-08-24 19:15:37 +0530324 */
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530325 @Test
326 public void errorMessageTest9() throws PcepParseException {
327
Phaneendra Manda75daf942015-08-27 20:10:02 +0530328 byte[] errorMsg = new byte[]{0x20, 0x06, 0x00, 0x14, // common header
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530329 0x0D, 0x10, 0x00, 0x08, // PCEP-ERROR Object Header
330 0x00, 0x00, 0x01, 0x01, 0x0D, 0x10, 0x00, 0x08, // PCEP-ERROR Object Header
Phaneendra Manda75daf942015-08-27 20:10:02 +0530331 0x00, 0x00, 0x01, 0x01};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530332
333 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
334 buffer.writeBytes(errorMsg);
335
336 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
337 PcepMessage message = null;
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530338
mahesh poojary s87977d12015-08-24 19:15:37 +0530339 message = reader.readFrom(buffer);
340
Phaneendra Manda75daf942015-08-27 20:10:02 +0530341 byte[] testErrorMsg = {0};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530342 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
Sho SHIMIZUe090a422015-09-04 17:35:49 -0700343 assertThat(message, instanceOf(PcepErrorMsg.class));
mahesh poojary s87977d12015-08-24 19:15:37 +0530344 message.writeTo(buf);
Phaneendra Manda75daf942015-08-27 20:10:02 +0530345 int iReadLen = buf.writerIndex();
mahesh poojary s87977d12015-08-24 19:15:37 +0530346 testErrorMsg = new byte[iReadLen];
347 buf.readBytes(testErrorMsg, 0, iReadLen);
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530348
Phaneendra Manda75daf942015-08-27 20:10:02 +0530349 assertThat(testErrorMsg, is(errorMsg));
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530350 }
351
mahesh poojary s87977d12015-08-24 19:15:37 +0530352 /**
353 * This test case checks for
354 * PCEP-ERROR Object, PCEP-ERROR Object
355 * in PcepErrorMsg message.
mahesh poojary s87977d12015-08-24 19:15:37 +0530356 */
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530357 @Test
358 public void errorMessageTest10() throws PcepParseException {
359
Phaneendra Manda75daf942015-08-27 20:10:02 +0530360 byte[] errorMsg = new byte[]{0x20, 0x06, 0x00, 0x14, // common header
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530361 0x0D, 0x10, 0x00, 0x08, // PCEP-ERROR Object Header
362 0x00, 0x00, 0x01, 0x01, 0x0D, 0x10, 0x00, 0x08, // PCEP-ERROR Object Header
Phaneendra Manda75daf942015-08-27 20:10:02 +0530363 0x00, 0x00, 0x01, 0x01};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530364
365 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
366 buffer.writeBytes(errorMsg);
367
368 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
369 PcepMessage message = null;
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530370
mahesh poojary s87977d12015-08-24 19:15:37 +0530371 message = reader.readFrom(buffer);
372
Phaneendra Manda75daf942015-08-27 20:10:02 +0530373 byte[] testErrorMsg = {0};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530374 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
Sho SHIMIZUe090a422015-09-04 17:35:49 -0700375 assertThat(message, instanceOf(PcepErrorMsg.class));
mahesh poojary s87977d12015-08-24 19:15:37 +0530376 message.writeTo(buf);
Phaneendra Manda75daf942015-08-27 20:10:02 +0530377 int iReadLen = buf.writerIndex();
mahesh poojary s87977d12015-08-24 19:15:37 +0530378 testErrorMsg = new byte[iReadLen];
379 buf.readBytes(testErrorMsg, 0, iReadLen);
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530380
Phaneendra Manda75daf942015-08-27 20:10:02 +0530381 assertThat(testErrorMsg, is(errorMsg));
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530382 }
383
mahesh poojary s87977d12015-08-24 19:15:37 +0530384 /**
385 * This test case checks for
386 * TE Object, PCEP-ERROR Object
387 * in PcepErrorMsg message.
mahesh poojary s87977d12015-08-24 19:15:37 +0530388 */
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530389 @Test
390 public void errorMessageTest11() throws PcepParseException {
391
Phaneendra Manda75daf942015-08-27 20:10:02 +0530392 byte[] errorMsg = new byte[]{0x20, 0x06, 0x00, 0x18, // common header
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530393 0x65, 0x13, 0x00, 0x0C, // TE Object Header
394 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x10, // TE-ID
395 0x0D, 0x10, 0x00, 0x08, // PCEP-ERROR Object Header
Phaneendra Manda75daf942015-08-27 20:10:02 +0530396 0x00, 0x00, 0x01, 0x01};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530397
398 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
399 buffer.writeBytes(errorMsg);
400
401 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
402 PcepMessage message = null;
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530403
mahesh poojary s87977d12015-08-24 19:15:37 +0530404 message = reader.readFrom(buffer);
405
Phaneendra Manda75daf942015-08-27 20:10:02 +0530406 byte[] testErrorMsg = {0};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530407 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
Sho SHIMIZUe090a422015-09-04 17:35:49 -0700408 assertThat(message, instanceOf(PcepErrorMsg.class));
mahesh poojary s87977d12015-08-24 19:15:37 +0530409 message.writeTo(buf);
Phaneendra Manda75daf942015-08-27 20:10:02 +0530410 int iReadLen = buf.writerIndex();
mahesh poojary s87977d12015-08-24 19:15:37 +0530411 testErrorMsg = new byte[iReadLen];
412 buf.readBytes(testErrorMsg, 0, iReadLen);
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530413
Phaneendra Manda75daf942015-08-27 20:10:02 +0530414 assertThat(testErrorMsg, is(errorMsg));
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530415 }
416
mahesh poojary s87977d12015-08-24 19:15:37 +0530417 /**
418 * This test case checks for
419 * RP Object, PCEP-ERROR Object
420 * in PcepErrorMsg message.
mahesh poojary s87977d12015-08-24 19:15:37 +0530421 */
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530422 @Test
423 public void errorMessageTest12() throws PcepParseException {
424
425 //RP Object, PCEP-ERROR Object
Phaneendra Manda75daf942015-08-27 20:10:02 +0530426 byte[] errorMsg = new byte[]{0x20, 0x06, 0x00, 0x18, // common header
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530427 0x02, 0x10, 0x00, 0x0C, // RP Object Header
mahesh poojary s87977d12015-08-24 19:15:37 +0530428 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0D, 0x10, 0x00, 0x08, // PCEP-ERROR Object Header
Phaneendra Manda75daf942015-08-27 20:10:02 +0530429 0x00, 0x00, 0x01, 0x01};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530430
431 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
432 buffer.writeBytes(errorMsg);
433
434 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
435 PcepMessage message = null;
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530436
mahesh poojary s87977d12015-08-24 19:15:37 +0530437 message = reader.readFrom(buffer);
438
Phaneendra Manda75daf942015-08-27 20:10:02 +0530439 byte[] testErrorMsg = {0};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530440 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
Sho SHIMIZUe090a422015-09-04 17:35:49 -0700441 assertThat(message, instanceOf(PcepErrorMsg.class));
mahesh poojary s87977d12015-08-24 19:15:37 +0530442 message.writeTo(buf);
Phaneendra Manda75daf942015-08-27 20:10:02 +0530443 int iReadLen = buf.writerIndex();
mahesh poojary s87977d12015-08-24 19:15:37 +0530444 testErrorMsg = new byte[iReadLen];
445 buf.readBytes(testErrorMsg, 0, iReadLen);
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530446
Phaneendra Manda75daf942015-08-27 20:10:02 +0530447 assertThat(testErrorMsg, is(errorMsg));
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530448 }
449
mahesh poojary s87977d12015-08-24 19:15:37 +0530450 /**
451 * This test case checks for
452 * RP Object, RP Object, PCEP-ERROR Object
453 * in PcepErrorMsg message.
mahesh poojary s87977d12015-08-24 19:15:37 +0530454 */
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530455 @Test
456 public void errorMessageTest13() throws PcepParseException {
457
Phaneendra Manda75daf942015-08-27 20:10:02 +0530458 byte[] errorMsg = new byte[]{0x20, 0x06, 0x00, 0x24, // common header
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530459 0x02, 0x10, 0x00, 0x0C, // RP Object Header
mahesh poojary s87977d12015-08-24 19:15:37 +0530460 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x02, 0x10, 0x00, 0x0C, // RP Object Header
461 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x0D, 0x10, 0x00, 0x08, // PCEP-ERROR Object Header
Phaneendra Manda75daf942015-08-27 20:10:02 +0530462 0x00, 0x00, 0x01, 0x01};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530463
464 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
465 buffer.writeBytes(errorMsg);
466
467 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
468 PcepMessage message = null;
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530469
mahesh poojary s87977d12015-08-24 19:15:37 +0530470 message = reader.readFrom(buffer);
471
Phaneendra Manda75daf942015-08-27 20:10:02 +0530472 byte[] testErrorMsg = {0};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530473 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
Sho SHIMIZUe090a422015-09-04 17:35:49 -0700474 assertThat(message, instanceOf(PcepErrorMsg.class));
mahesh poojary s87977d12015-08-24 19:15:37 +0530475 message.writeTo(buf);
Phaneendra Manda75daf942015-08-27 20:10:02 +0530476 int iReadLen = buf.writerIndex();
mahesh poojary s87977d12015-08-24 19:15:37 +0530477 testErrorMsg = new byte[iReadLen];
478 buf.readBytes(testErrorMsg, 0, iReadLen);
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530479
Phaneendra Manda75daf942015-08-27 20:10:02 +0530480 assertThat(testErrorMsg, is(errorMsg));
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530481 }
482
mahesh poojary s87977d12015-08-24 19:15:37 +0530483 /**
484 * This test case checks for
485 * TE Object, TE Object, PCEP-ERROR Object
486 * in PcepErrorMsg message.
mahesh poojary s87977d12015-08-24 19:15:37 +0530487 */
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530488 @Test
489 public void errorMessageTest14() throws PcepParseException {
490
Phaneendra Manda75daf942015-08-27 20:10:02 +0530491 byte[] errorMsg = new byte[]{0x20, 0x06, 0x00, 0x24, // common header
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530492 0x65, 0x10, 0x00, 0x0C, // TE Object Header
mahesh poojary s87977d12015-08-24 19:15:37 +0530493 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x10, // TE-ID
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530494 0x65, 0x10, 0x00, 0x0C, // TE Object Header
mahesh poojary s87977d12015-08-24 19:15:37 +0530495 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x11, // TE-ID
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530496 0x0D, 0x10, 0x00, 0x08, // PCEP-ERROR Object Header
Phaneendra Manda75daf942015-08-27 20:10:02 +0530497 0x00, 0x00, 0x01, 0x01};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530498
499 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
500 buffer.writeBytes(errorMsg);
501
502 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
503 PcepMessage message = null;
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530504
mahesh poojary s87977d12015-08-24 19:15:37 +0530505 message = reader.readFrom(buffer);
506
Phaneendra Manda75daf942015-08-27 20:10:02 +0530507 byte[] testErrorMsg = {0};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530508 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
Sho SHIMIZUe090a422015-09-04 17:35:49 -0700509 assertThat(message, instanceOf(PcepErrorMsg.class));
mahesh poojary s87977d12015-08-24 19:15:37 +0530510 message.writeTo(buf);
Phaneendra Manda75daf942015-08-27 20:10:02 +0530511 int iReadLen = buf.writerIndex();
mahesh poojary s87977d12015-08-24 19:15:37 +0530512 testErrorMsg = new byte[iReadLen];
513 buf.readBytes(testErrorMsg, 0, iReadLen);
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530514
Phaneendra Manda75daf942015-08-27 20:10:02 +0530515 assertThat(testErrorMsg, is(errorMsg));
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530516 }
517
mahesh poojary s87977d12015-08-24 19:15:37 +0530518 /**
519 * This test case checks for
520 * PCEP-ERROR Object, TE Object, PCEP-ERROR Object
521 * in PcepErrorMsg message.
mahesh poojary s87977d12015-08-24 19:15:37 +0530522 */
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530523 @Test
524 public void errorMessageTest15() throws PcepParseException {
525
Phaneendra Manda75daf942015-08-27 20:10:02 +0530526 byte[] errorMsg = new byte[]{0x20, 0x06, 0x00, 0x20, // common header
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530527 0x0D, 0x10, 0x00, 0x08, // PCERR Object Header
mahesh poojary s87977d12015-08-24 19:15:37 +0530528 0x00, 0x00, 0x01, 0x01, 0x65, 0x10, 0x00, 0x0C, // TE Object Header
529 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x10, // TE-ID
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530530 0x0D, 0x10, 0x00, 0x08, // PCEP-ERROR Object Header
Phaneendra Manda75daf942015-08-27 20:10:02 +0530531 0x00, 0x00, 0x01, 0x03};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530532
533 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
534 buffer.writeBytes(errorMsg);
535
536 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
537 PcepMessage message = null;
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530538
mahesh poojary s87977d12015-08-24 19:15:37 +0530539 message = reader.readFrom(buffer);
540
Phaneendra Manda75daf942015-08-27 20:10:02 +0530541 byte[] testErrorMsg = {0};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530542 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
Sho SHIMIZUe090a422015-09-04 17:35:49 -0700543 assertThat(message, instanceOf(PcepErrorMsg.class));
mahesh poojary s87977d12015-08-24 19:15:37 +0530544 message.writeTo(buf);
Phaneendra Manda75daf942015-08-27 20:10:02 +0530545 int iReadLen = buf.writerIndex();
mahesh poojary s87977d12015-08-24 19:15:37 +0530546 testErrorMsg = new byte[iReadLen];
547 buf.readBytes(testErrorMsg, 0, iReadLen);
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530548
Phaneendra Manda75daf942015-08-27 20:10:02 +0530549 assertThat(testErrorMsg, is(errorMsg));
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530550 }
551
mahesh poojary s87977d12015-08-24 19:15:37 +0530552 /**
553 * This test case checks for
554 * PCEP-ERROR Object, RP Object, RP Object, PCEP-ERROR Object
555 * in PcepErrorMsg message.
mahesh poojary s87977d12015-08-24 19:15:37 +0530556 */
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530557 @Test
558 public void errorMessageTest16() throws PcepParseException {
559
Phaneendra Manda75daf942015-08-27 20:10:02 +0530560 byte[] errorMsg = new byte[]{0x20, 0x06, 0x00, 0x2C, // common header
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530561 0x0D, 0x10, 0x00, 0x08, // PCEP-ERROR Object Header
mahesh poojary s87977d12015-08-24 19:15:37 +0530562 0x00, 0x00, 0x01, 0x01, 0x02, 0x10, 0x00, 0x0C, // RP Object Header
563 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x02, 0x10, 0x00, 0x0C, // RP Object Header
564 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x0D, 0x10, 0x00, 0x08, // PCERR Object Header
Phaneendra Manda75daf942015-08-27 20:10:02 +0530565 0x00, 0x00, 0x01, 0x03};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530566
567 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
568 buffer.writeBytes(errorMsg);
569
570 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
571 PcepMessage message = null;
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530572
mahesh poojary s87977d12015-08-24 19:15:37 +0530573 message = reader.readFrom(buffer);
574
Phaneendra Manda75daf942015-08-27 20:10:02 +0530575 byte[] testErrorMsg = {0};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530576 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
Sho SHIMIZUe090a422015-09-04 17:35:49 -0700577 assertThat(message, instanceOf(PcepErrorMsg.class));
mahesh poojary s87977d12015-08-24 19:15:37 +0530578 message.writeTo(buf);
Phaneendra Manda75daf942015-08-27 20:10:02 +0530579 int iReadLen = buf.writerIndex();
mahesh poojary s87977d12015-08-24 19:15:37 +0530580 testErrorMsg = new byte[iReadLen];
581 buf.readBytes(testErrorMsg, 0, iReadLen);
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530582
Phaneendra Manda75daf942015-08-27 20:10:02 +0530583 assertThat(testErrorMsg, is(errorMsg));
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530584 }
585
mahesh poojary s87977d12015-08-24 19:15:37 +0530586 /**
587 * This test case checks for
588 * PCEP-ERROR Object, TE Object, TE Object, PCEP-ERROR Object
589 * in PcepErrorMsg message.
mahesh poojary s87977d12015-08-24 19:15:37 +0530590 */
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530591 @Test
592 public void errorMessageTest17() throws PcepParseException {
593
Phaneendra Manda75daf942015-08-27 20:10:02 +0530594 byte[] errorMsg = new byte[]{0x20, 0x06, 0x00, 0x2C, // common header
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530595 0x0D, 0x10, 0x00, 0x08, // PCEP-ERROR Object Header
mahesh poojary s87977d12015-08-24 19:15:37 +0530596 0x00, 0x00, 0x01, 0x01, 0x65, 0x10, 0x00, 0x0C, // TE Object Header
597 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x10, // TE-ID
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530598 0x65, 0x10, 0x00, 0x0C, // TE Object Header
mahesh poojary s87977d12015-08-24 19:15:37 +0530599 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x11, // TE-ID
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530600 0x0D, 0x10, 0x00, 0x08, // PCEP-ERROR Object Header
Phaneendra Manda75daf942015-08-27 20:10:02 +0530601 0x00, 0x00, 0x01, 0x03};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530602
603 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
604 buffer.writeBytes(errorMsg);
605
606 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
607 PcepMessage message = null;
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530608
mahesh poojary s87977d12015-08-24 19:15:37 +0530609 message = reader.readFrom(buffer);
610
Phaneendra Manda75daf942015-08-27 20:10:02 +0530611 byte[] testErrorMsg = {0};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530612 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
Sho SHIMIZUe090a422015-09-04 17:35:49 -0700613 assertThat(message, instanceOf(PcepErrorMsg.class));
mahesh poojary s87977d12015-08-24 19:15:37 +0530614 message.writeTo(buf);
Phaneendra Manda75daf942015-08-27 20:10:02 +0530615 int iReadLen = buf.writerIndex();
mahesh poojary s87977d12015-08-24 19:15:37 +0530616 testErrorMsg = new byte[iReadLen];
617 buf.readBytes(testErrorMsg, 0, iReadLen);
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530618
Phaneendra Manda75daf942015-08-27 20:10:02 +0530619 assertThat(testErrorMsg, is(errorMsg));
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530620 }
621
mahesh poojary s87977d12015-08-24 19:15:37 +0530622 /**
623 * This test case checks for
624 * PCEP-ERROR Object, PCEP-ERROR Object, RP Object, RP Object, PCEP-ERROR Object, PCEP-ERROR Object
625 * in PcepErrorMsg message.
mahesh poojary s87977d12015-08-24 19:15:37 +0530626 */
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530627 @Test
628 public void errorMessageTest18() throws PcepParseException {
629
Phaneendra Manda75daf942015-08-27 20:10:02 +0530630 byte[] errorMsg = new byte[]{0x20, 0x06, 0x00, 0x3C, // common header
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530631 0x0D, 0x10, 0x00, 0x08, // PCEP-ERROR Object Header
mahesh poojary s87977d12015-08-24 19:15:37 +0530632 0x00, 0x00, 0x01, 0x01, 0x0D, 0x10, 0x00, 0x08, // PCEP-ERROR Object Header
633 0x00, 0x00, 0x01, 0x03, 0x02, 0x10, 0x00, 0x0C, // RP Object Header
634 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x02, 0x10, 0x00, 0x0C, // RP Object Header
635 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x0D, 0x10, 0x00, 0x08, // PCEP-ERROR Object Header
636 0x00, 0x00, 0x01, 0x04, 0x0D, 0x10, 0x00, 0x08, // PCEP-ERROR Object Header
Phaneendra Manda75daf942015-08-27 20:10:02 +0530637 0x00, 0x00, 0x01, 0x06};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530638
639 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
640 buffer.writeBytes(errorMsg);
641
642 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
643 PcepMessage message = null;
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530644
mahesh poojary s87977d12015-08-24 19:15:37 +0530645 message = reader.readFrom(buffer);
646
Phaneendra Manda75daf942015-08-27 20:10:02 +0530647 byte[] testErrorMsg = {0};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530648 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
Sho SHIMIZUe090a422015-09-04 17:35:49 -0700649 assertThat(message, instanceOf(PcepErrorMsg.class));
mahesh poojary s87977d12015-08-24 19:15:37 +0530650 message.writeTo(buf);
Phaneendra Manda75daf942015-08-27 20:10:02 +0530651 int iReadLen = buf.writerIndex();
mahesh poojary s87977d12015-08-24 19:15:37 +0530652 testErrorMsg = new byte[iReadLen];
653 buf.readBytes(testErrorMsg, 0, iReadLen);
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530654
Phaneendra Manda75daf942015-08-27 20:10:02 +0530655 assertThat(testErrorMsg, is(errorMsg));
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530656 }
657
mahesh poojary s87977d12015-08-24 19:15:37 +0530658 /**
659 * This test case checks for
660 * PCEP-ERROR Object, PCEP-ERROR Object, TE Object, TE Object, PCEP-ERROR Object, PCEP-ERROR Object
661 * in PcepErrorMsg message.
mahesh poojary s87977d12015-08-24 19:15:37 +0530662 */
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530663 @Test
664 public void errorMessageTest19() throws PcepParseException {
665
Phaneendra Manda75daf942015-08-27 20:10:02 +0530666 byte[] errorMsg = new byte[]{0x20, 0x06, 0x00, 0x3C, // common header
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530667 0x0D, 0x10, 0x00, 0x08, // PCERR Object Header
mahesh poojary s87977d12015-08-24 19:15:37 +0530668 0x00, 0x00, 0x01, 0x01, 0x0D, 0x10, 0x00, 0x08, // PCERR Object Header
669 0x00, 0x00, 0x01, 0x03, 0x65, 0x10, 0x00, 0x0C, // TE Object Header
670 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x10, // TE-ID
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530671 0x65, 0x10, 0x00, 0x0C, // TE Object Header
mahesh poojary s87977d12015-08-24 19:15:37 +0530672 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x11, // TE-ID
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530673 0x0D, 0x10, 0x00, 0x08, // PCERR Object Header
mahesh poojary s87977d12015-08-24 19:15:37 +0530674 0x00, 0x00, 0x01, 0x04, 0x0D, 0x10, 0x00, 0x08, // PCERR Object Header
Phaneendra Manda75daf942015-08-27 20:10:02 +0530675 0x00, 0x00, 0x01, 0x06};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530676
677 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
678 buffer.writeBytes(errorMsg);
679
680 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
681 PcepMessage message = null;
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530682
mahesh poojary s87977d12015-08-24 19:15:37 +0530683 message = reader.readFrom(buffer);
684
Phaneendra Manda75daf942015-08-27 20:10:02 +0530685 byte[] testErrorMsg = {0};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530686 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
Sho SHIMIZUe090a422015-09-04 17:35:49 -0700687 assertThat(message, instanceOf(PcepErrorMsg.class));
mahesh poojary s87977d12015-08-24 19:15:37 +0530688 message.writeTo(buf);
Phaneendra Manda75daf942015-08-27 20:10:02 +0530689 int iReadLen = buf.writerIndex();
mahesh poojary s87977d12015-08-24 19:15:37 +0530690 testErrorMsg = new byte[iReadLen];
691 buf.readBytes(testErrorMsg, 0, iReadLen);
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530692
Phaneendra Manda75daf942015-08-27 20:10:02 +0530693 assertThat(testErrorMsg, is(errorMsg));
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530694 }
695
mahesh poojary s87977d12015-08-24 19:15:37 +0530696 /**
697 * This test case checks for
698 * PCEP-ERROR Object, RP Object, RP Object, PCEP-ERROR Object, PCEP-ERROR Object,
699 * TE Object, PCEP-ERROR Object
700 * in PcepErrorMsg message.
mahesh poojary s87977d12015-08-24 19:15:37 +0530701 */
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530702 @Test
703 public void errorMessageTest20() throws PcepParseException {
704
Phaneendra Manda75daf942015-08-27 20:10:02 +0530705 byte[] errorMsg = new byte[]{0x20, 0x06, 0x00, 0x48, // common header
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530706 0x0D, 0x10, 0x00, 0x08, // PCEP-ERROR Object Header
mahesh poojary s87977d12015-08-24 19:15:37 +0530707 0x00, 0x00, 0x01, 0x01, 0x02, 0x10, 0x00, 0x0C, // RP Object Header
708 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x02, 0x10, 0x00, 0x0C, // RP Object Header
709 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x0D, 0x10, 0x00, 0x08, // PCERR Object Header
710 0x00, 0x00, 0x01, 0x04, 0x0D, 0x10, 0x00, 0x08, // PCERR Object Header
711 0x00, 0x00, 0x01, 0x06, 0x65, 0x10, 0x00, 0x0C, // TE Object Header
712 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x10, // TE-ID
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530713 0x0D, 0x10, 0x00, 0x08, // PCERR Object Header
Phaneendra Manda75daf942015-08-27 20:10:02 +0530714 0x00, 0x00, 0x01, 0x06};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530715
716 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
717 buffer.writeBytes(errorMsg);
718
719 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
720 PcepMessage message = null;
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530721
mahesh poojary s87977d12015-08-24 19:15:37 +0530722 message = reader.readFrom(buffer);
723
Phaneendra Manda75daf942015-08-27 20:10:02 +0530724 byte[] testErrorMsg = {0};
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530725 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
Sho SHIMIZUe090a422015-09-04 17:35:49 -0700726 assertThat(message, instanceOf(PcepErrorMsg.class));
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530727
mahesh poojary s87977d12015-08-24 19:15:37 +0530728 message.writeTo(buf);
Phaneendra Manda75daf942015-08-27 20:10:02 +0530729 int iReadLen = buf.writerIndex();
mahesh poojary s87977d12015-08-24 19:15:37 +0530730 testErrorMsg = new byte[iReadLen];
731 buf.readBytes(testErrorMsg, 0, iReadLen);
732
Phaneendra Manda75daf942015-08-27 20:10:02 +0530733 assertThat(testErrorMsg, is(errorMsg));
Mahesh Poojary S1c356e32015-08-21 15:05:30 +0530734 }
735}