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