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;
10 import static org.junit.Assert.assertEquals;
12 import org.junit.Test;
13 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.IpAddress;
14 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Ipv4Address;
15 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Ipv4Prefix;
16 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Ipv6Address;
17 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Ipv6Prefix;
18 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.InstanceIdType;
19 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.LispAddress;
20 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.SimpleAddress;
21 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address
23 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address
25 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address
27 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address
29 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address
31 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address
33 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address
35 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address
37 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address
39 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address
41 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev100924.MacAddress;
42 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.eid.container.EidBuilder;
44 public class LispAddressStringifierTest {
46 private static final long VNI = 100L;
47 private static final long IID = 200L;
50 private static final String IPV4_STRING = "192.168.0.1";
51 private static final Ipv4Address IPV4_ADDRESS = new Ipv4Address(IPV4_STRING);
52 private static final Ipv4 IPV4 = new Ipv4Builder().setIpv4(IPV4_ADDRESS).build();
53 private static final LispAddress LISP_IPV4 = new EidBuilder().setAddress(IPV4)
54 .setVirtualNetworkId(new InstanceIdType(VNI)).build();
57 private static final String IPV6_STRING = "1111:2222:3333:4444:5555:6666:7777:8888";
58 private static final Ipv6Address IPV6_ADDRESS = new Ipv6Address(IPV6_STRING);
59 private static final Ipv6 IPV6 = new Ipv6Builder().setIpv6(new Ipv6Address(IPV6_STRING)).build();
60 private static final LispAddress LISP_IPV6 = new EidBuilder().setAddress(IPV6).build();
63 private static final String PREFIX = "/24";
64 private static final org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105
65 .lisp.address.address.Ipv4Prefix IPV4_PREFIX = new Ipv4PrefixBuilder()
66 .setIpv4Prefix(new Ipv4Prefix(IPV4_STRING + PREFIX)).build();
67 private static final LispAddress LISP_IPV4_PREFIX = new EidBuilder().setAddress(IPV4_PREFIX).build();
70 private static final org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105
71 .lisp.address.address.Ipv6Prefix IPV6_PREFIX = new Ipv6PrefixBuilder()
72 .setIpv6Prefix(new Ipv6Prefix(IPV6_STRING + PREFIX)).build();
73 private static final LispAddress LISP_IPV6_PREFIX = new EidBuilder().setAddress(IPV6_PREFIX).build();
76 private static final Mac MAC = new MacBuilder().setMac(new MacAddress("01:23:45:67:89:ab")).build();
77 private static final LispAddress LISP_MAC = new EidBuilder().setAddress(MAC).build();
79 // InstanceId with Ipv4
80 private static final InstanceIdType INSTANCE_ID_TYPE = new InstanceIdType(IID);
81 private static final InstanceId INSTANCE_ID_IPV4 = new InstanceIdBuilder().setInstanceId(new org.opendaylight.yang
82 .gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.instance.id
83 .InstanceIdBuilder().setAddress(new SimpleAddress(new IpAddress(IPV4_ADDRESS)))
84 .setIid(INSTANCE_ID_TYPE).build()).build();
85 private static final LispAddress LISP_IID_IPV4 = new EidBuilder().setAddress(INSTANCE_ID_IPV4).build();
87 // InstanceId with Ipv6
88 private static final InstanceId INSTANCE_ID_IPV6 = new InstanceIdBuilder().setInstanceId(new org.opendaylight.yang
89 .gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.instance.id
90 .InstanceIdBuilder().setAddress(new SimpleAddress(new IpAddress(IPV6_ADDRESS)))
91 .setIid(INSTANCE_ID_TYPE).build()).build();
92 private static final LispAddress LISP_IID_IPV6 = new EidBuilder().setAddress(INSTANCE_ID_IPV6).build();
97 * Tests {@link LispAddressStringifier#getString} with Ipv4 address type.
100 public void getStringTest_withIpv4() {
101 assertEquals("[" + VNI + "] " + IPV4_STRING, LispAddressStringifier.getString(LISP_IPV4));
105 * Tests {@link LispAddressStringifier#getString} with Ipv4Prefix address type.
108 public void getStringTest_withIpv4Prefix() {
109 assertEquals(IPV4_STRING + PREFIX, LispAddressStringifier.getString(LISP_IPV4_PREFIX));
113 * Tests {@link LispAddressStringifier#getString} with Ipv6 address type.
116 public void getStringTest_withIpv6() {
117 assertEquals(IPV6_STRING, LispAddressStringifier.getString(LISP_IPV6));
121 * Tests {@link LispAddressStringifier#getString} with Ipv6Prefix address type.
124 public void getStringTest_withIpv6Prefix() {
125 assertEquals(IPV6_STRING + PREFIX, LispAddressStringifier.getString(LISP_IPV6_PREFIX));
129 * Tests {@link LispAddressStringifier#getString} with Mac address type.
132 public void getStringTest_withMac() {
133 assertEquals(MAC.getMac().getValue(), LispAddressStringifier.getString(LISP_MAC));
137 * Tests {@link LispAddressStringifier#getString} with InstanceId address type.
140 public void getStringTest_withInstanceId() {
142 assertEquals("[" + IID + "] " + IPV4_STRING, LispAddressStringifier.getString(LISP_IID_IPV4));
145 assertEquals("[" + IID + "] " + IPV6_STRING, LispAddressStringifier.getString(LISP_IID_IPV6));