2 * Copyright (c) 2016 Cisco Systems, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.lispflowmapping.lisp.util;
11 import static org.junit.Assert.assertArrayEquals;
12 import static org.junit.Assert.assertEquals;
13 import static org.junit.Assert.assertFalse;
14 import static org.junit.Assert.assertNotNull;
15 import static org.junit.Assert.assertNull;
16 import static org.junit.Assert.assertTrue;
18 import java.net.Inet4Address;
19 import java.net.Inet6Address;
20 import java.net.InetAddress;
21 import java.net.UnknownHostException;
22 import java.util.Arrays;
23 import java.util.List;
25 import org.junit.Test;
26 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.AsNumber;
27 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.IpAddress;
28 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.IpPrefix;
29 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Ipv4Address;
30 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Ipv4Prefix;
31 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Ipv6Address;
32 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Ipv6Prefix;
33 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.AsNumberAfi;
34 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.DistinguishedNameAfi;
35 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.DistinguishedNameType;
36 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.ExplicitLocatorPathLcaf;
37 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.InstanceIdType;
38 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.Ipv4Afi;
39 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.Ipv4PrefixAfi;
40 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.Ipv6Afi;
41 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.Ipv6PrefixAfi;
42 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.KeyValueAddressLcaf;
43 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.LispAddress;
44 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.LispAddressFamily;
45 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.MacAfi;
46 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.NoAddressAfi;
47 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.ServicePathIdType;
48 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.ServicePathLcaf;
49 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.SimpleAddress;
50 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.SourceDestKeyLcaf;
51 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.Address;
52 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.DistinguishedName;
53 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.ExplicitLocatorPath;
54 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.Ipv4;
55 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.Ipv4Builder;
56 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.Ipv6;
57 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.Ipv6Builder;
58 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.KeyValueAddress;
59 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.Mac;
60 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.MacBuilder;
61 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.NoAddress;
62 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.explicit.locator.path.explicit.locator.path.Hop;
63 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.service.path.ServicePath;
64 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.source.dest.key.SourceDestKey;
65 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.source.dest.key.SourceDestKeyBuilder;
66 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev100924.MacAddress;
67 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.inet.binary.types.rev160303.Ipv4AddressBinary;
68 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.inet.binary.types.rev160303.Ipv6AddressBinary;
69 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.binary.address.types.rev160504.Ipv4BinaryAfi;
70 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.binary.address.types.rev160504.Ipv4PrefixBinaryAfi;
71 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.binary.address.types.rev160504.Ipv6BinaryAfi;
72 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.binary.address.types.rev160504.Ipv6PrefixBinaryAfi;
73 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.binary.address.types.rev160504.augmented.lisp.address.address.Ipv4Binary;
75 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.binary.address.types.rev160504.augmented.lisp.address
76 .address.Ipv4BinaryBuilder;
77 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.binary.address.types.rev160504.augmented.lisp.address
78 .address.Ipv4PrefixBinary;
79 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.binary.address.types.rev160504.augmented.lisp.address
80 .address.Ipv4PrefixBinaryBuilder;
81 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.binary.address.types.rev160504.augmented.lisp.address.address.Ipv6Binary;
83 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.binary.address.types.rev160504.augmented.lisp.address
84 .address.Ipv6BinaryBuilder;
85 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.binary.address.types.rev160504.augmented.lisp.address
86 .address.Ipv6PrefixBinary;
87 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.binary.address.types.rev160504.augmented.lisp.address
88 .address.Ipv6PrefixBinaryBuilder;
89 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.eid.container.Eid;
90 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.eid.container.EidBuilder;
91 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.locatorrecords.LocatorRecord;
92 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.rloc.container.Rloc;
94 import com.google.common.net.InetAddresses;
96 public class LispAddressUtilTest {
99 private static final char[] DUMMY_CHARACTER_ARRAY_TEST = new char[]{'a', 'b', 'c', 'd'};
100 private static final Long NUMBER_TEST = 5L;
102 private static final String MAC_ADDRESS_VALUE_TEST = "aa:bb:cc:dd:ee:ff";
103 private static final MacAddress MAC_ADDRESS_TEST = new MacAddress("aa:bb:cc:dd:ee:ff");
105 private static final byte[] IPV4_ADDRESS_BYTES_A_TEST = new byte[]{(byte) 192, (byte) 168, 1, 1};
106 private static final byte[] IPV4_ADDRESS_BYTES_B_TEST = new byte[]{(byte) 192, (byte) 168, 1, 2};
108 private static final short MASK_OK_TEST = 30;
109 private static final short MASK_OK_DEFAULT_IPV4_TEST = 32;
110 private static final short MASK_OK_DEFAULT_IPV6_TEST = 128;
112 private static final Long AS_NUMBER_TEST = 100L;
113 private static final Long INSTANCE_ID_TYPE_VALUE_TEST = 121L;
114 private static final Short INSTANCE_ID_TYPE_VALUE_SHORT_TEST = 122;
115 private static final InstanceIdType INSTANCE_ID_TYPE_TEST = new InstanceIdType(INSTANCE_ID_TYPE_VALUE_TEST);
116 private static final String INCORRECT_IP_ADDRESS_TEST = "incorrect ip address";
118 private static final String IPV4_ADDRESS_VALUE_TEST = "192.168.1.1";
119 private static final String IPV4_ADDRESS_PREFIX_VALUE_TEST = IPV4_ADDRESS_VALUE_TEST + "/" + MASK_OK_TEST;
120 private static final Ipv4Address IPV4_ADDRESS_TEST = new Ipv4Address(IPV4_ADDRESS_VALUE_TEST);
121 private static final Ipv4AddressBinary IPV4_ADDRESS_BINARY_TEST = new Ipv4AddressBinary(IPV4_ADDRESS_BYTES_A_TEST);
122 private static final Ipv4Binary IPV4_BINARY = new Ipv4BinaryBuilder()
123 .setIpv4Binary(IPV4_ADDRESS_BINARY_TEST).build();
124 private static final IpAddress IP_ADDRESS_OBJECT_WITH_IPV4_TEST = new IpAddress(IPV4_ADDRESS_TEST);
125 private static final Ipv4Prefix IPV4_ADDRESS_PREFIX_TEST = new Ipv4Prefix(IPV4_ADDRESS_PREFIX_VALUE_TEST);
126 private static final Ipv4PrefixBinary IPV4_ADDRESS_PREFIX_BINARY = new Ipv4PrefixBinaryBuilder()
127 .setIpv4AddressBinary(new Ipv4AddressBinary(IPV4_ADDRESS_BYTES_A_TEST))
128 .setIpv4MaskLength(MASK_OK_TEST).build();
129 private static final IpPrefix IP_ADDRESS_PREFIX_WITH_IPV4_TEST = new IpPrefix(IPV4_ADDRESS_PREFIX_TEST);
130 private static final Eid IPV4_ADDRESS_PREFIX_BINARY_EID = new EidBuilder()
131 .setAddress(IPV4_ADDRESS_PREFIX_BINARY)
132 .setVirtualNetworkId(INSTANCE_ID_TYPE_TEST).build();
134 private static final byte[] IPV6_ADDRESS_BYTES_A_TEST = new byte[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
136 private static final byte[] IPV6_ADDRESS_BYTES_B_TEST = new byte[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
138 private static final String IPV6_ADDRESS_VALUE_TEST = "102:304:506:708:90a:b0c:d0e:f10";
139 private static final String IPV6_ADDRESS_PREFIX_VALUE_TEST = IPV6_ADDRESS_VALUE_TEST + "/" + MASK_OK_TEST;
140 private static final Ipv6Prefix IPV6_ADDRESS_PREFIX_TEST = new Ipv6Prefix(IPV6_ADDRESS_PREFIX_VALUE_TEST);
141 private static final Ipv6Address IPV6_ADDRESS_TEST = new Ipv6Address(IPV6_ADDRESS_VALUE_TEST);
142 private static final Ipv6AddressBinary IPV6_ADDRESS_BINARY_TEST = new Ipv6AddressBinary(IPV6_ADDRESS_BYTES_A_TEST);
143 private static final Ipv6Binary IPV6_BINARY = new Ipv6BinaryBuilder()
144 .setIpv6Binary(IPV6_ADDRESS_BINARY_TEST).build();
145 private static final IpPrefix IP_ADDRESS_PREFIX_WITH_IPV6_TEST = new IpPrefix(IPV6_ADDRESS_PREFIX_TEST);
146 private static final IpAddress IP_ADDRESS_OBJECT_WITH_IPV6_TEST = new IpAddress(IPV6_ADDRESS_TEST);
147 private static final Ipv6PrefixBinary IPV6_ADDRESS_PREFIX_BINARY = new Ipv6PrefixBinaryBuilder()
148 .setIpv6AddressBinary(new Ipv6AddressBinary(IPV6_ADDRESS_BYTES_A_TEST))
149 .setIpv6MaskLength(MASK_OK_TEST).build();
150 private static final Eid IPV6_ADDRESS_PREFIX_BINARY_EID = new EidBuilder()
151 .setAddress(IPV6_ADDRESS_PREFIX_BINARY)
152 .setVirtualNetworkId(INSTANCE_ID_TYPE_TEST).build();
154 private static final Short SERVICE_INDEX_TEST = 45;
155 private static final Long DUMMY_SERVICE_PATH_ID_TYPE = 46L;
156 private static final String DISTINGUISHED_NAME_TYPE_VALUE_TEST = "dummy distinguished name type";
157 private static final String DISTINGUISHED_NAME_TYPE_VALUE_WITH_MAC_TEST = MAC_ADDRESS_VALUE_TEST;
158 private static final DistinguishedNameType DISTINGUISHED_NAME_TYPE_TEST = new DistinguishedNameType
159 (DISTINGUISHED_NAME_TYPE_VALUE_TEST);
161 private static final SimpleAddress SIMPLE_ADDRESS_A_TEST = new SimpleAddress(IP_ADDRESS_OBJECT_WITH_IPV4_TEST);
162 private static final SimpleAddress SIMPLE_ADDRESS_B_TEST = new SimpleAddress(MAC_ADDRESS_TEST);
163 private static final String SIMPLE_ADDRESS_DISTINGUISHED_VALUE_TEST = DISTINGUISHED_NAME_TYPE_VALUE_TEST;
164 private static final SimpleAddress SIMPLE_ADDRESS_DISTINGUISHED_TEST = new SimpleAddress(new DistinguishedNameType
165 (SIMPLE_ADDRESS_DISTINGUISHED_VALUE_TEST));
166 private static final SimpleAddress SIMPLE_ADDRESS_WITH_IP_PREFIX_IPV4_TEST = new SimpleAddress
167 (IP_ADDRESS_PREFIX_WITH_IPV4_TEST);
168 private static final SimpleAddress SIMPLE_ADDRESS_WITH_IP_PREFIX_IPV6_TEST = new SimpleAddress
169 (IP_ADDRESS_PREFIX_WITH_IPV6_TEST);
170 private static final Long SERVICE_PATH_ID_TEST = 2121L;
173 * Tests {@link LispAddressUtil#addressTypeFromSimpleAddress} and {@link
174 * LispAddressUtil#addressFromSimpleAddress} methods
178 public void addressFromSimpleAddressTest_asAnyIpAddress() {
179 final Class<? extends LispAddressFamily> addressClass = LispAddressUtil.addressTypeFromSimpleAddress
180 (SIMPLE_ADDRESS_A_TEST);
181 assertEquals(Ipv4BinaryAfi.class, addressClass);
183 final Address address = LispAddressUtil.addressFromSimpleAddress(SIMPLE_ADDRESS_A_TEST);
184 assertTrue(address instanceof Ipv4Binary);
188 * Tests {@link LispAddressUtil#addressTypeFromSimpleAddress} and {@link
189 * LispAddressUtil#addressFromSimpleAddress} methods
193 public void addressFromSimpleAddressTest_asIpPrefix() {
194 final SimpleAddress simpleAddress = new SimpleAddress(new IpPrefix(new Ipv4Prefix(
195 IPV4_ADDRESS_PREFIX_VALUE_TEST)));
196 final Class<? extends LispAddressFamily> addressClass = LispAddressUtil.addressTypeFromSimpleAddress
198 assertEquals(Ipv4PrefixAfi.class, addressClass);
200 final Address address = LispAddressUtil.addressFromSimpleAddress(simpleAddress);
201 assertTrue(address instanceof org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address
202 .types.rev151105.lisp.address.address.Ipv4Prefix);
206 * Tests {@link LispAddressUtil#addressTypeFromSimpleAddress} and {@link
207 * LispAddressUtil#addressFromSimpleAddress} methods
211 public void addressFromSimpleAddressTest_asMacAddress() {
212 final SimpleAddress simpleAddress = new SimpleAddress(new MacAddress(MAC_ADDRESS_VALUE_TEST));
213 final Class<? extends LispAddressFamily> addressClass = LispAddressUtil.addressTypeFromSimpleAddress
215 assertEquals(MacAfi.class, addressClass);
217 final Address address = LispAddressUtil.addressFromSimpleAddress(simpleAddress);
218 assertTrue(address instanceof Mac);
222 * Tests {@link LispAddressUtil#addressTypeFromSimpleAddress} and {@link
223 * LispAddressUtil#addressFromSimpleAddress} methods
224 * with general address
227 public void addressFromSimpleAddressTest_asAddress() {
228 final SimpleAddress simpleAddress = new SimpleAddress(DUMMY_CHARACTER_ARRAY_TEST);
229 final Class<? extends LispAddressFamily> addressClass = LispAddressUtil.addressTypeFromSimpleAddress
231 assertEquals(DistinguishedNameAfi.class, addressClass);
233 final Address address = LispAddressUtil.addressFromSimpleAddress(simpleAddress);
234 assertTrue(address instanceof DistinguishedName);
238 * Tests {@link LispAddressUtil#addressTypeFromSimpleAddress} and {@link
239 * LispAddressUtil#addressFromSimpleAddress} methods
240 * with address as number
243 public void addressFromSimpleAddressTest_asNumber() {
244 final SimpleAddress simpleAddress = new SimpleAddress(new AsNumber(NUMBER_TEST));
245 final Class<? extends LispAddressFamily> addressClass = LispAddressUtil.addressTypeFromSimpleAddress
247 assertEquals(AsNumberAfi.class, addressClass);
249 final Address address = LispAddressUtil.addressFromSimpleAddress(simpleAddress);
250 assertTrue(address instanceof org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address
251 .types.rev151105.lisp.address.address.AsNumber);
255 * Tests {@link LispAddressUtil#addressFromInet(InetAddress)} and {@link LispAddressUtil#addressTypeFromInet
257 * methods with ipv4 address
259 * @throws UnknownHostException
262 public void addressFromInet_ipv4() throws UnknownHostException {
263 final InetAddress ipv4InetAddress = Inet4Address.getByAddress(IPV4_ADDRESS_BYTES_A_TEST);
264 final Class<? extends LispAddressFamily> addressClass = LispAddressUtil.addressTypeFromInet(ipv4InetAddress);
265 assertEquals(Ipv4Afi.class, addressClass);
267 final Address address = LispAddressUtil.addressFromInet(ipv4InetAddress);
268 assertTrue(address instanceof Ipv4);
269 assertEquals(IPV4_ADDRESS_VALUE_TEST, ((Ipv4) address).getIpv4().getValue());
273 * Tests {@link LispAddressUtil#addressFromInet(InetAddress)} and {@link LispAddressUtil#addressTypeFromInet
275 * methods with ipv6 address
277 * @throws UnknownHostException
280 public void addressFromInet_ipv6() throws UnknownHostException {
281 final InetAddress ipv6InetAddress = Inet6Address.getByAddress(IPV6_ADDRESS_BYTES_A_TEST);
282 final Class<? extends LispAddressFamily> addressClass = LispAddressUtil.addressTypeFromInet(ipv6InetAddress);
283 assertEquals(Ipv6Afi.class, addressClass);
285 final Address address = LispAddressUtil.addressFromInet(ipv6InetAddress);
286 assertTrue(address instanceof Ipv6);
287 assertEquals(IPV6_ADDRESS_VALUE_TEST, ((Ipv6) address).getIpv6().getValue());
291 * Tests {@link LispAddressUtil#addressFromIpAddress(IpAddress)} and {@link
292 * LispAddressUtil#addressTypeFromIpAddress(IpAddress)}
293 * methods with ipv4 address
296 public void addressFromIpAddress_ipv4() {
297 final IpAddress ipv4Address = new IpAddress(IPV4_ADDRESS_TEST);
298 final Class<? extends LispAddressFamily> addressClass = LispAddressUtil.addressTypeFromIpAddress(ipv4Address);
299 assertEquals(Ipv4Afi.class, addressClass);
301 final Address address = LispAddressUtil.addressFromIpAddress(ipv4Address);
302 assertTrue(address instanceof Ipv4);
303 assertEquals(IPV4_ADDRESS_VALUE_TEST, ((Ipv4) address).getIpv4().getValue());
307 * Tests {@link LispAddressUtil#addressFromIpAddress(IpAddress)} and {@link
308 * LispAddressUtil#addressTypeFromIpAddress(IpAddress)}
309 * methods with ipv6 address
312 public void addressFromIpAddress_ipv6() {
313 final IpAddress ipv6Address = new IpAddress(new Ipv6Address(IPV6_ADDRESS_VALUE_TEST));
314 final Class<? extends LispAddressFamily> addressClass = LispAddressUtil.addressTypeFromIpAddress(ipv6Address);
315 assertEquals(Ipv6Afi.class, addressClass);
317 final Address address = LispAddressUtil.addressFromIpAddress(ipv6Address);
318 assertTrue(address instanceof Ipv6);
319 assertEquals(IPV6_ADDRESS_VALUE_TEST, ((Ipv6) address).getIpv6().getValue());
323 * Tests {@link LispAddressUtil#addressFromIpAddress(IpAddress)} and {@link
324 * LispAddressUtil#addressTypeFromIpAddress(IpAddress)}
325 * methods with null value instead off address.
328 public void addressFromIpAddress_null() {
329 final Class<? extends LispAddressFamily> addressClass = LispAddressUtil.addressTypeFromIpAddress(null);
330 assertNull(addressClass);
332 final Address address = LispAddressUtil.addressFromIpAddress(null);
337 * Tests {@link LispAddressUtil#binaryAddressFromIpAddress(IpAddress)} and {@link
338 * LispAddressUtil#binaryAddressTypeFromIpAddress(IpAddress)}
339 * methods with Ipv4Binary address.
342 public void binaryAddressFromIpAddress_Ipv4Binary() {
343 final IpAddress ipv4Address = new IpAddress(new Ipv4Address(IPV4_ADDRESS_VALUE_TEST));
344 final Class<? extends LispAddressFamily> addressClass = LispAddressUtil
345 .binaryAddressTypeFromIpAddress(ipv4Address);
346 assertEquals(Ipv4BinaryAfi.class, addressClass);
348 final Address address = LispAddressUtil.binaryAddressFromIpAddress(ipv4Address);
349 assertEquals(IPV4_BINARY, address);
353 * Tests {@link LispAddressUtil#binaryAddressFromIpAddress(IpAddress)} and {@link
354 * LispAddressUtil#binaryAddressTypeFromIpAddress(IpAddress)}
355 * methods with Ipv6Binary address.
358 public void binaryAddressFromIpAddress_Ipv6Binary() {
359 final IpAddress ipv6Address = new IpAddress(new Ipv6Address(IPV6_ADDRESS_VALUE_TEST));
360 final Class<? extends LispAddressFamily> addressClass = LispAddressUtil
361 .binaryAddressTypeFromIpAddress(ipv6Address);
362 assertEquals(Ipv6BinaryAfi.class, addressClass);
364 final Address address = LispAddressUtil.binaryAddressFromIpAddress(ipv6Address);
365 assertEquals(IPV6_BINARY, address);
369 * Tests {@link LispAddressUtil#binaryAddressFromIpAddress(IpAddress)} and {@link
370 * LispAddressUtil#binaryAddressTypeFromIpAddress(IpAddress)}
371 * methods with Ipv6Binary address.
374 public void binaryAddressFromIpAddress_null() {
375 final Class<? extends LispAddressFamily> addressClass = LispAddressUtil.binaryAddressTypeFromIpAddress(null);
376 assertNull(addressClass);
378 final Address address = LispAddressUtil.binaryAddressFromIpAddress(null);
383 * Tests {@link LispAddressUtil#addressFromIpPrefix(IpPrefix)} and {@link
384 * LispAddressUtil#addressTypeFromIpPrefix(IpPrefix)}
385 * methods with ipv4 address
388 public void addressFromIpPrefix_ipv4() {
389 IpPrefix ipv4Prefix = new IpPrefix(new Ipv4Prefix(IPV4_ADDRESS_PREFIX_VALUE_TEST));
390 final Class<? extends LispAddressFamily> addressClass = LispAddressUtil.addressTypeFromIpPrefix(ipv4Prefix);
391 assertEquals(Ipv4PrefixAfi.class, addressClass);
393 final Address address = LispAddressUtil.addressFromIpPrefix(ipv4Prefix);
394 assertTrue(address instanceof org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.
395 types.rev151105.lisp.address.address.Ipv4Prefix);
396 assertEquals(IPV4_ADDRESS_PREFIX_VALUE_TEST, ((org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.
397 lisp.address.types.rev151105.lisp.address.address.Ipv4Prefix) address).getIpv4Prefix().getValue());
401 * Tests {@link LispAddressUtil#addressFromIpPrefix(IpPrefix)} and {@link
402 * LispAddressUtil#addressTypeFromIpPrefix(IpPrefix)}
403 * methods with ipv6 address
406 public void addressFromIpPrefix_ipv6() {
407 IpPrefix ipv6Address = new IpPrefix(new Ipv6Prefix(IPV6_ADDRESS_PREFIX_VALUE_TEST));
408 final Class<? extends LispAddressFamily> addressClass = LispAddressUtil.addressTypeFromIpPrefix(ipv6Address);
409 assertEquals(Ipv6PrefixAfi.class, addressClass);
411 final Address address = LispAddressUtil.addressFromIpPrefix(ipv6Address);
412 assertTrue(address instanceof org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address
413 .types.rev151105.lisp.address.address.Ipv6Prefix);
414 assertEquals(IPV6_ADDRESS_PREFIX_VALUE_TEST,
415 ((org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp
416 .address.address.Ipv6Prefix) address).getIpv6Prefix().getValue());
420 * Tests {@link LispAddressUtil#addressFromIpPrefix(IpPrefix)} and {@link LispAddressUtil#addressTypeFromIpPrefix
422 * methods with null value instead off address.
425 public void addressFromIpPrefix_null() {
426 final Class<? extends LispAddressFamily> addressClass = LispAddressUtil.addressTypeFromIpPrefix(null);
427 assertNull(addressClass);
429 final Address address = LispAddressUtil.addressFromIpPrefix(null);
434 * Tests {@link LispAddressUtil#addressFromMacAddress(MacAddress)} methods with mac address.
437 public void addressFromMacAddress_mac() {
438 final Address address = LispAddressUtil.addressFromMacAddress(new MacAddress(MAC_ADDRESS_VALUE_TEST));
439 assertTrue(address instanceof Mac);
440 assertEquals(MAC_ADDRESS_VALUE_TEST, ((Mac) address).getMac().getValue());
444 * Tests {@link LispAddressUtil#addressFromMacAddress(MacAddress)} methods with null instead of address.
447 public void addressFromMacAddress_null() {
448 final Address address = LispAddressUtil.addressFromMacAddress(null);
454 * Test {@link LispAddressUtil#addressFromServicePath(ServicePath)} method with concrete servicePath
457 public void addressFromServicePathTest_withServicePath() {
458 org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address
459 .address.service.path.ServicePathBuilder servicePathBuilder = new org.opendaylight.yang.gen.v1.urn.ietf
460 .params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address
461 .address.service.path.ServicePathBuilder();
462 servicePathBuilder.setServiceIndex(SERVICE_INDEX_TEST);
463 servicePathBuilder.setServicePathId(new ServicePathIdType(DUMMY_SERVICE_PATH_ID_TYPE));
465 ServicePath expectedAddress = servicePathBuilder.build();
466 final Address testedAddress = LispAddressUtil.addressFromServicePath(expectedAddress);
467 assertTrue(testedAddress instanceof org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address
468 .types.rev151105.lisp.address.address.ServicePath);
469 assertEquals(expectedAddress, ((org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address
470 .types.rev151105.lisp.address.address.ServicePath) testedAddress).getServicePath());
474 * Test {@link LispAddressUtil#addressFromServicePath(ServicePath)} method with null value
477 public void addressFromServicePathTest_withNull() {
478 final Address testedAddress = LispAddressUtil.addressFromServicePath(null);
479 assertNull(testedAddress);
483 * Test {@link LispAddressUtil#addressFromDistinguishedName(DistinguishedNameType)} method with distinguished name }
486 public void addressFromDistinguishedNameTest_withDistinguishedName() {
487 final DistinguishedNameType distinguishedNameType = new DistinguishedNameType(
488 DISTINGUISHED_NAME_TYPE_VALUE_TEST);
489 final Address testedAddress = LispAddressUtil.addressFromDistinguishedName(distinguishedNameType);
491 assertTrue(testedAddress instanceof DistinguishedName);
492 assertEquals(distinguishedNameType, ((DistinguishedName) testedAddress).getDistinguishedName());
496 * Test {@link LispAddressUtil#addressFromDistinguishedName(DistinguishedNameType)} method with null value }
499 public void addressFromDistinguishedNameTest_withNull() {
500 final Address testedAddress = LispAddressUtil.addressFromDistinguishedName(null);
501 assertNull(testedAddress);
505 * Test {@link LispAddressUtil#addressFromAsNumber(AsNumber)} method with as number value }
508 public void addressFromAsNumberTest_withAdNumber() {
509 final AsNumber expectedAddress = new AsNumber(AS_NUMBER_TEST);
510 final Address testedAddress = LispAddressUtil.addressFromAsNumber(expectedAddress);
511 assertTrue(testedAddress instanceof org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp
512 .address.types.rev151105.lisp.address.address.AsNumber);
513 assertEquals(expectedAddress, ((org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp
514 .address.types.rev151105.lisp.address.address.AsNumber) testedAddress).getAsNumber());
518 * Test {@link LispAddressUtil#addressFromAsNumber(AsNumber)} method with null instead of value }
521 public void addressFromAsNumberTest_withNull() {
522 final Address testedAddress = LispAddressUtil.addressFromAsNumber(null);
523 assertNull(testedAddress);
529 * - {@link LispAddressUtil#toRloc(InetAddress)}
530 * - {@link LispAddressUtil#toRloc(Ipv4Address)}
531 * - {@link LispAddressUtil#toRloc(Ipv6Address)}
532 * - {@link LispAddressUtil#toRloc(SimpleAddress)}
536 public void toRloc() throws UnknownHostException {
537 InetAddress ipv4AddressInet = Inet4Address.getByAddress(IPV4_ADDRESS_BYTES_A_TEST);
538 final Rloc rlocFromInetAddress = LispAddressUtil.toRloc(ipv4AddressInet);
539 assertEquals(Ipv4Afi.class, rlocFromInetAddress.getAddressType());
540 assertEquals(IPV4_ADDRESS_VALUE_TEST, ((Ipv4)rlocFromInetAddress.getAddress()).getIpv4().getValue());
542 final Rloc rlocFromIpv4Address = LispAddressUtil.toRloc(IPV4_ADDRESS_TEST);
543 assertEquals(Ipv4Afi.class, rlocFromIpv4Address.getAddressType());
544 assertEquals(IPV4_ADDRESS_VALUE_TEST, ((Ipv4) rlocFromIpv4Address.getAddress()).getIpv4().getValue());
547 final Rloc rlocFromIpv6Address = LispAddressUtil.toRloc(IPV6_ADDRESS_TEST);
548 assertEquals(Ipv6Afi.class, rlocFromIpv6Address.getAddressType());
549 assertEquals(IPV6_ADDRESS_VALUE_TEST, ((Ipv6) rlocFromIpv6Address.getAddress()).getIpv6().getValue());
551 final Rloc rlocFromSimpleAddress = LispAddressUtil.toRloc(SIMPLE_ADDRESS_A_TEST);
552 assertEquals(Ipv4BinaryAfi.class, rlocFromSimpleAddress.getAddressType());
553 assertEquals(IPV4_ADDRESS_BINARY_TEST, ((Ipv4Binary) rlocFromSimpleAddress.getAddress()).getIpv4Binary());
557 * Test {@link LispAddressUtil#asIpv4Rloc(String)} method with ipv4 or ipv6.
558 * Test {@link LispAddressUtil#asIpv6Rloc(String)} method with ipv4 or ipv6.
561 public void asIpvRloc() {
562 final Rloc rlocFromIpV4 = LispAddressUtil.asIpv4Rloc(IPV4_ADDRESS_VALUE_TEST);
563 assertEquals(Ipv4BinaryAfi.class, rlocFromIpV4.getAddressType());
564 assertEquals(IPV4_ADDRESS_BINARY_TEST, ((Ipv4Binary) rlocFromIpV4.getAddress()).getIpv4Binary());
566 final Rloc rlocFromIpV6 = LispAddressUtil.asIpv6Rloc(IPV6_ADDRESS_VALUE_TEST);
567 assertEquals(Ipv6BinaryAfi.class, rlocFromIpV6.getAddressType());
568 assertEquals(IPV6_ADDRESS_BINARY_TEST, ((Ipv6Binary) rlocFromIpV6.getAddress()).getIpv6Binary());
573 * - {@link LispAddressUtil#toEid(Ipv6Address, InstanceIdType)}
574 * - {@link LispAddressUtil#asIpv6PrefixEid(String)}
575 * - {@link LispAddressUtil#asIpv6PrefixEid(Eid, Inet6Address, short)}
576 * - {@link LispAddressUtil#asIpv6PrefixEid(Ipv6Address, InstanceIdType)}
580 public void toEid_ipv6Prefix() throws UnknownHostException {
581 Eid eidFromIpv6Prefix = LispAddressUtil.toEid(IPV6_ADDRESS_PREFIX_TEST, INSTANCE_ID_TYPE_TEST);
582 verifyToEidWithIpv6Prefix(eidFromIpv6Prefix, true, MASK_OK_TEST, Ipv6PrefixAfi.class);
584 eidFromIpv6Prefix = LispAddressUtil.asIpv6PrefixEid(IPV6_ADDRESS_PREFIX_VALUE_TEST);
585 verifyToEidWithIpv6Prefix(eidFromIpv6Prefix, false, MASK_OK_TEST, Ipv6PrefixAfi.class);
587 eidFromIpv6Prefix = LispAddressUtil.asIpv6PrefixEid(IPV6_ADDRESS_TEST, INSTANCE_ID_TYPE_TEST);
588 verifyToEidWithIpv6Prefix(eidFromIpv6Prefix, true, MASK_OK_DEFAULT_IPV6_TEST, Ipv6PrefixAfi.class);
594 * - {@link LispAddressUtil#toEid(MacAddress, InstanceIdType)}
595 * - {@link LispAddressUtil#asMacEid(String)}
596 * - {@link LispAddressUtil#asMacEid(String, long)}
600 public void toEid_mac() {
601 Eid eidFromMac = LispAddressUtil.toEid(MAC_ADDRESS_TEST, INSTANCE_ID_TYPE_TEST);
602 verifyToEidWithMacAddress(eidFromMac, true);
604 eidFromMac = LispAddressUtil.asMacEid(MAC_ADDRESS_VALUE_TEST);
605 verifyToEidWithMacAddress(eidFromMac, false);
607 eidFromMac = LispAddressUtil.asMacEid(MAC_ADDRESS_VALUE_TEST, INSTANCE_ID_TYPE_VALUE_TEST);
608 verifyToEidWithMacAddress(eidFromMac, true);
613 * - {@link LispAddressUtil#toEid(Ipv6Address, InstanceIdType)}
614 * - {@link LispAddressUtil#toEid(Ipv6AddressBinary, InstanceIdType)}
615 * - {@link LispAddressUtil#asIpv6Eid(String)}
616 * - {@link LispAddressUtil#asIpv6Eid(String, long)}
620 public void toEid_ipv6() {
621 Eid eidFromIpv6 = LispAddressUtil.toEid(IPV6_ADDRESS_TEST, INSTANCE_ID_TYPE_TEST);
622 verifyToEidWithIpv6(eidFromIpv6, true);
624 eidFromIpv6 = LispAddressUtil.toEid(IPV6_ADDRESS_BINARY_TEST, INSTANCE_ID_TYPE_TEST);
625 verifyToEidWithIpv6Binary(eidFromIpv6, true);
627 eidFromIpv6 = LispAddressUtil.asIpv6Eid(IPV6_ADDRESS_VALUE_TEST);
628 verifyToEidWithIpv6Binary(eidFromIpv6, false);
630 eidFromIpv6 = LispAddressUtil.asIpv6Eid(IPV6_ADDRESS_VALUE_TEST, INSTANCE_ID_TYPE_VALUE_TEST);
631 verifyToEidWithIpv6Binary(eidFromIpv6, true);
636 * - {@link LispAddressUtil#toEid(Ipv4Prefix, InstanceIdType)}
637 * - {@link LispAddressUtil#asIpv4PrefixEid(String)}
638 * - {@link LispAddressUtil#asIpv4PrefixEid(Eid, Inet4Address, short)}
639 * - {@link LispAddressUtil#asIpv4PrefixEid(Ipv4Address, InstanceIdType)} }
643 public void toEid_ipv4Prefix() throws UnknownHostException {
644 Eid eidFromIpv4Prefix = LispAddressUtil.toEid(IPV4_ADDRESS_PREFIX_TEST, INSTANCE_ID_TYPE_TEST);
645 verifyToEidWithIpv4Prefix(eidFromIpv4Prefix, true, MASK_OK_TEST, Ipv4PrefixAfi.class);
647 eidFromIpv4Prefix = LispAddressUtil.asIpv4PrefixEid(IPV4_ADDRESS_PREFIX_VALUE_TEST);
648 verifyToEidWithIpv4Prefix(eidFromIpv4Prefix, false, MASK_OK_TEST, Ipv4PrefixAfi.class);
650 eidFromIpv4Prefix = LispAddressUtil.asIpv4PrefixEid(IPV4_ADDRESS_TEST, INSTANCE_ID_TYPE_TEST);
655 * - {@link LispAddressUtil#toEid(Ipv4PrefixBinary, InstanceIdType)}
656 * - {@link LispAddressUtil#asIpv4PrefixBinaryEid(String)}
657 * - {@link LispAddressUtil#asIpv4PrefixBinaryEid(String, InstanceIdType)}
658 * - {@link LispAddressUtil#asIpv4PrefixBinaryEid(Eid, byte[], short)}
662 public void toEid_ipv4PrefixBinary() {
663 Eid eidFromIpv4PrefixBinary = LispAddressUtil.toEid(IPV4_ADDRESS_PREFIX_BINARY, INSTANCE_ID_TYPE_TEST);
664 verifyToEidWithIpv4PrefixBinary(eidFromIpv4PrefixBinary, true, MASK_OK_TEST, Ipv4PrefixBinaryAfi.class);
666 eidFromIpv4PrefixBinary = LispAddressUtil.asIpv4PrefixBinaryEid(IPV4_ADDRESS_PREFIX_VALUE_TEST);
667 verifyToEidWithIpv4PrefixBinary(eidFromIpv4PrefixBinary, false, MASK_OK_TEST, Ipv4PrefixBinaryAfi.class);
669 eidFromIpv4PrefixBinary = LispAddressUtil.asIpv4PrefixBinaryEid(IPV4_ADDRESS_PREFIX_VALUE_TEST,
670 INSTANCE_ID_TYPE_TEST);
671 verifyToEidWithIpv4PrefixBinary(eidFromIpv4PrefixBinary, true, MASK_OK_TEST, Ipv4PrefixBinaryAfi.class);
673 eidFromIpv4PrefixBinary = LispAddressUtil.asIpv4PrefixBinaryEid(IPV4_ADDRESS_PREFIX_BINARY_EID,
674 IPV4_ADDRESS_BYTES_A_TEST, MASK_OK_TEST);
675 verifyToEidWithIpv4PrefixBinary(eidFromIpv4PrefixBinary, true, MASK_OK_TEST, Ipv4PrefixBinaryAfi.class);
680 * - {@link LispAddressUtil#toEid(Ipv6PrefixBinary, InstanceIdType)}
681 * - {@link LispAddressUtil#asIpv6PrefixBinaryEid(String)}
682 * - {@link LispAddressUtil#asIpv6PrefixBinaryEid(String, InstanceIdType)}
683 * - {@link LispAddressUtil#asIpv6PrefixBinaryEid(Eid, byte[], short)}
687 public void toEid_ipv6PrefixBinary() {
688 Eid eidFromIpv6PrefixBinary = LispAddressUtil.toEid(IPV6_ADDRESS_PREFIX_BINARY, INSTANCE_ID_TYPE_TEST);
689 verifyToEidWithIpv6PrefixBinary(eidFromIpv6PrefixBinary, true, MASK_OK_TEST, Ipv6PrefixBinaryAfi.class);
691 eidFromIpv6PrefixBinary = LispAddressUtil.asIpv6PrefixBinaryEid(IPV6_ADDRESS_PREFIX_VALUE_TEST);
692 verifyToEidWithIpv6PrefixBinary(eidFromIpv6PrefixBinary, false, MASK_OK_TEST, Ipv6PrefixBinaryAfi.class);
694 eidFromIpv6PrefixBinary = LispAddressUtil.asIpv6PrefixBinaryEid(IPV6_ADDRESS_PREFIX_VALUE_TEST,
695 INSTANCE_ID_TYPE_TEST);
696 verifyToEidWithIpv6PrefixBinary(eidFromIpv6PrefixBinary, true, MASK_OK_TEST, Ipv6PrefixBinaryAfi.class);
698 eidFromIpv6PrefixBinary = LispAddressUtil.asIpv6PrefixBinaryEid(IPV6_ADDRESS_PREFIX_BINARY_EID,
699 IPV6_ADDRESS_BYTES_A_TEST, MASK_OK_TEST);
700 verifyToEidWithIpv6PrefixBinary(eidFromIpv6PrefixBinary, true, MASK_OK_TEST, Ipv6PrefixBinaryAfi.class);
703 public Eid provideDummyMacEid() {
704 final EidBuilder eidBuilder = new EidBuilder();
705 eidBuilder.setAddressType(MacAfi.class);
706 eidBuilder.setVirtualNetworkId(INSTANCE_ID_TYPE_TEST);
707 return eidBuilder.build();
712 * - {@link LispAddressUtil#toEid(Ipv4Address, InstanceIdType)}
713 * - {@link LispAddressUtil#toEid(Ipv4AddressBinary, InstanceIdType)}
714 * - {@link LispAddressUtil#asIpv4Eid(String)}
715 * - {@link LispAddressUtil#asIpv4Eid(String, long)}
719 public void toEid_ipv4() {
720 Eid eidFromIpv4 = LispAddressUtil.toEid(IPV4_ADDRESS_TEST, INSTANCE_ID_TYPE_TEST);
721 verifyToEidWithIpv4(eidFromIpv4, true);
723 eidFromIpv4 = LispAddressUtil.toEid(IPV4_ADDRESS_BINARY_TEST, INSTANCE_ID_TYPE_TEST);
724 verifyToEidWithIpv4Binary(eidFromIpv4, true);
726 eidFromIpv4 = LispAddressUtil.asIpv4Eid(IPV4_ADDRESS_VALUE_TEST);
727 verifyToEidWithIpv4Binary(eidFromIpv4, false);
729 eidFromIpv4 = LispAddressUtil.asIpv4Eid(IPV4_ADDRESS_VALUE_TEST, INSTANCE_ID_TYPE_VALUE_TEST);
730 verifyToEidWithIpv4Binary(eidFromIpv4, true);
735 * - {@link LispAddressUtil#toEid(IpPrefix, InstanceIdType)}
739 public void toEid_ipPrefix() {
740 final Eid eidFromIpPrefix = LispAddressUtil.toEid(IP_ADDRESS_PREFIX_WITH_IPV4_TEST, INSTANCE_ID_TYPE_TEST);
741 verifyToEidWithIpv4Prefix(eidFromIpPrefix, true, MASK_OK_TEST, Ipv4PrefixAfi.class);
746 * - {@link LispAddressUtil#toEid(DistinguishedNameType, InstanceIdType)}
747 * - {@link LispAddressUtil#asDistinguishedNameEid(String)}
748 * - {@link LispAddressUtil#asDistinguishedNameEid(String, long)}
749 * methods with various input.
752 public void toEid_distinguishedName() {
753 Eid eidFromDistinguishedName = LispAddressUtil.toEid(DISTINGUISHED_NAME_TYPE_TEST, INSTANCE_ID_TYPE_TEST);
754 verifyToEidWithDistinguishedName(eidFromDistinguishedName, true);
756 eidFromDistinguishedName = LispAddressUtil.asDistinguishedNameEid(DISTINGUISHED_NAME_TYPE_VALUE_TEST);
757 verifyToEidWithDistinguishedName(eidFromDistinguishedName, false);
759 eidFromDistinguishedName = LispAddressUtil.asDistinguishedNameEid
760 (DISTINGUISHED_NAME_TYPE_VALUE_WITH_MAC_TEST, INSTANCE_ID_TYPE_VALUE_TEST);
761 verifyToEidWithMacAddress(eidFromDistinguishedName, true);
764 private void verifyToEidWithIpv6Prefix(final Eid eidFromIpv6Prefix, final boolean isVniChecked, short
765 expectedMask, final Class<? extends org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp
766 .address.types.rev151105.LispAddressFamily> addressType) {
767 assertEquals(addressType, eidFromIpv6Prefix.getAddressType());
769 assertEquals(INSTANCE_ID_TYPE_TEST, eidFromIpv6Prefix.getVirtualNetworkId());
771 assertEquals(IPV6_ADDRESS_VALUE_TEST + "/" + expectedMask, ((org.opendaylight.yang.gen.v1.urn.ietf.params.xml
772 .ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.Ipv6Prefix) eidFromIpv6Prefix
773 .getAddress()).getIpv6Prefix().getValue());
776 private void verifyToEidWithIpv6PrefixBinary(final Eid eidFromIpv6PrefixBinary, final boolean isVniChecked, short
777 expectedMask, final Class<? extends org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp
778 .address.types.rev151105.LispAddressFamily> addressType) {
779 assertEquals(addressType, eidFromIpv6PrefixBinary.getAddressType());
781 assertEquals(INSTANCE_ID_TYPE_TEST, eidFromIpv6PrefixBinary.getVirtualNetworkId());
783 assertArrayEquals(IPV6_ADDRESS_BYTES_A_TEST, ((Ipv6PrefixBinary) eidFromIpv6PrefixBinary
784 .getAddress()).getIpv6AddressBinary().getValue());
785 assertEquals(expectedMask,
786 (short) ((Ipv6PrefixBinary) eidFromIpv6PrefixBinary.getAddress()).getIpv6MaskLength());
789 private void verifyToEidWithIpv4(final Eid eidFromIpv4, final boolean isVniChecked) {
790 assertEquals(Ipv4Afi.class, eidFromIpv4.getAddressType());
792 assertEquals(INSTANCE_ID_TYPE_TEST, eidFromIpv4.getVirtualNetworkId());
794 assertEquals(IPV4_ADDRESS_VALUE_TEST, ((Ipv4) eidFromIpv4.getAddress()).getIpv4().getValue());
797 private void verifyToEidWithIpv4Binary(final Eid eidFromIpv4, final boolean isVniChecked) {
798 assertEquals(Ipv4BinaryAfi.class, eidFromIpv4.getAddressType());
800 assertEquals(INSTANCE_ID_TYPE_TEST, eidFromIpv4.getVirtualNetworkId());
802 assertArrayEquals(IPV4_ADDRESS_BYTES_A_TEST,
803 ((Ipv4Binary) eidFromIpv4.getAddress()).getIpv4Binary().getValue());
806 private void verifyToEidWithIpv6(final Eid eidFromIpv6, final boolean isVniChecked) {
807 assertEquals(Ipv6Afi.class, eidFromIpv6.getAddressType());
809 assertEquals(INSTANCE_ID_TYPE_TEST, eidFromIpv6.getVirtualNetworkId());
811 assertEquals(IPV6_ADDRESS_VALUE_TEST, ((Ipv6) eidFromIpv6.getAddress()).getIpv6().getValue());
814 private void verifyToEidWithIpv4Prefix(final Eid eidFromIpv4Prefix, final boolean isVniChecked, short
815 expectedMask, Class<? extends org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address
816 .types.rev151105.LispAddressFamily> addressType) {
817 assertEquals(addressType, eidFromIpv4Prefix.getAddressType());
819 assertEquals(INSTANCE_ID_TYPE_TEST, eidFromIpv4Prefix.getVirtualNetworkId());
821 assertEquals(IPV4_ADDRESS_VALUE_TEST + "/" + expectedMask, ((org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns
823 .lisp.address.types.rev151105.lisp.address.address.Ipv4Prefix) eidFromIpv4Prefix.getAddress())
824 .getIpv4Prefix().getValue());
827 private void verifyToEidWithIpv4PrefixBinary(final Eid eidFromIpv4PrefixBinary, final boolean isVniChecked, short
828 expectedMask, Class<? extends org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address
829 .types.rev151105.LispAddressFamily> addressType) {
830 assertEquals(addressType, eidFromIpv4PrefixBinary.getAddressType());
832 assertEquals(INSTANCE_ID_TYPE_TEST, eidFromIpv4PrefixBinary.getVirtualNetworkId());
834 assertArrayEquals(IPV4_ADDRESS_BYTES_A_TEST,
835 ((Ipv4PrefixBinary) eidFromIpv4PrefixBinary.getAddress()).getIpv4AddressBinary().getValue());
836 assertEquals(expectedMask,
837 (short) ((Ipv4PrefixBinary) eidFromIpv4PrefixBinary.getAddress()).getIpv4MaskLength());
840 private void verifyToEidWithIpv6Binary(final Eid eidFromIpv6, final boolean isVniChecked) {
841 assertEquals(Ipv6BinaryAfi.class, eidFromIpv6.getAddressType());
843 assertEquals(INSTANCE_ID_TYPE_TEST, eidFromIpv6.getVirtualNetworkId());
845 assertArrayEquals(IPV6_ADDRESS_BYTES_A_TEST,
846 ((Ipv6Binary) eidFromIpv6.getAddress()).getIpv6Binary().getValue());
849 private void verifyToEidWithDistinguishedName(final Eid eidFromDistinguishedName, final boolean isVniChecked) {
850 assertEquals(DistinguishedNameAfi.class, eidFromDistinguishedName.getAddressType());
852 assertEquals(INSTANCE_ID_TYPE_TEST, eidFromDistinguishedName.getVirtualNetworkId());
854 assertEquals(DISTINGUISHED_NAME_TYPE_TEST, ((DistinguishedName) eidFromDistinguishedName.getAddress())
855 .getDistinguishedName());
858 private void verifyToEidWithMacAddress(final Eid eidFromMac, final boolean isVniChecked) {
859 assertEquals(MacAfi.class, eidFromMac.getAddressType());
861 assertEquals(INSTANCE_ID_TYPE_TEST, eidFromMac.getVirtualNetworkId());
863 assertEquals(MAC_ADDRESS_VALUE_TEST, ((Mac) eidFromMac.getAddress()).getMac().getValue());
867 * Tests {@link LispAddressUtil#asIpPrefix(String, int)} with ipv4 address and correct mask
870 public void asIpPrefix_ipv4() {
871 final IpPrefix ipPrefix = LispAddressUtil.asIpPrefix(IPV4_ADDRESS_VALUE_TEST, MASK_OK_TEST);
872 assertNotNull(ipPrefix);
873 final Ipv4Prefix ipv4Prefix = ipPrefix.getIpv4Prefix();
874 assertNotNull(ipv4Prefix);
875 assertEquals(IPV4_ADDRESS_PREFIX_TEST, ipv4Prefix);
879 * Tests {@link LispAddressUtil#asIpPrefix(String, int)} with ipv6 address and correct mask
882 public void asIpPrefix_ipv6() {
883 final IpPrefix ipPrefix = LispAddressUtil.asIpPrefix(IPV6_ADDRESS_VALUE_TEST, MASK_OK_TEST);
884 assertNotNull(ipPrefix);
885 final Ipv6Prefix ipv6Prefix = ipPrefix.getIpv6Prefix();
886 assertNotNull(ipv6Prefix);
887 assertEquals(IPV6_ADDRESS_PREFIX_TEST, ipv6Prefix);
891 * Tests {@link LispAddressUtil#asIpPrefix(String, int)} with incorrect ip address and correct mask
894 public void asIpPrefix_other() {
895 final IpPrefix ipPrefix = LispAddressUtil.asIpPrefix(INCORRECT_IP_ADDRESS_TEST, MASK_OK_TEST);
896 assertNull(ipPrefix);
900 * Tests {@link LispAddressUtil#ipVersionFromString(String)} with ipv4
903 public void ipVersionFromString_ipv4() {
904 final int addressType = LispAddressUtil.ipVersionFromString(IPV4_ADDRESS_VALUE_TEST);
905 assertEquals(4, addressType);
909 * Tests {@link LispAddressUtil#ipVersionFromString(String)} with ipv6
912 public void ipVersionFromString_ipv6() {
913 final int addressType = LispAddressUtil.ipVersionFromString(IPV6_ADDRESS_VALUE_TEST);
914 assertEquals(6, addressType);
918 * Tests {@link LispAddressUtil#ipVersionFromString(String)} with incorrect ip address format
921 public void ipVersionFromString_other() {
922 final int addressType = LispAddressUtil.ipVersionFromString(INCORRECT_IP_ADDRESS_TEST);
923 assertEquals(0, addressType);
928 * Tests {@link LispAddressUtil#asKeyValueAddressEid(SimpleAddress, SimpleAddress)} method.
931 public void asKeyValueAddressEid() {
932 final Eid eid = LispAddressUtil.asKeyValueAddressEid(SIMPLE_ADDRESS_A_TEST, SIMPLE_ADDRESS_B_TEST);
933 verifyKeyValueAddress(eid, SIMPLE_ADDRESS_A_TEST);
937 * Tests {@link LispAddressUtil#asKeyValueAddressRloc(SimpleAddress, SimpleAddress)} method.
940 public void asKeyValueAddressRloc() {
941 final Rloc rloc = LispAddressUtil.asKeyValueAddressRloc(SIMPLE_ADDRESS_A_TEST, SIMPLE_ADDRESS_B_TEST);
942 verifyKeyValueAddress(rloc, SIMPLE_ADDRESS_A_TEST);
946 * Tests {@link LispAddressUtil#asKeyValueAddress(String, SimpleAddress)} method.
949 public void asKeyValueAddress() {
950 final Rloc rloc = LispAddressUtil.asKeyValueAddress(SIMPLE_ADDRESS_DISTINGUISHED_VALUE_TEST,
951 SIMPLE_ADDRESS_B_TEST);
952 verifyKeyValueAddress(rloc, SIMPLE_ADDRESS_DISTINGUISHED_TEST);
955 private void verifyKeyValueAddress(final LispAddress lispAddress, final SimpleAddress keyValue) {
956 assertEquals(KeyValueAddressLcaf.class, lispAddress.getAddressType());
957 assertNull(lispAddress.getVirtualNetworkId());
958 final org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105
959 .lisp.address.address.key.value.address.KeyValueAddress keyValueAddress =
960 ((KeyValueAddress) lispAddress.getAddress()).getKeyValueAddress();
961 assertNotNull(keyValueAddress);
962 assertEquals(keyValue, keyValueAddress.getKey());
963 assertEquals(SIMPLE_ADDRESS_B_TEST, keyValueAddress.getValue());
967 * Tests {@link LispAddressUtil#asSrcDst(String, String, int, int)} method.
970 public void asSrcDst() {
971 final SourceDestKey sourceDestKey = LispAddressUtil.asSrcDst(IPV4_ADDRESS_VALUE_TEST,
972 IPV6_ADDRESS_VALUE_TEST, MASK_OK_TEST, MASK_OK_TEST);
973 assertNotNull(sourceDestKey);
974 assertEquals(SIMPLE_ADDRESS_WITH_IP_PREFIX_IPV4_TEST, sourceDestKey.getSource());
975 assertEquals(SIMPLE_ADDRESS_WITH_IP_PREFIX_IPV6_TEST, sourceDestKey.getDest());
979 * Tests {@link LispAddressUtil#asSrcDstEid(String, String, int, int, int)} method.
982 public void asSrcDstEid_addressesAsString() {
983 final Eid srcDstEid = LispAddressUtil.asSrcDstEid(IPV4_ADDRESS_VALUE_TEST,
984 IPV6_ADDRESS_VALUE_TEST, MASK_OK_TEST, MASK_OK_TEST, INSTANCE_ID_TYPE_VALUE_SHORT_TEST);
985 assertNotNull(srcDstEid);
986 assertEquals(SourceDestKeyLcaf.class, srcDstEid.getAddressType());
987 final SourceDestKey sourceDestKey = ((org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns
988 .yang.ietf.lisp.address.types.rev151105.lisp.address.address.SourceDestKey) srcDstEid.getAddress())
990 assertNotNull(sourceDestKey);
991 assertEquals(SIMPLE_ADDRESS_WITH_IP_PREFIX_IPV4_TEST, sourceDestKey.getSource());
992 assertEquals(SIMPLE_ADDRESS_WITH_IP_PREFIX_IPV6_TEST, sourceDestKey.getDest());
996 * Tests {@link LispAddressUtil#asSrcDstEid(SourceDestKey, InstanceIdType)} method.
999 public void asSrcDstEid_addressesAsSrcDstKey() {
1000 final SourceDestKey expectedSourceDestKey = new SourceDestKeyBuilder().setSource
1001 (SIMPLE_ADDRESS_WITH_IP_PREFIX_IPV4_TEST).setDest(SIMPLE_ADDRESS_WITH_IP_PREFIX_IPV6_TEST).build();
1002 final Eid srcDstEid = LispAddressUtil.asSrcDstEid(expectedSourceDestKey, INSTANCE_ID_TYPE_TEST);
1003 assertNotNull(srcDstEid);
1004 assertEquals(SourceDestKeyLcaf.class, srcDstEid.getAddressType());
1005 final SourceDestKey testedSourceDestKey = ((org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns
1006 .yang.ietf.lisp.address.types.rev151105.lisp.address.address.SourceDestKey) srcDstEid.getAddress())
1007 .getSourceDestKey();
1008 assertNotNull(testedSourceDestKey);
1009 assertEquals(SIMPLE_ADDRESS_WITH_IP_PREFIX_IPV4_TEST, testedSourceDestKey.getSource());
1010 assertEquals(SIMPLE_ADDRESS_WITH_IP_PREFIX_IPV6_TEST, testedSourceDestKey.getDest());
1014 * Tests {@link LispAddressUtil#asSrcDstEid(SourceDestKey, InstanceIdType)} method.
1017 public void asTeLcafRloc() {
1018 final List<IpAddress> ipAddresses = Arrays.asList(IP_ADDRESS_OBJECT_WITH_IPV4_TEST,
1019 IP_ADDRESS_OBJECT_WITH_IPV6_TEST);
1020 final Rloc rloc = LispAddressUtil.asTeLcafRloc(ipAddresses);
1021 assertNotNull(rloc);
1022 assertEquals(ExplicitLocatorPathLcaf.class, rloc.getAddressType());
1023 final List<Hop> hops = ((ExplicitLocatorPath) rloc.getAddress()).getExplicitLocatorPath().getHop();
1024 assertEquals(hops.size(), ipAddresses.size());
1026 for(IpAddress ipAddress : ipAddresses) {
1027 assertTrue("Ip address "+ipAddress+"should be part of hops list.",isIpAddressInHops(ipAddress, hops));
1030 for(Hop hop : hops) {
1031 final Hop.LrsBits lrsBits = hop.getLrsBits();
1032 assertFalse(lrsBits.isLookup());
1033 assertFalse(lrsBits.isRlocProbe());
1034 assertFalse(lrsBits.isStrict());
1036 final IpAddress ipAddressFromHop = hop.getAddress().getIpAddress();
1037 assertNotNull(ipAddressFromHop);
1041 private boolean isIpAddressInHops(final IpAddress ipAddress, final List<Hop> hops) {
1042 for (Hop hop : hops) {
1043 if (hop.getAddress().getIpAddress().equals(ipAddress)) {
1051 * Tests {@link LispAddressUtil#asLocatorRecords(List)} method.
1054 public void asLocatorRecords() {
1055 final List<Rloc> expectedRlocs = Arrays.asList(LispAddressUtil.toRloc(IPV4_ADDRESS_TEST), LispAddressUtil.toRloc
1056 (IPV6_ADDRESS_TEST));
1057 final List<LocatorRecord> locatorRecords = LispAddressUtil.asLocatorRecords(expectedRlocs);
1059 assertEquals(expectedRlocs.size(), locatorRecords.size());
1061 for (Rloc rloc : expectedRlocs) {
1062 assertTrue("Rloc " + rloc + " should be part of " +
1063 "locator records list list", isRlocInLocatorRecords(locatorRecords, rloc));
1066 for (LocatorRecord locatorRecord : locatorRecords) {
1067 assertFalse(locatorRecord.isLocalLocator());
1068 assertFalse(locatorRecord.isRlocProbed());
1069 assertTrue(locatorRecord.isRouted());
1070 assertTrue(1 == locatorRecord.getWeight());
1071 assertTrue(1 == locatorRecord.getPriority());
1072 assertTrue(1 == locatorRecord.getMulticastWeight());
1073 assertTrue(1 == locatorRecord.getMulticastPriority());
1074 assertEquals("SFC_LISP", locatorRecord.getLocatorId());
1078 private boolean isRlocInLocatorRecords(final List<LocatorRecord> locatorRecords, final Rloc rloc) {
1079 for (LocatorRecord locatorRecord : locatorRecords) {
1080 if (locatorRecord.getRloc().equals(rloc)) {
1088 * Tests {@link LispAddressUtil#getNoAddressEid()} method.
1091 public void getNoAddressEid() {
1092 final Eid noAddressEid = LispAddressUtil.getNoAddressEid();
1093 assertEquals(NoAddressAfi.class, noAddressEid.getAddressType());
1094 assertNull(noAddressEid.getVirtualNetworkId());
1095 assertTrue(((NoAddress) noAddressEid.getAddress()).isNoAddress());
1099 * Tests {@link LispAddressUtil#ipAddressToByteArray(Address)} method with ipv4 value.
1102 public void ipAddressToByteArray_ipv4() {
1103 final Ipv4 expectedIpv4 = new Ipv4Builder().setIpv4(IPV4_ADDRESS_TEST).build();
1104 final byte[] testedAddress = LispAddressUtil.ipAddressToByteArray(expectedIpv4);
1105 assertArrayEquals(IPV4_ADDRESS_BYTES_A_TEST, testedAddress);
1109 * Tests {@link LispAddressUtil#ipAddressToByteArray(Address)} method with ipv6 value.
1112 public void ipAddressToByteArray_ipv6() {
1113 final Ipv6 expectedIpv6 = new Ipv6Builder().setIpv6(IPV6_ADDRESS_TEST).build();
1114 final byte[] testedAddress = LispAddressUtil.ipAddressToByteArray(expectedIpv6);
1115 assertArrayEquals(IPV6_ADDRESS_BYTES_A_TEST, testedAddress);
1119 * Tests {@link LispAddressUtil#ipAddressToByteArray(Address)} method with ipv4Binary value.
1122 public void ipAddressToByteArray_ipv4Binary() {
1123 final Ipv4Binary expectedIpv4 = new Ipv4BinaryBuilder().setIpv4Binary(IPV4_ADDRESS_BINARY_TEST).build();
1124 final byte[] testedAddress = LispAddressUtil.ipAddressToByteArray(expectedIpv4);
1125 assertArrayEquals(IPV4_ADDRESS_BYTES_A_TEST, testedAddress);
1129 * Tests {@link LispAddressUtil#ipAddressToByteArray(Address)} method with ipv6Binary value.
1132 public void ipAddressToByteArray_ipv6Binary() {
1133 final Ipv6Binary expectedIpv6 = new Ipv6BinaryBuilder().setIpv6Binary(IPV6_ADDRESS_BINARY_TEST).build();
1134 final byte[] testedAddress = LispAddressUtil.ipAddressToByteArray(expectedIpv6);
1135 assertArrayEquals(IPV6_ADDRESS_BYTES_A_TEST, testedAddress);
1139 * Tests {@link LispAddressUtil#ipAddressToByteArray(Address)} method with mac value.
1142 public void ipAddressToByteArray_other() {
1143 final byte[] testedAddress = LispAddressUtil.ipAddressToByteArray(new MacBuilder().build());
1144 assertNull(testedAddress);
1148 * Tests {@link LispAddressUtil#compareIpAddressByteArrays(byte[], byte[])} with all possible combination
1149 * of input parameters to reach 100 % coverage.
1152 public void compareIpAddressByteArrays() throws UnknownHostException {
1153 int comparisonResult = LispAddressUtil.compareIpAddressByteArrays(IPV4_ADDRESS_BYTES_A_TEST,
1154 IPV6_ADDRESS_BYTES_A_TEST);
1155 assertEquals(-1, comparisonResult);
1157 comparisonResult = LispAddressUtil.compareIpAddressByteArrays(IPV6_ADDRESS_BYTES_A_TEST,
1158 IPV4_ADDRESS_BYTES_A_TEST);
1159 assertEquals(1, comparisonResult);
1161 comparisonResult = LispAddressUtil.compareIpAddressByteArrays(IPV4_ADDRESS_BYTES_A_TEST,
1162 IPV4_ADDRESS_BYTES_B_TEST);
1163 assertEquals(-1, comparisonResult);
1165 comparisonResult = LispAddressUtil.compareIpAddressByteArrays(IPV4_ADDRESS_BYTES_B_TEST,
1166 IPV4_ADDRESS_BYTES_A_TEST);
1167 assertEquals(1, comparisonResult);
1169 comparisonResult = LispAddressUtil.compareIpAddressByteArrays(IPV4_ADDRESS_BYTES_B_TEST,
1170 IPV4_ADDRESS_BYTES_B_TEST);
1171 assertEquals(0, comparisonResult);
1173 comparisonResult = LispAddressUtil.compareIpAddressByteArrays(IPV6_ADDRESS_BYTES_A_TEST,
1174 IPV6_ADDRESS_BYTES_B_TEST);
1175 assertEquals(-1, comparisonResult);
1177 comparisonResult = LispAddressUtil.compareIpAddressByteArrays(IPV6_ADDRESS_BYTES_B_TEST,
1178 IPV6_ADDRESS_BYTES_A_TEST);
1179 assertEquals(1, comparisonResult);
1181 comparisonResult = LispAddressUtil.compareIpAddressByteArrays(IPV6_ADDRESS_BYTES_B_TEST,
1182 IPV6_ADDRESS_BYTES_B_TEST);
1183 assertEquals(0, comparisonResult);
1185 comparisonResult = LispAddressUtil.compareIpAddressByteArrays(new byte[]{1, 2, 3, 4, 5},
1186 new byte[]{1, 2, 3, 4, 5});
1187 assertEquals(0, comparisonResult);
1192 * Tests {@link LispAddressUtil#asServicePathEid(long, long, short)} method.
1195 public void asServicePathEid() {
1196 final Eid eid = LispAddressUtil.asServicePathEid(INSTANCE_ID_TYPE_VALUE_TEST, SERVICE_PATH_ID_TEST,
1197 SERVICE_INDEX_TEST);
1200 assertEquals(ServicePathLcaf.class, eid.getAddressType());
1201 assertEquals(INSTANCE_ID_TYPE_TEST, eid.getVirtualNetworkId());
1202 ServicePath servicePath = ((org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.
1203 address.types.rev151105.lisp.address.address.ServicePath) eid.getAddress()).getServicePath();
1204 assertNotNull(servicePath);
1205 assertEquals(SERVICE_INDEX_TEST, servicePath.getServiceIndex());
1206 assertEquals(SERVICE_PATH_ID_TEST, servicePath.getServicePathId().getValue());
1210 * Tests {@link LispAddressUtil#toIpPrefixEid(IpAddress, int)} method.
1213 public void toIpPrefixEid() throws UnknownHostException {
1214 final Eid eid = LispAddressUtil.toIpPrefixEid(IP_ADDRESS_OBJECT_WITH_IPV4_TEST,
1215 INSTANCE_ID_TYPE_VALUE_SHORT_TEST);
1216 verifyEidContainsIpPrefix(eid, MASK_OK_DEFAULT_IPV4_TEST);
1220 * Tests {@link LispAddressUtil#toEidNoVni(IpPrefix)} method.
1223 public void toEidNoVni() {
1224 final Eid eid = LispAddressUtil.toEidNoVni(IP_ADDRESS_PREFIX_WITH_IPV4_TEST);
1225 verifyEidContainsIpPrefix(eid, MASK_OK_TEST);
1228 public void verifyEidContainsIpPrefix(final Eid eid, final short mask) {
1229 final Ipv4Prefix expectedPrefix = new Ipv4Prefix(IPV4_ADDRESS_VALUE_TEST + "/" + mask);
1231 assertTrue(eid.getAddress() instanceof org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp
1232 .address.types.rev151105.lisp.address.address.Ipv4Prefix);
1233 final org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address
1234 .address.Ipv4Prefix address = (org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp
1235 .address.types.rev151105.lisp.address.address.Ipv4Prefix) eid.getAddress();
1236 assertEquals(expectedPrefix, address.getIpv4Prefix());
1240 * Tests {@link LispAddressUtil#asEid(SimpleAddress, InstanceIdType)} method.
1243 public void asEid() {
1244 final Eid eid = LispAddressUtil.asEid(SIMPLE_ADDRESS_A_TEST, INSTANCE_ID_TYPE_TEST);
1246 assertEquals(Ipv4BinaryAfi.class, eid.getAddressType());
1247 final Ipv4Binary address = (Ipv4Binary) eid.getAddress();
1248 assertArrayEquals(InetAddresses.forString(SIMPLE_ADDRESS_A_TEST.getIpAddress().getIpv4Address().getValue())
1249 .getAddress(), address.getIpv4Binary().getValue());
1250 assertEquals(INSTANCE_ID_TYPE_TEST, eid.getVirtualNetworkId());