4900d28556047f137f3051ccc5ef62298a0a6a08
[so.git] /
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                                     "modelCustUuid",
85                                    "networkName",
86                                    "physicalNetworkName",
87                                    vlans,
88                                    Boolean.TRUE,
89                                    Boolean.TRUE,
90                                    subnets,
91                                    msoRequest,
92                                    networkId,
93                                    neutronNetworkId,
94                                    subnetIdMap,
95                                    rollback);
96         } catch (NetworkException e) {
97             assertTrue (e.getMessage ().contains ("Configuration Error"));
98         }
99     }
100
101     @Test
102     public void createTest2 () {
103         List <Integer> vlans = new LinkedList <> ();
104         vlans.add (1);
105         vlans.add (2);
106         List <Subnet> subnets = new LinkedList <> ();
107         List <String> routeTargets = new LinkedList <> ();
108         subnets.add (new Subnet ());
109         List <String> policyFqdns = new LinkedList <> ();
110         policyFqdns.add("pfqdn1");
111         policyFqdns.add("pfqdn2");
112         List <String> routeTableFqdns = new LinkedList <> ();
113         routeTableFqdns.add("rtfqdn1");
114         routeTableFqdns.add("rtfqdn2");
115         MsoRequest msoRequest = new MsoRequest ();
116         Holder <String> networkId = new Holder <> ();
117         Holder <String> neutronNetworkId = new Holder <> ();
118         Holder <Map <String, String>> subnetIdMap = new Holder <> ();
119         Holder <NetworkRollback> rollback = new Holder <> ();
120         Holder <String> networkFqdn= new Holder <> ();
121         try {
122             adapter.createNetworkContrail ("toto",
123                                            "tenant",
124                                            "PROVIDER",
125                                             "modelCustUuid",
126                                            "networkName",
127                                            routeTargets,
128                                            "shared",
129                                            "external",
130                                            Boolean.TRUE,
131                                            Boolean.TRUE,
132                                            subnets,
133                                            policyFqdns,
134                                            routeTableFqdns,
135                                            msoRequest,
136                                            networkId,
137                                            neutronNetworkId,
138                                            networkFqdn,
139                                            subnetIdMap,
140                                            rollback);
141         } catch (NetworkException e) {
142             assertTrue (e.getMessage ().contains ("Configuration Error"));
143         }
144     }
145
146     @Test
147     public void updateTest () {
148         List <Integer> vlans = new LinkedList <> ();
149         vlans.add (1);
150         vlans.add (2);
151         List <Subnet> subnets = new LinkedList <> ();
152         subnets.add (new Subnet ());
153         MsoRequest msoRequest = new MsoRequest ();
154         Holder <Map <String, String>> subnetIdMap = new Holder <> ();
155         Holder <NetworkRollback> rollback = new Holder <> ();
156         try {
157             adapter.updateNetwork ("toto",
158                                    "tenant",
159                                    "PROVIDER",
160                                     "modelCustUuid",
161                                    "networkId",
162                                    "networkName",
163                                    "physicalNetworkName",
164                                    vlans,
165                                    subnets,
166                                    msoRequest,
167                                    subnetIdMap,
168                                    rollback);
169         } catch (NetworkException e) {
170             assertTrue (e.getMessage ().contains ("Configuration Error"));
171         }
172     }
173
174     @Test
175     public void updateTest2 () {
176         List <Integer> vlans = new LinkedList <> ();
177         vlans.add (1);
178         vlans.add (2);
179         List <Subnet> subnets = new LinkedList <> ();
180         List <String> routeTargets = new LinkedList <> ();
181         subnets.add (new Subnet ());
182         List <String> policyFqdns = new LinkedList <> ();
183         policyFqdns.add("pfqdn1");
184         List <String> routeTableFqdns = new LinkedList <> ();
185         routeTableFqdns.add("rtfqdn1");
186         routeTableFqdns.add("rtfqdn2");
187         MsoRequest msoRequest = new MsoRequest ();
188         Holder <Map <String, String>> subnetIdMap = new Holder <> ();
189         Holder <NetworkRollback> rollback = new Holder <> ();
190         try {
191             adapter.updateNetworkContrail ("toto",
192                                            "tenant",
193                                            "PROVIDER",
194                                             "modelCustUuid",
195                                            "networkId",
196                                            "networkName",
197                                            routeTargets,
198                                            "shared",
199                                            "external",
200                                            subnets,
201                                            policyFqdns,
202                                            routeTableFqdns,
203                                            msoRequest,
204                                            subnetIdMap,
205                                            rollback);
206         } catch (NetworkException e) {
207             assertTrue (e.getMessage ().contains ("Configuration Error"));
208         }
209     }
210
211     @Test
212     public void queryTest () {
213         Holder <List <Integer>> vlans = new Holder <> ();
214         Holder <NetworkStatus> status = new Holder <> ();
215         MsoRequest msoRequest = new MsoRequest ();
216         Holder <String> networkId = new Holder <> ();
217         Holder <Boolean> result = new Holder <> ();
218         Holder <String> neutronNetworkId = new Holder <> ();
219         Holder <Map <String, String>> subnetIdMap = new Holder <> ();
220         try {
221             adapter.queryNetwork (null,
222                                   "tenant",
223                                   "networkName",
224                                   msoRequest,
225                                   result,
226                                   networkId,
227                                   neutronNetworkId,
228                                   status,
229                                   vlans,
230                                   subnetIdMap);
231         } catch (NetworkException e) {
232             assertTrue (e.getMessage ().contains ("Missing mandatory parameter"));
233         }
234     }
235
236     @Test
237     public void queryTest2 () {
238         Holder <List <String>> routeTargets = new Holder <> ();
239         Holder <NetworkStatus> status = new Holder <> ();
240         MsoRequest msoRequest = new MsoRequest ();
241         Holder <String> networkId = new Holder <> ();
242         Holder <Boolean> result = new Holder <> ();
243         Holder <String> neutronNetworkId = new Holder <> ();
244         Holder <Map <String, String>> subnetIdMap = new Holder <> ();
245         try {
246             adapter.queryNetworkContrail (null,
247                                           "tenant",
248                                           "networkName",
249                                           msoRequest,
250                                           result,
251                                           networkId,
252                                           neutronNetworkId,
253                                           status,
254                                           routeTargets,
255                                           subnetIdMap);
256         } catch (NetworkException e) {
257             assertTrue (e.getMessage ().contains ("Missing mandatory parameter"));
258         }
259     }
260
261     @Test
262     public void deleteTest () {
263         Holder <Boolean> networkDeleted = new Holder<> ();
264         MsoRequest msoRequest = new MsoRequest ();
265         try {
266             adapter.deleteNetwork ("toto", "tenant", "PROVIDER", "modelCustUuid","networkId", msoRequest, networkDeleted);
267         } catch (NetworkException e) {
268             e.printStackTrace();
269             assertTrue (e.getMessage ().contains ("Cloud Site [toto] not found"));
270         }
271     }
272 }