2 * Copyright (c) 2014 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
9 package org.opendaylight.lispflowmapping.northbound;
11 import static org.junit.Assert.assertEquals;
13 import org.junit.Before;
14 import org.junit.Test;
15 import org.opendaylight.lispflowmapping.tools.junit.BaseTestCase;
16 import org.opendaylight.lispflowmapping.type.AddressFamilyNumberEnum;
17 import org.opendaylight.lispflowmapping.type.LispCanonicalAddressFormatEnum;
18 import org.opendaylight.lispflowmapping.type.lisp.address.LispAddress;
19 import org.opendaylight.lispflowmapping.type.lisp.address.LispAddressGeneric;
20 import org.opendaylight.lispflowmapping.type.lisp.address.LispIpv4Address;
21 import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.LispAFIAddress;
22 import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.lcafsourcedestaddress.DstAddress;
23 import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.lcafsourcedestaddress.DstAddressBuilder;
24 import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.lcafsourcedestaddress.SrcAddress;
25 import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.lcafsourcedestaddress.SrcAddressBuilder;
26 import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.lispaddress.LispAddressContainer;
27 import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.lispaddress.lispaddresscontainer.address.Ipv4Builder;
28 import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.lispaddress.lispaddresscontainer.address.LcafSourceDestBuilder;
29 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Ipv4Address;
34 public class TransformerTest extends BaseTestCase{
38 public void before() throws Exception {
43 public void convertToLispAddress__ipv4() throws Exception {
45 LispAddress lispAddress = new LispIpv4Address("10.0.0.1");
47 LispAddressGeneric lispAddressGeneric = new LispAddressGeneric(lispAddress);
49 //assertEquals(lispAddress, new LispIpv4Address("10.0.0.1"));
51 assertEquals(lispAddress, LispAddressConvertorNB.convertToLispAddress(lispAddressGeneric));
56 public void transformLispAddressGeneric__ipv4() throws Exception {
58 LispAddressGeneric lispAddressGenericIn
59 = new LispAddressGeneric(AddressFamilyNumberEnum.IP.getIanaCode(),"10.0.0.1");
61 LispAddressContainer lispAddressContainer =
62 YangTransformerNB.transformLispAddress(
63 LispAddressConvertorNB.convertToLispAddress(lispAddressGenericIn));
65 LispAddressGeneric lispAddressGenericOut
66 = new LispAddressGeneric(YangTransformerNB.transformToLispAddress(lispAddressContainer));
69 assertEquals(lispAddressGenericIn.getIpAddress(),lispAddressGenericOut.getIpAddress());
74 public void transformLispAddressGeneric__srcdst() throws Exception {
76 LispAddressGeneric lispAddressGenericIn = new LispAddressGeneric();
78 LispAddressGeneric lispAddressGenericSrc
79 = new LispAddressGeneric(AddressFamilyNumberEnum.IP.getIanaCode(),"10.0.0.1");
81 LispAddressGeneric lispAddressGenericDst
82 = new LispAddressGeneric(AddressFamilyNumberEnum.IP.getIanaCode(),"20.0.0.2");
84 lispAddressGenericIn.setAfi(AddressFamilyNumberEnum.LCAF.getIanaCode());
85 lispAddressGenericIn.setLcafType(LispCanonicalAddressFormatEnum.SOURCE_DEST.getLispCode());
87 lispAddressGenericIn.setSrcAddress(lispAddressGenericSrc);
88 lispAddressGenericIn.setDstAddress(lispAddressGenericDst);
90 lispAddressGenericIn.setSrcMaskLength((byte) 32);
91 lispAddressGenericIn.setDstMaskLength((byte) 32);
94 LispAddressContainer lispAddressContainer =
95 YangTransformerNB.transformLispAddress(
96 LispAddressConvertorNB.convertToLispAddress(lispAddressGenericIn));
98 LispAddressGeneric lispAddressGenericOut
99 = new LispAddressGeneric(YangTransformerNB.transformToLispAddress(lispAddressContainer));
102 assertEquals(lispAddressGenericIn.getSrcAddress().getIpAddress(),
103 lispAddressGenericOut.getSrcAddress().getIpAddress());
105 assertEquals(lispAddressGenericIn.getDstAddress().getIpAddress(),
106 lispAddressGenericOut.getDstAddress().getIpAddress());
112 public void transformLispAddressContainer__ipv4() throws Exception {
114 Ipv4Address ipv4AddressIn = new Ipv4Address("10.0.0.1");
115 LispAFIAddress lispAFIAddressIn = new Ipv4Builder()
116 .setIpv4Address(ipv4AddressIn)
117 .setAfi(AddressFamilyNumberEnum.IP.getIanaCode())
120 LispAddressContainer lispAddressContainerIn = YangTransformerNB.toContainer(lispAFIAddressIn);
122 LispAddressGeneric lispAddressGeneric
123 = new LispAddressGeneric(YangTransformerNB.transformToLispAddress(lispAddressContainerIn));
125 LispAddressContainer lispAddressContainerOut
126 = YangTransformerNB.transformLispAddress(LispAddressConvertorNB.convertToLispAddress(lispAddressGeneric));
128 LispAFIAddress lispAFIAddressOut = (LispAFIAddress) lispAddressContainerOut.getAddress();
130 org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.LispIpv4Address lispIpv4AddressOut;
131 lispIpv4AddressOut = (org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.LispIpv4Address) lispAFIAddressOut;
134 assertEquals(ipv4AddressIn.getValue(),
135 lispIpv4AddressOut.getIpv4Address().getValue());
141 public void transformLispAddressContainer__srcdst() throws Exception {
143 Ipv4Address ipv4AddressSrcIn = new Ipv4Address("10.0.0.1");
144 LispAFIAddress lispAFIAddressSrc = new Ipv4Builder()
145 .setIpv4Address(ipv4AddressSrcIn)
146 .setAfi(AddressFamilyNumberEnum.IP.getIanaCode())
149 Ipv4Address ipv4AddressDstIn = new Ipv4Address("20.0.0.2");
150 LispAFIAddress lispAFIAddressDst = new Ipv4Builder()
151 .setIpv4Address(ipv4AddressDstIn)
152 .setAfi(AddressFamilyNumberEnum.IP.getIanaCode())
155 SrcAddress srcAddress = new SrcAddressBuilder()
156 .setPrimitiveAddress(YangTransformerNB.toPrimitive(lispAFIAddressSrc))
159 DstAddress dstAddress = new DstAddressBuilder()
160 .setPrimitiveAddress(YangTransformerNB.toPrimitive(lispAFIAddressDst))
163 LispAFIAddress lispAFIAddressIn = new LcafSourceDestBuilder()
164 .setAfi(AddressFamilyNumberEnum.LCAF.getIanaCode())
165 .setLcafType((short) LispCanonicalAddressFormatEnum.SOURCE_DEST.getLispCode())
166 .setSrcMaskLength((short) 32)
167 .setDstMaskLength((short) 32)
168 .setSrcAddress(srcAddress)
169 .setDstAddress(dstAddress)
172 LispAddressContainer lispAddressContainerIn = YangTransformerNB.toContainer(lispAFIAddressIn);
174 LispAddressGeneric lispAddressGeneric
175 = new LispAddressGeneric(YangTransformerNB.transformToLispAddress(lispAddressContainerIn));
177 LispAddressContainer lispAddressContainerOut
178 = YangTransformerNB.transformLispAddress(LispAddressConvertorNB.convertToLispAddress(lispAddressGeneric));
180 LispAFIAddress lispAFIAddressOut = (LispAFIAddress) lispAddressContainerOut.getAddress();
183 org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.LcafSourceDestAddress lcafSourceDestAddressOut;
184 lcafSourceDestAddressOut = (org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.LcafSourceDestAddress) lispAFIAddressOut;
186 Ipv4Address ipv4AddressSrcOut
187 = ((org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.lispsimpleaddress.primitiveaddress.Ipv4)
188 lcafSourceDestAddressOut.getSrcAddress().getPrimitiveAddress())
191 Ipv4Address ipv4AddressDstOut
192 = ((org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.lispsimpleaddress.primitiveaddress.Ipv4)
193 lcafSourceDestAddressOut.getDstAddress().getPrimitiveAddress())
197 assertEquals(ipv4AddressSrcIn.getValue(),ipv4AddressSrcOut.getValue());
199 assertEquals(ipv4AddressDstIn.getValue(),ipv4AddressDstOut.getValue());