2 * ============LICENSE_START=======================================================
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
11 * http://www.apache.org/licenses/LICENSE-2.0
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=========================================================
21 package org.onap.so.adapters.network.mappers;
23 import static org.junit.Assert.assertEquals;
25 import java.util.ArrayList;
26 import java.util.List;
27 import java.util.Optional;
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;
39 public class ContrailSubnetMappersTest {
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());
55 public void contrailSubnetPoolMapperTest() {
56 Pool pool = new Pool();
57 pool.setStart("start");
59 ContrailSubnetPoolMapper mapper = new ContrailSubnetPoolMapper(pool);
60 ContrailSubnetPool csPool = mapper.map();
61 assertEquals("start", csPool.getStart());
62 assertEquals("end", csPool.getEnd());
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"));
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();
80 assertEquals("test",result.getSubnet().getIpPrefix());
81 assertEquals("value", result.getSubnet().getIpPrefixLen());
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());
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());
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");
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());
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");
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());
148 public void createContrailSubnetPoolEmptyTest() {
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());
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);
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());
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);
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());
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());
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));
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());