240074bca7f450a9e2a5dcc4f1ddd414800bba1b
[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
25 import java.util.ArrayList;
26 import java.util.List;
27 import java.util.Optional;
28
29 import org.junit.Test;
30 import org.onap.so.adapters.network.beans.ContrailSubnet;
31 import org.onap.so.adapters.network.beans.ContrailSubnetHostRoute;
32 import org.onap.so.adapters.network.beans.ContrailSubnetHostRoutes;
33 import org.onap.so.adapters.network.beans.ContrailSubnetIp;
34 import org.onap.so.adapters.network.beans.ContrailSubnetPool;
35 import org.onap.so.openstack.beans.HostRoute;
36 import org.onap.so.openstack.beans.Pool;
37 import org.onap.so.openstack.beans.Subnet;
38
39 public class ContrailSubnetMappersTest {
40
41         
42         
43         @Test
44         public void contrailSubnetHostRouteMapperTest() {
45                 HostRoute hostRoute = new HostRoute();
46                 hostRoute.setNextHop("hop");
47                 hostRoute.setPrefix("prefix");
48                 ContrailSubnetHostRouteMapper mapper = new ContrailSubnetHostRouteMapper(hostRoute);
49                 ContrailSubnetHostRoute cshr = mapper.map();
50                 assertEquals("hop", cshr.getNextHop());
51                 assertEquals("prefix", cshr.getPrefix());
52         }
53         
54         @Test
55         public void contrailSubnetPoolMapperTest() {
56                 Pool pool = new Pool();
57                 pool.setStart("start");
58                 pool.setEnd("end");
59                 ContrailSubnetPoolMapper mapper = new ContrailSubnetPoolMapper(pool);
60                 ContrailSubnetPool csPool = mapper.map();
61                 assertEquals("start", csPool.getStart());
62                 assertEquals("end", csPool.getEnd());
63         }
64         
65         @Test
66         public void checkIsNullOrEmpty() {
67                 ContrailSubnetMapper mapper = new ContrailSubnetMapper(null);
68                 assertEquals(true, mapper.isNullOrEmpty(""));
69                 assertEquals(true, mapper.isNullOrEmpty(null));
70                 assertEquals(false, mapper.isNullOrEmpty("hello"));
71         }
72         
73         @Test
74         public void createSubnetTestValidCidr() {
75                 Subnet subnet = new Subnet();
76                 subnet.setCidr("test/value");
77                 ContrailSubnetMapper mapper = new ContrailSubnetMapper(subnet);
78                 ContrailSubnet result = mapper.map();
79                 
80                 assertEquals("test",result.getSubnet().getIpPrefix());
81                 assertEquals("value", result.getSubnet().getIpPrefixLen());
82         }
83         
84         @Test
85         public void createSubnetTestInvalidCidr() {
86                 Subnet subnet = new Subnet();
87                 subnet.setCidr("test");
88                 ContrailSubnetMapper mapper = new ContrailSubnetMapper(subnet);
89                 ContrailSubnet result = mapper.map();
90                 assertEquals(null, result.getSubnet().getIpPrefix());
91                 assertEquals(null, result.getSubnet().getIpPrefixLen());
92
93         }
94         
95         @Test
96         public void createSubnetTestNullCidr() {
97                 Subnet subnet = new Subnet();
98                 ContrailSubnetMapper mapper = new ContrailSubnetMapper(subnet);
99                 ContrailSubnet result = mapper.map();
100                 assertEquals(null, result.getSubnet().getIpPrefix());
101                 assertEquals(null, result.getSubnet().getIpPrefixLen());
102         }
103         
104         @Test
105         public void createContrailSubnetPoolTest() {
106                 List<Pool> pools = new ArrayList<>();
107                 Pool pool1 = new Pool();
108                 pool1.setStart("start1");
109                 pool1.setEnd("end1");
110                 Pool pool2 = new Pool();
111                 pool2.setStart("start2");
112                 pool2.setEnd("end2");
113                 pools.add(pool1);
114                 pools.add(pool2);
115                 
116                 Subnet subnet = new Subnet();
117                 subnet.setAllocationPools(pools);
118                 ContrailSubnetMapper mapper = new ContrailSubnetMapper(subnet);
119                 ContrailSubnet result = mapper.map();
120                 List<ContrailSubnetPool> cspools = result.getAllocationPools();
121                 assertEquals(2, cspools.size());
122                 assertEquals("start2", cspools.get(1).getStart());
123                 assertEquals("end2", cspools.get(1).getEnd());
124         }
125         
126         @Test
127         public void createContrailSubnetPoolInvalidTest() {
128                 List<Pool> pools = new ArrayList<>();
129                 Pool pool1 = new Pool();
130                 pool1.setStart("start1");
131                 pool1.setEnd("end1");
132                 Pool pool2 = new Pool();
133                 pool2.setStart("start2");
134                 pools.add(pool1);
135                 pools.add(pool2);
136                 
137                 Subnet subnet = new Subnet();
138                 subnet.setAllocationPools(pools);
139                 ContrailSubnetMapper mapper = new ContrailSubnetMapper(subnet);
140                 ContrailSubnet result = mapper.map();
141                 List<ContrailSubnetPool> cspools = result.getAllocationPools();
142                 assertEquals(1, cspools.size());
143                 assertEquals("start1", cspools.get(0).getStart());
144                 assertEquals("end1", cspools.get(0).getEnd());
145         }
146         
147         @Test
148         public void createContrailSubnetPoolEmptyTest() {
149
150                 Subnet subnet = new Subnet();
151                 ContrailSubnetMapper mapper = new ContrailSubnetMapper(subnet);
152                 ContrailSubnet result = mapper.map();
153                 List<ContrailSubnetPool> cspools = result.getAllocationPools();
154                 assertEquals(true, cspools.isEmpty());
155
156         }
157         
158         @Test
159         public void createContrailSubnetHostRoutesTest() {
160                 List<HostRoute> hostRoutes = new ArrayList<>();
161                 HostRoute hostRoute1 = new HostRoute();
162                 hostRoute1.setNextHop("next-hop1");
163                 hostRoute1.setPrefix("prefix1");
164                 HostRoute hostRoute2 = new HostRoute();
165                 hostRoute2.setNextHop("next-hop2");
166                 hostRoute2.setPrefix("prefix2");
167                 hostRoutes.add(hostRoute1);
168                 hostRoutes.add(hostRoute2);
169                 
170                 Subnet subnet = new Subnet();
171                 subnet.setHostRoutes(hostRoutes);
172                 ContrailSubnetMapper mapper = new ContrailSubnetMapper(subnet);
173                 ContrailSubnet result = mapper.map();
174                 ContrailSubnetHostRoutes routes = result.getHostRoutes();
175                 assertEquals(2, routes.getHostRoutes().size());
176                 assertEquals("next-hop2", routes.getHostRoutes().get(1).getNextHop());
177                 assertEquals("prefix2", routes.getHostRoutes().get(1).getPrefix());
178         }
179         
180         @Test
181         public void createContrailSubnetHostRoutesMissingFieldTest() {
182                 List<HostRoute> hostRoutes = new ArrayList<>();
183                 HostRoute hostRoute1 = new HostRoute();
184                 hostRoute1.setNextHop("next-hop1");
185                 HostRoute hostRoute2 = new HostRoute();
186                 hostRoute2.setNextHop("next-hop2");
187                 hostRoute2.setPrefix("prefix2");
188                 hostRoutes.add(hostRoute1);
189                 hostRoutes.add(hostRoute2);
190                 
191                 Subnet subnet = new Subnet();
192                 subnet.setHostRoutes(hostRoutes);
193                 ContrailSubnetMapper mapper = new ContrailSubnetMapper(subnet);
194                 ContrailSubnet result = mapper.map();
195                 ContrailSubnetHostRoutes routes = result.getHostRoutes();
196                 assertEquals(2, routes.getHostRoutes().size());
197                 assertEquals("next-hop1", routes.getHostRoutes().get(0).getNextHop());
198                 assertEquals("prefix2", routes.getHostRoutes().get(1).getPrefix());
199         }
200         
201         @Test
202         public void createContrailSubnetHostRoutesEmptyTest() {
203                 List<HostRoute> hostRoutes = new ArrayList<>();
204                 Subnet subnet = new Subnet();
205                 subnet.setHostRoutes(hostRoutes);
206                 ContrailSubnetMapper mapper = new ContrailSubnetMapper(subnet);
207                 ContrailSubnet result = mapper.map();
208                 ContrailSubnetHostRoutes routes = result.getHostRoutes();
209                 assertEquals(true, routes.getHostRoutes().isEmpty());
210         }
211         
212         @Test
213         public void getSubnetNameTest() {
214                 Subnet subnet = new Subnet();
215                 subnet.setSubnetName("name");
216                 ContrailSubnetMapper mapper = new ContrailSubnetMapper(subnet);
217                 assertEquals("if subnetName is populated map", "name", mapper.getSubnetName(subnet));
218                 subnet = new Subnet(); 
219                 subnet.setSubnetId("id");
220                 mapper = new ContrailSubnetMapper(subnet);
221                 assertEquals("choose id when name is null", "id", mapper.getSubnetName(subnet));
222                 subnet = new Subnet();
223                 mapper = new ContrailSubnetMapper(subnet);
224                 assertEquals("expect null", null, mapper.getSubnetName(subnet));
225         }
226         @Test
227         public void mapRemainingFields() {
228                 Subnet subnet = new Subnet();
229                 subnet.setEnableDHCP(true);
230                 subnet.setGatewayIp("gateway-ip");
231                 ContrailSubnetMapper mapper = new ContrailSubnetMapper(subnet);
232                 ContrailSubnet result = mapper.map();
233                 assertEquals(true, result.isEnableDhcp());
234                 assertEquals("gateway-ip", result.getDefaultGateway());
235         }
236 }