[MSO-8] Update the maven dependency
[so.git] / adapters / mso-network-adapter / src / test / java / org / openecomp / mso / adapters / network / NetworkAdapterTest.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * OPENECOMP - MSO
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.openecomp.mso.adapters.network;
22
23
24 import static org.junit.Assert.assertTrue;
25
26 import java.util.LinkedList;
27 import java.util.List;
28 import java.util.Map;
29
30 import javax.xml.ws.Holder;
31
32 import org.evosuite.runtime.System;
33 import org.junit.BeforeClass;
34 import org.junit.Test;
35 import org.mockito.Mock;
36 import org.mockito.Mockito;
37
38 import org.openecomp.mso.adapters.network.exceptions.NetworkException;
39 import org.openecomp.mso.db.catalog.CatalogDatabase;
40 import org.openecomp.mso.db.catalog.beans.NetworkResource;
41 import org.openecomp.mso.entity.MsoRequest;
42 import org.openecomp.mso.openstack.beans.NetworkStatus;
43 import org.openecomp.mso.openstack.beans.Subnet;
44 import org.openecomp.mso.openstack.beans.NetworkRollback;
45
46 public class NetworkAdapterTest {
47
48     @Mock
49     private static MsoNetworkAdapterImpl adapter;
50
51     @Mock
52     private static CatalogDatabase db;
53
54     @BeforeClass
55     public static final void prepare () {
56         adapter = Mockito.spy (new MsoNetworkAdapterImpl ());
57         db = Mockito.mock (CatalogDatabase.class);
58         NetworkResource networkResource = new NetworkResource ();
59         networkResource.setNetworkType ("PROVIDER");
60         networkResource.setNeutronNetworkType ("PROVIDER");
61         networkResource.setId (1);
62         networkResource.setOrchestrationMode ("toto");
63         Mockito.when (db.getNetworkResource ("PROVIDER")).thenReturn (networkResource);
64         Mockito.when (adapter.getCatalogDB()).thenReturn (db);
65     }
66
67     @Test
68     public void createTest () {
69
70         List <Integer> vlans = new LinkedList <> ();
71         vlans.add (1);
72         vlans.add (2);
73         List <Subnet> subnets = new LinkedList <> ();
74         subnets.add (new Subnet ());
75         MsoRequest msoRequest = new MsoRequest ();
76         Holder <String> networkId = new Holder <> ();
77         Holder <String> neutronNetworkId = new Holder <> ();
78         Holder <Map <String, String>> subnetIdMap = new Holder <> ();
79         Holder <NetworkRollback> rollback = new Holder <> ();
80         try {
81             adapter.createNetwork ("toto",
82                                    "tenant",
83                                    "PROVIDER",
84                                    "networkName",
85                                    "physicalNetworkName",
86                                    vlans,
87                                    Boolean.TRUE,
88                                    Boolean.TRUE,
89                                    subnets,
90                                    msoRequest,
91                                    networkId,
92                                    neutronNetworkId,
93                                    subnetIdMap,
94                                    rollback);
95         } catch (NetworkException e) {
96             assertTrue (e.getMessage ().contains ("Configuration Error"));
97         }
98     }
99
100     @Test
101     public void createTest2 () {
102         List <Integer> vlans = new LinkedList <> ();
103         vlans.add (1);
104         vlans.add (2);
105         List <Subnet> subnets = new LinkedList <> ();
106         List <String> routeTargets = new LinkedList <> ();
107         subnets.add (new Subnet ());
108         List <String> policyFqdns = new LinkedList <> ();
109         policyFqdns.add("pfqdn1");
110         policyFqdns.add("pfqdn2");
111         List <String> routeTableFqdns = new LinkedList <> ();
112         routeTableFqdns.add("rtfqdn1");
113         routeTableFqdns.add("rtfqdn2");
114         MsoRequest msoRequest = new MsoRequest ();
115         Holder <String> networkId = new Holder <> ();
116         Holder <String> neutronNetworkId = new Holder <> ();
117         Holder <Map <String, String>> subnetIdMap = new Holder <> ();
118         Holder <NetworkRollback> rollback = new Holder <> ();
119         Holder <String> networkFqdn= new Holder <> ();
120         try {
121             adapter.createNetworkContrail ("toto",
122                                            "tenant",
123                                            "PROVIDER",
124                                            "networkName",
125                                            routeTargets,
126                                            "shared",
127                                            "external",
128                                            Boolean.TRUE,
129                                            Boolean.TRUE,
130                                            subnets,
131                                            policyFqdns,
132                                            routeTableFqdns,
133                                            msoRequest,
134                                            networkId,
135                                            neutronNetworkId,
136                                            networkFqdn,
137                                            subnetIdMap,
138                                            rollback);
139         } catch (NetworkException e) {
140             assertTrue (e.getMessage ().contains ("Configuration Error"));
141         }
142     }
143
144     @Test
145     public void updateTest () {
146         List <Integer> vlans = new LinkedList <> ();
147         vlans.add (1);
148         vlans.add (2);
149         List <Subnet> subnets = new LinkedList <> ();
150         subnets.add (new Subnet ());
151         MsoRequest msoRequest = new MsoRequest ();
152         Holder <Map <String, String>> subnetIdMap = new Holder <> ();
153         Holder <NetworkRollback> rollback = new Holder <> ();
154         try {
155             adapter.updateNetwork ("toto",
156                                    "tenant",
157                                    "PROVIDER",
158                                    "networkId",
159                                    "networkName",
160                                    "physicalNetworkName",
161                                    vlans,
162                                    subnets,
163                                    msoRequest,
164                                    subnetIdMap,
165                                    rollback);
166         } catch (NetworkException e) {
167             assertTrue (e.getMessage ().contains ("Configuration Error"));
168         }
169     }
170
171     @Test
172     public void updateTest2 () {
173         List <Integer> vlans = new LinkedList <> ();
174         vlans.add (1);
175         vlans.add (2);
176         List <Subnet> subnets = new LinkedList <> ();
177         List <String> routeTargets = new LinkedList <> ();
178         subnets.add (new Subnet ());
179         List <String> policyFqdns = new LinkedList <> ();
180         policyFqdns.add("pfqdn1");
181         List <String> routeTableFqdns = new LinkedList <> ();
182         routeTableFqdns.add("rtfqdn1");
183         routeTableFqdns.add("rtfqdn2");
184         MsoRequest msoRequest = new MsoRequest ();
185         Holder <Map <String, String>> subnetIdMap = new Holder <> ();
186         Holder <NetworkRollback> rollback = new Holder <> ();
187         try {
188             adapter.updateNetworkContrail ("toto",
189                                            "tenant",
190                                            "PROVIDER",
191                                            "networkId",
192                                            "networkName",
193                                            routeTargets,
194                                            "shared",
195                                            "external",
196                                            subnets,
197                                            policyFqdns,
198                                            routeTableFqdns,
199                                            msoRequest,
200                                            subnetIdMap,
201                                            rollback);
202         } catch (NetworkException e) {
203             assertTrue (e.getMessage ().contains ("Configuration Error"));
204         }
205     }
206
207     @Test
208     public void queryTest () {
209         Holder <List <Integer>> vlans = new Holder <> ();
210         Holder <NetworkStatus> status = new Holder <> ();
211         MsoRequest msoRequest = new MsoRequest ();
212         Holder <String> networkId = new Holder <> ();
213         Holder <Boolean> result = new Holder <> ();
214         Holder <String> neutronNetworkId = new Holder <> ();
215         Holder <Map <String, String>> subnetIdMap = new Holder <> ();
216         try {
217             adapter.queryNetwork (null,
218                                   "tenant",
219                                   "networkName",
220                                   msoRequest,
221                                   result,
222                                   networkId,
223                                   neutronNetworkId,
224                                   status,
225                                   vlans,
226                                   subnetIdMap);
227         } catch (NetworkException e) {
228             assertTrue (e.getMessage ().contains ("Missing mandatory parameter"));
229         }
230     }
231
232     @Test
233     public void queryTest2 () {
234         Holder <List <String>> routeTargets = new Holder <> ();
235         Holder <NetworkStatus> status = new Holder <> ();
236         MsoRequest msoRequest = new MsoRequest ();
237         Holder <String> networkId = new Holder <> ();
238         Holder <Boolean> result = new Holder <> ();
239         Holder <String> neutronNetworkId = new Holder <> ();
240         Holder <Map <String, String>> subnetIdMap = new Holder <> ();
241         try {
242             adapter.queryNetworkContrail (null,
243                                           "tenant",
244                                           "networkName",
245                                           msoRequest,
246                                           result,
247                                           networkId,
248                                           neutronNetworkId,
249                                           status,
250                                           routeTargets,
251                                           subnetIdMap);
252         } catch (NetworkException e) {
253             assertTrue (e.getMessage ().contains ("Missing mandatory parameter"));
254         }
255     }
256
257     @Test
258     public void deleteTest () {
259         Holder <Boolean> networkDeleted = new Holder<> ();
260         MsoRequest msoRequest = new MsoRequest ();
261         try {
262             adapter.deleteNetwork ("toto", "tenant", "PROVIDER", "networkId", msoRequest, networkDeleted);
263         } catch (NetworkException e) {
264             e.printStackTrace();
265             assertTrue (e.getMessage ().contains ("Cloud Site [toto] not found"));
266         }
267     }
268 }