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.assertEquals;
12 import static org.junit.Assert.assertNull;
13 import static org.junit.Assert.assertTrue;
15 import java.net.Inet4Address;
16 import java.net.Inet6Address;
17 import java.net.InetAddress;
18 import java.net.UnknownHostException;
19 import org.junit.Test;
20 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.AsNumber;
21 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.IpAddress;
22 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.IpPrefix;
23 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Ipv4Address;
24 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Ipv4Prefix;
25 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Ipv6Address;
26 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Ipv6Prefix;
27 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.AsNumberAfi;
28 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.DistinguishedNameAfi;
29 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.DistinguishedNameType;
30 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.InstanceIdType;
31 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.Ipv4Afi;
32 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.Ipv4PrefixAfi;
33 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.Ipv6Afi;
34 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.Ipv6PrefixAfi;
35 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.LispAddressFamily;
36 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.MacAfi;
37 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.ServicePathIdType;
38 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.SimpleAddress;
39 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.Address;
40 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.DistinguishedName;
41 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.Ipv4;
42 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.Ipv6;
43 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.Mac;
44 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.service.path.ServicePath;
45 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev100924.MacAddress;
46 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.eid.container.Eid;
47 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.rloc.container.Rloc;
49 public class LispAddressUtilTest {
52 private static final char[] DUMMY_CHARACTER_ARRAY_TEST = new char[]{'a', 'b', 'c', 'd'};
53 private static final Long NUMBER_TEST = 5L;
55 private static final String MAC_ADDRESS_VALUE_TEST = "aa:bb:cc:dd:ee:ff";
56 private static final MacAddress MAC_ADDRESS_TEST = new MacAddress("aa:bb:cc:dd:ee:ff");
58 private static final String IPV4_ADDRESS_PREFIX_VALUE_TEST = "192.168.1.2/30";
59 private static final Ipv4Prefix IPV4_ADDRESS_PREFIX_TEST = new Ipv4Prefix(IPV4_ADDRESS_PREFIX_VALUE_TEST);
61 private static final IpPrefix IP_ADDRESS_PREFIX = new IpPrefix(IPV4_ADDRESS_PREFIX_TEST);
63 private static final String IPV6_ADDRESS_PREFIX_VALUE_TEST = "102:304:506:708:90a:b0c:d0e:f11/30";
64 private static final Ipv6Prefix IPV6_ADDRESS_PREFIX_TEST = new Ipv6Prefix(IPV6_ADDRESS_PREFIX_VALUE_TEST);
66 private static final byte[] IPV4_ADDRESS_BYTES_TEST = new byte[]{(byte) 192, (byte) 168, 1, 1};
67 private static final String IPV4_ADDRESS_VALUE_TEST = "192.168.1.1";
68 private static final Ipv4Address IPV4_ADDRESS_TEST = new Ipv4Address(IPV4_ADDRESS_VALUE_TEST);
69 private static final IpAddress IP_ADDRESS_OBJECT_GENERAL_TEST = new IpAddress(IPV4_ADDRESS_TEST);
70 private static final SimpleAddress SIMPLE_ADDRESS_TEST = new SimpleAddress(IP_ADDRESS_OBJECT_GENERAL_TEST);
72 private static final byte[] IPV6_ADDRESS_BYTES_TEST = new byte[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
74 private static final String IPV6_ADDRESS_VALUE_TEST = "102:304:506:708:90a:b0c:d0e:f10";
75 private static final Ipv6Address IPV6_ADDRESS_TEST = new Ipv6Address(IPV6_ADDRESS_VALUE_TEST);
77 private static final Short DUMMY_SERVICE_INDEX = 45;
78 private static final Long DUMMY_SERVICE_PATH_ID_TYPE = 46L;
79 private static final String DISTINGUISHED_NAME_TYPE_VALUE_TEST = "dummy distinguished name type";
80 private static final String DISTINGUISHED_NAME_TYPE_VALUE_WITH_MAC_TEST = MAC_ADDRESS_VALUE_TEST;
81 private static final DistinguishedNameType DISTINGUISHED_NAME_TYPE_TEST = new DistinguishedNameType
82 (DISTINGUISHED_NAME_TYPE_VALUE_TEST);
83 private static final Long AS_NUMBER_TEST = 100L;
85 private static final Long INSTANCE_ID_TYPE_VALUE_TEST = 121L;
86 private static final Short INSTANCE_ID_TYPE_VALUE_SHORT_TEST = 122;
87 private static final InstanceIdType INSTANCE_ID_TYPE_TEST = new InstanceIdType(INSTANCE_ID_TYPE_VALUE_TEST);
90 * Tests {@link LispAddressUtil#addressTypeFromSimpleAddress} and {@link
91 * LispAddressUtil#addressFromSimpleAddress} methods
95 public void addressFromSimpleAddressTest_asAnyIpAddress() {
96 final Class<? extends LispAddressFamily> addressClass = LispAddressUtil.addressTypeFromSimpleAddress
97 (SIMPLE_ADDRESS_TEST);
98 assertEquals(Ipv4Afi.class, addressClass);
100 final Address address = LispAddressUtil.addressFromSimpleAddress(SIMPLE_ADDRESS_TEST);
101 assertTrue(address instanceof Ipv4);
105 * Tests {@link LispAddressUtil#addressTypeFromSimpleAddress} and {@link
106 * LispAddressUtil#addressFromSimpleAddress} methods
110 public void addressFromSimpleAddressTest_asIpPrefix() {
111 final SimpleAddress simpleAddress = new SimpleAddress(new IpPrefix(new Ipv4Prefix(IPV4_ADDRESS_PREFIX_VALUE_TEST)));
112 final Class<? extends LispAddressFamily> addressClass = LispAddressUtil.addressTypeFromSimpleAddress
114 assertEquals(Ipv4PrefixAfi.class, addressClass);
116 final Address address = LispAddressUtil.addressFromSimpleAddress(simpleAddress);
117 assertTrue(address instanceof org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address
118 .types.rev151105.lisp.address.address.Ipv4Prefix);
122 * Tests {@link LispAddressUtil#addressTypeFromSimpleAddress} and {@link
123 * LispAddressUtil#addressFromSimpleAddress} methods
127 public void addressFromSimpleAddressTest_asMacAddress() {
128 final SimpleAddress simpleAddress = new SimpleAddress(new MacAddress(MAC_ADDRESS_VALUE_TEST));
129 final Class<? extends LispAddressFamily> addressClass = LispAddressUtil.addressTypeFromSimpleAddress
131 assertEquals(MacAfi.class, addressClass);
133 final Address address = LispAddressUtil.addressFromSimpleAddress(simpleAddress);
134 assertTrue(address instanceof Mac);
138 * Tests {@link LispAddressUtil#addressTypeFromSimpleAddress} and {@link
139 * LispAddressUtil#addressFromSimpleAddress} methods
140 * with general address
143 public void addressFromSimpleAddressTest_asAddress() {
144 final SimpleAddress simpleAddress = new SimpleAddress(DUMMY_CHARACTER_ARRAY_TEST);
145 final Class<? extends LispAddressFamily> addressClass = LispAddressUtil.addressTypeFromSimpleAddress
147 assertEquals(DistinguishedNameAfi.class, addressClass);
149 final Address address = LispAddressUtil.addressFromSimpleAddress(simpleAddress);
150 assertTrue(address instanceof DistinguishedName);
154 * Tests {@link LispAddressUtil#addressTypeFromSimpleAddress} and {@link
155 * LispAddressUtil#addressFromSimpleAddress} methods
156 * with address as number
159 public void addressFromSimpleAddressTest_asNumber() {
160 final SimpleAddress simpleAddress = new SimpleAddress(new AsNumber(NUMBER_TEST));
161 final Class<? extends LispAddressFamily> addressClass = LispAddressUtil.addressTypeFromSimpleAddress
163 assertEquals(AsNumberAfi.class, addressClass);
165 final Address address = LispAddressUtil.addressFromSimpleAddress(simpleAddress);
166 assertTrue(address instanceof org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address
167 .types.rev151105.lisp.address.address.AsNumber);
171 * Tests {@link LispAddressUtil#addressFromInet(InetAddress)} and {@link LispAddressUtil#addressTypeFromInet
173 * methods with ipv4 address
175 * @throws UnknownHostException
178 public void addressFromInet_ipv4() throws UnknownHostException {
179 final InetAddress ipv4InetAddress = Inet4Address.getByAddress(IPV4_ADDRESS_BYTES_TEST);
180 final Class<? extends LispAddressFamily> addressClass = LispAddressUtil.addressTypeFromInet(ipv4InetAddress);
181 assertEquals(Ipv4Afi.class, addressClass);
183 final Address address = LispAddressUtil.addressFromInet(ipv4InetAddress);
184 assertTrue(address instanceof Ipv4);
185 assertEquals(IPV4_ADDRESS_VALUE_TEST, ((Ipv4) address).getIpv4().getValue());
189 * Tests {@link LispAddressUtil#addressFromInet(InetAddress)} and {@link LispAddressUtil#addressTypeFromInet
191 * methods with ipv6 address
193 * @throws UnknownHostException
196 public void addressFromInet_ipv6() throws UnknownHostException {
197 final InetAddress ipv6InetAddress = Inet6Address.getByAddress(IPV6_ADDRESS_BYTES_TEST);
198 final Class<? extends LispAddressFamily> addressClass = LispAddressUtil.addressTypeFromInet(ipv6InetAddress);
199 assertEquals(Ipv6Afi.class, addressClass);
201 final Address address = LispAddressUtil.addressFromInet(ipv6InetAddress);
202 assertTrue(address instanceof Ipv6);
203 assertEquals(IPV6_ADDRESS_VALUE_TEST, ((Ipv6) address).getIpv6().getValue());
207 * Tests {@link LispAddressUtil#addressFromIpAddress(IpAddress)} and {@link
208 * LispAddressUtil#addressTypeFromIpAddress(IpAddress)}
209 * methods with ipv4 address
212 public void addressFromIpAddress_ipv4() {
213 final IpAddress ipv4Address = new IpAddress(IPV4_ADDRESS_TEST);
214 final Class<? extends LispAddressFamily> addressClass = LispAddressUtil.addressTypeFromIpAddress(ipv4Address);
215 assertEquals(Ipv4Afi.class, addressClass);
217 final Address address = LispAddressUtil.addressFromIpAddress(ipv4Address);
218 assertTrue(address instanceof Ipv4);
219 assertEquals(IPV4_ADDRESS_VALUE_TEST, ((Ipv4) address).getIpv4().getValue());
223 * Tests {@link LispAddressUtil#addressFromIpAddress(IpAddress)} and {@link
224 * LispAddressUtil#addressTypeFromIpAddress(IpAddress)}
225 * methods with ipv6 address
228 public void addressFromIpAddress_ipv6() {
229 final IpAddress ipv6Address = new IpAddress(new Ipv6Address(IPV6_ADDRESS_VALUE_TEST));
230 final Class<? extends LispAddressFamily> addressClass = LispAddressUtil.addressTypeFromIpAddress(ipv6Address);
231 assertEquals(Ipv6Afi.class, addressClass);
233 final Address address = LispAddressUtil.addressFromIpAddress(ipv6Address);
234 assertTrue(address instanceof Ipv6);
235 assertEquals(IPV6_ADDRESS_VALUE_TEST, ((Ipv6) address).getIpv6().getValue());
239 * Tests {@link LispAddressUtil#addressFromIpAddress(IpAddress)} and {@link
240 * LispAddressUtil#addressTypeFromIpAddress(IpAddress)}
241 * methods with null value instead off address.
244 public void addressFromIpAddress_null() {
245 final Class<? extends LispAddressFamily> addressClass = LispAddressUtil.addressTypeFromIpAddress(null);
246 assertNull(addressClass);
248 final Address address = LispAddressUtil.addressFromIpAddress(null);
253 * Tests {@link LispAddressUtil#addressFromIpPrefix(IpPrefix)} and {@link
254 * LispAddressUtil#addressTypeFromIpPrefix(IpPrefix)}
255 * methods with ipv4 address
258 public void addressFromIpPrefix_ipv4() {
259 IpPrefix ipv4Prefix = new IpPrefix(new Ipv4Prefix(IPV4_ADDRESS_PREFIX_VALUE_TEST));
260 final Class<? extends LispAddressFamily> addressClass = LispAddressUtil.addressTypeFromIpPrefix(ipv4Prefix);
261 assertEquals(Ipv4PrefixAfi.class, addressClass);
263 final Address address = LispAddressUtil.addressFromIpPrefix(ipv4Prefix);
264 assertTrue(address instanceof org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.
265 types.rev151105.lisp.address.address.Ipv4Prefix);
266 assertEquals(IPV4_ADDRESS_PREFIX_VALUE_TEST, ((org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.
267 address.types.rev151105.lisp.address.address.Ipv4Prefix) address).getIpv4Prefix().getValue());
271 * Tests {@link LispAddressUtil#addressFromIpPrefix(IpPrefix)} and {@link
272 * LispAddressUtil#addressTypeFromIpPrefix(IpPrefix)}
273 * methods with ipv6 address
276 public void addressFromIpPrefix_ipv6() {
277 IpPrefix ipv6Address = new IpPrefix(new Ipv6Prefix(IPV6_ADDRESS_PREFIX_VALUE_TEST));
278 final Class<? extends LispAddressFamily> addressClass = LispAddressUtil.addressTypeFromIpPrefix(ipv6Address);
279 assertEquals(Ipv6PrefixAfi.class, addressClass);
281 final Address address = LispAddressUtil.addressFromIpPrefix(ipv6Address);
282 assertTrue(address instanceof org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address
283 .types.rev151105.lisp.address.address.Ipv6Prefix);
284 assertEquals(IPV6_ADDRESS_PREFIX_VALUE_TEST,
285 ((org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp
286 .address.address.Ipv6Prefix) address).getIpv6Prefix().getValue());
290 * Tests {@link LispAddressUtil#addressFromIpPrefix(IpPrefix)} and {@link LispAddressUtil#addressTypeFromIpPrefix
292 * methods with null value instead off address.
295 public void addressFromIpPrefix_null() {
296 final Class<? extends LispAddressFamily> addressClass = LispAddressUtil.addressTypeFromIpPrefix(null);
297 assertNull(addressClass);
299 final Address address = LispAddressUtil.addressFromIpPrefix(null);
304 * Tests {@link LispAddressUtil#addressFromMacAddress(MacAddress)} methods with mac address.
307 public void addressFromMacAddress_mac() {
308 final Address address = LispAddressUtil.addressFromMacAddress(new MacAddress(MAC_ADDRESS_VALUE_TEST));
309 assertTrue(address instanceof Mac);
310 assertEquals(MAC_ADDRESS_VALUE_TEST, ((Mac) address).getMac().getValue());
314 * Tests {@link LispAddressUtil#addressFromMacAddress(MacAddress)} methods with null instead of address.
317 public void addressFromMacAddress_null() {
318 final Address address = LispAddressUtil.addressFromMacAddress(null);
324 * Test {@link LispAddressUtil#addressFromServicePath(ServicePath)} method with concrete servicePath
327 public void addressFromServicePathTest_withServicePath() {
328 org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address
329 .address.service.path.ServicePathBuilder servicePathBuilder = new org.opendaylight.yang.gen.v1.urn.ietf
330 .params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address
331 .address.service.path.ServicePathBuilder();
332 servicePathBuilder.setServiceIndex(DUMMY_SERVICE_INDEX);
333 servicePathBuilder.setServicePathId(new ServicePathIdType(DUMMY_SERVICE_PATH_ID_TYPE));
335 ServicePath expectedAddress = servicePathBuilder.build();
336 final Address testedAddress = LispAddressUtil.addressFromServicePath(expectedAddress);
337 assertTrue(testedAddress instanceof org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address
338 .types.rev151105.lisp.address.address.ServicePath);
339 assertEquals(expectedAddress, ((org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address
340 .types.rev151105.lisp.address.address.ServicePath) testedAddress).getServicePath());
344 * Test {@link LispAddressUtil#addressFromServicePath(ServicePath)} method with null value
347 public void addressFromServicePathTest_withNull() {
348 final Address testedAddress = LispAddressUtil.addressFromServicePath(null);
349 assertNull(testedAddress);
353 * Test {@link LispAddressUtil#addressFromDistinguishedName(DistinguishedNameType)} method with distinguished name }
356 public void addressFromDistinguishedNameTest_withDistinguishedName() {
357 final DistinguishedNameType distinguishedNameType = new DistinguishedNameType(DISTINGUISHED_NAME_TYPE_VALUE_TEST);
358 final Address testedAddress = LispAddressUtil.addressFromDistinguishedName(distinguishedNameType);
360 assertTrue(testedAddress instanceof DistinguishedName);
361 assertEquals(distinguishedNameType, ((DistinguishedName) testedAddress).getDistinguishedName());
365 * Test {@link LispAddressUtil#addressFromDistinguishedName(DistinguishedNameType)} method with null value }
368 public void addressFromDistinguishedNameTest_withNull() {
369 final Address testedAddress = LispAddressUtil.addressFromDistinguishedName(null);
370 assertNull(testedAddress);
374 * Test {@link LispAddressUtil#addressFromAsNumber(AsNumber)} method with as number value }
377 public void addressFromAsNumberTest_withAdNumber() {
378 final AsNumber expectedAddress = new AsNumber(AS_NUMBER_TEST);
379 final Address testedAddress = LispAddressUtil.addressFromAsNumber(expectedAddress);
380 assertTrue(testedAddress instanceof org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp
381 .address.types.rev151105.lisp.address.address.AsNumber);
382 assertEquals(expectedAddress, ((org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp
383 .address.types.rev151105.lisp.address.address.AsNumber) testedAddress).getAsNumber());
387 * Test {@link LispAddressUtil#addressFromAsNumber(AsNumber)} method with null instead of value }
390 public void addressFromAsNumberTest_withNull() {
391 final Address testedAddress = LispAddressUtil.addressFromAsNumber(null);
392 assertNull(testedAddress);
398 * - {@link LispAddressUtil#toRloc(InetAddress)}
399 * - {@link LispAddressUtil#toRloc(Ipv4Address)}
400 * - {@link LispAddressUtil#toRloc(Ipv6Address)}
401 * - {@link LispAddressUtil#toRloc(SimpleAddress)}
405 public void toRloc() throws UnknownHostException {
406 InetAddress ipv4AddressInet = Inet4Address.getByAddress(IPV4_ADDRESS_BYTES_TEST);
407 final Rloc rlocFromInetAddress = LispAddressUtil.toRloc(ipv4AddressInet);
408 assertEquals(Ipv4Afi.class, rlocFromInetAddress.getAddressType());
409 assertEquals(IPV4_ADDRESS_VALUE_TEST, ((Ipv4)rlocFromInetAddress.getAddress()).getIpv4().getValue());
411 final Rloc rlocFromIpv4Address = LispAddressUtil.toRloc(IPV4_ADDRESS_TEST);
412 assertEquals(Ipv4Afi.class, rlocFromIpv4Address.getAddressType());
413 assertEquals(IPV4_ADDRESS_VALUE_TEST, ((Ipv4)rlocFromIpv4Address.getAddress()).getIpv4().getValue());
416 final Rloc rlocFromIpv6Address = LispAddressUtil.toRloc(IPV6_ADDRESS_TEST);
417 assertEquals(Ipv6Afi.class, rlocFromIpv6Address.getAddressType());
418 assertEquals(IPV6_ADDRESS_VALUE_TEST, ((Ipv6)rlocFromIpv6Address.getAddress()).getIpv6().getValue());
420 final Rloc rlocFromSimpleAddress = LispAddressUtil.toRloc(SIMPLE_ADDRESS_TEST);
421 assertEquals(Ipv4Afi.class, rlocFromSimpleAddress.getAddressType());
422 assertEquals(IPV4_ADDRESS_VALUE_TEST, ((Ipv4) rlocFromSimpleAddress.getAddress()).getIpv4().getValue());
426 * Test {@link LispAddressUtil#asIpv4Rloc(String)} method with ipv4 or ipv6.
427 * Test {@link LispAddressUtil#asIpv6Rloc(String)} method with ipv4 or ipv6.
430 public void asIpvRloc() {
431 final Rloc rlocFromIpV4 = LispAddressUtil.asIpv4Rloc(IPV4_ADDRESS_VALUE_TEST);
432 assertEquals(Ipv4Afi.class, rlocFromIpV4.getAddressType());
433 assertEquals(IPV4_ADDRESS_VALUE_TEST, ((Ipv4) rlocFromIpV4.getAddress()).getIpv4().getValue());
435 final Rloc rlocFromIpV6 = LispAddressUtil.asIpv6Rloc(IPV6_ADDRESS_VALUE_TEST);
436 assertEquals(Ipv6Afi.class, rlocFromIpV6.getAddressType());
437 assertEquals(IPV6_ADDRESS_VALUE_TEST, ((Ipv6) rlocFromIpV6.getAddress()).getIpv6().getValue());
442 * - {@link LispAddressUtil#toEid(Ipv6Address, InstanceIdType)}
443 * - {@link LispAddressUtil#asIpv6PrefixEid(String)}
447 public void toEid_ipv6Prefix() {
448 Eid eidFromIpv6Prefix = LispAddressUtil.toEid(IPV6_ADDRESS_PREFIX_TEST, INSTANCE_ID_TYPE_TEST);
449 verifyToEidWithIpv6Prefix(eidFromIpv6Prefix, true);
451 eidFromIpv6Prefix = LispAddressUtil.asIpv6PrefixEid(IPV6_ADDRESS_PREFIX_VALUE_TEST);
452 verifyToEidWithIpv6Prefix(eidFromIpv6Prefix, false);
453 //TODO missing one method with as ....
458 * - {@link LispAddressUtil#toEid(MacAddress, InstanceIdType)}
459 * - {@link LispAddressUtil#asMacEid(String)}
460 * - {@link LispAddressUtil#asMacEid(String, long)}
464 public void toEid_mac() {
465 Eid eidFromMac = LispAddressUtil.toEid(MAC_ADDRESS_TEST, INSTANCE_ID_TYPE_TEST);
466 verifyToEidWithMacAddress(eidFromMac, true);
468 eidFromMac = LispAddressUtil.asMacEid(MAC_ADDRESS_VALUE_TEST);
469 verifyToEidWithMacAddress(eidFromMac, false);
471 eidFromMac = LispAddressUtil.asMacEid(MAC_ADDRESS_VALUE_TEST, INSTANCE_ID_TYPE_VALUE_TEST);
472 verifyToEidWithMacAddress(eidFromMac, true);
477 * - {@link LispAddressUtil#toEid(Ipv6Address, InstanceIdType)}
478 * - {@link LispAddressUtil#asIpv6Eid(String)}
479 * - {@link LispAddressUtil#asIpv6Eid(String, long)}
483 public void toEid_ipv6() {
484 Eid eidFromIpv6 = LispAddressUtil.toEid(IPV6_ADDRESS_TEST, INSTANCE_ID_TYPE_TEST);
485 verifyToEidWithIpv6(eidFromIpv6, true);
487 eidFromIpv6 = LispAddressUtil.asIpv6Eid(IPV6_ADDRESS_VALUE_TEST);
488 verifyToEidWithIpv6(eidFromIpv6, false);
490 eidFromIpv6 = LispAddressUtil.asIpv6Eid(IPV6_ADDRESS_VALUE_TEST, INSTANCE_ID_TYPE_VALUE_TEST);
491 verifyToEidWithIpv6(eidFromIpv6, true);
496 * - {@link LispAddressUtil#toEid(Ipv4Prefix, InstanceIdType)}
497 * - {@link LispAddressUtil#asIpv4PrefixEid(String)}
501 public void toEid_ipv4Prefix() {
502 Eid eidFromIpv4Prefix = LispAddressUtil.toEid(IPV4_ADDRESS_PREFIX_TEST, INSTANCE_ID_TYPE_TEST);
503 verifyToEidWithIpv4Prefix(eidFromIpv4Prefix, true);
505 eidFromIpv4Prefix = LispAddressUtil.asIpv4PrefixEid(IPV4_ADDRESS_PREFIX_VALUE_TEST);
506 verifyToEidWithIpv4Prefix(eidFromIpv4Prefix, false);
507 //TODO missing one method with as...
513 * - {@link LispAddressUtil#toEid(Ipv4Address, InstanceIdType)}
514 * - {@link LispAddressUtil#asIpv4Eid(String)}
515 * - {@link LispAddressUtil#asIpv4Eid(String, long)}
519 public void toEid_ipv4() {
520 Eid eidFromIpv4 = LispAddressUtil.toEid(IPV4_ADDRESS_TEST, INSTANCE_ID_TYPE_TEST);
521 verifyToEidWithIpv4(eidFromIpv4, true);
523 eidFromIpv4 = LispAddressUtil.asIpv4Eid(IPV4_ADDRESS_VALUE_TEST);
524 verifyToEidWithIpv4(eidFromIpv4, false);
526 eidFromIpv4 = LispAddressUtil.asIpv4Eid(IPV4_ADDRESS_VALUE_TEST, INSTANCE_ID_TYPE_VALUE_TEST);
527 verifyToEidWithIpv4(eidFromIpv4, true);
532 * - {@link LispAddressUtil#toEid(IpPrefix, InstanceIdType)}
536 public void toEid_ipPrefix() {
537 final Eid eidFromIpPrefix = LispAddressUtil.toEid(IP_ADDRESS_PREFIX, INSTANCE_ID_TYPE_TEST);
538 verifyToEidWithIpv4Prefix(eidFromIpPrefix, true);
543 * - {@link LispAddressUtil#toEid(DistinguishedNameType, InstanceIdType)}
544 * - {@link LispAddressUtil#asDistinguishedNameEid(String)}
545 * - {@link LispAddressUtil#asDistinguishedNameEid(String, long)}
546 * methods with various input.
549 public void toEid_distinguishedName() {
550 Eid eidFromDistinguishedName = LispAddressUtil.toEid(DISTINGUISHED_NAME_TYPE_TEST, INSTANCE_ID_TYPE_TEST);
551 verifyToEidWithDistinguishedName(eidFromDistinguishedName, true);
553 eidFromDistinguishedName = LispAddressUtil.asDistinguishedNameEid(DISTINGUISHED_NAME_TYPE_VALUE_TEST);
554 verifyToEidWithDistinguishedName(eidFromDistinguishedName, false);
556 eidFromDistinguishedName = LispAddressUtil.asDistinguishedNameEid
557 (DISTINGUISHED_NAME_TYPE_VALUE_WITH_MAC_TEST, INSTANCE_ID_TYPE_VALUE_TEST);
558 verifyToEidWithMacAddress(eidFromDistinguishedName, true);
561 private void verifyToEidWithIpv6Prefix(final Eid eidFromIpv6Prefix, final boolean isVniChecked) {
562 assertEquals(Ipv6PrefixAfi.class, eidFromIpv6Prefix.getAddressType());
564 assertEquals(INSTANCE_ID_TYPE_TEST, eidFromIpv6Prefix.getVirtualNetworkId());
566 assertEquals(IPV6_ADDRESS_PREFIX_VALUE_TEST, ((org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf
567 .lisp.address.types.rev151105.lisp.address.address.Ipv6Prefix) eidFromIpv6Prefix.getAddress())
568 .getIpv6Prefix().getValue());
571 private void verifyToEidWithIpv4(final Eid eidFromIpv4, final boolean isVniChecked) {
572 assertEquals(Ipv4Afi.class, eidFromIpv4.getAddressType());
574 assertEquals(INSTANCE_ID_TYPE_TEST, eidFromIpv4.getVirtualNetworkId());
576 assertEquals(IPV4_ADDRESS_VALUE_TEST, ((Ipv4)eidFromIpv4.getAddress()).getIpv4().getValue());
579 private void verifyToEidWithIpv6(final Eid eidFromIpv6, final boolean isVniChecked) {
580 assertEquals(Ipv6Afi.class, eidFromIpv6.getAddressType());
582 assertEquals(INSTANCE_ID_TYPE_TEST, eidFromIpv6.getVirtualNetworkId());
584 assertEquals(IPV6_ADDRESS_VALUE_TEST, ((Ipv6)eidFromIpv6.getAddress()).getIpv6().getValue());
587 private void verifyToEidWithIpv4Prefix(final Eid eidFromIpv4Prefix, final boolean isVniChecked) {
588 assertEquals(Ipv4PrefixAfi.class, eidFromIpv4Prefix.getAddressType());
590 assertEquals(INSTANCE_ID_TYPE_TEST, eidFromIpv4Prefix.getVirtualNetworkId());
592 assertEquals(IPV4_ADDRESS_PREFIX_VALUE_TEST, ((org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf
593 .lisp.address.types.rev151105.lisp.address.address.Ipv4Prefix)eidFromIpv4Prefix.getAddress())
594 .getIpv4Prefix().getValue());
597 private void verifyToEidWithDistinguishedName(final Eid eidFromDistinguishedName, final boolean isVniChecked) {
598 assertEquals(DistinguishedNameAfi.class, eidFromDistinguishedName.getAddressType());
600 assertEquals(INSTANCE_ID_TYPE_TEST, eidFromDistinguishedName.getVirtualNetworkId());
602 assertEquals(DISTINGUISHED_NAME_TYPE_TEST, ((DistinguishedName)eidFromDistinguishedName.getAddress())
603 .getDistinguishedName());
606 private void verifyToEidWithMacAddress(final Eid eidFromMac, final boolean isVniChecked) {
607 assertEquals(MacAfi.class, eidFromMac.getAddressType());
609 assertEquals(INSTANCE_ID_TYPE_TEST, eidFromMac.getVirtualNetworkId());
611 assertEquals(MAC_ADDRESS_VALUE_TEST, ((Mac)eidFromMac.getAddress()).getMac().getValue());