Prepare the YANG models for RESTCONF
[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.implementation.util.LispAFIConvertor;
16 import org.opendaylight.lispflowmapping.tools.junit.BaseTestCase;
17 import org.opendaylight.lispflowmapping.type.AddressFamilyNumberEnum;
18 import org.opendaylight.lispflowmapping.type.LispCanonicalAddressFormatEnum;
19 import org.opendaylight.lispflowmapping.type.lisp.address.LispAddress;
20 import org.opendaylight.lispflowmapping.type.lisp.address.LispAddressGeneric;
21 import org.opendaylight.lispflowmapping.type.lisp.address.LispIpv4Address;
22 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.control.plane.rev150314.LispAFIAddress;
23 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.control.plane.rev150314.lcafsourcedestaddress.DstAddress;
24 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.control.plane.rev150314.lcafsourcedestaddress.DstAddressBuilder;
25 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.control.plane.rev150314.lcafsourcedestaddress.SrcAddress;
26 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.control.plane.rev150314.lcafsourcedestaddress.SrcAddressBuilder;
27 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.control.plane.rev150314.lispaddress.LispAddressContainer;
28 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.control.plane.rev150314.lispaddress.lispaddresscontainer.address.ipv4.Ipv4AddressBuilder;
29 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.control.plane.rev150314.lispaddress.lispaddresscontainer.address.lcafsourcedest.LcafSourceDestAddrBuilder;
30 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Ipv4Address;
31
32
33
34
35 public class TransformerTest extends BaseTestCase{
36
37     @Override
38     @Before
39     public void before() throws Exception {
40         super.before();
41     }
42
43     @Test
44     public void convertToLispAddress__ipv4() throws Exception {
45
46         LispAddress lispAddress = new LispIpv4Address("10.0.0.1");
47
48         LispAddressGeneric lispAddressGeneric = new LispAddressGeneric(lispAddress);
49
50         //assertEquals(lispAddress, new LispIpv4Address("10.0.0.1"));
51
52         assertEquals(lispAddress, LispAddressConvertorNB.convertToLispAddress(lispAddressGeneric));
53
54     }
55
56     @Test
57     public void transformLispAddressGeneric__ipv4() throws Exception {
58
59         LispAddressGeneric lispAddressGenericIn
60                 = new LispAddressGeneric(AddressFamilyNumberEnum.IP.getIanaCode(),"10.0.0.1");
61
62         LispAddressContainer lispAddressContainer =
63                         YangTransformerNB.transformLispAddress(
64                                         LispAddressConvertorNB.convertToLispAddress(lispAddressGenericIn));
65
66         LispAddressGeneric lispAddressGenericOut
67                 = new LispAddressGeneric(YangTransformerNB.transformToLispAddress(lispAddressContainer));
68
69
70         assertEquals(lispAddressGenericIn.getIpAddress(),lispAddressGenericOut.getIpAddress());
71
72     }
73
74     @Test
75     public void transformLispAddressGeneric__srcdst() throws Exception {
76
77         LispAddressGeneric lispAddressGenericIn = new LispAddressGeneric();
78
79         LispAddressGeneric lispAddressGenericSrc
80                         = new LispAddressGeneric(AddressFamilyNumberEnum.IP.getIanaCode(),"10.0.0.1");
81
82         LispAddressGeneric lispAddressGenericDst
83                         = new LispAddressGeneric(AddressFamilyNumberEnum.IP.getIanaCode(),"20.0.0.2");
84
85         lispAddressGenericIn.setAfi(AddressFamilyNumberEnum.LCAF.getIanaCode());
86         lispAddressGenericIn.setLcafType(LispCanonicalAddressFormatEnum.SOURCE_DEST.getLispCode());
87
88         lispAddressGenericIn.setSrcAddress(lispAddressGenericSrc);
89         lispAddressGenericIn.setDstAddress(lispAddressGenericDst);
90
91         lispAddressGenericIn.setSrcMaskLength((byte) 32);
92         lispAddressGenericIn.setDstMaskLength((byte) 32);
93
94
95         LispAddressContainer lispAddressContainer =
96                         YangTransformerNB.transformLispAddress(
97                                         LispAddressConvertorNB.convertToLispAddress(lispAddressGenericIn));
98
99         LispAddressGeneric lispAddressGenericOut
100                 = new LispAddressGeneric(YangTransformerNB.transformToLispAddress(lispAddressContainer));
101
102
103         assertEquals(lispAddressGenericIn.getSrcAddress().getIpAddress(),
104                                  lispAddressGenericOut.getSrcAddress().getIpAddress());
105
106         assertEquals(lispAddressGenericIn.getDstAddress().getIpAddress(),
107                                      lispAddressGenericOut.getDstAddress().getIpAddress());
108
109     }
110
111
112     @Test
113     public void transformLispAddressContainer__ipv4() throws Exception {
114
115         Ipv4Address ipv4AddressIn = new Ipv4Address("10.0.0.1");
116         LispAFIAddress lispAFIAddressIn = new Ipv4AddressBuilder()
117                 .setIpv4Address(ipv4AddressIn)
118                 .setAfi(AddressFamilyNumberEnum.IP.getIanaCode())
119                 .build();
120
121         LispAddressContainer lispAddressContainerIn = LispAFIConvertor.toContainer(lispAFIAddressIn);
122
123         LispAddressGeneric lispAddressGeneric
124                 = new LispAddressGeneric(YangTransformerNB.transformToLispAddress(lispAddressContainerIn));
125
126         LispAddressContainer lispAddressContainerOut
127                 = YangTransformerNB.transformLispAddress(LispAddressConvertorNB.convertToLispAddress(lispAddressGeneric));
128
129         LispAFIAddress lispAFIAddressOut = LispAFIConvertor.toAFI(lispAddressContainerOut);
130
131         org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.control.plane.rev150314.LispIpv4Address lispIpv4AddressOut;
132         lispIpv4AddressOut = (org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.control.plane.rev150314.LispIpv4Address) lispAFIAddressOut;
133
134
135         assertEquals(ipv4AddressIn.getValue(),
136                                  lispIpv4AddressOut.getIpv4Address().getValue());
137
138     }
139
140
141     @Test
142     public void transformLispAddressContainer__srcdst() throws Exception {
143
144         Ipv4Address ipv4AddressSrcIn = new Ipv4Address("10.0.0.1");
145         LispAFIAddress lispAFIAddressSrc = new Ipv4AddressBuilder()
146                 .setIpv4Address(ipv4AddressSrcIn)
147                 .setAfi(AddressFamilyNumberEnum.IP.getIanaCode())
148                 .build();
149
150         Ipv4Address ipv4AddressDstIn = new Ipv4Address("20.0.0.2");
151         LispAFIAddress lispAFIAddressDst = new Ipv4AddressBuilder()
152                 .setIpv4Address(ipv4AddressDstIn)
153                 .setAfi(AddressFamilyNumberEnum.IP.getIanaCode())
154                 .build();
155
156         SrcAddress srcAddress = new SrcAddressBuilder()
157                         .setPrimitiveAddress(YangTransformerNB.toPrimitive(lispAFIAddressSrc))
158                         .build();
159
160         DstAddress dstAddress = new DstAddressBuilder()
161                         .setPrimitiveAddress(YangTransformerNB.toPrimitive(lispAFIAddressDst))
162                         .build();
163
164         LispAFIAddress lispAFIAddressIn = new LcafSourceDestAddrBuilder()
165                         .setAfi(AddressFamilyNumberEnum.LCAF.getIanaCode())
166                         .setLcafType((short) LispCanonicalAddressFormatEnum.SOURCE_DEST.getLispCode())
167                         .setSrcMaskLength((short) 32)
168                         .setDstMaskLength((short) 32)
169                         .setSrcAddress(srcAddress)
170                         .setDstAddress(dstAddress)
171                         .build();
172
173         LispAddressContainer lispAddressContainerIn = LispAFIConvertor.toContainer(lispAFIAddressIn);
174
175         LispAddressGeneric lispAddressGeneric
176                 = new LispAddressGeneric(YangTransformerNB.transformToLispAddress(lispAddressContainerIn));
177
178         LispAddressContainer lispAddressContainerOut
179                 = YangTransformerNB.transformLispAddress(LispAddressConvertorNB.convertToLispAddress(lispAddressGeneric));
180
181         LispAFIAddress lispAFIAddressOut = LispAFIConvertor.toAFI(lispAddressContainerOut);
182
183
184         org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.control.plane.rev150314.LcafSourceDestAddress lcafSourceDestAddressOut;
185                 lcafSourceDestAddressOut = (org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.control.plane.rev150314.LcafSourceDestAddress) lispAFIAddressOut;
186
187                 Ipv4Address ipv4AddressSrcOut
188                         = ((org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.control.plane.rev150314.lispsimpleaddress.primitiveaddress.Ipv4)
189                                         lcafSourceDestAddressOut.getSrcAddress().getPrimitiveAddress())
190                                         .getIpv4Address().getIpv4Address();
191
192                 Ipv4Address ipv4AddressDstOut
193                 = ((org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.control.plane.rev150314.lispsimpleaddress.primitiveaddress.Ipv4)
194                                 lcafSourceDestAddressOut.getDstAddress().getPrimitiveAddress())
195                                 .getIpv4Address().getIpv4Address();
196
197
198         assertEquals(ipv4AddressSrcIn.getValue(),ipv4AddressSrcOut.getValue());
199
200         assertEquals(ipv4AddressDstIn.getValue(),ipv4AddressDstOut.getValue());
201
202     }
203
204
205 }