blob: bee2b06c27888793d733ea1c75eb13ab282abfed [file] [log] [blame]
bharat saraswale2e7a002015-08-21 22:47:30 +05301/*
Brian O'Connora09fe5b2017-08-03 21:12:30 -07002 * Copyright 2015-present Open Networking Foundation
bharat saraswale2e7a002015-08-21 22:47:30 +05303 *
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;
bharat saraswale2e7a002015-08-21 22:47:30 +053017
18import org.jboss.netty.buffer.ChannelBuffer;
19import org.jboss.netty.buffer.ChannelBuffers;
bharat saraswale2e7a002015-08-21 22:47:30 +053020import org.junit.Test;
Mahesh Poojary Sf1bbd362016-02-25 18:19:59 +053021import org.onosproject.pcepio.exceptions.PcepOutOfBoundMessageException;
bharat saraswale2e7a002015-08-21 22:47:30 +053022import org.onosproject.pcepio.exceptions.PcepParseException;
bharat saraswale2e7a002015-08-21 22:47:30 +053023
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +053024import static org.hamcrest.MatcherAssert.assertThat;
25import static org.hamcrest.Matchers.instanceOf;
26import static org.hamcrest.core.Is.is;
27
bharat saraswale2e7a002015-08-21 22:47:30 +053028public class PcepReportMsgTest {
29
30 /**
31 * This test case checks for SRP object, LSP object(Symbolic path name tlv), ERO object
32 * in PcRpt message.
bharat saraswale2e7a002015-08-21 22:47:30 +053033 */
34 @Test
Mahesh Poojary Sf1bbd362016-02-25 18:19:59 +053035 public void reportMessageTest1() throws PcepParseException, PcepOutOfBoundMessageException {
bharat saraswale2e7a002015-08-21 22:47:30 +053036
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +053037 byte[] reportMsg = new byte[]{0x20, 0x0a, 0x00, 0x24,
bharat saraswale2e7a002015-08-21 22:47:30 +053038 0x21, 0x10, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, //SRP Object
39 0x20, 0x10, 0x00, 0x10, 0x00, 0x00, 0x10, 0x03, //LSP Object
40 0x00, 0x11, 0x00, 0x02, 0x54, 0x31, 0x00, 0x00, //SymbolicPathNameTlv
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +053041 0x07, 0x10, 0x00, 0x04}; //ERO Object
bharat saraswale2e7a002015-08-21 22:47:30 +053042
43 byte[] testReportMsg = {0};
44 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
45 buffer.writeBytes(reportMsg);
46
47 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
48 PcepMessage message = null;
49
50 message = reader.readFrom(buffer);
51
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +053052 assertThat(message, instanceOf(PcepReportMsg.class));
bharat saraswale2e7a002015-08-21 22:47:30 +053053
54 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
55 message.writeTo(buf);
56
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +053057 int readLen = buf.writerIndex();
bharat saraswale2e7a002015-08-21 22:47:30 +053058 testReportMsg = new byte[readLen];
59 buf.readBytes(testReportMsg, 0, readLen);
60
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +053061 assertThat(testReportMsg, is(reportMsg));
bharat saraswale2e7a002015-08-21 22:47:30 +053062 }
63
64 /**
65 * This test case checks for SRP Object, LSP Object(StatefulIPv4LspIdentidiersTlv,SymbolicPathNameTlv
66 * StatefulLspErrorCodeTlv) ERO Object, LSPA Object, Metric-list, IRO object
67 * in PcRpt message.
bharat saraswale2e7a002015-08-21 22:47:30 +053068 */
69 @Test
Mahesh Poojary Sf1bbd362016-02-25 18:19:59 +053070 public void reportMessageTest2() throws PcepParseException, PcepOutOfBoundMessageException {
bharat saraswale2e7a002015-08-21 22:47:30 +053071
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +053072 byte[] reportMsg = new byte[]{0x20, 0x0a, 0x00, (byte) 0x7c,
bharat saraswale2e7a002015-08-21 22:47:30 +053073 0x21, 0x10, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, //SRP Object
74 0x20, 0x10, 0x00, 0x2c, 0x00, 0x00, 0x10, 0x03, //LSP Object // LSP Object
75 0x00, 0x12, 0x00, 0x10, //StatefulIPv4LspIdentidiersTlv
76 (byte) 0xb6, 0x02, 0x4e, 0x1f, 0x00, 0x01, (byte) 0x80, 0x01,
77 (byte) 0xb6, 0x02, 0x4e, 0x1f, (byte) 0xb6, 0x02, 0x4e, 0x20,
78 0x00, 0x11, 0x00, 0x02, 0x54, 0x31, 0x00, 0x00, //SymbolicPathNameTlv
79 0x00, 0x14, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, //StatefulLspErrorCodeTlv
80 0x07, 0x10, 0x00, 0x14, //ERO Object
81 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x1f, 0x04, 0x00, // IPv4SubObjects
82 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x20, 0x04, 0x00,
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +053083 0x09, 0x10, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //LSPA Object
bharat saraswale2e7a002015-08-21 22:47:30 +053084 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
85 0x06, 0x10, 0x00, 0x0c, 0x00, 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, //Metric Object
86 0x06, 0x10, 0x00, 0x0c, 0x00, 0x00, 0x01, 0x03, 0x00, 0x00, 0x00, 0x20, //Metric Object
87 };
88
89 byte[] testReportMsg = {0};
90 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
91 buffer.writeBytes(reportMsg);
92
93 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
94 PcepMessage message = null;
95
96 message = reader.readFrom(buffer);
97
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +053098 assertThat(message, instanceOf(PcepReportMsg.class));
bharat saraswale2e7a002015-08-21 22:47:30 +053099 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
100 message.writeTo(buf);
101
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530102 int readLen = buf.writerIndex();
bharat saraswale2e7a002015-08-21 22:47:30 +0530103 testReportMsg = new byte[readLen];
104 buf.readBytes(testReportMsg, 0, readLen);
105
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530106 assertThat(testReportMsg, is(reportMsg));
bharat saraswale2e7a002015-08-21 22:47:30 +0530107 }
108
109 /**
110 * This test case checks for LSP Object(StatefulIPv4LspIdentidiersTlv,SymbolicPathNameTlv,StatefulLspErrorCodeTlv)
111 * ERO Object, LSPA Object, Metric-list, IRO object
112 * in PcRpt message.
bharat saraswale2e7a002015-08-21 22:47:30 +0530113 */
114 @Test
Mahesh Poojary Sf1bbd362016-02-25 18:19:59 +0530115 public void reportMessageTest3() throws PcepParseException, PcepOutOfBoundMessageException {
bharat saraswale2e7a002015-08-21 22:47:30 +0530116
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530117 byte[] reportMsg = new byte[]{0x20, 0x0a, 0x00, (byte) 0x70,
bharat saraswale2e7a002015-08-21 22:47:30 +0530118 0x20, 0x10, 0x00, 0x2c, 0x00, 0x00, 0x10, 0x03, //LSP Object //LSP Object
119 0x00, 0x12, 0x00, 0x10, //StatefulIPv4LspIdentidiersTlv
120 (byte) 0xb6, 0x02, 0x4e, 0x1f, 0x00, 0x01, (byte) 0x80, 0x01,
121 (byte) 0xb6, 0x02, 0x4e, 0x1f, (byte) 0xb6, 0x02, 0x4e, 0x20,
122 0x00, 0x11, 0x00, 0x02, 0x54, 0x31, 0x00, 0x00, //SymbolicPathNameTlv
123 0x00, 0x14, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, //StatefulLspErrorCodeTlv
124 0x07, 0x10, 0x00, 0x14, //ERO Object
125 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x1f, 0x04, 0x00, //Ipv4SubObjects
126 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x20, 0x04, 0x00,
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530127 0x09, 0x10, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //LSPA Object
bharat saraswale2e7a002015-08-21 22:47:30 +0530128 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
129 0x06, 0x10, 0x00, 0x0c, 0x00, 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, //Metric Objects
130 0x06, 0x10, 0x00, 0x0c, 0x00, 0x00, 0x01, 0x03, 0x00, 0x00, 0x00, 0x20, //Metric Object
131 };
132
133 byte[] testReportMsg = {0};
134 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
135 buffer.writeBytes(reportMsg);
136
137 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
138 PcepMessage message = null;
139
140 message = reader.readFrom(buffer);
141
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530142 assertThat(message, instanceOf(PcepReportMsg.class));
bharat saraswale2e7a002015-08-21 22:47:30 +0530143 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
144 message.writeTo(buf);
145
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530146 int readLen = buf.writerIndex();
bharat saraswale2e7a002015-08-21 22:47:30 +0530147 testReportMsg = new byte[readLen];
148 buf.readBytes(testReportMsg, 0, readLen);
149
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530150 assertThat(testReportMsg, is(reportMsg));
bharat saraswale2e7a002015-08-21 22:47:30 +0530151 }
152
153 /**
154 * This test case checks for LSP Object(StatefulIPv4LspIdentidiersTlv,SymbolicPathNameTlv,StatefulLspErrorCodeTlv)
155 * ERO Object, LSPA Object, Metric-list
156 * in PcRpt message.
bharat saraswale2e7a002015-08-21 22:47:30 +0530157 */
158 @Test
Mahesh Poojary Sf1bbd362016-02-25 18:19:59 +0530159 public void reportMessageTest4() throws PcepParseException, PcepOutOfBoundMessageException {
bharat saraswale2e7a002015-08-21 22:47:30 +0530160
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530161 byte[] reportMsg = new byte[]{0x20, 0x0a, 0x00, (byte) 0x64,
bharat saraswale2e7a002015-08-21 22:47:30 +0530162 0x21, 0x10, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, //SRP Object
163 0x20, 0x10, 0x00, 0x2c, 0x00, 0x00, 0x10, 0x03, //LSP Object //LSP Object
164 0x00, 0x12, 0x00, 0x10, //StatefulIPv4LspIdentidiersTlv
165 (byte) 0xb6, 0x02, 0x4e, 0x1f, 0x00, 0x01, (byte) 0x80, 0x01,
166 (byte) 0xb6, 0x02, 0x4e, 0x1f, (byte) 0xb6, 0x02, 0x4e, 0x20,
167 0x00, 0x11, 0x00, 0x02, 0x54, 0x31, 0x00, 0x00, //SymbolicPathNameTlv
168 0x00, 0x14, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, //StatefulLspErrorCodeTlv
169 0x07, 0x10, 0x00, 0x14, //ERO Object
170 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x1f, 0x04, 0x00,
171 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x20, 0x04, 0x00,
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530172 0x09, 0x10, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //LSPA Object
173 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
bharat saraswale2e7a002015-08-21 22:47:30 +0530174
175 byte[] testReportMsg = {0};
176 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
177 buffer.writeBytes(reportMsg);
178
179 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
180 PcepMessage message = null;
181
182 message = reader.readFrom(buffer);
183
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530184 assertThat(message, instanceOf(PcepReportMsg.class));
bharat saraswale2e7a002015-08-21 22:47:30 +0530185 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
186 message.writeTo(buf);
187
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530188 int readLen = buf.writerIndex();
bharat saraswale2e7a002015-08-21 22:47:30 +0530189 testReportMsg = new byte[readLen];
190 buf.readBytes(testReportMsg, 0, readLen);
191
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530192 assertThat(testReportMsg, is(reportMsg));
bharat saraswale2e7a002015-08-21 22:47:30 +0530193 }
194
195 /**
196 * This test case checks for SRP Object, LSP Object(StatefulIPv4LspIdentidiersTlv,SymbolicPathNameTlv
197 * StatefulLspErrorCodeTlv) ERO Object, IRO object
198 * in PcRpt message.
bharat saraswale2e7a002015-08-21 22:47:30 +0530199 */
200 @Test
Mahesh Poojary Sf1bbd362016-02-25 18:19:59 +0530201 public void reportMessageTest5() throws PcepParseException, PcepOutOfBoundMessageException {
bharat saraswale2e7a002015-08-21 22:47:30 +0530202
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530203 byte[] reportMsg = new byte[]{0x20, 0x0a, 0x00, (byte) 0x50,
bharat saraswale2e7a002015-08-21 22:47:30 +0530204 0x21, 0x10, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, //SRP Object
205 0x20, 0x10, 0x00, 0x2c, 0x00, 0x00, 0x10, 0x03, //LSP Object //LSP Object
206 0x00, 0x12, 0x00, 0x10, //StatefulIPv4LspIdentidiersTlv
207 (byte) 0xb6, 0x02, 0x4e, 0x1f, 0x00, 0x01, (byte) 0x80, 0x01,
208 (byte) 0xb6, 0x02, 0x4e, 0x1f, (byte) 0xb6, 0x02, 0x4e, 0x20,
209 0x00, 0x11, 0x00, 0x02, 0x54, 0x31, 0x00, 0x00, //SymbolicPathNameTlv
210 0x00, 0x14, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, //StatefulLspErrorCodeTlv
211 0x07, 0x10, 0x00, 0x14, //ERO Object
212 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x1f, 0x04, 0x00,
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530213 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x20, 0x04, 0x00};
bharat saraswale2e7a002015-08-21 22:47:30 +0530214
215 byte[] testReportMsg = {0};
216 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
217 buffer.writeBytes(reportMsg);
218
219 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
220 PcepMessage message = null;
221
222 message = reader.readFrom(buffer);
223
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530224 assertThat(message, instanceOf(PcepReportMsg.class));
bharat saraswale2e7a002015-08-21 22:47:30 +0530225 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
226 message.writeTo(buf);
227
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530228 int readLen = buf.writerIndex();
bharat saraswale2e7a002015-08-21 22:47:30 +0530229 testReportMsg = new byte[readLen];
230 buf.readBytes(testReportMsg, 0, readLen);
231
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530232 assertThat(testReportMsg, is(reportMsg));
bharat saraswale2e7a002015-08-21 22:47:30 +0530233 }
234
235 /**
236 * This test case checks for SRP Object, LSP Object(StatefulIPv4LspIdentidiersTlv,SymbolicPathNameTlv
237 * StatefulLspErrorCodeTlv) ERO Object, LSPA Object, Metric-list.
238 * in PcRpt message.
bharat saraswale2e7a002015-08-21 22:47:30 +0530239 */
240 @Test
Mahesh Poojary Sf1bbd362016-02-25 18:19:59 +0530241 public void reportMessageTest6() throws PcepParseException, PcepOutOfBoundMessageException {
bharat saraswale2e7a002015-08-21 22:47:30 +0530242
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530243 byte[] reportMsg = new byte[]{0x20, 0x0a, 0x00, (byte) 0x6c,
bharat saraswale2e7a002015-08-21 22:47:30 +0530244 0x21, 0x10, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, //SRP Object
245 0x20, 0x10, 0x00, 0x2c, 0x00, 0x00, 0x10, 0x03, //LSP Object
246 0x00, 0x12, 0x00, 0x10, //StatefulIPv4LspIdentidiersTlv
247 (byte) 0xb6, 0x02, 0x4e, 0x1f, 0x00, 0x01, (byte) 0x80, 0x01,
248 (byte) 0xb6, 0x02, 0x4e, 0x1f, (byte) 0xb6, 0x02, 0x4e, 0x20,
249 0x00, 0x11, 0x00, 0x02, 0x54, 0x31, 0x00, 0x00, //SymbolicPathNameTlv
250 0x00, 0x14, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, //StatefulLspErrorCodeTlv
251 0x07, 0x10, 0x00, 0x04, //ERO Object
252 0x09, 0x10, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //LSPA Object
253 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
254 0x06, 0x10, 0x00, 0x0c, 0x00, 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, //Metric object
255 0x06, 0x10, 0x00, 0x0c, 0x00, 0x00, 0x01, 0x03, 0x00, 0x00, 0x00, 0x20, //Metric Object
256 };
257
258 byte[] testReportMsg = {0};
259 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
260 buffer.writeBytes(reportMsg);
261
262 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
263 PcepMessage message = null;
264
265 message = reader.readFrom(buffer);
266
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530267 assertThat(message, instanceOf(PcepReportMsg.class));
bharat saraswale2e7a002015-08-21 22:47:30 +0530268 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
269 message.writeTo(buf);
270
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530271 int readLen = buf.writerIndex();
bharat saraswale2e7a002015-08-21 22:47:30 +0530272 testReportMsg = new byte[readLen];
273 buf.readBytes(testReportMsg, 0, readLen);
274
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530275 assertThat(testReportMsg, is(reportMsg));
bharat saraswale2e7a002015-08-21 22:47:30 +0530276 }
277
278 /**
279 * This test case checks for LSP Object, ERO Object, LSPA Object, Metric-list, IRO object
280 * in PcRpt message.
bharat saraswale2e7a002015-08-21 22:47:30 +0530281 */
282 @Test
Mahesh Poojary Sf1bbd362016-02-25 18:19:59 +0530283 public void reportMessageTest7() throws PcepParseException, PcepOutOfBoundMessageException {
bharat saraswale2e7a002015-08-21 22:47:30 +0530284
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530285 byte[] reportMsg = new byte[]{0x20, 0x0a, 0x00, (byte) 0x58,
bharat saraswale2e7a002015-08-21 22:47:30 +0530286 0x21, 0x10, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, //SRP Object
287 0x20, 0x10, 0x00, 0x08, 0x00, 0x00, 0x10, 0x03, //LSP Object
288 0x07, 0x10, 0x00, 0x14, //ERO Object
289 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x1f, 0x04, 0x00,
290 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x20, 0x04, 0x00,
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530291 0x09, 0x10, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, //LSPA Object
bharat saraswale2e7a002015-08-21 22:47:30 +0530292 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
293 0x06, 0x10, 0x00, 0x0c, 0x00, 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, // Metric objects
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530294 0x06, 0x10, 0x00, 0x0c, 0x00, 0x00, 0x01, 0x03, 0x00, 0x00, 0x00, 0x20};
bharat saraswale2e7a002015-08-21 22:47:30 +0530295
296 byte[] testReportMsg = {0};
297 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
298 buffer.writeBytes(reportMsg);
299
300 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
301 PcepMessage message = null;
302
303 message = reader.readFrom(buffer);
304
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530305 assertThat(message, instanceOf(PcepReportMsg.class));
bharat saraswale2e7a002015-08-21 22:47:30 +0530306 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
307 message.writeTo(buf);
308
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530309 int readLen = buf.writerIndex();
bharat saraswale2e7a002015-08-21 22:47:30 +0530310 testReportMsg = new byte[readLen];
311 buf.readBytes(testReportMsg, 0, readLen);
312
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530313 assertThat(testReportMsg, is(reportMsg));
bharat saraswale2e7a002015-08-21 22:47:30 +0530314 }
315
316 /**
317 * This test case checks for SRP object, LSP object( StatefulIPv4LspIdentidiersTlv, SymbolicPathNameTlv,
318 * StatefulLspErrorCodeTlv) ERO object, LSPA object, Metric object
319 * in PcRpt message.
bharat saraswale2e7a002015-08-21 22:47:30 +0530320 */
321 @Test
Mahesh Poojary Sf1bbd362016-02-25 18:19:59 +0530322 public void reportMessageTest8() throws PcepParseException, PcepOutOfBoundMessageException {
bharat saraswale2e7a002015-08-21 22:47:30 +0530323
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530324 byte[] reportMsg = new byte[]{0x20, 0x0a, 0x00, (byte) 0x70,
bharat saraswale2e7a002015-08-21 22:47:30 +0530325 0x21, 0x10, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, //SRP Object
326 0x20, 0x10, 0x00, 0x2c, 0x00, 0x00, 0x10, 0x03, //LSP Object
327 0x00, 0x12, 0x00, 0x10, //StatefulIPv4LspIdentidiersTlv
328 (byte) 0xb6, 0x02, 0x4e, 0x1f, 0x00, 0x01, (byte) 0x80, 0x01,
329 (byte) 0xb6, 0x02, 0x4e, 0x1f, (byte) 0xb6, 0x02, 0x4e, 0x20,
330 0x00, 0x11, 0x00, 0x02, 0x54, 0x31, 0x00, 0x00, //SymbolicPathNameTlv
331 0x00, 0x14, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, //StatefulLspErrorCodeTlv
332 0x07, 0x10, 0x00, 0x14, //ERO Object
333 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x1f, 0x04, 0x00,
334 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x20, 0x04, 0x00,
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530335 0x09, 0x10, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //LSPA Object
bharat saraswale2e7a002015-08-21 22:47:30 +0530336 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
337 0x06, 0x10, 0x00, 0x0c, 0x00, 0x00, 0x01, 0x03, 0x00, 0x00, 0x00, 0x20}; //Metric Object
338
339 byte[] testReportMsg = {0};
340 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
341 buffer.writeBytes(reportMsg);
342
343 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
344 PcepMessage message = null;
345
346 message = reader.readFrom(buffer);
347
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530348 assertThat(message, instanceOf(PcepReportMsg.class));
bharat saraswale2e7a002015-08-21 22:47:30 +0530349 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
350 message.writeTo(buf);
351
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530352 int readLen = buf.writerIndex();
bharat saraswale2e7a002015-08-21 22:47:30 +0530353 testReportMsg = new byte[readLen];
354 buf.readBytes(testReportMsg, 0, readLen);
355
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530356 assertThat(testReportMsg, is(reportMsg));
bharat saraswale2e7a002015-08-21 22:47:30 +0530357 }
358
359 /**
360 * This test case checks for LSP Object(Symbolic path tlv, StatefulIPv4LspIdentidiersTlv,
361 * StatefulLspErrorCodeTlv ),ERO Object
362 * in PcRpt message.
bharat saraswale2e7a002015-08-21 22:47:30 +0530363 */
364 @Test
Mahesh Poojary Sf1bbd362016-02-25 18:19:59 +0530365 public void reportMessageTest9() throws PcepParseException, PcepOutOfBoundMessageException {
bharat saraswale2e7a002015-08-21 22:47:30 +0530366
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530367 byte[] reportMsg = new byte[]{0x20, 0x0a, 0x00, (byte) 0x44,
bharat saraswale2e7a002015-08-21 22:47:30 +0530368 0x20, 0x10, 0x00, 0x2c, 0x00, 0x00, 0x10, 0x03, //LSP Object //LSP Object
369 0x00, 0x12, 0x00, 0x10, //StatefulIPv4LspIdentidiersTlv
370 (byte) 0xb6, 0x02, 0x4e, 0x1f, 0x00, 0x01, (byte) 0x80, 0x01,
371 (byte) 0xb6, 0x02, 0x4e, 0x1f, (byte) 0xb6, 0x02, 0x4e, 0x20,
372 0x00, 0x11, 0x00, 0x02, 0x54, 0x31, 0x00, 0x00, //SymbolicPathNameTlv
373 0x00, 0x14, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, //StatefulLspErrorCodeTlv
374 0x07, 0x10, 0x00, 0x14, //ERO Object
375 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x1f, 0x04, 0x00,
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530376 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x20, 0x04, 0x00};
bharat saraswale2e7a002015-08-21 22:47:30 +0530377
378 byte[] testReportMsg = {0};
379 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
380 buffer.writeBytes(reportMsg);
381
382 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
383 PcepMessage message = null;
384
385 message = reader.readFrom(buffer);
386
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530387 assertThat(message, instanceOf(PcepReportMsg.class));
bharat saraswale2e7a002015-08-21 22:47:30 +0530388 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
389 message.writeTo(buf);
390
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530391 int readLen = buf.writerIndex();
bharat saraswale2e7a002015-08-21 22:47:30 +0530392 testReportMsg = new byte[readLen];
393 buf.readBytes(testReportMsg, 0, readLen);
394
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530395 assertThat(testReportMsg, is(reportMsg));
bharat saraswale2e7a002015-08-21 22:47:30 +0530396 }
397
398 /**
399 * This test case checks for SRP Object,LSP Object(StatefulIPv4LspIdentidiersTlv)ERO Object,RRO Object
400 * in PcRpt message.
bharat saraswale2e7a002015-08-21 22:47:30 +0530401 */
402 @Test
Mahesh Poojary Sf1bbd362016-02-25 18:19:59 +0530403 public void reportMessageTest10() throws PcepParseException, PcepOutOfBoundMessageException {
bharat saraswale2e7a002015-08-21 22:47:30 +0530404
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530405 byte[] reportMsg = new byte[]{0x20, 0x0a, 0x00, (byte) 0x74,
bharat saraswale2e7a002015-08-21 22:47:30 +0530406 0x21, 0x10, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, //SRP Object
407 0x20, 0x10, 0x00, 0x1c, 0x00, 0x00, 0x10, 0x03, //LSP Object
408 0x00, 0x12, 0x00, 0x10, //StatefulIPv4LspIdentidiersTlv
409 (byte) 0xb6, 0x02, 0x4e, 0x1f, 0x00, 0x01, (byte) 0x80, 0x01,
410 (byte) 0xb6, 0x02, 0x4e, 0x1f, (byte) 0xb6, 0x02, 0x4e, 0x20,
411 0x07, 0x10, 0x00, 0x14, //ERO Object
412 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x1f, 0x04, 0x00,
413 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x20, 0x04, 0x00,
414 0x08, 0x10, 0x00, 0x34, 0x01, 0x08, 0x11, 0x01, //RRO Object
415 0x01, 0x01, 0x04, 0x00, 0x01, 0x08, 0x11, 0x01,
416 0x01, 0x02, 0x04, 0x00, 0x01, 0x08, 0x06, 0x06,
417 0x06, 0x06, 0x04, 0x00, 0x01, 0x08, 0x12, 0x01,
418 0x01, 0x02, 0x04, 0x00, 0x01, 0x08, 0x12, 0x01,
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530419 0x01, 0x01, 0x04, 0x00, 0x01, 0x08, 0x05, 0x05, 0x05, 0x05, 0x04, 0x00};
bharat saraswale2e7a002015-08-21 22:47:30 +0530420
421 byte[] testReportMsg = {0};
422 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
423 buffer.writeBytes(reportMsg);
424
425 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
426 PcepMessage message = null;
427
428 message = reader.readFrom(buffer);
429
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530430 assertThat(message, instanceOf(PcepReportMsg.class));
bharat saraswale2e7a002015-08-21 22:47:30 +0530431 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
432 message.writeTo(buf);
433
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530434 int readLen = buf.writerIndex();
bharat saraswale2e7a002015-08-21 22:47:30 +0530435 testReportMsg = new byte[readLen];
436 buf.readBytes(testReportMsg, 0, readLen);
437
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530438 assertThat(testReportMsg, is(reportMsg));
bharat saraswale2e7a002015-08-21 22:47:30 +0530439 }
440
441 /**
442 * This test case checks for SRP Object,LSP Object(SymbolicPathNameTlv)ERO Object,RRO Object
443 * in PcRpt message.
bharat saraswale2e7a002015-08-21 22:47:30 +0530444 */
445 @Test
Mahesh Poojary Sf1bbd362016-02-25 18:19:59 +0530446 public void reportMessageTest11() throws PcepParseException, PcepOutOfBoundMessageException {
bharat saraswale2e7a002015-08-21 22:47:30 +0530447
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530448 byte[] reportMsg = new byte[]{0x20, 0x0a, 0x00, (byte) 0x68,
bharat saraswale2e7a002015-08-21 22:47:30 +0530449 0x21, 0x10, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, //SRP Object
450 0x20, 0x10, 0x00, 0x10, 0x00, 0x00, 0x10, 0x03, //LSP Object
451 0x00, 0x11, 0x00, 0x02, 0x54, 0x31, 0x00, 0x00, //SymbolicPathNameTlv
452 0x07, 0x10, 0x00, 0x14, //ERO Object
453 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x1f, 0x04, 0x00,
454 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x20, 0x04, 0x00,
455 0x08, 0x10, 0x00, 0x34, 0x01, 0x08, 0x11, 0x01, //RRO Object
456 0x01, 0x01, 0x04, 0x00, 0x01, 0x08, 0x11, 0x01,
457 0x01, 0x02, 0x04, 0x00, 0x01, 0x08, 0x06, 0x06,
458 0x06, 0x06, 0x04, 0x00, 0x01, 0x08, 0x12, 0x01,
459 0x01, 0x02, 0x04, 0x00, 0x01, 0x08, 0x12, 0x01,
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530460 0x01, 0x01, 0x04, 0x00, 0x01, 0x08, 0x05, 0x05, 0x05, 0x05, 0x04, 0x00};
bharat saraswale2e7a002015-08-21 22:47:30 +0530461
462 byte[] testReportMsg = {0};
463 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
464 buffer.writeBytes(reportMsg);
465
466 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
467 PcepMessage message = null;
468
469 message = reader.readFrom(buffer);
470
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530471 assertThat(message, instanceOf(PcepReportMsg.class));
bharat saraswale2e7a002015-08-21 22:47:30 +0530472 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
473 message.writeTo(buf);
474
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530475 int readLen = buf.writerIndex();
bharat saraswale2e7a002015-08-21 22:47:30 +0530476 testReportMsg = new byte[readLen];
477 buf.readBytes(testReportMsg, 0, readLen);
478
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530479 assertThat(testReportMsg, is(reportMsg));
bharat saraswale2e7a002015-08-21 22:47:30 +0530480 }
481
482 /**
483 * This test case checks for SRP Object,LSP Object, ERO Object,RRO Object
484 * in PcRpt message.
bharat saraswale2e7a002015-08-21 22:47:30 +0530485 */
486 @Test
Mahesh Poojary Sf1bbd362016-02-25 18:19:59 +0530487 public void reportMessageTest12() throws PcepParseException, PcepOutOfBoundMessageException {
bharat saraswale2e7a002015-08-21 22:47:30 +0530488
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530489 byte[] reportMsg = new byte[]{0x20, 0x0a, 0x00, (byte) 0x60,
bharat saraswale2e7a002015-08-21 22:47:30 +0530490 0x21, 0x10, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, //SRP Object
491 0x20, 0x10, 0x00, 0x08, 0x00, 0x00, 0x10, 0x03, //LSP Object
492 0x07, 0x10, 0x00, 0x14, //ERO Object
493 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x1f, 0x04, 0x00,
494 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x1f, 0x04, 0x00,
495 0x08, 0x10, 0x00, 0x34, 0x01, 0x08, 0x11, 0x01, //RRO Object
496 0x01, 0x01, 0x04, 0x00, 0x01, 0x08, 0x11, 0x01,
497 0x01, 0x02, 0x04, 0x00, 0x01, 0x08, 0x06, 0x06,
498 0x06, 0x06, 0x04, 0x00, 0x01, 0x08, 0x12, 0x01,
499 0x01, 0x02, 0x04, 0x00, 0x01, 0x08, 0x12, 0x01,
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530500 0x01, 0x01, 0x04, 0x00, 0x01, 0x08, 0x05, 0x05, 0x05, 0x05, 0x04, 0x00};
bharat saraswale2e7a002015-08-21 22:47:30 +0530501
502 byte[] testReportMsg = {0};
503 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
504 buffer.writeBytes(reportMsg);
505
506 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
507 PcepMessage message = null;
508
509 message = reader.readFrom(buffer);
510
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530511 assertThat(message, instanceOf(PcepReportMsg.class));
bharat saraswale2e7a002015-08-21 22:47:30 +0530512 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
513 message.writeTo(buf);
514
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530515 int readLen = buf.writerIndex();
bharat saraswale2e7a002015-08-21 22:47:30 +0530516 testReportMsg = new byte[readLen];
517 buf.readBytes(testReportMsg, 0, readLen);
518
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530519 assertThat(testReportMsg, is(reportMsg));
bharat saraswale2e7a002015-08-21 22:47:30 +0530520 }
521
522 /**
523 * This test case checks for SRP Object,LSP Object(StatefulLspErrorCodeTlv)ERO Object,RRO Object
524 * in PcRpt message.
bharat saraswale2e7a002015-08-21 22:47:30 +0530525 */
526 @Test
Mahesh Poojary Sf1bbd362016-02-25 18:19:59 +0530527 public void reportMessageTest13() throws PcepParseException, PcepOutOfBoundMessageException {
bharat saraswale2e7a002015-08-21 22:47:30 +0530528
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530529 byte[] reportMsg = new byte[]{0x20, 0x0a, 0x00, (byte) 0x68,
bharat saraswale2e7a002015-08-21 22:47:30 +0530530 0x21, 0x10, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, //SRP Object
531 0x20, 0x10, 0x00, 0x10, 0x00, 0x00, 0x10, 0x03, //LSP Object
532 0x00, 0x14, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, //StatefulLspErrorCodeTlv
533 0x07, 0x10, 0x00, 0x14, //ERO Object
534 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x1f, 0x04, 0x00,
535 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x20, 0x04, 0x00,
536 0x08, 0x10, 0x00, 0x34, 0x01, 0x08, 0x11, 0x01, //RRO Object
537 0x01, 0x01, 0x04, 0x00, 0x01, 0x08, 0x11, 0x01,
538 0x01, 0x02, 0x04, 0x00, 0x01, 0x08, 0x06, 0x06,
539 0x06, 0x06, 0x04, 0x00, 0x01, 0x08, 0x12, 0x01,
540 0x01, 0x02, 0x04, 0x00, 0x01, 0x08, 0x12, 0x01,
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530541 0x01, 0x01, 0x04, 0x00, 0x01, 0x08, 0x05, 0x05, 0x05, 0x05, 0x04, 0x00};
bharat saraswale2e7a002015-08-21 22:47:30 +0530542
543 byte[] testReportMsg = {0};
544 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
545 buffer.writeBytes(reportMsg);
546
547 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
548 PcepMessage message = null;
549
550 message = reader.readFrom(buffer);
551
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530552 assertThat(message, instanceOf(PcepReportMsg.class));
bharat saraswale2e7a002015-08-21 22:47:30 +0530553 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
554 message.writeTo(buf);
555
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530556 int readLen = buf.writerIndex();
bharat saraswale2e7a002015-08-21 22:47:30 +0530557 testReportMsg = new byte[readLen];
558 buf.readBytes(testReportMsg, 0, readLen);
559
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530560 assertThat(testReportMsg, is(reportMsg));
bharat saraswale2e7a002015-08-21 22:47:30 +0530561 }
562
563 /**
564 * This test case checks for SRP Object,LSP Object(StatefulRsvpErrorSpecTlv),ERO Object,RRO Object
565 * in PcRpt message.
bharat saraswale2e7a002015-08-21 22:47:30 +0530566 */
567 @Test
Mahesh Poojary Sf1bbd362016-02-25 18:19:59 +0530568 public void reportMessageTest14() throws PcepParseException, PcepOutOfBoundMessageException {
bharat saraswale2e7a002015-08-21 22:47:30 +0530569
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530570 byte[] reportMsg = new byte[]{0x20, 0x0a, 0x00, (byte) 0x60,
bharat saraswale2e7a002015-08-21 22:47:30 +0530571 0x21, 0x10, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, //SRP Object
572 0x20, 0x10, 0x00, 0x08, 0x00, 0x00, 0x10, 0x03, //LSP Object
573 0x07, 0x10, 0x00, 0x14, //ERO Object
574 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x1f, 0x04, 0x00,
575 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x20, 0x04, 0x00,
576 0x08, 0x10, 0x00, 0x34, 0x01, 0x08, 0x11, 0x01, //RRO Object
577 0x01, 0x01, 0x04, 0x00, 0x01, 0x08, 0x11, 0x01,
578 0x01, 0x02, 0x04, 0x00, 0x01, 0x08, 0x06, 0x06,
579 0x06, 0x06, 0x04, 0x00, 0x01, 0x08, 0x12, 0x01,
580 0x01, 0x02, 0x04, 0x00, 0x01, 0x08, 0x12, 0x01,
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530581 0x01, 0x01, 0x04, 0x00, 0x01, 0x08, 0x05, 0x05, 0x05, 0x05, 0x04, 0x00};
bharat saraswale2e7a002015-08-21 22:47:30 +0530582
583 byte[] testReportMsg = {0};
584 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
585 buffer.writeBytes(reportMsg);
586
587 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
588 PcepMessage message = null;
589
590 message = reader.readFrom(buffer);
591
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530592 assertThat(message, instanceOf(PcepReportMsg.class));
bharat saraswale2e7a002015-08-21 22:47:30 +0530593 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
594 message.writeTo(buf);
595
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530596 int readLen = buf.writerIndex();
bharat saraswale2e7a002015-08-21 22:47:30 +0530597 testReportMsg = new byte[readLen];
598 buf.readBytes(testReportMsg, 0, readLen);
599
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530600 assertThat(testReportMsg, is(reportMsg));
bharat saraswale2e7a002015-08-21 22:47:30 +0530601 }
602
603 /**
604 * This test case checks for SRP Object,LSP Object(symbolic path tlv),LSPA Object,ERO Object
605 * in PcRpt message.
bharat saraswale2e7a002015-08-21 22:47:30 +0530606 */
607 @Test
Mahesh Poojary Sf1bbd362016-02-25 18:19:59 +0530608 public void reportMessageTest15() throws PcepParseException, PcepOutOfBoundMessageException {
bharat saraswale2e7a002015-08-21 22:47:30 +0530609
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530610 byte[] reportMsg = new byte[]{0x20, 0x0a, 0x00, (byte) 0x7C,
bharat saraswale2e7a002015-08-21 22:47:30 +0530611 0x21, 0x10, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, //SRP Object
612 0x20, 0x10, 0x00, 0x10, 0x00, 0x00, 0x10, 0x03, //LSP Object
613 0x00, 0x11, 0x00, 0x02, 0x54, 0x31, 0x00, 0x00, //SymbolicPathNameTlv
614 0x07, 0x10, 0x00, 0x14, //ERO Object
615 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x1f, 0x04, 0x00,
616 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x20, 0x04, 0x00,
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530617 0x09, 0x10, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, //LSPA Object
bharat saraswale2e7a002015-08-21 22:47:30 +0530618 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
619 0x08, 0x10, 0x00, 0x34, 0x01, 0x08, 0x11, 0x01, //RRO Object
620 0x01, 0x01, 0x04, 0x00, 0x01, 0x08, 0x11, 0x01,
621 0x01, 0x02, 0x04, 0x00, 0x01, 0x08, 0x06, 0x06,
622 0x06, 0x06, 0x04, 0x00, 0x01, 0x08, 0x12, 0x01,
623 0x01, 0x02, 0x04, 0x00, 0x01, 0x08, 0x12, 0x01,
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530624 0x01, 0x01, 0x04, 0x00, 0x01, 0x08, 0x05, 0x05, 0x05, 0x05, 0x04, 0x00};
bharat saraswale2e7a002015-08-21 22:47:30 +0530625
626 byte[] testReportMsg = {0};
627 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
628 buffer.writeBytes(reportMsg);
629
630 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
631 PcepMessage message = null;
632
633 message = reader.readFrom(buffer);
634
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530635 assertThat(message, instanceOf(PcepReportMsg.class));
bharat saraswale2e7a002015-08-21 22:47:30 +0530636 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
637 message.writeTo(buf);
638
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530639 int readLen = buf.writerIndex();
bharat saraswale2e7a002015-08-21 22:47:30 +0530640 testReportMsg = new byte[readLen];
641 buf.readBytes(testReportMsg, 0, readLen);
642
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530643 assertThat(testReportMsg, is(reportMsg));
bharat saraswale2e7a002015-08-21 22:47:30 +0530644 }
645
646 /**
647 * This test case checks for SRP Object,LSP Object(symbolic path tlv),BandWidth Object,ERO Object
648 * in PcRpt message.
bharat saraswale2e7a002015-08-21 22:47:30 +0530649 */
650 @Test
Mahesh Poojary Sf1bbd362016-02-25 18:19:59 +0530651 public void reportMessageTest16() throws PcepParseException, PcepOutOfBoundMessageException {
bharat saraswale2e7a002015-08-21 22:47:30 +0530652
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530653 byte[] reportMsg = new byte[]{0x20, 0x0a, 0x00, (byte) 0x70,
bharat saraswale2e7a002015-08-21 22:47:30 +0530654 0x21, 0x10, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, //SRP Object
655 0x20, 0x10, 0x00, 0x10, 0x00, 0x00, 0x10, 0x03, //LSP Object
656 0x00, 0x11, 0x00, 0x02, 0x54, 0x31, 0x00, 0x00, //SymbolicPathNameTlv
657 0x07, 0x10, 0x00, 0x14, //ERO Object
658 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x1f, 0x04, 0x00,
659 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x20, 0x04, 0x00,
660 0x05, 0x20, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, //Bandwidth Object
661 0x08, 0x10, 0x00, 0x34, 0x01, 0x08, 0x11, 0x01, //RRO Object
662 0x01, 0x01, 0x04, 0x00, 0x01, 0x08, 0x11, 0x01,
663 0x01, 0x02, 0x04, 0x00, 0x01, 0x08, 0x06, 0x06,
664 0x06, 0x06, 0x04, 0x00, 0x01, 0x08, 0x12, 0x01,
665 0x01, 0x02, 0x04, 0x00, 0x01, 0x08, 0x12, 0x01,
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530666 0x01, 0x01, 0x04, 0x00, 0x01, 0x08, 0x05, 0x05, 0x05, 0x05, 0x04, 0x00};
bharat saraswale2e7a002015-08-21 22:47:30 +0530667
668 byte[] testReportMsg = {0};
669 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
670 buffer.writeBytes(reportMsg);
671
672 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
673 PcepMessage message = null;
674
675 message = reader.readFrom(buffer);
676
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530677 assertThat(message, instanceOf(PcepReportMsg.class));
bharat saraswale2e7a002015-08-21 22:47:30 +0530678 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
679 message.writeTo(buf);
680
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530681 int readLen = buf.writerIndex();
bharat saraswale2e7a002015-08-21 22:47:30 +0530682 testReportMsg = new byte[readLen];
683 buf.readBytes(testReportMsg, 0, readLen);
684
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530685 assertThat(testReportMsg, is(reportMsg));
bharat saraswale2e7a002015-08-21 22:47:30 +0530686 }
687
688 /**
689 * This test case checks for SRP Object,LSP Object,ERO Object,LSPA Object,RRO Object
690 * in PcRpt message.
bharat saraswale2e7a002015-08-21 22:47:30 +0530691 */
692 @Test
Mahesh Poojary Sf1bbd362016-02-25 18:19:59 +0530693 public void reportMessageTest17() throws PcepParseException, PcepOutOfBoundMessageException {
bharat saraswale2e7a002015-08-21 22:47:30 +0530694
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530695 byte[] reportMsg = new byte[]{0x20, 0x0a, 0x00, (byte) 0x74,
bharat saraswale2e7a002015-08-21 22:47:30 +0530696 0x21, 0x10, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, //SRP Object
697 0x20, 0x10, 0x00, 0x08, 0x00, 0x00, 0x10, 0x03, //LSP Object
698 0x07, 0x10, 0x00, 0x14, //ERO Object
699 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x1f, 0x04, 0x00,
700 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x20, 0x04, 0x00,
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530701 0x09, 0x10, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, //LSPA Object
bharat saraswale2e7a002015-08-21 22:47:30 +0530702 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
703 0x08, 0x10, 0x00, 0x34, 0x01, 0x08, 0x11, 0x01, //RRO Object
704 0x01, 0x01, 0x04, 0x00, 0x01, 0x08, 0x11, 0x01,
705 0x01, 0x02, 0x04, 0x00, 0x01, 0x08, 0x06, 0x06,
706 0x06, 0x06, 0x04, 0x00, 0x01, 0x08, 0x12, 0x01,
707 0x01, 0x02, 0x04, 0x00, 0x01, 0x08, 0x12, 0x01,
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530708 0x01, 0x01, 0x04, 0x00, 0x01, 0x08, 0x05, 0x05, 0x05, 0x05, 0x04, 0x00};
bharat saraswale2e7a002015-08-21 22:47:30 +0530709
710 byte[] testReportMsg = {0};
711 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
712 buffer.writeBytes(reportMsg);
713
714 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
715 PcepMessage message = null;
716
717 message = reader.readFrom(buffer);
718
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530719 assertThat(message, instanceOf(PcepReportMsg.class));
bharat saraswale2e7a002015-08-21 22:47:30 +0530720 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
721 message.writeTo(buf);
722
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530723 int readLen = buf.writerIndex();
bharat saraswale2e7a002015-08-21 22:47:30 +0530724 testReportMsg = new byte[readLen];
725 buf.readBytes(testReportMsg, 0, readLen);
726
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530727 assertThat(testReportMsg, is(reportMsg));
bharat saraswale2e7a002015-08-21 22:47:30 +0530728 }
729
730 /**
731 * This test case checks for SRP Object,LSP Object,ERO Object,BandWidth Object,RRO Object
732 * in PcRpt message.
bharat saraswale2e7a002015-08-21 22:47:30 +0530733 */
734 @Test
Mahesh Poojary Sf1bbd362016-02-25 18:19:59 +0530735 public void reportMessageTest18() throws PcepParseException, PcepOutOfBoundMessageException {
bharat saraswale2e7a002015-08-21 22:47:30 +0530736
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530737 byte[] reportMsg = new byte[]{0x20, 0x0a, 0x00, (byte) 0x68,
bharat saraswale2e7a002015-08-21 22:47:30 +0530738 0x21, 0x10, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, //SRP Object
739 0x20, 0x10, 0x00, 0x08, 0x00, 0x00, 0x10, 0x03, //LSP Object
740 0x07, 0x10, 0x00, 0x14, //ERO Object
741 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x1f, 0x04, 0x00,
742 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x20, 0x04, 0x00,
743 0x05, 0x20, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, //Bandwidth Object
744 0x08, 0x10, 0x00, 0x34, 0x01, 0x08, 0x11, 0x01, //RRO Object
745 0x01, 0x01, 0x04, 0x00, 0x01, 0x08, 0x11, 0x01,
746 0x01, 0x02, 0x04, 0x00, 0x01, 0x08, 0x06, 0x06,
747 0x06, 0x06, 0x04, 0x00, 0x01, 0x08, 0x12, 0x01,
748 0x01, 0x02, 0x04, 0x00, 0x01, 0x08, 0x12, 0x01,
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530749 0x01, 0x01, 0x04, 0x00, 0x01, 0x08, 0x05, 0x05, 0x05, 0x05, 0x04, 0x00};
bharat saraswale2e7a002015-08-21 22:47:30 +0530750
751 byte[] testReportMsg = {0};
752 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
753 buffer.writeBytes(reportMsg);
754
755 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
756 PcepMessage message = null;
757
758 message = reader.readFrom(buffer);
759
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530760 assertThat(message, instanceOf(PcepReportMsg.class));
bharat saraswale2e7a002015-08-21 22:47:30 +0530761 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
762 message.writeTo(buf);
763
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530764 int readLen = buf.writerIndex();
bharat saraswale2e7a002015-08-21 22:47:30 +0530765 testReportMsg = new byte[readLen];
766 buf.readBytes(testReportMsg, 0, readLen);
767
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530768 assertThat(testReportMsg, is(reportMsg));
bharat saraswale2e7a002015-08-21 22:47:30 +0530769 }
770
771 /**
772 * This test case checks for SRP Object,LSP Object,ERO Object,Metric-list,RRO Object
773 * in PcRpt message.
bharat saraswale2e7a002015-08-21 22:47:30 +0530774 */
775 @Test
Mahesh Poojary Sf1bbd362016-02-25 18:19:59 +0530776 public void reportMessageTest19() throws PcepParseException, PcepOutOfBoundMessageException {
bharat saraswale2e7a002015-08-21 22:47:30 +0530777
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530778 byte[] reportMsg = new byte[]{0x20, 0x0a, 0x00, (byte) 0x6C,
bharat saraswale2e7a002015-08-21 22:47:30 +0530779 0x21, 0x10, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, //SRP Object
780 0x20, 0x10, 0x00, 0x08, 0x00, 0x00, 0x10, 0x03, //LSP Object
781 0x07, 0x10, 0x00, 0x14, //ERO Object
782 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x1f, 0x04, 0x00,
783 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x20, 0x04, 0x00,
784 0x06, 0x10, 0x00, 0x0c, 0x00, 0x00, 0x01, 0x03, 0x00, 0x00, 0x00, 0x20, //Metric Object
785 0x08, 0x10, 0x00, 0x34, 0x01, 0x08, 0x11, 0x01, //RRO Object
786 0x01, 0x01, 0x04, 0x00, 0x01, 0x08, 0x11, 0x01,
787 0x01, 0x02, 0x04, 0x00, 0x01, 0x08, 0x06, 0x06,
788 0x06, 0x06, 0x04, 0x00, 0x01, 0x08, 0x12, 0x01,
789 0x01, 0x02, 0x04, 0x00, 0x01, 0x08, 0x12, 0x01,
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530790 0x01, 0x01, 0x04, 0x00, 0x01, 0x08, 0x05, 0x05, 0x05, 0x05, 0x04, 0x00};
bharat saraswale2e7a002015-08-21 22:47:30 +0530791
792 byte[] testReportMsg = {0};
793 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
794 buffer.writeBytes(reportMsg);
795
796 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
797 PcepMessage message = null;
798
799 message = reader.readFrom(buffer);
800
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530801 assertThat(message, instanceOf(PcepReportMsg.class));
bharat saraswale2e7a002015-08-21 22:47:30 +0530802 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
803 message.writeTo(buf);
804
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530805 int readLen = buf.writerIndex();
bharat saraswale2e7a002015-08-21 22:47:30 +0530806 testReportMsg = new byte[readLen];
807 buf.readBytes(testReportMsg, 0, readLen);
808
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530809 assertThat(testReportMsg, is(reportMsg));
bharat saraswale2e7a002015-08-21 22:47:30 +0530810 }
811
812 /**
813 * This test case checks for SRP Object,LSP Object,ERO Object,LSPA Object,BandWidth Object,Metric-list,RRO Object
814 * in PcRpt message.
bharat saraswale2e7a002015-08-21 22:47:30 +0530815 */
816 @Test
Mahesh Poojary Sf1bbd362016-02-25 18:19:59 +0530817 public void reportMessageTest20() throws PcepParseException, PcepOutOfBoundMessageException {
bharat saraswale2e7a002015-08-21 22:47:30 +0530818
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530819 byte[] reportMsg = new byte[]{0x20, 0x0a, 0x00, (byte) 0x88,
bharat saraswale2e7a002015-08-21 22:47:30 +0530820 0x21, 0x10, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, //SRP Object
821 0x20, 0x10, 0x00, 0x08, 0x00, 0x00, 0x10, 0x03, //LSP Object
822 0x07, 0x10, 0x00, 0x14, //ERO Object
823 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x1f, 0x04, 0x00,
824 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x20, 0x04, 0x00,
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530825 0x09, 0x10, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00,
bharat saraswale2e7a002015-08-21 22:47:30 +0530826 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
827 0x05, 0x20, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, //Bandwidth Object
828 0x06, 0x10, 0x00, 0x0c, 0x00, 0x00, 0x01, 0x03, 0x00, 0x00, 0x00, 0x20, //Metric Object
829 0x08, 0x10, 0x00, 0x34, 0x01, 0x08, 0x11, 0x01, //RRO Object
830 0x01, 0x01, 0x04, 0x00, 0x01, 0x08, 0x11, 0x01,
831 0x01, 0x02, 0x04, 0x00, 0x01, 0x08, 0x06, 0x06,
832 0x06, 0x06, 0x04, 0x00, 0x01, 0x08, 0x12, 0x01,
833 0x01, 0x02, 0x04, 0x00, 0x01, 0x08, 0x12, 0x01,
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530834 0x01, 0x01, 0x04, 0x00, 0x01, 0x08, 0x05, 0x05, 0x05, 0x05, 0x04, 0x00};
bharat saraswale2e7a002015-08-21 22:47:30 +0530835
836 byte[] testReportMsg = {0};
837 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
838 buffer.writeBytes(reportMsg);
839
840 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
841 PcepMessage message = null;
842
843 message = reader.readFrom(buffer);
844
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530845 assertThat(message, instanceOf(PcepReportMsg.class));
bharat saraswale2e7a002015-08-21 22:47:30 +0530846 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
847 message.writeTo(buf);
848
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530849 int readLen = buf.writerIndex();
bharat saraswale2e7a002015-08-21 22:47:30 +0530850 testReportMsg = new byte[readLen];
851 buf.readBytes(testReportMsg, 0, readLen);
852
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530853 assertThat(testReportMsg, is(reportMsg));
bharat saraswale2e7a002015-08-21 22:47:30 +0530854 }
855
856 /**
857 * This test case checks for SRP Object,LSP Object(Symbolic path tlv, StatefulIPv4LspIdentidiersTlv,
858 * StatefulLspErrorCodeTlv ) ERO Object,LSPA Object,BandWidth Object,Metric-list,RRO Object
859 * in PcRpt message.
bharat saraswale2e7a002015-08-21 22:47:30 +0530860 */
861 @Test
Mahesh Poojary Sf1bbd362016-02-25 18:19:59 +0530862 public void reportMessageTest21() throws PcepParseException, PcepOutOfBoundMessageException {
bharat saraswale2e7a002015-08-21 22:47:30 +0530863
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530864 byte[] reportMsg = new byte[]{0x20, 0x0a, 0x00, (byte) 0xac,
bharat saraswale2e7a002015-08-21 22:47:30 +0530865 0x21, 0x10, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, //SRP Object
866 0x20, 0x10, 0x00, 0x2c, 0x00, 0x00, 0x10, 0x03, //LSP Object
867 0x00, 0x12, 0x00, 0x10, //StatefulIPv4LspIdentidiersTlv
868 (byte) 0xb6, 0x02, 0x4e, 0x1f, 0x00, 0x01, (byte) 0x80, 0x01,
869 (byte) 0xb6, 0x02, 0x4e, 0x1f, (byte) 0xb6, 0x02, 0x4e, 0x20,
870 0x00, 0x11, 0x00, 0x02, 0x54, 0x31, 0x00, 0x00, //SymbolicPathNameTlv
871 0x00, 0x14, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, //StatefulLspErrorCodeTlv
872 0x07, 0x10, 0x00, 0x14, //ERO Object
873 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x1f, 0x04, 0x00,
874 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x20, 0x04, 0x00,
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530875 0x09, 0x10, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00,
bharat saraswale2e7a002015-08-21 22:47:30 +0530876 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
877 0x05, 0x20, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, //Bandwidth Object
878 0x06, 0x10, 0x00, 0x0c, 0x00, 0x00, 0x01, 0x03, 0x00, 0x00, 0x00, 0x20, //Metric Object
879 0x08, 0x10, 0x00, 0x34, 0x01, 0x08, 0x11, 0x01, //RRO Object
880 0x01, 0x01, 0x04, 0x00, 0x01, 0x08, 0x11, 0x01,
881 0x01, 0x02, 0x04, 0x00, 0x01, 0x08, 0x06, 0x06,
882 0x06, 0x06, 0x04, 0x00, 0x01, 0x08, 0x12, 0x01,
883 0x01, 0x02, 0x04, 0x00, 0x01, 0x08, 0x12, 0x01,
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530884 0x01, 0x01, 0x04, 0x00, 0x01, 0x08, 0x05, 0x05, 0x05, 0x05, 0x04, 0x00};
bharat saraswale2e7a002015-08-21 22:47:30 +0530885
886 byte[] testReportMsg = {0};
887 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
888 buffer.writeBytes(reportMsg);
889
890 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
891 PcepMessage message = null;
892
893 message = reader.readFrom(buffer);
894
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530895 assertThat(message, instanceOf(PcepReportMsg.class));
bharat saraswale2e7a002015-08-21 22:47:30 +0530896 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
897 message.writeTo(buf);
898
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530899 int readLen = buf.writerIndex();
bharat saraswale2e7a002015-08-21 22:47:30 +0530900 testReportMsg = new byte[readLen];
901 buf.readBytes(testReportMsg, 0, readLen);
902
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530903 assertThat(testReportMsg, is(reportMsg));
bharat saraswale2e7a002015-08-21 22:47:30 +0530904 }
905
906 /**
907 * This test case checks for LSP Object(Symbolic path tlv, StatefulIPv4LspIdentidiersTlv,StatefulLspErrorCodeTlv )
908 * ERO Object,LSPA Object,BandWidth Object,Metric-list,RRO Object
909 * in PcRpt message.
bharat saraswale2e7a002015-08-21 22:47:30 +0530910 */
911 @Test
Mahesh Poojary Sf1bbd362016-02-25 18:19:59 +0530912 public void reportMessageTest22() throws PcepParseException, PcepOutOfBoundMessageException {
bharat saraswale2e7a002015-08-21 22:47:30 +0530913
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530914 byte[] reportMsg = new byte[]{0x20, 0x0a, 0x00, (byte) 0xA0,
bharat saraswale2e7a002015-08-21 22:47:30 +0530915 0x20, 0x10, 0x00, 0x2c, 0x00, 0x00, 0x10, 0x03, //LSP Object
916 0x00, 0x12, 0x00, 0x10, //StatefulIPv4LspIdentidiersTlv
917 (byte) 0xb6, 0x02, 0x4e, 0x1f, 0x00, 0x01, (byte) 0x80, 0x01,
918 (byte) 0xb6, 0x02, 0x4e, 0x1f, (byte) 0xb6, 0x02, 0x4e, 0x20,
919 0x00, 0x11, 0x00, 0x02, 0x54, 0x31, 0x00, 0x00, //SymbolicPathNameTlv
920 0x00, 0x14, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, //StatefulLspErrorCodeTlv
921 0x07, 0x10, 0x00, 0x14, //ERO Object
922 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x1f, 0x04, 0x00,
923 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x20, 0x04, 0x00,
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530924 0x09, 0x10, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00,
bharat saraswale2e7a002015-08-21 22:47:30 +0530925 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
926 0x05, 0x20, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, //Bandwidth Object
927 0x06, 0x10, 0x00, 0x0c, 0x00, 0x00, 0x01, 0x03, 0x00, 0x00, 0x00, 0x20, //Metric Object
928 0x08, 0x10, 0x00, 0x34, 0x01, 0x08, 0x11, 0x01, //RRO Object
929 0x01, 0x01, 0x04, 0x00, 0x01, 0x08, 0x11, 0x01,
930 0x01, 0x02, 0x04, 0x00, 0x01, 0x08, 0x06, 0x06,
931 0x06, 0x06, 0x04, 0x00, 0x01, 0x08, 0x12, 0x01,
932 0x01, 0x02, 0x04, 0x00, 0x01, 0x08, 0x12, 0x01,
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530933 0x01, 0x01, 0x04, 0x00, 0x01, 0x08, 0x05, 0x05, 0x05, 0x05, 0x04, 0x00};
bharat saraswale2e7a002015-08-21 22:47:30 +0530934
935 byte[] testReportMsg = {0};
936 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
937 buffer.writeBytes(reportMsg);
938
939 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
940 PcepMessage message = null;
941
942 message = reader.readFrom(buffer);
943
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530944 assertThat(message, instanceOf(PcepReportMsg.class));
bharat saraswale2e7a002015-08-21 22:47:30 +0530945 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
946 message.writeTo(buf);
947
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530948 int readLen = buf.writerIndex();
bharat saraswale2e7a002015-08-21 22:47:30 +0530949 testReportMsg = new byte[readLen];
950 buf.readBytes(testReportMsg, 0, readLen);
951
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530952 assertThat(testReportMsg, is(reportMsg));
bharat saraswale2e7a002015-08-21 22:47:30 +0530953 }
954
955 /**
956 * This test case checks for LSP Object(Symbolic path tlv, StatefulIPv4LspIdentidiersTlv,StatefulLspErrorCodeTlv )
957 * ERO Object,BandWidth Object,Metric-list,RRO Object
958 * in PcRpt message.
bharat saraswale2e7a002015-08-21 22:47:30 +0530959 */
960 @Test
Mahesh Poojary Sf1bbd362016-02-25 18:19:59 +0530961 public void reportMessageTest23() throws PcepParseException, PcepOutOfBoundMessageException {
bharat saraswale2e7a002015-08-21 22:47:30 +0530962
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530963 byte[] reportMsg = new byte[]{0x20, 0x0a, 0x00, (byte) 0x8c,
bharat saraswale2e7a002015-08-21 22:47:30 +0530964 0x20, 0x10, 0x00, 0x2c, 0x00, 0x00, 0x10, 0x03, //LSP Object
965 0x00, 0x12, 0x00, 0x10, //StatefulIPv4LspIdentidiersTlv
966 (byte) 0xb6, 0x02, 0x4e, 0x1f, 0x00, 0x01, (byte) 0x80, 0x01,
967 (byte) 0xb6, 0x02, 0x4e, 0x1f, (byte) 0xb6, 0x02, 0x4e, 0x20,
968 0x00, 0x11, 0x00, 0x02, 0x54, 0x31, 0x00, 0x00, //SymbolicPathNameTlv
969 0x00, 0x14, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, //StatefulLspErrorCodeTlv
970 0x07, 0x10, 0x00, 0x14, //ERO Object
971 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x1f, 0x04, 0x00,
972 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x20, 0x04, 0x00,
973 0x05, 0x20, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, //Bandwidth Object
974 0x06, 0x10, 0x00, 0x0c, 0x00, 0x00, 0x01, 0x03, 0x00, 0x00, 0x00, 0x20, //Metric Object
975 0x08, 0x10, 0x00, 0x34, 0x01, 0x08, 0x11, 0x01, //RRO Object
976 0x01, 0x01, 0x04, 0x00, 0x01, 0x08, 0x11, 0x01,
977 0x01, 0x02, 0x04, 0x00, 0x01, 0x08, 0x06, 0x06,
978 0x06, 0x06, 0x04, 0x00, 0x01, 0x08, 0x12, 0x01,
979 0x01, 0x02, 0x04, 0x00, 0x01, 0x08, 0x12, 0x01,
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530980 0x01, 0x01, 0x04, 0x00, 0x01, 0x08, 0x05, 0x05, 0x05, 0x05, 0x04, 0x00};
bharat saraswale2e7a002015-08-21 22:47:30 +0530981
982 byte[] testReportMsg = {0};
983 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
984 buffer.writeBytes(reportMsg);
985
986 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
987 PcepMessage message = null;
988
989 message = reader.readFrom(buffer);
990
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530991 assertThat(message, instanceOf(PcepReportMsg.class));
bharat saraswale2e7a002015-08-21 22:47:30 +0530992 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
993 message.writeTo(buf);
994
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530995 int readLen = buf.writerIndex();
bharat saraswale2e7a002015-08-21 22:47:30 +0530996 testReportMsg = new byte[readLen];
997 buf.readBytes(testReportMsg, 0, readLen);
998
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +0530999 assertThat(testReportMsg, is(reportMsg));
bharat saraswale2e7a002015-08-21 22:47:30 +05301000 }
1001
1002 /**
1003 * This test case checks for LSP Object(Symbolic path tlv, StatefulIPv4LspIdentidiersTlv,StatefulLspErrorCodeTlv )
1004 * ERO Object,Metric-list,RRO Object
1005 * in PcRpt message.
bharat saraswale2e7a002015-08-21 22:47:30 +05301006 */
1007 @Test
Mahesh Poojary Sf1bbd362016-02-25 18:19:59 +05301008 public void reportMessageTest24() throws PcepParseException, PcepOutOfBoundMessageException {
bharat saraswale2e7a002015-08-21 22:47:30 +05301009
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +05301010 byte[] reportMsg = new byte[]{0x20, 0x0a, 0x00, (byte) 0x84,
bharat saraswale2e7a002015-08-21 22:47:30 +05301011 0x20, 0x10, 0x00, 0x2c, 0x00, 0x00, 0x10, 0x03, //LSP Object
1012 0x00, 0x12, 0x00, 0x10, //StatefulIPv4LspIdentidiersTlv
1013 (byte) 0xb6, 0x02, 0x4e, 0x1f, 0x00, 0x01, (byte) 0x80, 0x01,
1014 (byte) 0xb6, 0x02, 0x4e, 0x1f, (byte) 0xb6, 0x02, 0x4e, 0x20,
1015 0x00, 0x11, 0x00, 0x02, 0x54, 0x31, 0x00, 0x00, //SymbolicPathNameTlv
1016 0x00, 0x14, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, //StatefulLspErrorCodeTlv
1017 0x07, 0x10, 0x00, 0x14, //ERO Object
1018 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x1f, 0x04, 0x00,
1019 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x20, 0x04, 0x00,
1020 0x06, 0x10, 0x00, 0x0c, 0x00, 0x00, 0x01, 0x03, 0x00, 0x00, 0x00, 0x20, //Metric Object
1021 0x08, 0x10, 0x00, 0x34, 0x01, 0x08, 0x11, 0x01, //RRO Object
1022 0x01, 0x01, 0x04, 0x00, 0x01, 0x08, 0x11, 0x01,
1023 0x01, 0x02, 0x04, 0x00, 0x01, 0x08, 0x06, 0x06,
1024 0x06, 0x06, 0x04, 0x00, 0x01, 0x08, 0x12, 0x01,
1025 0x01, 0x02, 0x04, 0x00, 0x01, 0x08, 0x12, 0x01,
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +05301026 0x01, 0x01, 0x04, 0x00, 0x01, 0x08, 0x05, 0x05, 0x05, 0x05, 0x04, 0x00};
bharat saraswale2e7a002015-08-21 22:47:30 +05301027
1028 byte[] testReportMsg = {0};
1029 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
1030 buffer.writeBytes(reportMsg);
1031
1032 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
1033 PcepMessage message = null;
1034
1035 message = reader.readFrom(buffer);
1036
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +05301037 assertThat(message, instanceOf(PcepReportMsg.class));
bharat saraswale2e7a002015-08-21 22:47:30 +05301038 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
1039 message.writeTo(buf);
1040
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +05301041 int readLen = buf.writerIndex();
bharat saraswale2e7a002015-08-21 22:47:30 +05301042 testReportMsg = new byte[readLen];
1043 buf.readBytes(testReportMsg, 0, readLen);
1044
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +05301045 assertThat(testReportMsg, is(reportMsg));
bharat saraswale2e7a002015-08-21 22:47:30 +05301046 }
1047
1048 /**
1049 * This test case checks for LSP Object(Symbolic path tlv, StatefulIPv4LspIdentidiersTlv,StatefulLspErrorCodeTlv )
1050 * ERO Object,LSPA Object,RRO Object
1051 * in PcRpt message.
bharat saraswale2e7a002015-08-21 22:47:30 +05301052 */
1053 @Test
Mahesh Poojary Sf1bbd362016-02-25 18:19:59 +05301054 public void reportMessageTest25() throws PcepParseException, PcepOutOfBoundMessageException {
bharat saraswale2e7a002015-08-21 22:47:30 +05301055
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +05301056 byte[] reportMsg = new byte[]{0x20, 0x0a, 0x00, (byte) 0x8c,
bharat saraswale2e7a002015-08-21 22:47:30 +05301057 0x20, 0x10, 0x00, 0x2c, 0x00, 0x00, 0x10, 0x03, //LSP Object
1058 0x00, 0x12, 0x00, 0x10, //StatefulIPv4LspIdentidiersTlv
1059 (byte) 0xb6, 0x02, 0x4e, 0x1f, 0x00, 0x01, (byte) 0x80, 0x01,
1060 (byte) 0xb6, 0x02, 0x4e, 0x1f, (byte) 0xb6, 0x02, 0x4e, 0x20,
1061 0x00, 0x11, 0x00, 0x02, 0x54, 0x31, 0x00, 0x00, //SymbolicPathNameTlv
1062 0x00, 0x14, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, //StatefulLspErrorCodeTlv
1063 0x07, 0x10, 0x00, 0x14, //ERO Object
1064 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x1f, 0x04, 0x00,
1065 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x20, 0x04, 0x00,
1066 0x09, 0x10, 0x00, 0x14, 0x00, 0x00, 0x00, //LSPA Object
1067 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1068 0x08, 0x10, 0x00, 0x34, 0x01, 0x08, 0x11, 0x01, //RRO Object
1069 0x01, 0x01, 0x04, 0x00, 0x01, 0x08, 0x11, 0x01,
1070 0x01, 0x02, 0x04, 0x00, 0x01, 0x08, 0x06, 0x06,
1071 0x06, 0x06, 0x04, 0x00, 0x01, 0x08, 0x12, 0x01,
1072 0x01, 0x02, 0x04, 0x00, 0x01, 0x08, 0x12, 0x01,
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +05301073 0x01, 0x01, 0x04, 0x00, 0x01, 0x08, 0x05, 0x05, 0x05, 0x05, 0x04, 0x00};
bharat saraswale2e7a002015-08-21 22:47:30 +05301074
1075 byte[] testReportMsg = {0};
1076 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
1077 buffer.writeBytes(reportMsg);
1078
1079 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
1080 PcepMessage message = null;
1081
1082 message = reader.readFrom(buffer);
1083
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +05301084 assertThat(message, instanceOf(PcepReportMsg.class));
bharat saraswale2e7a002015-08-21 22:47:30 +05301085 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
1086 message.writeTo(buf);
1087
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +05301088 int readLen = buf.writerIndex();
bharat saraswale2e7a002015-08-21 22:47:30 +05301089 testReportMsg = new byte[readLen];
1090 buf.readBytes(testReportMsg, 0, readLen);
1091
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +05301092 assertThat(testReportMsg, is(reportMsg));
bharat saraswale2e7a002015-08-21 22:47:30 +05301093 }
1094
1095 /**
1096 * This test case checks for LSP Object(Symbolic path tlv, StatefulIPv4LspIdentidiersTlv,StatefulLspErrorCodeTlv )
1097 * ERO Object,LSPA Object
1098 * in PcRpt message.
bharat saraswale2e7a002015-08-21 22:47:30 +05301099 */
1100 @Test
Mahesh Poojary Sf1bbd362016-02-25 18:19:59 +05301101 public void reportMessageTest26() throws PcepParseException, PcepOutOfBoundMessageException {
bharat saraswale2e7a002015-08-21 22:47:30 +05301102
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +05301103 byte[] reportMsg = new byte[]{0x20, 0x0a, 0x00, (byte) 0x58,
bharat saraswale2e7a002015-08-21 22:47:30 +05301104 0x20, 0x10, 0x00, 0x2c, 0x00, 0x00, 0x10, 0x03, //LSP Object
1105 0x00, 0x12, 0x00, 0x10, //StatefulIPv4LspIdentidiersTlv
1106 (byte) 0xb6, 0x02, 0x4e, 0x1f, 0x00, 0x01, (byte) 0x80, 0x01,
1107 (byte) 0xb6, 0x02, 0x4e, 0x1f, (byte) 0xb6, 0x02, 0x4e, 0x20,
1108 0x00, 0x11, 0x00, 0x02, 0x54, 0x31, 0x00, 0x00, //SymbolicPathNameTlv
1109 0x00, 0x14, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, //StatefulLspErrorCodeTlv
1110 0x07, 0x10, 0x00, 0x14, //ERO Object
1111 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x1f, 0x04, 0x00,
1112 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x20, 0x04, 0x00,
1113 0x09, 0x10, 0x00, 0x14, 0x00, 0x00, 0x00, //LSPA Object
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +05301114 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
bharat saraswale2e7a002015-08-21 22:47:30 +05301115
1116 byte[] testReportMsg = {0};
1117 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
1118 buffer.writeBytes(reportMsg);
1119
1120 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
1121 PcepMessage message = null;
1122
1123 message = reader.readFrom(buffer);
1124
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +05301125 assertThat(message, instanceOf(PcepReportMsg.class));
bharat saraswale2e7a002015-08-21 22:47:30 +05301126 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
1127 message.writeTo(buf);
1128
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +05301129 int readLen = buf.writerIndex();
bharat saraswale2e7a002015-08-21 22:47:30 +05301130 testReportMsg = new byte[readLen];
1131 buf.readBytes(testReportMsg, 0, readLen);
1132
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +05301133 assertThat(testReportMsg, is(reportMsg));
bharat saraswale2e7a002015-08-21 22:47:30 +05301134 }
1135
1136 /**
1137 * This test case checks for LSP Object(Symbolic path tlv, StatefulIPv4LspIdentidiersTlv,StatefulLspErrorCodeTlv)
1138 * ERO Object
1139 * in PcRpt message.
bharat saraswale2e7a002015-08-21 22:47:30 +05301140 */
1141 @Test
Mahesh Poojary Sf1bbd362016-02-25 18:19:59 +05301142 public void reportMessageTest27() throws PcepParseException, PcepOutOfBoundMessageException {
bharat saraswale2e7a002015-08-21 22:47:30 +05301143
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +05301144 byte[] reportMsg = new byte[]{0x20, 0x0a, 0x00, (byte) 0x44,
bharat saraswale2e7a002015-08-21 22:47:30 +05301145 0x20, 0x10, 0x00, 0x2c, 0x00, 0x00, 0x10, 0x03, //LSP Object
1146 0x00, 0x12, 0x00, 0x10, //StatefulIPv4LspIdentidiersTlv
1147 (byte) 0xb6, 0x02, 0x4e, 0x1f, 0x00, 0x01, (byte) 0x80, 0x01,
1148 (byte) 0xb6, 0x02, 0x4e, 0x1f, (byte) 0xb6, 0x02, 0x4e, 0x20,
1149 0x00, 0x11, 0x00, 0x02, 0x54, 0x31, 0x00, 0x00, //SymbolicPathNameTlv
1150 0x00, 0x14, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, //StatefulLspErrorCodeTlv
1151 0x07, 0x10, 0x00, 0x14, //ERO Object
1152 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x1f, 0x04, 0x00,
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +05301153 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x20, 0x04, 0x00};
bharat saraswale2e7a002015-08-21 22:47:30 +05301154
1155 byte[] testReportMsg = {0};
1156 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
1157 buffer.writeBytes(reportMsg);
1158
1159 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
1160 PcepMessage message = null;
1161
1162 message = reader.readFrom(buffer);
1163
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +05301164 assertThat(message, instanceOf(PcepReportMsg.class));
bharat saraswale2e7a002015-08-21 22:47:30 +05301165 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
1166 message.writeTo(buf);
1167
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +05301168 int readLen = buf.writerIndex();
bharat saraswale2e7a002015-08-21 22:47:30 +05301169 testReportMsg = new byte[readLen];
1170 buf.readBytes(testReportMsg, 0, readLen);
1171
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +05301172 assertThat(testReportMsg, is(reportMsg));
bharat saraswale2e7a002015-08-21 22:47:30 +05301173 }
1174
1175 /**
1176 * This test case checks for LSP Object(Symbolic path tlv, StatefulIPv4LspIdentidiersTlv,StatefulLspErrorCodeTlv )
1177 * LSPA Object,BandWidth Object,Metric-list,ERO Object
1178 * in PcRpt message.
bharat saraswale2e7a002015-08-21 22:47:30 +05301179 */
1180 @Test
Mahesh Poojary Sf1bbd362016-02-25 18:19:59 +05301181 public void reportMessageTest28() throws PcepParseException, PcepOutOfBoundMessageException {
bharat saraswale2e7a002015-08-21 22:47:30 +05301182
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +05301183 byte[] reportMsg = new byte[]{0x20, 0x0a, 0x00, (byte) 0x6c,
bharat saraswale2e7a002015-08-21 22:47:30 +05301184 0x20, 0x10, 0x00, 0x2c, 0x00, 0x00, 0x10, 0x03, //LSP Object
1185 0x00, 0x12, 0x00, 0x10, //StatefulIPv4LspIdentidiersTlv
1186 (byte) 0xb6, 0x02, 0x4e, 0x1f, 0x00, 0x01, (byte) 0x80, 0x01,
1187 (byte) 0xb6, 0x02, 0x4e, 0x1f, (byte) 0xb6, 0x02, 0x4e, 0x20,
1188 0x00, 0x11, 0x00, 0x02, 0x54, 0x31, 0x00, 0x00, //SymbolicPathNameTlv
1189 0x00, 0x14, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, //StatefulLspErrorCodeTlv
1190 0x07, 0x10, 0x00, 0x14, //ERO Object
1191 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x1f, 0x04, 0x00,
1192 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x20, 0x04, 0x00,
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +05301193 0x09, 0x10, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00,
bharat saraswale2e7a002015-08-21 22:47:30 +05301194 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1195 0x05, 0x20, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, //Bandwidth Object
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +05301196 0x06, 0x10, 0x00, 0x0c, 0x00, 0x00, 0x01, 0x03, 0x00, 0x00, 0x00, 0x20};
bharat saraswale2e7a002015-08-21 22:47:30 +05301197
1198 byte[] testReportMsg = {0};
1199 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
1200 buffer.writeBytes(reportMsg);
1201
1202 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
1203 PcepMessage message = null;
1204
1205 message = reader.readFrom(buffer);
1206
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +05301207 assertThat(message, instanceOf(PcepReportMsg.class));
bharat saraswale2e7a002015-08-21 22:47:30 +05301208 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
1209 message.writeTo(buf);
1210
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +05301211 int readLen = buf.writerIndex();
bharat saraswale2e7a002015-08-21 22:47:30 +05301212 testReportMsg = new byte[readLen];
1213 buf.readBytes(testReportMsg, 0, readLen);
1214
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +05301215 assertThat(testReportMsg, is(reportMsg));
bharat saraswale2e7a002015-08-21 22:47:30 +05301216 }
1217
1218 /**
1219 * This test case checks for SRP Object,LSP Object(symbolic path tlv),ERO Object,Metric-list,RRO Object
1220 * in PcRpt message.
bharat saraswale2e7a002015-08-21 22:47:30 +05301221 */
1222 @Test
Mahesh Poojary Sf1bbd362016-02-25 18:19:59 +05301223 public void reportMessageTest29() throws PcepParseException, PcepOutOfBoundMessageException {
bharat saraswale2e7a002015-08-21 22:47:30 +05301224
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +05301225 byte[] reportMsg = new byte[]{0x20, 0x0a, 0x00, (byte) 0x74,
bharat saraswale2e7a002015-08-21 22:47:30 +05301226 0x21, 0x10, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, //SRP Object
1227 0x20, 0x10, 0x00, 0x10, 0x00, 0x00, 0x10, 0x03, //LSP Object
1228 0x00, 0x11, 0x00, 0x02, 0x54, 0x31, 0x00, 0x00, //SymbolicPathNameTlv
1229 0x07, 0x10, 0x00, 0x14, //ERO Object
1230 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x1f, 0x04, 0x00,
1231 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x20, 0x04, 0x00,
1232 0x06, 0x10, 0x00, 0x0c, 0x00, 0x00, 0x01, 0x03, 0x00, 0x00, 0x00, 0x20, //Metric Object
1233 0x08, 0x10, 0x00, 0x34, 0x01, 0x08, 0x11, 0x01, //RRO Object
1234 0x01, 0x01, 0x04, 0x00, 0x01, 0x08, 0x11, 0x01,
1235 0x01, 0x02, 0x04, 0x00, 0x01, 0x08, 0x06, 0x06,
1236 0x06, 0x06, 0x04, 0x00, 0x01, 0x08, 0x12, 0x01,
1237 0x01, 0x02, 0x04, 0x00, 0x01, 0x08, 0x12, 0x01,
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +05301238 0x01, 0x01, 0x04, 0x00, 0x01, 0x08, 0x05, 0x05, 0x05, 0x05, 0x04, 0x00};
bharat saraswale2e7a002015-08-21 22:47:30 +05301239
1240 byte[] testReportMsg = {0};
1241 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
1242 buffer.writeBytes(reportMsg);
1243
1244 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
1245 PcepMessage message = null;
1246
1247 message = reader.readFrom(buffer);
1248
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +05301249 assertThat(message, instanceOf(PcepReportMsg.class));
bharat saraswale2e7a002015-08-21 22:47:30 +05301250 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
1251 message.writeTo(buf);
1252
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +05301253 int readLen = buf.writerIndex();
bharat saraswale2e7a002015-08-21 22:47:30 +05301254 testReportMsg = new byte[readLen];
1255 buf.readBytes(testReportMsg, 0, readLen);
1256
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +05301257 assertThat(testReportMsg, is(reportMsg));
bharat saraswale2e7a002015-08-21 22:47:30 +05301258 }
1259
1260 /**
1261 * This test case checks for SRP Object,LSP Object(symbolic path tlv),ERO Object,Metric-list,RRO Object
1262 * SRP Object,LSP Object(symbolic path tlv),ERO Object,Metric-list,RRO Object
1263 * in PcRpt message.
bharat saraswale2e7a002015-08-21 22:47:30 +05301264 */
1265 @Test
Mahesh Poojary Sf1bbd362016-02-25 18:19:59 +05301266 public void reportMessageTest30() throws PcepParseException, PcepOutOfBoundMessageException {
bharat saraswale2e7a002015-08-21 22:47:30 +05301267
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +05301268 byte[] reportMsg = new byte[]{0x20, 0x0a, 0x00, (byte) 0xE4,
bharat saraswale2e7a002015-08-21 22:47:30 +05301269 0x21, 0x10, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, //SRP Object
1270 0x20, 0x10, 0x00, 0x10, 0x00, 0x00, 0x10, 0x03, //LSP Object
1271 0x00, 0x11, 0x00, 0x02, 0x54, 0x31, 0x00, 0x00, //SymbolicPathNameTlv
1272 0x07, 0x10, 0x00, 0x14, //ERO Object
1273 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x1f, 0x04, 0x00,
1274 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x20, 0x04, 0x00,
1275 0x06, 0x10, 0x00, 0x0c, 0x00, 0x00, 0x01, 0x03, 0x00, 0x00, 0x00, 0x20, //Metric Object
1276 0x08, 0x10, 0x00, 0x34, 0x01, 0x08, 0x11, 0x01, //RRO Object
1277 0x01, 0x01, 0x04, 0x00, 0x01, 0x08, 0x11, 0x01,
1278 0x01, 0x02, 0x04, 0x00, 0x01, 0x08, 0x06, 0x06,
1279 0x06, 0x06, 0x04, 0x00, 0x01, 0x08, 0x12, 0x01,
1280 0x01, 0x02, 0x04, 0x00, 0x01, 0x08, 0x12, 0x01,
1281 0x01, 0x01, 0x04, 0x00, 0x01, 0x08, 0x05, 0x05, 0x05, 0x05, 0x04, 0x00,
1282 0x21, 0x10, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, //SRP Object
1283 0x20, 0x10, 0x00, 0x10, 0x00, 0x00, 0x10, 0x03, //LSP Object
1284 0x00, 0x11, 0x00, 0x02, 0x54, 0x31, 0x00, 0x00, //SymbolicPathNameTlv
1285 0x07, 0x10, 0x00, 0x14, //ERO Object
1286 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x1f, 0x04, 0x00,
1287 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x20, 0x04, 0x00,
1288 0x06, 0x10, 0x00, 0x0c, 0x00, 0x00, 0x01, 0x03, 0x00, 0x00, 0x00, 0x20, //Metric Object
1289 0x08, 0x10, 0x00, 0x34, 0x01, 0x08, 0x11, 0x01, //RRO Object
1290 0x01, 0x01, 0x04, 0x00, 0x01, 0x08, 0x11, 0x01,
1291 0x01, 0x02, 0x04, 0x00, 0x01, 0x08, 0x06, 0x06,
1292 0x06, 0x06, 0x04, 0x00, 0x01, 0x08, 0x12, 0x01,
1293 0x01, 0x02, 0x04, 0x00, 0x01, 0x08, 0x12, 0x01,
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +05301294 0x01, 0x01, 0x04, 0x00, 0x01, 0x08, 0x05, 0x05, 0x05, 0x05, 0x04, 0x00};
bharat saraswale2e7a002015-08-21 22:47:30 +05301295
1296 byte[] testReportMsg = {0};
1297 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
1298 buffer.writeBytes(reportMsg);
1299
1300 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
1301 PcepMessage message = null;
1302
1303 message = reader.readFrom(buffer);
1304
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +05301305 assertThat(message, instanceOf(PcepReportMsg.class));
bharat saraswale2e7a002015-08-21 22:47:30 +05301306 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
1307 message.writeTo(buf);
1308
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +05301309 int readLen = buf.writerIndex();
bharat saraswale2e7a002015-08-21 22:47:30 +05301310 testReportMsg = new byte[readLen];
1311 buf.readBytes(testReportMsg, 0, readLen);
1312
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +05301313 assertThat(testReportMsg, is(reportMsg));
bharat saraswale2e7a002015-08-21 22:47:30 +05301314 }
1315
1316 /**
1317 * This test case checks for SRP Object,LSP Object(symbolic path tlv),ERO Object,LSPA Object
1318 * BandWidth Object,Metric-list,RRO Object,SRP Object,LSP Object(symbolic path tlv)
1319 * ERO Object,Metric-list,RRO Object
1320 * in PcRpt message.
bharat saraswale2e7a002015-08-21 22:47:30 +05301321 */
1322 @Test
Mahesh Poojary Sf1bbd362016-02-25 18:19:59 +05301323 public void reportMessageTest31() throws PcepParseException, PcepOutOfBoundMessageException {
bharat saraswale2e7a002015-08-21 22:47:30 +05301324
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +05301325 byte[] reportMsg = new byte[]{0x20, 0x0a, 0x01, 0x00,
bharat saraswale2e7a002015-08-21 22:47:30 +05301326 0x21, 0x10, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, //SRP Object
1327 0x20, 0x10, 0x00, 0x10, 0x00, 0x00, 0x10, 0x03, //LSP Object
1328 0x00, 0x11, 0x00, 0x02, 0x54, 0x31, 0x00, 0x00, //SymbolicPathNameTlv
1329 0x07, 0x10, 0x00, 0x14, //ERO Object
1330 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x1f, 0x04, 0x00,
1331 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x20, 0x04, 0x00,
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +05301332 0x09, 0x10, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, //LSPA Object
bharat saraswale2e7a002015-08-21 22:47:30 +05301333 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1334 0x05, 0x20, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, //Bandwidth Object
1335 0x06, 0x10, 0x00, 0x0c, 0x00, 0x00, 0x01, 0x03, 0x00, 0x00, 0x00, 0x20, //Metric Object
1336 0x08, 0x10, 0x00, 0x34, 0x01, 0x08, 0x11, 0x01, //RRO Object
1337 0x01, 0x01, 0x04, 0x00, 0x01, 0x08, 0x11, 0x01,
1338 0x01, 0x02, 0x04, 0x00, 0x01, 0x08, 0x06, 0x06,
1339 0x06, 0x06, 0x04, 0x00, 0x01, 0x08, 0x12, 0x01,
1340 0x01, 0x02, 0x04, 0x00, 0x01, 0x08, 0x12, 0x01,
1341 0x01, 0x01, 0x04, 0x00, 0x01, 0x08, 0x05, 0x05, 0x05, 0x05, 0x04, 0x00,
1342 0x21, 0x10, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, //SRP Object
1343 0x20, 0x10, 0x00, 0x10, 0x00, 0x00, 0x10, 0x03, //LSP Object
1344 0x00, 0x11, 0x00, 0x02, 0x54, 0x31, 0x00, 0x00, //SymbolicPathNameTlv
1345 0x07, 0x10, 0x00, 0x14, //ERO Object
1346 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x1f, 0x04, 0x00,
1347 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x20, 0x04, 0x00,
1348 0x06, 0x10, 0x00, 0x0c, 0x00, 0x00, 0x01, 0x03, 0x00, 0x00, 0x00, 0x20, //Metric Object
1349 0x08, 0x10, 0x00, 0x34, 0x01, 0x08, 0x11, 0x01, //RRO Object
1350 0x01, 0x01, 0x04, 0x00, 0x01, 0x08, 0x11, 0x01,
1351 0x01, 0x02, 0x04, 0x00, 0x01, 0x08, 0x06, 0x06,
1352 0x06, 0x06, 0x04, 0x00, 0x01, 0x08, 0x12, 0x01,
1353 0x01, 0x02, 0x04, 0x00, 0x01, 0x08, 0x12, 0x01,
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +05301354 0x01, 0x01, 0x04, 0x00, 0x01, 0x08, 0x05, 0x05, 0x05, 0x05, 0x04, 0x00};
bharat saraswale2e7a002015-08-21 22:47:30 +05301355
1356 byte[] testReportMsg = {0};
1357 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
1358 buffer.writeBytes(reportMsg);
1359
1360 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
1361 PcepMessage message = null;
1362
1363 message = reader.readFrom(buffer);
1364
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +05301365 assertThat(message, instanceOf(PcepReportMsg.class));
bharat saraswale2e7a002015-08-21 22:47:30 +05301366 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
1367 message.writeTo(buf);
1368
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +05301369 int readLen = buf.writerIndex();
bharat saraswale2e7a002015-08-21 22:47:30 +05301370 testReportMsg = new byte[readLen];
1371 buf.readBytes(testReportMsg, 0, readLen);
1372
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +05301373 assertThat(testReportMsg, is(reportMsg));
bharat saraswale2e7a002015-08-21 22:47:30 +05301374 }
1375
1376 /**
1377 * This test case checks for SRP Object,LSP Object(symbolic path tlv),ERO Object,LSPA Object
1378 * BandWidth Object,Metric-list,RRO Object,SRP Object,LSP Object(symbolic path tlv)
1379 * ERO Object,LSPA Object,Metric-list,RRO Object
1380 * in PcRpt message.
bharat saraswale2e7a002015-08-21 22:47:30 +05301381 */
1382 @Test
Mahesh Poojary Sf1bbd362016-02-25 18:19:59 +05301383 public void reportMessageTest32() throws PcepParseException, PcepOutOfBoundMessageException {
bharat saraswale2e7a002015-08-21 22:47:30 +05301384
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +05301385 byte[] reportMsg = new byte[]{0x20, 0x0a, 0x01, (byte) 0x14,
bharat saraswale2e7a002015-08-21 22:47:30 +05301386 0x21, 0x10, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, //SRP Object
1387 0x20, 0x10, 0x00, 0x10, 0x00, 0x00, 0x10, 0x03, //LSP Object
1388 0x00, 0x11, 0x00, 0x02, 0x54, 0x31, 0x00, 0x00, //SymbolicPathNameTlv
1389 0x07, 0x10, 0x00, 0x14, //ERO Object
1390 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x1f, 0x04, 0x00,
1391 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x20, 0x04, 0x00,
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +05301392 0x09, 0x10, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, //LSPA Object
bharat saraswale2e7a002015-08-21 22:47:30 +05301393 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1394 0x05, 0x20, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, //Bandwidth Object
1395 0x06, 0x10, 0x00, 0x0c, 0x00, 0x00, 0x01, 0x03, 0x00, 0x00, 0x00, 0x20, //Metric Object
1396 0x08, 0x10, 0x00, 0x34, 0x01, 0x08, 0x11, 0x01, //RRO Object
1397 0x01, 0x01, 0x04, 0x00, 0x01, 0x08, 0x11, 0x01,
1398 0x01, 0x02, 0x04, 0x00, 0x01, 0x08, 0x06, 0x06,
1399 0x06, 0x06, 0x04, 0x00, 0x01, 0x08, 0x12, 0x01,
1400 0x01, 0x02, 0x04, 0x00, 0x01, 0x08, 0x12, 0x01,
1401 0x01, 0x01, 0x04, 0x00, 0x01, 0x08, 0x05, 0x05, 0x05, 0x05, 0x04, 0x00,
1402 0x21, 0x10, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, //SRP Object
1403 0x20, 0x10, 0x00, 0x10, 0x00, 0x00, 0x10, 0x03, //LSP Object
1404 0x00, 0x11, 0x00, 0x02, 0x54, 0x31, 0x00, 0x00, //SymbolicPathNameTlv
1405 0x07, 0x10, 0x00, 0x14, //ERO Object
1406 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x1f, 0x04, 0x00,
1407 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x20, 0x04, 0x00,
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +05301408 0x09, 0x10, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, //LSPA Object
bharat saraswale2e7a002015-08-21 22:47:30 +05301409 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1410 0x06, 0x10, 0x00, 0x0c, 0x00, 0x00, 0x01, 0x03, 0x00, 0x00, 0x00, 0x20, //Metric Object
1411 0x08, 0x10, 0x00, 0x34, 0x01, 0x08, 0x11, 0x01, //RRO Object
1412 0x01, 0x01, 0x04, 0x00, 0x01, 0x08, 0x11, 0x01,
1413 0x01, 0x02, 0x04, 0x00, 0x01, 0x08, 0x06, 0x06,
1414 0x06, 0x06, 0x04, 0x00, 0x01, 0x08, 0x12, 0x01,
1415 0x01, 0x02, 0x04, 0x00, 0x01, 0x08, 0x12, 0x01,
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +05301416 0x01, 0x01, 0x04, 0x00, 0x01, 0x08, 0x05, 0x05, 0x05, 0x05, 0x04, 0x00};
bharat saraswale2e7a002015-08-21 22:47:30 +05301417
1418 byte[] testReportMsg = {0};
1419 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
1420 buffer.writeBytes(reportMsg);
1421
1422 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
1423 PcepMessage message = null;
1424
1425 message = reader.readFrom(buffer);
1426
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +05301427 assertThat(message, instanceOf(PcepReportMsg.class));
bharat saraswale2e7a002015-08-21 22:47:30 +05301428 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
1429 message.writeTo(buf);
1430
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +05301431 int readLen = buf.writerIndex();
bharat saraswale2e7a002015-08-21 22:47:30 +05301432 testReportMsg = new byte[readLen];
1433 buf.readBytes(testReportMsg, 0, readLen);
1434
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +05301435 assertThat(testReportMsg, is(reportMsg));
bharat saraswale2e7a002015-08-21 22:47:30 +05301436 }
1437
1438 /**
1439 * This test case checks for SRP Object,LSP Object(symbolic path tlv),ERO Object,LSPA Object
1440 * BandWidth Object,Metric-list,RRO Object,SRP Object,LSP Object(symbolic path tlv)
1441 * ERO Object,LSPA Object,BandWidth Object,Metric-list,RRO Object
1442 * in PcRpt message.
bharat saraswale2e7a002015-08-21 22:47:30 +05301443 */
1444 @Test
Mahesh Poojary Sf1bbd362016-02-25 18:19:59 +05301445 public void reportMessageTest33() throws PcepParseException, PcepOutOfBoundMessageException {
bharat saraswale2e7a002015-08-21 22:47:30 +05301446
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +05301447 byte[] reportMsg = new byte[]{0x20, 0x0a, 0x01, (byte) 0x1c,
bharat saraswale2e7a002015-08-21 22:47:30 +05301448 0x21, 0x10, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, //SRP Object
1449 0x20, 0x10, 0x00, 0x10, 0x00, 0x00, 0x10, 0x03, //LSP Object
1450 0x00, 0x11, 0x00, 0x02, 0x54, 0x31, 0x00, 0x00, //SymbolicPathNameTlv
1451 0x07, 0x10, 0x00, 0x14, //ERO Object
1452 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x1f, 0x04, 0x00,
1453 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x20, 0x04, 0x00,
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +05301454 0x09, 0x10, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, //LSPA Object
bharat saraswale2e7a002015-08-21 22:47:30 +05301455 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1456 0x05, 0x20, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, //Bandwidth Object
1457 0x06, 0x10, 0x00, 0x0c, 0x00, 0x00, 0x01, 0x03, 0x00, 0x00, 0x00, 0x20, //Metric Object
1458 0x08, 0x10, 0x00, 0x34, 0x01, 0x08, 0x11, 0x01, //RRO Object
1459 0x01, 0x01, 0x04, 0x00, 0x01, 0x08, 0x11, 0x01,
1460 0x01, 0x02, 0x04, 0x00, 0x01, 0x08, 0x06, 0x06,
1461 0x06, 0x06, 0x04, 0x00, 0x01, 0x08, 0x12, 0x01,
1462 0x01, 0x02, 0x04, 0x00, 0x01, 0x08, 0x12, 0x01,
1463 0x01, 0x01, 0x04, 0x00, 0x01, 0x08, 0x05, 0x05, 0x05, 0x05, 0x04, 0x00,
1464 0x21, 0x10, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, //SRP Object
1465 0x20, 0x10, 0x00, 0x10, 0x00, 0x00, 0x10, 0x03, //LSP Object
1466 0x00, 0x11, 0x00, 0x02, 0x54, 0x31, 0x00, 0x00, //SymbolicPathNameTlv
1467 0x07, 0x10, 0x00, 0x14, //ERO Object
1468 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x1f, 0x04, 0x00,
1469 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x20, 0x04, 0x00,
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +05301470 0x09, 0x10, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00,
bharat saraswale2e7a002015-08-21 22:47:30 +05301471 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1472 0x05, 0x20, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, //Bandwidth Object
1473 0x06, 0x10, 0x00, 0x0c, 0x00, 0x00, 0x01, 0x03, 0x00, 0x00, 0x00, 0x20, //Metric Object
1474 0x08, 0x10, 0x00, 0x34, 0x01, 0x08, 0x11, 0x01, //RRO Object
1475 0x01, 0x01, 0x04, 0x00, 0x01, 0x08, 0x11, 0x01,
1476 0x01, 0x02, 0x04, 0x00, 0x01, 0x08, 0x06, 0x06,
1477 0x06, 0x06, 0x04, 0x00, 0x01, 0x08, 0x12, 0x01,
1478 0x01, 0x02, 0x04, 0x00, 0x01, 0x08, 0x12, 0x01,
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +05301479 0x01, 0x01, 0x04, 0x00, 0x01, 0x08, 0x05, 0x05, 0x05, 0x05, 0x04, 0x00};
bharat saraswale2e7a002015-08-21 22:47:30 +05301480
1481 byte[] testReportMsg = {0};
1482 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
1483 buffer.writeBytes(reportMsg);
1484
1485 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
1486 PcepMessage message = null;
1487
1488 message = reader.readFrom(buffer);
1489
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +05301490 assertThat(message, instanceOf(PcepReportMsg.class));
bharat saraswale2e7a002015-08-21 22:47:30 +05301491 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
1492 message.writeTo(buf);
1493
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +05301494 int readLen = buf.writerIndex();
bharat saraswale2e7a002015-08-21 22:47:30 +05301495 testReportMsg = new byte[readLen];
1496 buf.readBytes(testReportMsg, 0, readLen);
1497
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +05301498 assertThat(testReportMsg, is(reportMsg));
bharat saraswale2e7a002015-08-21 22:47:30 +05301499 }
1500
1501 /**
1502 * This test case checks for SRP Object,LSP Object(symbolic path Tlv),ERO Object,LSPA Object
1503 * BandWidth Object,Metric-list,SRP Object,LSP Object(symbolic path tlv)
1504 * ERO Object,LSPA Object,BandWidth Object,Metric-list
1505 * in PcRpt message.
bharat saraswale2e7a002015-08-21 22:47:30 +05301506 */
1507 @Test
Mahesh Poojary Sf1bbd362016-02-25 18:19:59 +05301508 public void reportMessageTest34() throws PcepParseException, PcepOutOfBoundMessageException {
bharat saraswale2e7a002015-08-21 22:47:30 +05301509
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +05301510 byte[] reportMsg = new byte[]{0x20, 0x0a, 0x00, (byte) 0xB4,
bharat saraswale2e7a002015-08-21 22:47:30 +05301511 0x21, 0x10, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, //SRP Object
1512 0x20, 0x10, 0x00, 0x10, 0x00, 0x00, 0x10, 0x03, //LSP Object
1513 0x00, 0x11, 0x00, 0x02, 0x54, 0x31, 0x00, 0x00, //SymbolicPathNameTlv
1514 0x07, 0x10, 0x00, 0x14, //ERO Object
1515 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x1f, 0x04, 0x00,
1516 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x20, 0x04, 0x00,
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +05301517 0x09, 0x10, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, //LSPA Object
bharat saraswale2e7a002015-08-21 22:47:30 +05301518 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1519 0x05, 0x20, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, //Bandwidth Object
1520 0x06, 0x10, 0x00, 0x0c, 0x00, 0x00, 0x01, 0x03, 0x00, 0x00, 0x00, 0x20, //Metric Object
1521 0x21, 0x10, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, //SRP Object
1522 0x20, 0x10, 0x00, 0x10, 0x00, 0x00, 0x10, 0x04, //LSP Object
1523 0x00, 0x11, 0x00, 0x02, 0x54, 0x31, 0x00, 0x00, //SymbolicPathNameTlv
1524 0x07, 0x10, 0x00, 0x14, //ERO Object
1525 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x1f, 0x04, 0x00,
1526 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x20, 0x04, 0x00,
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +05301527 0x09, 0x10, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, //LSPA Object
bharat saraswale2e7a002015-08-21 22:47:30 +05301528 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1529 0x05, 0x20, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, //Bandwidth Object
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +05301530 0x06, 0x10, 0x00, 0x0c, 0x00, 0x00, 0x01, 0x03, 0x00, 0x00, 0x00, 0x20}; //Metric Object
bharat saraswale2e7a002015-08-21 22:47:30 +05301531
1532 byte[] testReportMsg = {0};
1533 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
1534 buffer.writeBytes(reportMsg);
1535
1536 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
1537 PcepMessage message = null;
1538
1539 message = reader.readFrom(buffer);
1540
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +05301541 assertThat(message, instanceOf(PcepReportMsg.class));
bharat saraswale2e7a002015-08-21 22:47:30 +05301542 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
1543 message.writeTo(buf);
1544
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +05301545 int readLen = buf.writerIndex();
bharat saraswale2e7a002015-08-21 22:47:30 +05301546 testReportMsg = new byte[readLen];
1547 buf.readBytes(testReportMsg, 0, readLen);
1548
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +05301549 assertThat(testReportMsg, is(reportMsg));
bharat saraswale2e7a002015-08-21 22:47:30 +05301550 }
1551
1552 /**
1553 * This test case checks for SRP Object,LSP Object)Symbolic path tlv),ERO Object,SRP Object
1554 * LSP Object(symbolic path tlv) ERO Object,LSPA Object, BandWidth Object,Metric-list
1555 * in PcRpt message.
bharat saraswale2e7a002015-08-21 22:47:30 +05301556 */
1557 @Test
Mahesh Poojary Sf1bbd362016-02-25 18:19:59 +05301558 public void reportMessageTest35() throws PcepParseException, PcepOutOfBoundMessageException {
bharat saraswale2e7a002015-08-21 22:47:30 +05301559
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +05301560 byte[] reportMsg = new byte[]{0x20, 0x0a, 0x00, (byte) 0x8C,
bharat saraswale2e7a002015-08-21 22:47:30 +05301561 0x21, 0x10, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, //SRP Object
1562 0x20, 0x10, 0x00, 0x10, 0x00, 0x00, 0x10, 0x03, //LSP Object
1563 0x00, 0x11, 0x00, 0x02, 0x54, 0x31, 0x00, 0x00, //SymbolicPathNameTlv
1564 0x07, 0x10, 0x00, 0x14, //ERO Object
1565 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x1f, 0x04, 0x00,
1566 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x20, 0x04, 0x00,
1567 0x21, 0x10, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, //SRP Object
1568 0x20, 0x10, 0x00, 0x10, 0x00, 0x00, 0x10, 0x03, //LSP Object
1569 0x00, 0x11, 0x00, 0x02, 0x54, 0x31, 0x00, 0x00, //SymbolicPathNameTlv
1570 0x07, 0x10, 0x00, 0x14, //ERO Object
1571 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x1f, 0x04, 0x00,
1572 0x01, 0x08, (byte) 0xb6, 0x02, 0x4e, 0x20, 0x04, 0x00,
1573 0x09, 0x10, 0x00, 0x14, //LSPA Object
1574 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1575 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1576 0x05, 0x20, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, //Bandwidth Object
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +05301577 0x06, 0x10, 0x00, 0x0c, 0x00, 0x00, 0x01, 0x03, 0x00, 0x00, 0x00, 0x20}; //Metric Object
bharat saraswale2e7a002015-08-21 22:47:30 +05301578
1579 byte[] testReportMsg = {0};
1580 ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
1581 buffer.writeBytes(reportMsg);
1582
1583 PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
1584 PcepMessage message = null;
1585
1586 message = reader.readFrom(buffer);
1587
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +05301588 assertThat(message, instanceOf(PcepReportMsg.class));
bharat saraswale2e7a002015-08-21 22:47:30 +05301589 ChannelBuffer buf = ChannelBuffers.dynamicBuffer();
1590 message.writeTo(buf);
1591
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +05301592 int readLen = buf.writerIndex();
bharat saraswale2e7a002015-08-21 22:47:30 +05301593 testReportMsg = new byte[readLen];
1594 buf.readBytes(testReportMsg, 0, readLen);
1595
Priyanka bhaskar3e1a6972015-08-27 15:31:54 +05301596 assertThat(testReportMsg, is(reportMsg));
bharat saraswale2e7a002015-08-21 22:47:30 +05301597 }
1598}