2 * ============LICENSE_START=======================================================
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
11 * http://www.apache.org/licenses/LICENSE-2.0
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=========================================================
21 package org.openecomp.mso.adapters.network;
23 import static org.junit.Assert.*;
24 import java.util.ArrayList;
25 import java.util.Arrays;
26 import java.util.HashMap;
27 import java.util.List;
30 import javax.ws.rs.core.Response;
31 import javax.xml.ws.Holder;
33 import org.apache.http.HttpStatus;
34 import org.apache.http.protocol.HTTP;
35 import org.junit.Ignore;
36 import org.junit.Test;
37 import org.junit.runner.RunWith;
38 import org.mockito.Mock;
39 import org.mockito.Mockito;
40 import org.mockito.invocation.InvocationOnMock;
41 import org.mockito.stubbing.Answer;
42 import org.openecomp.mso.adapters.network.NetworkAdapterRest.CreateNetworkTask;
43 import org.openecomp.mso.adapters.network.NetworkAdapterRest.DeleteNetworkTask;
44 import org.openecomp.mso.adapters.network.NetworkAdapterRest.RollbackNetworkTask;
45 import org.openecomp.mso.adapters.network.NetworkAdapterRest.UpdateNetworkTask;
46 import org.openecomp.mso.adapters.network.exceptions.NetworkException;
47 import org.openecomp.mso.adapters.nwrest.ContrailNetwork;
48 import org.openecomp.mso.adapters.nwrest.CreateNetworkRequest;
49 import org.openecomp.mso.adapters.nwrest.CreateNetworkResponse;
50 import org.openecomp.mso.adapters.nwrest.DeleteNetworkRequest;
51 import org.openecomp.mso.adapters.nwrest.NetworkTechnology;
52 import org.openecomp.mso.adapters.nwrest.ProviderVlanNetwork;
53 import org.openecomp.mso.adapters.nwrest.QueryNetworkResponse;
54 import org.openecomp.mso.adapters.nwrest.RollbackNetworkRequest;
55 import org.openecomp.mso.adapters.nwrest.UpdateNetworkRequest;
56 import org.openecomp.mso.adapters.nwrest.UpdateNetworkResponse;
57 import org.openecomp.mso.cloud.CloudConfigFactory;
58 import org.openecomp.mso.entity.MsoRequest;
59 import org.openecomp.mso.openstack.beans.NetworkRollback;
60 import org.openecomp.mso.openstack.beans.NetworkStatus;
61 import org.openecomp.mso.openstack.beans.RouteTarget;
62 import org.openecomp.mso.openstack.beans.Subnet;
63 import org.openecomp.mso.properties.MsoPropertiesFactory;
64 import org.powermock.api.mockito.PowerMockito;
65 import org.powermock.core.classloader.annotations.PrepareForTest;
66 import org.powermock.modules.junit4.PowerMockRunner;
68 @RunWith(PowerMockRunner.class)
69 @PrepareForTest({NetworkAdapterRest.class, CreateNetworkTask.class, CreateNetworkRequest.class, DeleteNetworkTask.class, DeleteNetworkRequest.class})
70 public class NetworkAdapterRestTest {
72 private static CreateNetworkTask taskMock;
74 private static CreateNetworkRequest reqMock;
76 private static DeleteNetworkRequest delReqMock;
78 private static DeleteNetworkTask delTaskMock;
80 private static RollbackNetworkRequest rollbackReqMock;
82 private static RollbackNetworkTask rollbackTaskMock;
84 private static final String TESTING_KEYWORD = "___TESTING___";
88 public void NetworkAdapterRest_createNetwork_async_Test()
90 NetworkAdapterRest api = new NetworkAdapterRest();
91 taskMock = PowerMockito.mock(CreateNetworkTask.class);
92 reqMock = PowerMockito.mock(CreateNetworkRequest.class);
95 PowerMockito.whenNew(CreateNetworkRequest.class).withAnyArguments().thenReturn(reqMock);
96 PowerMockito.when(reqMock.isSynchronous()).thenReturn(false);
97 PowerMockito.when(reqMock.getNetworkId()).thenReturn("b4a6af8c-a22b-45d5-a880-29527f8f59a7");
98 PowerMockito.when(reqMock.getCloudSiteId()).thenReturn(TESTING_KEYWORD);
99 PowerMockito.when(reqMock.getTenantId()).thenReturn("b4a6af8c-a22b-45d5-a880-29527f8f59a7");
100 PowerMockito.when(reqMock.getNetworkType()).thenReturn("PROVIDER");
101 PowerMockito.when(reqMock.getModelCustomizationUuid()).thenReturn("modelCustUuid");
102 PowerMockito.when(reqMock.getNetworkName()).thenReturn("networkName");
104 ProviderVlanNetwork vlan = new ProviderVlanNetwork();
105 vlan.setPhysicalNetworkName("PhysicalNetworkName");
106 vlan.setVlans(new ArrayList<Integer>(Arrays.asList(123,456,654,321)));
107 PowerMockito.when(reqMock.getProviderVlanNetwork()).thenReturn(vlan);
109 PowerMockito.when(reqMock.getFailIfExists()).thenReturn(true);
110 PowerMockito.when(reqMock.getBackout()).thenReturn(false);
112 List<Subnet> subnets = new ArrayList<Subnet>();
113 Subnet s1 = new Subnet();
114 s1.setSubnetName("Subnet1");
116 Subnet s2 = new Subnet();
117 s1.setSubnetName("Subnet2");
119 Subnet s3 = new Subnet();
120 s1.setSubnetName("Subnet3");
122 PowerMockito.when(reqMock.getSubnets()).thenReturn(subnets);
124 MsoRequest msoRequest = new MsoRequest ();
125 msoRequest.setRequestId("MSORequestID123");
126 PowerMockito.when(reqMock.getMsoRequest()).thenReturn(msoRequest);
127 // setup spy on CreateNetworkTask
129 PowerMockito.whenNew(CreateNetworkTask.class).withArguments(reqMock).thenReturn(taskMock);
130 PowerMockito.spy(taskMock);
132 Response resp = api.createNetwork(new CreateNetworkRequest());
133 assertEquals(resp.getStatus(),HttpStatus.SC_ACCEPTED);
135 // test if another thread has executed run method
136 Mockito.verify(taskMock, Mockito.times(1)).run();
138 } catch (Exception e) {
146 @Ignore // 1802 merge
147 public void NetworkAdapterRest_createNetwork_sync_Test()
149 NetworkAdapterRest api = new NetworkAdapterRest();
150 // setup createNetwork parameter
151 // setup sync to spy on run method
152 CreateNetworkRequest req = new CreateNetworkRequest();
153 req.setNetworkId("b4a6af8c-a22b-45d5-a880-29527f8f59a7");
154 req.setCloudSiteId(TESTING_KEYWORD);
155 req.setTenantId("b4a6af8c-a22b-45d5-a880-29527f8f59a7");
156 req.setNetworkType("PROVIDER");
157 req.setModelCustomizationUuid("modelCustUuid");
158 req.setNetworkName("networkName");
159 ProviderVlanNetwork vlan = new ProviderVlanNetwork();
160 vlan.setPhysicalNetworkName("PhysicalNetworkName");
161 vlan.setVlans(new ArrayList<Integer>(Arrays.asList(123,456,654,321)));
162 req.setProviderVlanNetwork(vlan);
163 req.setFailIfExists(true);
164 req.setBackout(false);
165 List<Subnet> subnets = new ArrayList<Subnet>();
166 Subnet s1 = new Subnet();
167 s1.setSubnetName("Subnet1");
169 Subnet s2 = new Subnet();
170 s1.setSubnetName("Subnet2");
172 Subnet s3 = new Subnet();
173 s1.setSubnetName("Subnet3");
175 req.setSubnets(subnets);
176 MsoRequest msoRequest = new MsoRequest ();
177 msoRequest.setRequestId("MSORequestID123");
178 req.setMsoRequest(msoRequest);
180 req.setNotificationUrl(null);
181 // setup spy on CreateNetworkTask
182 CreateNetworkTask task = api.new CreateNetworkTask(req);
185 PowerMockito.whenNew(CreateNetworkTask.class).withArguments(req).thenReturn(task);
186 Response resp = api.createNetwork(req);
188 CreateNetworkResponse cnresp = (CreateNetworkResponse) resp.getEntity();
190 assertEquals(cnresp.getNetworkFqdn(), "086f70b6-28fb-11e6-8260-0017f20fe1b8");
191 assertEquals(cnresp.getNetworkId(), "b4a6af8c-a22b-45d5-a880-29527f8f59a7");
192 assertEquals(cnresp.getNeutronNetworkId(), "55e55884-28fa-11e6-8971-0017f20fe1b8");
193 assertEquals(resp.getStatus(), HttpStatus.SC_OK);
195 } catch (Exception e) {
201 @Ignore // 1802 merge
202 public void NetworkAdapterRest_deleteNetwork_async_Test()
204 NetworkAdapterRest api = new NetworkAdapterRest();
205 delTaskMock = PowerMockito.mock(DeleteNetworkTask.class);
206 delReqMock = PowerMockito.mock(DeleteNetworkRequest.class);
209 PowerMockito.whenNew(DeleteNetworkRequest.class).withAnyArguments().thenReturn(delReqMock);
210 PowerMockito.when(delReqMock.isSynchronous()).thenReturn(false);
211 PowerMockito.when(delReqMock.getCloudSiteId()).thenReturn(TESTING_KEYWORD);
212 PowerMockito.when(delReqMock.getNetworkId()).thenReturn("b4a6af8c-a22b-45d5-a880-29527f8f59a7");
213 PowerMockito.when(delReqMock.getMessageId()).thenReturn("b4a6af8c-a22b-45d5-a880-29527f8f59a7");
215 PowerMockito.whenNew(DeleteNetworkTask.class).withArguments(delReqMock).thenReturn(delTaskMock);
216 PowerMockito.spy(delTaskMock);
218 Response resp = api.deleteNetwork("b4a6af8c-a22b-45d5-a880-29527f8f59a7", delReqMock);
219 assertEquals(resp.getStatus(), HttpStatus.SC_ACCEPTED);
221 // test if another thread has executed run method
222 // Mockito.verify(delTaskMock, Mockito.times(1)).run();
232 @Ignore // 1802 merge
233 public void NetworkAdapterRest_deleteNetwork_sync_Test()
235 NetworkAdapterRest api = new NetworkAdapterRest();
236 DeleteNetworkRequest req = new DeleteNetworkRequest();
237 req.setNotificationUrl(null);
238 req.setCloudSiteId(TESTING_KEYWORD);
239 req.setNetworkId("b4a6af8c-a22b-45d5-a880-29527f8f59a7");
240 req.setMessageId("b4a6af8c-a22b-45d5-a880-29527f8f59a7");
242 DeleteNetworkTask task = api.new DeleteNetworkTask(req);
245 PowerMockito.whenNew(DeleteNetworkTask.class).withArguments(req).thenReturn(task);
246 PowerMockito.spy(task);
247 Response resp = api.deleteNetwork("b4a6af8c-a22b-45d5-a880-29527f8f59a7", req);
249 assertEquals(resp.getStatus(), HttpStatus.SC_OK);
251 } catch (Exception e) {
257 @Ignore // 1802 merge
258 public void NetworkAdapterRest_queryNetwork_Test()
261 * test when network found as well as network not found
263 String networkStackId = "networkStackId";
264 String skipAAI = "skipAAI";
265 String requestId = "msoRequest.requestId";
266 String serviceInstanceId = "msoRequest.serviceInstanceId";
267 String aaiNetworkId = "aaiNetworkId";
268 String cloudSiteId = "cloudSiteId";
269 String tenantId = "tenantId";
270 String networkNameOrId = "networkNameOrId";
271 MsoRequest msoRequestMock = Mockito.mock(MsoRequest.class);
273 PowerMockito.whenNew(MsoRequest.class).withArguments("msoRequest.requestId", "msoRequest.serviceInstanceId").thenReturn(msoRequestMock);
275 } catch (Exception e1) {
276 e1.printStackTrace();
278 MsoRequest msoRequest = new MsoRequest("msoRequest.requestId", "msoRequest.serviceInstanceId");
279 Holder<Boolean> networkExists = new Holder<Boolean>();
280 Holder<String> networkId = new Holder<String>();
281 Holder<String> neutronNetworkId = new Holder<String>();
282 Holder<NetworkStatus> status = new Holder<NetworkStatus>();
283 Holder<List<String>> routeTargets = new Holder<List<String>>();
284 Holder<Map<String, String>> subnetIdMap = new Holder<Map<String, String>>();
286 MsoNetworkAdapterImpl mockImpl = Mockito.mock(MsoNetworkAdapterImpl.class);
287 CloudConfigFactory cloudConfigMock = Mockito.mock(CloudConfigFactory.class);
288 MsoPropertiesFactory msoPropertiesFactoryMock = Mockito.mock(MsoPropertiesFactory.class);
291 PowerMockito.whenNew(MsoPropertiesFactory.class).withAnyArguments().thenReturn(msoPropertiesFactoryMock);
292 PowerMockito.whenNew(CloudConfigFactory.class).withAnyArguments().thenReturn(cloudConfigMock);
293 PowerMockito.whenNew(MsoNetworkAdapterImpl.class).withArguments(msoPropertiesFactoryMock, cloudConfigMock).thenReturn(mockImpl);
295 Mockito.doAnswer(new Answer<Void>() {
296 @SuppressWarnings("unchecked")
298 public Void answer(InvocationOnMock invocation) throws Throwable {
299 Object[] args = invocation.getArguments();
300 System.out.println("called with arguments: " + Arrays.toString(args));
301 Holder<Boolean> networkExists = (Holder<Boolean>) args[4];
302 networkExists.value = Boolean.TRUE;
304 Holder<String> networkId = (Holder<String>) args[5];
305 networkId.value = "networkId";
307 Holder<String> neutronNetworkId = (Holder<String>) args[6];
308 neutronNetworkId.value = "neutronNetworkId";
310 Holder<NetworkStatus> status = (Holder<NetworkStatus>) args[7];
311 status.value = NetworkStatus.ACTIVE;
313 Holder<List<String>> routeTargets = (Holder<List<String>>) args[8];
314 routeTargets.value = new ArrayList<String>(Arrays.asList("routeTarget1","routeTarget2"));
316 Holder<Map<String, String>> subnetIdMap = (Holder<Map<String, String>>) args[9];
317 subnetIdMap.value = new HashMap<String,String>();
318 subnetIdMap.value.put("Key1", "Val1");
319 subnetIdMap.value.put("Key2", "Val2");
320 subnetIdMap.value.put("Key3", "Val3");
324 }).when(mockImpl).queryNetworkContrail(Mockito.anyString(),
327 Mockito.any(MsoRequest.class),
333 Mockito.anyObject());
335 NetworkAdapterRest api = new NetworkAdapterRest();
336 Response resp = api.queryNetwork(cloudSiteId, tenantId, networkStackId, skipAAI, requestId, serviceInstanceId, aaiNetworkId);
337 QueryNetworkResponse entity = (QueryNetworkResponse) resp.getEntity();
339 assertEquals(entity.getNetworkExists(), Boolean.TRUE);
340 assertEquals(entity.getNetworkId(), "networkId");
341 assertEquals(entity.getNeutronNetworkId(), "neutronNetworkId");
342 assertEquals(entity.getNetworkStatus(), NetworkStatus.ACTIVE);
343 assertEquals(entity.getRouteTargets().size(), 2);
344 assertEquals(entity.getRouteTargets().get(0), "routeTarget1");
345 assertEquals(entity.getRouteTargets().get(1), "routeTarget2");
347 assertEquals(entity.getSubnetIdMap().size(), 3);
348 assertEquals(entity.getSubnetIdMap().get("Key1"), "Val1");
349 assertEquals(entity.getSubnetIdMap().get("Key2"), "Val2");
350 assertEquals(entity.getSubnetIdMap().get("Key3"), "Val3");
351 assertEquals(resp.getStatus(), HttpStatus.SC_OK);
353 catch (NetworkException e)
359 ex.printStackTrace();
364 @Ignore // 1802 merge
365 public void NetworkAdapterRest_rollBackNetwork_async_Test()
367 rollbackReqMock = PowerMockito.mock(RollbackNetworkRequest.class);
368 rollbackTaskMock = PowerMockito.mock(RollbackNetworkTask.class);
369 NetworkRollback ntRollbackMock = PowerMockito.mock(NetworkRollback.class);
370 MsoNetworkAdapterImpl adapterImplMock = PowerMockito.mock(MsoNetworkAdapterImpl.class);
373 PowerMockito.whenNew(RollbackNetworkRequest.class).withAnyArguments().thenReturn(rollbackReqMock);
374 PowerMockito.when(rollbackReqMock.isSynchronous()).thenReturn(false);
375 PowerMockito.when(rollbackReqMock.getMessageId()).thenReturn("Rollback succeeded !");
377 PowerMockito.whenNew(RollbackNetworkTask.class).withArguments(rollbackReqMock).thenReturn(rollbackTaskMock);
378 PowerMockito.spy(rollbackTaskMock);
380 // PowerMockito.whenNew(NetworkRollback.class).withAnyArguments().thenReturn(ntRollbackMock);
381 PowerMockito.when(rollbackReqMock.getNetworkRollback()).thenReturn(ntRollbackMock);
383 PowerMockito.whenNew(MsoNetworkAdapterImpl.class).withAnyArguments().thenReturn(adapterImplMock);
384 Mockito.doAnswer(new Answer<Void>() {
386 public Void answer(InvocationOnMock invocation) throws Throwable {
387 Object[] args = invocation.getArguments();
388 System.out.println("called with arguments: " + Arrays.toString(args));
391 }).when(adapterImplMock).rollbackNetwork(ntRollbackMock);
393 NetworkAdapterRest api = new NetworkAdapterRest();
394 Response resp = api.rollbackNetwork(new RollbackNetworkRequest());
396 assertEquals(resp.getStatus(), HttpStatus.SC_ACCEPTED);
397 // test if another thread has executed run method
398 // Mockito.verify(rollbackTaskMock, Mockito.times(1)).run();
402 ex.printStackTrace();
407 @Ignore // 1802 merge
408 public void NetworkAdapterRest_rollBackNetwork_sync_Test()
410 rollbackReqMock = PowerMockito.mock(RollbackNetworkRequest.class);
411 rollbackTaskMock = PowerMockito.mock(RollbackNetworkTask.class);
415 PowerMockito.whenNew(RollbackNetworkRequest.class).withAnyArguments().thenReturn(rollbackReqMock);
416 PowerMockito.when(rollbackReqMock.isSynchronous()).thenReturn(true);
418 PowerMockito.whenNew(RollbackNetworkTask.class).withArguments(rollbackReqMock).thenReturn(rollbackTaskMock);
419 PowerMockito.when(rollbackTaskMock.getStatusCode()).thenReturn(HttpStatus.SC_OK);
420 PowerMockito.when(rollbackTaskMock.getGenericEntityResponse()).thenReturn(null);
421 Mockito.doAnswer(new Answer<Void>() {
423 public Void answer(InvocationOnMock invocation) throws Throwable {
424 System.out.println("run method called ");
427 }).when(rollbackTaskMock).run();
428 PowerMockito.spy(rollbackTaskMock);
430 NetworkAdapterRest api = new NetworkAdapterRest();
431 Response resp = api.rollbackNetwork(new RollbackNetworkRequest());
433 assertEquals(resp.getStatus(),HttpStatus.SC_OK);
434 Mockito.verify(rollbackTaskMock, Mockito.times(1)).run();
438 ex.printStackTrace();
445 @Ignore // 1802 merge
446 public void NetworkAdapterRest_updateNetwork_sync_TestString_Test()
448 UpdateNetworkRequest req = new UpdateNetworkRequest();
449 req.setCloudSiteId(TESTING_KEYWORD);
450 req.setTenantId("tenantId");
451 req.setNotificationUrl(null);
452 MsoRequest msoReq = new MsoRequest();
453 msoReq.setRequestId("MsoRequestId");
454 msoReq.setServiceInstanceId("serviceInstanceId");
455 req.setMsoRequest(msoReq);
456 req.setNetworkId("UpdateNetworkRequestNetworkId");
457 req.setMessageId("UpdateNetworkMessageWithTestString");
459 NetworkAdapterRest api = new NetworkAdapterRest();
460 UpdateNetworkTask task = api.new UpdateNetworkTask(req);
463 PowerMockito.whenNew(UpdateNetworkTask.class).withArguments(req).thenReturn(task);
464 Response resp = api.updateNetwork("UpdateNetworkRequestNetworkId", req);
466 assertEquals(resp.getStatus(),HttpStatus.SC_OK);
467 UpdateNetworkResponse unResp = (UpdateNetworkResponse) resp.getEntity();
468 assertEquals(unResp.getNetworkId(),"UpdateNetworkRequestNetworkId");
469 assertEquals(unResp.getMessageId(),"UpdateNetworkMessageWithTestString");
471 Map<String, String> map = unResp.getSubnetMap();
472 for (Map.Entry<String, String> entry : map.entrySet()) {
473 String key = entry.getKey();
474 if(key.equalsIgnoreCase("mickey"))
476 Object value = entry.getValue();
477 assertEquals((String)value, "7");
480 if(key.equalsIgnoreCase("clyde"))
482 Object value = entry.getValue();
483 assertEquals((String)value, "10");
486 if(key.equalsIgnoreCase("wayne"))
488 Object value = entry.getValue();
489 assertEquals((String)value, "99");
493 } catch (Exception e) {
498 @SuppressWarnings("unchecked")
500 @Ignore // 1802 merge
501 public void NetworkAdapterRest_updateNetwork_sync_ContrailRequest_Test()
504 MsoRequest msoReq = new MsoRequest();
505 msoReq.setRequestId("MsoRequestId");
506 msoReq.setServiceInstanceId("serviceInstanceId");
508 UpdateNetworkRequest reqMock = PowerMockito.mock(UpdateNetworkRequest.class);
509 PowerMockito.whenNew(UpdateNetworkRequest.class).withAnyArguments().thenReturn(reqMock);
510 PowerMockito.when(reqMock.getCloudSiteId()).thenReturn("NON_"+TESTING_KEYWORD);
511 PowerMockito.when(reqMock.getTenantId()).thenReturn("tenantId");
512 PowerMockito.when(reqMock.getNetworkType()).thenReturn("NetworkType");
513 PowerMockito.when(reqMock.getModelCustomizationUuid()).thenReturn("b4a6af8c-a22b-45d5-a880-29527f8f59a7");
514 PowerMockito.when(reqMock.getNetworkStackId()).thenReturn("b4a6af8c-a22b-45d5-a880-29527f8f59a7");
515 PowerMockito.when(reqMock.getNetworkName()).thenReturn("NetworkName");
516 PowerMockito.when(reqMock.getSubnets()).thenReturn(new ArrayList<Subnet>());
518 PowerMockito.when(reqMock.isSynchronous()).thenReturn(true);
519 PowerMockito.when(reqMock.getNetworkId()).thenReturn("UpdateNetworkRequestNetworkId");
520 PowerMockito.when(reqMock.getMessageId()).thenReturn("UpdateNetworkMessageWithTestString");
521 PowerMockito.when(reqMock.getMsoRequest()).thenReturn(msoReq);
522 PowerMockito.when(reqMock.isContrailRequest()).thenReturn(true);
523 ContrailNetwork cn = new ContrailNetwork();
524 cn.setRouteTargets(new ArrayList<RouteTarget>());
525 cn.setPolicyFqdns(new ArrayList<String>());
526 cn.setRouteTableFqdns(new ArrayList<String>());
528 PowerMockito.when(reqMock.getContrailNetwork()).thenReturn(cn);
530 MsoNetworkAdapterImpl msoImplMock = PowerMockito.mock(MsoNetworkAdapterImpl.class);
531 PowerMockito.whenNew(MsoNetworkAdapterImpl.class).withAnyArguments().thenReturn(msoImplMock);
533 Mockito.doAnswer(new Answer<Void>() {
534 @SuppressWarnings("unchecked")
536 public Void answer(InvocationOnMock invocation) throws Throwable {
537 Object[] args = invocation.getArguments();
538 System.out.println("updateNetworkContrail called with arguments: " + Arrays.toString(args));
542 }).when(msoImplMock).updateNetworkContrail
543 (Mockito.anyString(),
549 Mockito.anyListOf(RouteTarget.class),
552 Mockito.anyListOf(Subnet.class),
553 Mockito.anyListOf(String.class),
554 Mockito.anyListOf(String.class),
555 Mockito.any(MsoRequest.class),
556 Mockito.any(Holder.class),
557 Mockito.any(Holder.class)
559 PowerMockito.spy(msoImplMock);
561 NetworkAdapterRest api = new NetworkAdapterRest();
562 Response resp = api.updateNetwork("UpdateNetworkRequestNetworkId", reqMock);
564 Mockito.verify(msoImplMock, Mockito.times(1)).updateNetworkContrail
565 (Mockito.anyString(),
571 Mockito.anyListOf(RouteTarget.class),
574 Mockito.anyListOf(Subnet.class),
575 Mockito.anyListOf(String.class),
576 Mockito.anyListOf(String.class),
577 Mockito.any(MsoRequest.class),
578 Mockito.any(Holder.class),
579 Mockito.any(Holder.class)
582 assertEquals(resp.getStatus(),HttpStatus.SC_OK);
583 UpdateNetworkResponse unResp = (UpdateNetworkResponse) resp.getEntity();
584 assertEquals(unResp.getNetworkId(),"UpdateNetworkRequestNetworkId");
585 assertEquals(unResp.getMessageId(),"UpdateNetworkMessageWithTestString");
587 } catch (Exception e) {
592 @SuppressWarnings("unchecked")
594 @Ignore // 1802 merge
595 public void NetworkAdapterRest_updateNetwork_async_Test()
597 UpdateNetworkRequest updateReqMock = PowerMockito.mock(UpdateNetworkRequest.class);
598 UpdateNetworkTask updateTaskMock = PowerMockito.mock(UpdateNetworkTask.class);
599 MsoNetworkAdapterImpl adapterImplMock = PowerMockito.mock(MsoNetworkAdapterImpl.class);
602 PowerMockito.whenNew(UpdateNetworkRequest.class).withAnyArguments().thenReturn(updateReqMock);
603 PowerMockito.when(updateReqMock.isSynchronous()).thenReturn(false);
604 PowerMockito.when(updateReqMock.getMessageId()).thenReturn("Update succeeded !");
605 PowerMockito.when(updateReqMock.getNetworkId()).thenReturn("UpdateNetworkRequestNetworkId");
607 PowerMockito.whenNew(UpdateNetworkTask.class).withArguments(updateReqMock).thenReturn(updateTaskMock);
608 PowerMockito.spy(updateTaskMock);
610 PowerMockito.whenNew(MsoNetworkAdapterImpl.class).withAnyArguments().thenReturn(adapterImplMock);
611 Mockito.doAnswer(new Answer<Void>() {
613 public Void answer(InvocationOnMock invocation) throws Throwable {
614 Object[] args = invocation.getArguments();
615 System.out.println("updateNetworkContrail called with arguments: " + Arrays.toString(args));
618 }).when(adapterImplMock).updateNetworkContrail
626 Mockito.anyListOf(RouteTarget.class),
629 Mockito.anyListOf(Subnet.class),
630 Mockito.anyListOf(String.class),
631 Mockito.anyListOf(String.class),
632 Mockito.any(MsoRequest.class),
633 Mockito.any(Holder.class),
634 Mockito.any(Holder.class)
637 NetworkAdapterRest api = new NetworkAdapterRest();
638 Response resp = api.updateNetwork("UpdateNetworkRequestNetworkId", updateReqMock);
640 assertEquals(resp.getStatus(), HttpStatus.SC_ACCEPTED);
641 // test if another thread has executed run method
642 // Mockito.verify(updateTaskMock, Mockito.times(1)).run();
646 ex.printStackTrace();