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