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