blob: 172863a72a68220d812c9cd3f4662408af185ab2 [file] [log] [blame]
Dhruv Dhody43f3ce62016-02-16 22:44:21 +05301/*
Brian O'Connora09fe5b2017-08-03 21:12:30 -07002 * Copyright 2016-present Open Networking Foundation
Dhruv Dhody43f3ce62016-02-16 22:44:21 +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 */
16package org.onosproject.ospf.protocol.lsa.types;
17
18import org.jboss.netty.buffer.ChannelBuffer;
19import org.jboss.netty.buffer.ChannelBuffers;
20import org.junit.After;
21import org.junit.Before;
22import org.junit.Test;
23import org.onlab.packet.Ip4Address;
24import org.onosproject.ospf.controller.OspfLsaType;
25import org.onosproject.ospf.protocol.lsa.OpaqueLsaHeader;
26import org.onosproject.ospf.protocol.lsa.TlvHeader;
27import org.onosproject.ospf.protocol.lsa.tlvtypes.LinkTlv;
28import org.onosproject.ospf.protocol.lsa.tlvtypes.RouterTlv;
29
30
31import java.util.List;
32
33import static org.hamcrest.MatcherAssert.assertThat;
34import static org.hamcrest.Matchers.is;
35import static org.hamcrest.Matchers.notNullValue;
36
37/**
38 * Unit test class for OpaqueLsa10.
39 */
40public class OpaqueLsa10Test {
41
42 private final byte[] packet = {0, 1, 0, 4, 1, 1, 1, 1, 0, 2, 0, 84, 0, 0, 0,
43 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
44 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
45 private OpaqueLsa10 opaqueLsa10;
46 private TopLevelTlv tlv;
47 private OpaqueLsaHeader opqueHeader;
48 private ChannelBuffer channelBuffer;
49 private byte[] result;
50 private RouterTlv routerTlv;
51 private RouterTlv routerTlv1;
52 private LinkTlv linkTlv;
53 private LinkTlv linkTlv1;
54 private OspfLsaType ospflsaType;
55 private int result1;
56 private List result2;
57
58 @Before
59 public void setUp() throws Exception {
60 opaqueLsa10 = new OpaqueLsa10(new OpaqueLsaHeader());
61 }
62
63 @After
64 public void tearDown() throws Exception {
65 opaqueLsa10 = null;
66 tlv = null;
67 opqueHeader = null;
68 channelBuffer = null;
69 result = null;
70 routerTlv = null;
71 routerTlv1 = null;
72 linkTlv1 = null;
73 ospflsaType = null;
74 }
75
76 /**
77 * Tests to string method.
78 */
79 @Test
80 public void testToString() throws Exception {
81 assertThat(opaqueLsa10.toString(), is(notNullValue()));
82 }
83
84 /**
85 * Tests addValue() method.
86 */
87 @Test
88 public void testAddValue() throws Exception {
89 tlv = new RouterTlv(new TlvHeader());
90 opaqueLsa10.addValue(tlv);
91 assertThat(opaqueLsa10, is(notNullValue()));
92 }
93
94 /**
95 * Tests readFrom() method.
96 */
97 @Test(expected = Exception.class)
98 public void testReadFrom() throws Exception {
99 opqueHeader = new OpaqueLsaHeader();
100 opqueHeader.setLsType(10);
101 opqueHeader.setLsPacketLen(48);
102 opqueHeader.setLsCheckSum(10);
103 opqueHeader.setAge(4);
104 opqueHeader.setOpaqueId(1);
105 opqueHeader.setOpaqueType(10);
106 opqueHeader.setLsSequenceNo(250);
107 opqueHeader.setAdvertisingRouter(Ip4Address.valueOf("100.226.165.165"));
108 opqueHeader.setOptions(66);
109 opaqueLsa10 = new OpaqueLsa10(opqueHeader);
110 channelBuffer = ChannelBuffers.copiedBuffer(packet);
111 opaqueLsa10.readFrom(channelBuffer);
112 result = opaqueLsa10.asBytes();
113 assertThat(result, is(notNullValue()));
114 }
115
116 /**
117 * Tests asBytes() method.
118 */
119 @Test(expected = Exception.class)
120 public void testAsBytes() throws Exception {
121 opqueHeader = new OpaqueLsaHeader();
122 opqueHeader.setLsType(10);
123 opqueHeader.setLsPacketLen(48);
124 opqueHeader.setLsCheckSum(10);
125 opqueHeader.setAge(4);
126 opqueHeader.setOpaqueId(1);
127 opqueHeader.setOpaqueType(10);
128 opqueHeader.setLsSequenceNo(250);
129 opqueHeader.setAdvertisingRouter(Ip4Address.valueOf("100.226.165.165"));
130 opqueHeader.setOptions(66);
131 opaqueLsa10 = new OpaqueLsa10(opqueHeader);
132 channelBuffer = ChannelBuffers.copiedBuffer(packet);
133 opaqueLsa10.readFrom(channelBuffer);
134 result = opaqueLsa10.getLsaBodyAsByteArray();
135 result = opaqueLsa10.asBytes();
136 assertThat(result, is(notNullValue()));
137 }
138
139 /**
140 * Tests getLsaBodyAsByteArray() method.
141 */
142 @Test(expected = Exception.class)
143 public void testGetLsaBodyAsByteArray() throws Exception {
144 opqueHeader = new OpaqueLsaHeader();
145 opqueHeader.setLsType(10);
146 opqueHeader.setLsPacketLen(48);
147 opqueHeader.setLsCheckSum(10);
148 opqueHeader.setAge(4);
149 opqueHeader.setOpaqueId(1);
150 opqueHeader.setOpaqueType(10);
151 opqueHeader.setLsSequenceNo(250);
152 opqueHeader.setAdvertisingRouter(Ip4Address.valueOf("100.226.165.165"));
153 opqueHeader.setOptions(2);
154 opaqueLsa10 = new OpaqueLsa10(opqueHeader);
155 routerTlv = new RouterTlv(new TlvHeader());
156 linkTlv = new LinkTlv(new TlvHeader());
157 opaqueLsa10.addValue(routerTlv);
158 opaqueLsa10.addValue(linkTlv);
159 routerTlv1 = new RouterTlv(new TlvHeader());
160 linkTlv1 = new LinkTlv(new TlvHeader());
161 opaqueLsa10.addValue(routerTlv1);
162 opaqueLsa10.addValue(linkTlv1);
163 channelBuffer = ChannelBuffers.copiedBuffer(packet);
164 opaqueLsa10.readFrom(channelBuffer);
165 result = opaqueLsa10.getLsaBodyAsByteArray();
166 assertThat(result, is(notNullValue()));
167 }
168
169 /**
170 * Tests getLsaBodyAsByteArray() method.
171 */
172 @Test(expected = Exception.class)
173 public void testGetLsaBodyAsByteArray1() throws Exception {
174 opqueHeader = new OpaqueLsaHeader();
175 opqueHeader.setLsType(10);
176 opqueHeader.setLsPacketLen(48);
177 opqueHeader.setLsCheckSum(10);
178 opqueHeader.setAge(4);
179 opqueHeader.setOpaqueId(1);
180 opqueHeader.setOpaqueType(10);
181 opqueHeader.setLsSequenceNo(250);
182 opqueHeader.setAdvertisingRouter(Ip4Address.valueOf("100.226.165.165"));
183 opqueHeader.setOptions(2);
184 opaqueLsa10 = new OpaqueLsa10(opqueHeader);
185 routerTlv = new RouterTlv(new TlvHeader());
186 opaqueLsa10.addValue(routerTlv);
187 channelBuffer = ChannelBuffers.copiedBuffer(packet);
188 result = opaqueLsa10.getLsaBodyAsByteArray();
189 assertThat(result, is(notNullValue()));
190 }
191
192 /**
193 * Tests getLsaBodyAsByteArray() method.
194 */
195 @Test(expected = Exception.class)
196 public void testGetLsaBodyAsByteArray2() throws Exception {
197 opqueHeader = new OpaqueLsaHeader();
198 opqueHeader.setLsType(10);
199 opqueHeader.setLsPacketLen(48);
200 opqueHeader.setLsCheckSum(10);
201 opqueHeader.setAge(4);
202 opqueHeader.setOpaqueId(1);
203 opqueHeader.setOpaqueType(10);
204 opqueHeader.setLsSequenceNo(250);
205 opqueHeader.setAdvertisingRouter(Ip4Address.valueOf("100.226.165.165"));
206 opqueHeader.setOptions(2);
207 opaqueLsa10 = new OpaqueLsa10(opqueHeader);
208 linkTlv = new LinkTlv(new TlvHeader());
209 opaqueLsa10.addValue(linkTlv);
210 channelBuffer = ChannelBuffers.copiedBuffer(packet);
211 opaqueLsa10.readFrom(channelBuffer);
212 result = opaqueLsa10.getLsaBodyAsByteArray();
213 assertThat(result, is(notNullValue()));
214 }
215
216 /**
217 * Tests getOspfLsaType() getter method.
218 */
219 @Test
220 public void testGetOspfLsaType() throws Exception {
221 opaqueLsa10.setLsType(10);
222 ospflsaType = opaqueLsa10.getOspfLsaType();
223 assertThat(ospflsaType, is(notNullValue()));
224 assertThat(ospflsaType, is(OspfLsaType.AREA_LOCAL_OPAQUE_LSA));
225 }
226
227 /**
228 * Tests hashCode() method.
229 */
230 @Test
231 public void testHashcode() throws Exception {
232
233 result1 = opaqueLsa10.hashCode();
234 assertThat(result1, is(notNullValue()));
235
236 }
237
238 /**
239 * Tests topLevelValues() method.
240 */
241 @Test
242 public void testTopLevelValues() throws Exception {
243
244 result2 = opaqueLsa10.topLevelValues();
245 assertThat(result2, is(notNullValue()));
246
247 }
248
249}