16b07dc03de7c97b20867684fe444aa2da06e4f9
[lispflowmapping.git] / mappingservice / northbound / src / test / java / org / opendaylight / lispflowmapping / northbound / TransformerTest.java
1 /*
2  * Copyright (c) 2014 Cisco Systems, Inc. and others.  All rights reserved.
3  *
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
7  */
8
9 package org.opendaylight.lispflowmapping.northbound;
10
11 import static org.junit.Assert.assertEquals;
12
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;
30
31
32
33
34 public class TransformerTest extends BaseTestCase{
35
36     @Override
37     @Before
38     public void before() throws Exception {
39         super.before();
40     }
41
42     @Test
43     public void convertToLispAddress__ipv4() throws Exception {
44
45         LispAddress lispAddress = new LispIpv4Address("10.0.0.1");
46
47         LispAddressGeneric lispAddressGeneric = new LispAddressGeneric(lispAddress);
48
49         //assertEquals(lispAddress, new LispIpv4Address("10.0.0.1"));
50
51         assertEquals(lispAddress, LispAddressConvertorNB.convertToLispAddress(lispAddressGeneric));
52
53     }
54
55     @Test
56     public void transformLispAddressGeneric__ipv4() throws Exception {
57
58         LispAddressGeneric lispAddressGenericIn
59                 = new LispAddressGeneric(AddressFamilyNumberEnum.IP.getIanaCode(),"10.0.0.1");
60
61         LispAddressContainer lispAddressContainer =
62                         YangTransformerNB.transformLispAddress(
63                                         LispAddressConvertorNB.convertToLispAddress(lispAddressGenericIn));
64
65         LispAddressGeneric lispAddressGenericOut
66                 = new LispAddressGeneric(YangTransformerNB.transformToLispAddress(lispAddressContainer));
67
68
69         assertEquals(lispAddressGenericIn.getIpAddress(),lispAddressGenericOut.getIpAddress());
70
71     }
72
73     @Test
74     public void transformLispAddressGeneric__srcdst() throws Exception {
75
76         LispAddressGeneric lispAddressGenericIn = new LispAddressGeneric();
77
78         LispAddressGeneric lispAddressGenericSrc
79                         = new LispAddressGeneric(AddressFamilyNumberEnum.IP.getIanaCode(),"10.0.0.1");
80
81         LispAddressGeneric lispAddressGenericDst
82                         = new LispAddressGeneric(AddressFamilyNumberEnum.IP.getIanaCode(),"20.0.0.2");
83
84         lispAddressGenericIn.setAfi(AddressFamilyNumberEnum.LCAF.getIanaCode());
85         lispAddressGenericIn.setLcafType(LispCanonicalAddressFormatEnum.SOURCE_DEST.getLispCode());
86
87         lispAddressGenericIn.setSrcAddress(lispAddressGenericSrc);
88         lispAddressGenericIn.setDstAddress(lispAddressGenericDst);
89
90         lispAddressGenericIn.setSrcMaskLength((byte) 32);
91         lispAddressGenericIn.setDstMaskLength((byte) 32);
92
93
94         LispAddressContainer lispAddressContainer =
95                         YangTransformerNB.transformLispAddress(
96                                         LispAddressConvertorNB.convertToLispAddress(lispAddressGenericIn));
97
98         LispAddressGeneric lispAddressGenericOut
99                 = new LispAddressGeneric(YangTransformerNB.transformToLispAddress(lispAddressContainer));
100
101
102         assertEquals(lispAddressGenericIn.getSrcAddress().getIpAddress(),
103                                  lispAddressGenericOut.getSrcAddress().getIpAddress());
104
105         assertEquals(lispAddressGenericIn.getDstAddress().getIpAddress(),
106                                      lispAddressGenericOut.getDstAddress().getIpAddress());
107
108     }
109
110
111     @Test
112     public void transformLispAddressContainer__ipv4() throws Exception {
113
114         Ipv4Address ipv4AddressIn = new Ipv4Address("10.0.0.1");
115         LispAFIAddress lispAFIAddressIn = new Ipv4Builder()
116                 .setIpv4Address(ipv4AddressIn)
117                 .setAfi(AddressFamilyNumberEnum.IP.getIanaCode())
118                 .build();
119
120         LispAddressContainer lispAddressContainerIn = YangTransformerNB.toContainer(lispAFIAddressIn);
121
122         LispAddressGeneric lispAddressGeneric
123                 = new LispAddressGeneric(YangTransformerNB.transformToLispAddress(lispAddressContainerIn));
124
125         LispAddressContainer lispAddressContainerOut
126                 = YangTransformerNB.transformLispAddress(LispAddressConvertorNB.convertToLispAddress(lispAddressGeneric));
127
128         LispAFIAddress lispAFIAddressOut = (LispAFIAddress) lispAddressContainerOut.getAddress();
129
130         org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.LispIpv4Address lispIpv4AddressOut;
131         lispIpv4AddressOut = (org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.LispIpv4Address) lispAFIAddressOut;
132
133
134         assertEquals(ipv4AddressIn.getValue(),
135                                  lispIpv4AddressOut.getIpv4Address().getValue());
136
137     }
138
139
140     @Test
141     public void transformLispAddressContainer__srcdst() throws Exception {
142
143         Ipv4Address ipv4AddressSrcIn = new Ipv4Address("10.0.0.1");
144         LispAFIAddress lispAFIAddressSrc = new Ipv4Builder()
145                 .setIpv4Address(ipv4AddressSrcIn)
146                 .setAfi(AddressFamilyNumberEnum.IP.getIanaCode())
147                 .build();
148
149         Ipv4Address ipv4AddressDstIn = new Ipv4Address("20.0.0.2");
150         LispAFIAddress lispAFIAddressDst = new Ipv4Builder()
151                 .setIpv4Address(ipv4AddressDstIn)
152                 .setAfi(AddressFamilyNumberEnum.IP.getIanaCode())
153                 .build();
154
155         SrcAddress srcAddress = new SrcAddressBuilder()
156                         .setPrimitiveAddress(YangTransformerNB.toPrimitive(lispAFIAddressSrc))
157                         .build();
158
159         DstAddress dstAddress = new DstAddressBuilder()
160                         .setPrimitiveAddress(YangTransformerNB.toPrimitive(lispAFIAddressDst))
161                         .build();
162
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)
170                         .build();
171
172         LispAddressContainer lispAddressContainerIn = YangTransformerNB.toContainer(lispAFIAddressIn);
173
174         LispAddressGeneric lispAddressGeneric
175                 = new LispAddressGeneric(YangTransformerNB.transformToLispAddress(lispAddressContainerIn));
176
177         LispAddressContainer lispAddressContainerOut
178                 = YangTransformerNB.transformLispAddress(LispAddressConvertorNB.convertToLispAddress(lispAddressGeneric));
179
180         LispAFIAddress lispAFIAddressOut = (LispAFIAddress) lispAddressContainerOut.getAddress();
181
182
183         org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.LcafSourceDestAddress lcafSourceDestAddressOut;
184                 lcafSourceDestAddressOut = (org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.LcafSourceDestAddress) lispAFIAddressOut;
185
186                 Ipv4Address ipv4AddressSrcOut
187                         = ((org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.lispsimpleaddress.primitiveaddress.Ipv4)
188                                         lcafSourceDestAddressOut.getSrcAddress().getPrimitiveAddress())
189                                         .getIpv4Address();
190
191                 Ipv4Address ipv4AddressDstOut
192                 = ((org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.lispsimpleaddress.primitiveaddress.Ipv4)
193                                 lcafSourceDestAddressOut.getDstAddress().getPrimitiveAddress())
194                                 .getIpv4Address();
195
196
197         assertEquals(ipv4AddressSrcIn.getValue(),ipv4AddressSrcOut.getValue());
198
199         assertEquals(ipv4AddressDstIn.getValue(),ipv4AddressDstOut.getValue());
200
201     }
202
203
204 }