[SO] Release so 1.13.0 image
[so.git] / adapters / mso-adapters-rest-interface / src / test / java / org / onap / so / adapters / network / mappers / ContrailSubnetMappersTest.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP - SO
4  * ================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END=========================================================
19  */
20
21 package org.onap.so.adapters.network.mappers;
22
23 import static org.junit.Assert.assertEquals;
24 import java.util.ArrayList;
25 import java.util.List;
26 import java.util.Optional;
27 import org.junit.Test;
28 import org.onap.so.adapters.network.beans.ContrailSubnet;
29 import org.onap.so.adapters.network.beans.ContrailSubnetHostRoute;
30 import org.onap.so.adapters.network.beans.ContrailSubnetHostRoutes;
31 import org.onap.so.adapters.network.beans.ContrailSubnetIp;
32 import org.onap.so.adapters.network.beans.ContrailSubnetPool;
33 import org.onap.so.openstack.beans.HostRoute;
34 import org.onap.so.openstack.beans.Pool;
35 import org.onap.so.openstack.beans.Subnet;
36
37 public class ContrailSubnetMappersTest {
38
39
40
41     @Test
42     public void contrailSubnetHostRouteMapperTest() {
43         HostRoute hostRoute = new HostRoute();
44         hostRoute.setNextHop("hop");
45         hostRoute.setPrefix("prefix");
46         ContrailSubnetHostRouteMapper mapper = new ContrailSubnetHostRouteMapper(hostRoute);
47         ContrailSubnetHostRoute cshr = mapper.map();
48         assertEquals("hop", cshr.getNextHop());
49         assertEquals("prefix", cshr.getPrefix());
50     }
51
52     @Test
53     public void contrailSubnetPoolMapperTest() {
54         Pool pool = new Pool();
55         pool.setStart("start");
56         pool.setEnd("end");
57         ContrailSubnetPoolMapper mapper = new ContrailSubnetPoolMapper(pool);
58         ContrailSubnetPool csPool = mapper.map();
59         assertEquals("start", csPool.getStart());
60         assertEquals("end", csPool.getEnd());
61     }
62
63     @Test
64     public void checkIsNullOrEmpty() {
65         ContrailSubnetMapper mapper = new ContrailSubnetMapper(null);
66         assertEquals(true, mapper.isNullOrEmpty(""));
67         assertEquals(true, mapper.isNullOrEmpty(null));
68         assertEquals(false, mapper.isNullOrEmpty("hello"));
69     }
70
71     @Test
72     public void createSubnetTestValidCidr() {
73         Subnet subnet = new Subnet();
74         subnet.setCidr("test/value");
75         ContrailSubnetMapper mapper = new ContrailSubnetMapper(subnet);
76         ContrailSubnet result = mapper.map();
77
78         assertEquals("test", result.getSubnet().getIpPrefix());
79         assertEquals("value", result.getSubnet().getIpPrefixLen());
80     }
81
82     @Test
83     public void createSubnetTestInvalidCidr() {
84         Subnet subnet = new Subnet();
85         subnet.setCidr("test");
86         ContrailSubnetMapper mapper = new ContrailSubnetMapper(subnet);
87         ContrailSubnet result = mapper.map();
88         assertEquals(null, result.getSubnet().getIpPrefix());
89         assertEquals(null, result.getSubnet().getIpPrefixLen());
90
91     }
92
93     @Test
94     public void createSubnetTestNullCidr() {
95         Subnet subnet = new Subnet();
96         ContrailSubnetMapper mapper = new ContrailSubnetMapper(subnet);
97         ContrailSubnet result = mapper.map();
98         assertEquals(null, result.getSubnet().getIpPrefix());
99         assertEquals(null, result.getSubnet().getIpPrefixLen());
100     }
101
102     @Test
103     public void createContrailSubnetPoolTest() {
104         List<Pool> pools = new ArrayList<>();
105         Pool pool1 = new Pool();
106         pool1.setStart("start1");
107         pool1.setEnd("end1");
108         Pool pool2 = new Pool();
109         pool2.setStart("start2");
110         pool2.setEnd("end2");
111         pools.add(pool1);
112         pools.add(pool2);
113
114         Subnet subnet = new Subnet();
115         subnet.setAllocationPools(pools);
116         ContrailSubnetMapper mapper = new ContrailSubnetMapper(subnet);
117         ContrailSubnet result = mapper.map();
118         List<ContrailSubnetPool> cspools = result.getAllocationPools();
119         assertEquals(2, cspools.size());
120         assertEquals("start2", cspools.get(1).getStart());
121         assertEquals("end2", cspools.get(1).getEnd());
122     }
123
124     @Test
125     public void createContrailSubnetPoolInvalidTest() {
126         List<Pool> pools = new ArrayList<>();
127         Pool pool1 = new Pool();
128         pool1.setStart("start1");
129         pool1.setEnd("end1");
130         Pool pool2 = new Pool();
131         pool2.setStart("start2");
132         pools.add(pool1);
133         pools.add(pool2);
134
135         Subnet subnet = new Subnet();
136         subnet.setAllocationPools(pools);
137         ContrailSubnetMapper mapper = new ContrailSubnetMapper(subnet);
138         ContrailSubnet result = mapper.map();
139         List<ContrailSubnetPool> cspools = result.getAllocationPools();
140         assertEquals(1, cspools.size());
141         assertEquals("start1", cspools.get(0).getStart());
142         assertEquals("end1", cspools.get(0).getEnd());
143     }
144
145     @Test
146     public void createContrailSubnetPoolEmptyTest() {
147
148         Subnet subnet = new Subnet();
149         ContrailSubnetMapper mapper = new ContrailSubnetMapper(subnet);
150         ContrailSubnet result = mapper.map();
151         List<ContrailSubnetPool> cspools = result.getAllocationPools();
152         assertEquals(true, cspools.isEmpty());
153
154     }
155
156     @Test
157     public void createContrailSubnetHostRoutesTest() {
158         List<HostRoute> hostRoutes = new ArrayList<>();
159         HostRoute hostRoute1 = new HostRoute();
160         hostRoute1.setNextHop("next-hop1");
161         hostRoute1.setPrefix("prefix1");
162         HostRoute hostRoute2 = new HostRoute();
163         hostRoute2.setNextHop("next-hop2");
164         hostRoute2.setPrefix("prefix2");
165         hostRoutes.add(hostRoute1);
166         hostRoutes.add(hostRoute2);
167
168         Subnet subnet = new Subnet();
169         subnet.setHostRoutes(hostRoutes);
170         ContrailSubnetMapper mapper = new ContrailSubnetMapper(subnet);
171         ContrailSubnet result = mapper.map();
172         ContrailSubnetHostRoutes routes = result.getHostRoutes();
173         assertEquals(2, routes.getHostRoutes().size());
174         assertEquals("next-hop2", routes.getHostRoutes().get(1).getNextHop());
175         assertEquals("prefix2", routes.getHostRoutes().get(1).getPrefix());
176     }
177
178     @Test
179     public void createContrailSubnetHostRoutesMissingFieldTest() {
180         List<HostRoute> hostRoutes = new ArrayList<>();
181         HostRoute hostRoute1 = new HostRoute();
182         hostRoute1.setNextHop("next-hop1");
183         HostRoute hostRoute2 = new HostRoute();
184         hostRoute2.setNextHop("next-hop2");
185         hostRoute2.setPrefix("prefix2");
186         hostRoutes.add(hostRoute1);
187         hostRoutes.add(hostRoute2);
188
189         Subnet subnet = new Subnet();
190         subnet.setHostRoutes(hostRoutes);
191         ContrailSubnetMapper mapper = new ContrailSubnetMapper(subnet);
192         ContrailSubnet result = mapper.map();
193         ContrailSubnetHostRoutes routes = result.getHostRoutes();
194         assertEquals(2, routes.getHostRoutes().size());
195         assertEquals("next-hop1", routes.getHostRoutes().get(0).getNextHop());
196         assertEquals("prefix2", routes.getHostRoutes().get(1).getPrefix());
197     }
198
199     @Test
200     public void createContrailSubnetHostRoutesEmptyTest() {
201         List<HostRoute> hostRoutes = new ArrayList<>();
202         Subnet subnet = new Subnet();
203         subnet.setHostRoutes(hostRoutes);
204         ContrailSubnetMapper mapper = new ContrailSubnetMapper(subnet);
205         ContrailSubnet result = mapper.map();
206         ContrailSubnetHostRoutes routes = result.getHostRoutes();
207         assertEquals(true, routes.getHostRoutes().isEmpty());
208     }
209
210     @Test
211     public void getSubnetNameTest() {
212         Subnet subnet = new Subnet();
213         subnet.setSubnetName("name");
214         ContrailSubnetMapper mapper = new ContrailSubnetMapper(subnet);
215         assertEquals("if subnetName is populated map", "name", mapper.getSubnetName(subnet));
216         subnet = new Subnet();
217         subnet.setSubnetId("id");
218         mapper = new ContrailSubnetMapper(subnet);
219         assertEquals("choose id when name is null", "id", mapper.getSubnetName(subnet));
220         subnet = new Subnet();
221         mapper = new ContrailSubnetMapper(subnet);
222         assertEquals("expect null", null, mapper.getSubnetName(subnet));
223     }
224
225     @Test
226     public void mapRemainingFields() {
227         Subnet subnet = new Subnet();
228         subnet.setEnableDHCP(true);
229         subnet.setGatewayIp("gateway-ip");
230         ContrailSubnetMapper mapper = new ContrailSubnetMapper(subnet);
231         ContrailSubnet result = mapper.map();
232         assertEquals(true, result.isEnableDhcp());
233         assertEquals("gateway-ip", result.getDefaultGateway());
234     }
235 }