2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017 AT&T Intellectual Property. All rights
7 * ================================================================================
8 * Licensed under the Apache License, Version 2.0 (the "License");
9 * you may not use this file except in compliance with the License.
10 * You may obtain a copy of the License at
12 * http://www.apache.org/licenses/LICENSE-2.0
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS,
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 * See the License for the specific language governing permissions and
18 * limitations under the License.
19 * ============LICENSE_END=========================================================
21 package org.onap.sdnc.vnfapi;
23 import com.google.common.base.Optional;
24 import com.google.common.util.concurrent.CheckedFuture;
25 import org.junit.After;
26 import org.junit.Assert;
27 import org.junit.Before;
28 import org.junit.Rule;
29 import org.junit.Test;
30 import org.mockito.Mock;
31 import org.mockito.junit.MockitoJUnit;
32 import org.mockito.junit.MockitoRule;
33 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
34 import org.opendaylight.controller.md.sal.binding.api.NotificationPublishService;
35 import org.opendaylight.controller.md.sal.binding.api.ReadOnlyTransaction;
36 import org.opendaylight.controller.md.sal.binding.api.ReadWriteTransaction;
37 import org.opendaylight.controller.md.sal.binding.api.WriteTransaction;
38 import org.opendaylight.controller.md.sal.common.api.data.AsyncDataChangeEvent;
39 import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
40 import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException;
41 import org.opendaylight.controller.sal.binding.api.BindingAwareBroker;
42 import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry;
43 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.NetworkTopologyOperationInput;
44 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.NetworkTopologyOperationOutput;
45 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadNetworkTopologyOperationInput;
46 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadNetworkTopologyOperationOutput;
47 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadVfModuleTopologyOperationInput;
48 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadVfModuleTopologyOperationOutput;
49 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadVfModules;
50 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadVnfInstanceTopologyOperationInput;
51 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadVnfInstanceTopologyOperationOutput;
52 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadVnfInstances;
53 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadVnfTopologyOperationInput;
54 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadVnfTopologyOperationOutput;
55 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadVnfs;
56 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VNFAPIService;
57 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VfModuleTopologyOperationInput;
58 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VfModuleTopologyOperationOutput;
59 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VfModules;
60 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VnfInstanceTopologyOperationInput;
61 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VnfInstanceTopologyOperationOutput;
62 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VnfInstances;
63 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VnfTopologyOperationInput;
64 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VnfTopologyOperationOutput;
65 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.Vnfs;
66 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.network.request.information.NetworkRequestInformation;
67 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.network.topology.identifier.NetworkTopologyIdentifier;
68 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.network.topology.information.NetworkTopologyInformation;
69 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.preload.data.PreloadData;
70 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.preload.data.PreloadDataBuilder;
71 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.preload.model.information.VnfPreloadList;
72 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.preload.vf.module.model.information.VfModulePreloadList;
73 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.preload.vnf.instance.model.information.VnfInstancePreloadList;
74 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.request.information.RequestInformation;
75 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.sdnc.request.header.SdncRequestHeader;
76 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.service.data.ServiceData;
77 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.service.data.ServiceDataBuilder;
78 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.service.information.ServiceInformation;
79 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.service.status.ServiceStatus;
80 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.service.status.ServiceStatusBuilder;
81 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vf.module.identifiers.VfModuleIdentifiers;
82 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vf.module.model.infrastructure.VfModuleList;
83 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vf.module.preload.data.VfModulePreloadData;
84 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vf.module.preload.data.VfModulePreloadDataBuilder;
85 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vf.module.request.information.VfModuleRequestInformation;
86 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vf.module.service.data.VfModuleServiceData;
87 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vf.module.service.data.VfModuleServiceDataBuilder;
88 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vf.module.topology.information.VfModuleTopologyInformation;
89 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.instance.identifiers.VnfInstanceIdentifiers;
90 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.instance.model.infrastructure.VnfInstanceList;
91 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.instance.preload.data.VnfInstancePreloadData;
92 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.instance.preload.data.VnfInstancePreloadDataBuilder;
93 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.instance.request.information.VnfInstanceRequestInformation;
94 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.instance.service.data.VnfInstanceServiceData;
95 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.instance.service.data.VnfInstanceServiceDataBuilder;
96 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.instance.topology.information.VnfInstanceTopologyInformation;
97 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.model.infrastructure.VnfList;
98 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.model.infrastructure.VnfListKey;
99 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.request.information.VnfRequestInformation;
100 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.topology.identifier.VnfTopologyIdentifier;
101 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.topology.information.VnfTopologyInformation;
102 import org.opendaylight.yangtools.yang.binding.DataObject;
103 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
104 import org.opendaylight.yangtools.yang.common.RpcResult;
105 import org.powermock.reflect.Whitebox;
107 import java.util.ArrayList;
108 import java.util.concurrent.ExecutionException;
109 import java.util.concurrent.ExecutorService;
110 import java.util.concurrent.Future;
112 import static org.mockito.Matchers.any;
113 import static org.mockito.Matchers.eq;
114 import static org.mockito.Mockito.doReturn;
115 import static org.mockito.Mockito.mock;
116 import static org.mockito.Mockito.spy;
117 import static org.mockito.Mockito.times;
118 import static org.mockito.Mockito.verify;
120 public class vnfapiProviderTest {
121 @Rule public MockitoRule rule = MockitoJUnit.rule();
123 @Mock private DataBroker dataBroker;
124 @Mock private NotificationPublishService notificationPublishService;
125 @Mock private RpcProviderRegistry rpcProviderRegistry;
126 @Mock private VNFSDNSvcLogicServiceClient vnfsdnSvcLogicServiceClient;
127 @Mock private ReadWriteTransaction readWriteTransactionInCreateContainer;
128 @Mock private ReadWriteTransaction readWriteTransactionInDataChanged;
129 @Mock private CheckedFuture<Void, TransactionCommitFailedException> checkedFuture;
131 private vnfapiProvider vnfapiProvider;
132 private String vfModuleName;
133 private String vfModuleModelId;
134 private String vnfInstanceId;
135 private String vnfInstanceName;
136 private String vnfModelId;
137 private String svcRequestId;
138 private String serviceInstanceId;
139 private String vnfName;
140 private String vnfType;
141 private String vfModuleId;
143 @Before public void setUp() throws Exception {
144 doReturn(readWriteTransactionInCreateContainer).when(dataBroker).newReadWriteTransaction();
145 doReturn(checkedFuture).when(readWriteTransactionInCreateContainer).submit();
146 // mock readOnlyTransaction
147 ReadOnlyTransaction readOnlyTransaction = mock(ReadOnlyTransaction.class);
148 doReturn(readOnlyTransaction).when(dataBroker).newReadOnlyTransaction();
149 doReturn(checkedFuture).when(readOnlyTransaction).read(any(), any());
150 // mock writeTransaction
151 WriteTransaction writeTransaction = mock(WriteTransaction.class);
152 doReturn(writeTransaction).when(dataBroker).newWriteOnlyTransaction();
153 doReturn(checkedFuture).when(writeTransaction).submit();
155 vnfapiProvider = spy(new vnfapiProvider(dataBroker, notificationPublishService, rpcProviderRegistry,
156 vnfsdnSvcLogicServiceClient));
159 @After public void tearDown() throws Exception {
163 @Test public void close() throws Exception {
164 ExecutorService executor = Whitebox.getInternalState(vnfapiProvider, "executor");
165 BindingAwareBroker.RpcRegistration<VNFAPIService> vnfapiServiceRpcRegistration =
166 mock(BindingAwareBroker.RpcRegistration.class);
167 vnfapiProvider.rpcRegistration = vnfapiServiceRpcRegistration;
169 vnfapiProvider.close();
171 Assert.assertTrue(executor.isShutdown());
172 verify(vnfapiServiceRpcRegistration, times(1)).close();
175 @Test public void onDataChanged() throws Exception {
176 AsyncDataChangeEvent<InstanceIdentifier<?>, DataObject> asyncDataChangeEvent = mock(AsyncDataChangeEvent.class);
178 Vnfs vnfs = mock(Vnfs.class);
179 doReturn(vnfs).when(asyncDataChangeEvent).getUpdatedSubtree();
180 VnfList vnfList = mock(VnfList.class);
181 ServiceData serviceData = mock(ServiceData.class);
182 doReturn(serviceData).when(vnfList).getServiceData();
183 ServiceStatus serviceStatus = mock(ServiceStatus.class);
184 doReturn("N").when(serviceStatus).getFinalIndicator();
185 doReturn(ServiceStatus.RequestStatus.Synccomplete).when(serviceStatus).getRequestStatus();
186 doReturn(serviceStatus).when(vnfList).getServiceStatus();
187 ArrayList<VnfList> vnfListList = new ArrayList<>();
188 vnfListList.add(vnfList);
189 doReturn(vnfListList).when(vnfs).getVnfList();
190 doReturn(readWriteTransactionInDataChanged).when(dataBroker).newWriteOnlyTransaction();
191 doReturn(checkedFuture).when(readWriteTransactionInDataChanged).submit();
193 vnfapiProvider.onDataChanged(asyncDataChangeEvent);
195 verify(readWriteTransactionInDataChanged, times(1)).submit();
197 // instance of PreloadVnfs
198 PreloadVnfs preloadVnfs = mock(PreloadVnfs.class);
199 doReturn(preloadVnfs).when(asyncDataChangeEvent).getUpdatedSubtree();
200 ArrayList<VnfPreloadList> vnfPreloadLists = new ArrayList<>();
201 doReturn(vnfPreloadLists).when(preloadVnfs).getVnfPreloadList();
202 PreloadData preloadData = mock(PreloadData.class);
203 VnfPreloadList vnfPreloadList = mock(VnfPreloadList.class);
204 doReturn(preloadData).when(vnfPreloadList).getPreloadData();
205 vnfPreloadLists.add(vnfPreloadList);
207 vnfapiProvider.onDataChanged(asyncDataChangeEvent);
209 verify(readWriteTransactionInDataChanged, times(2)).submit();
211 // instance of PreloadVnfInstances
212 PreloadVnfInstances preloadVnfInstances = mock(PreloadVnfInstances.class);
213 doReturn(preloadVnfInstances).when(asyncDataChangeEvent).getUpdatedSubtree();
214 ArrayList<VnfInstancePreloadList> vnfInstancePreloadLists = new ArrayList<>();
215 doReturn(vnfInstancePreloadLists).when(preloadVnfInstances).getVnfInstancePreloadList();
216 VnfInstancePreloadList vnfInstancePreloadList = mock(VnfInstancePreloadList.class);
217 VnfInstancePreloadData vnfInstancePreloadData = mock(VnfInstancePreloadData.class);
218 doReturn(vnfInstancePreloadData).when(vnfInstancePreloadList).getVnfInstancePreloadData();
219 vnfInstancePreloadLists.add(vnfInstancePreloadList);
221 vnfapiProvider.onDataChanged(asyncDataChangeEvent);
223 verify(readWriteTransactionInDataChanged, times(3)).submit();
225 // instance of VnfInstances
226 VnfInstances vnfInstances = mock(VnfInstances.class);
227 doReturn(vnfInstances).when(asyncDataChangeEvent).getUpdatedSubtree();
228 ArrayList<VnfInstanceList> vnfInstanceLists = new ArrayList<>();
229 doReturn(vnfInstanceLists).when(vnfInstances).getVnfInstanceList();
230 VnfInstanceList vnfInstanceList = mock(VnfInstanceList.class);
231 vnfInstanceLists.add(vnfInstanceList);
232 VnfInstanceServiceData vnfInstanceServiceData = mock(VnfInstanceServiceData.class);
233 doReturn(vnfInstanceServiceData).when(vnfInstanceList).getVnfInstanceServiceData();
234 doReturn(serviceStatus).when(vnfInstanceList).getServiceStatus();
236 vnfapiProvider.onDataChanged(asyncDataChangeEvent);
238 verify(readWriteTransactionInDataChanged, times(4)).submit();
240 // instance of PreloadVfModules
241 PreloadVfModules preloadVfModules = mock(PreloadVfModules.class);
242 doReturn(preloadVfModules).when(asyncDataChangeEvent).getUpdatedSubtree();
243 ArrayList<VfModulePreloadList> vfModulePreloadLists = new ArrayList<>();
244 doReturn(vfModulePreloadLists).when(preloadVfModules).getVfModulePreloadList();
245 VfModulePreloadList vfModulePreloadList = mock(VfModulePreloadList.class);
246 vfModulePreloadLists.add(vfModulePreloadList);
247 VfModulePreloadData vfModulePreloadData = mock(VfModulePreloadData.class);
248 doReturn(vfModulePreloadData).when(vfModulePreloadList).getVfModulePreloadData();
250 vnfapiProvider.onDataChanged(asyncDataChangeEvent);
252 verify(readWriteTransactionInDataChanged, times(5)).submit();
254 // instance of VfModules
255 VfModules vfModules = mock(VfModules.class);
256 doReturn(preloadVfModules).when(asyncDataChangeEvent).getUpdatedSubtree();
257 ArrayList<VfModuleList> vfModuleLists = new ArrayList<>();
258 doReturn(vfModuleLists).when(vfModules).getVfModuleList();
259 VfModuleList vfModuleList = mock(VfModuleList.class);
260 vfModuleLists.add(vfModuleList);
261 VfModuleServiceData vfModuleServiceData = mock(VfModuleServiceData.class);
262 doReturn(vfModuleServiceData).when(vfModuleList).getVfModuleServiceData();
263 doReturn(serviceStatus).when(vfModuleList).getServiceStatus();
265 vnfapiProvider.onDataChanged(asyncDataChangeEvent);
267 verify(readWriteTransactionInDataChanged, times(6)).submit();
273 * <code>input.getVnfInstanceRequestInformation() == null</code>
277 @Test public void vnfInstanceTopologyOperationErrorOne() throws Exception {
278 VnfInstanceTopologyOperationInput vnfInstanceTopologyOperationInput =
279 mock(VnfInstanceTopologyOperationInput.class);
280 doReturn(null).when(vnfInstanceTopologyOperationInput).getVnfInstanceRequestInformation();
282 Future<RpcResult<VnfInstanceTopologyOperationOutput>> rpcResultFuture =
283 vnfapiProvider.vnfInstanceTopologyOperation(vnfInstanceTopologyOperationInput);
285 Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode());
286 Assert.assertEquals("invalid input, null or empty vnf-instance-id",
287 rpcResultFuture.get().getResult().getResponseMessage());
288 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
294 * <code>viid == null</code>
298 @Test public void vnfInstanceTopologyOperationErrorTwo() throws Exception {
300 vnfInstanceName = "vnf-instance-name";
301 vnfModelId = "vnf-model-id";
302 VnfInstanceTopologyOperationInput vnfInstanceTopologyOperationInput =
303 mock(VnfInstanceTopologyOperationInput.class);
304 VnfInstanceRequestInformation vnfInstanceRequestInformation = mock(VnfInstanceRequestInformation.class);
305 doReturn(vnfInstanceName).when(vnfInstanceRequestInformation).getVnfInstanceName();
306 doReturn(vnfModelId).when(vnfInstanceRequestInformation).getVnfModelId();
307 doReturn(vnfInstanceId).when(vnfInstanceRequestInformation).getVnfInstanceId();
308 doReturn(vnfInstanceRequestInformation).when(vnfInstanceTopologyOperationInput)
309 .getVnfInstanceRequestInformation();
311 Future<RpcResult<VnfInstanceTopologyOperationOutput>> rpcResultFuture =
312 vnfapiProvider.vnfInstanceTopologyOperation(vnfInstanceTopologyOperationInput);
314 Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode());
315 Assert.assertEquals("invalid input, null or empty vnf-instance-id",
316 rpcResultFuture.get().getResult().getResponseMessage());
317 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
323 * <code>svcLogicClient.hasGraph("VNF-API",SVC_OPERATION,null,"sync" = false</code>
327 @Test public void vnfInstanceTopologyOperationErrorThree() throws Exception {
328 vnfInstanceId = "vnf-instance-id";
329 vnfInstanceName = "vnf-instance-name";
330 vnfModelId = "vnf-model-id";
331 svcRequestId = "svc-request-id";
333 VnfInstanceTopologyOperationInput vnfInstanceTopologyOperationInput =
334 mock(VnfInstanceTopologyOperationInput.class);
335 VnfInstanceRequestInformation vnfInstanceRequestInformation = mock(VnfInstanceRequestInformation.class);
336 doReturn(vnfInstanceId).when(vnfInstanceRequestInformation).getVnfInstanceId();
337 doReturn(vnfInstanceName).when(vnfInstanceRequestInformation).getVnfInstanceName();
338 doReturn(vnfModelId).when(vnfInstanceRequestInformation).getVnfModelId();
339 doReturn(vnfInstanceRequestInformation).when(vnfInstanceTopologyOperationInput)
340 .getVnfInstanceRequestInformation();
342 SdncRequestHeader sdncRequestHeader = mock(SdncRequestHeader.class);
343 doReturn(sdncRequestHeader).when(vnfInstanceTopologyOperationInput).getSdncRequestHeader();
344 doReturn(svcRequestId).when(sdncRequestHeader).getSvcRequestId();
346 Future<RpcResult<VnfInstanceTopologyOperationOutput>> rpcResultFuture =
347 vnfapiProvider.vnfInstanceTopologyOperation(vnfInstanceTopologyOperationInput);
349 Assert.assertEquals("503", rpcResultFuture.get().getResult().getResponseCode());
351 rpcResultFuture.get().getResult().getResponseMessage().contains("No service logic active for VNF-API"));
352 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
360 @Test public void vnfInstanceTopologyOperationSuccess() throws Exception {
361 vnfInstanceId = "vnf-instance-id";
362 vnfInstanceName = "vnf-instance-name";
363 vnfModelId = "vnf-model-id";
364 svcRequestId = "svc-request-id";
366 VnfInstanceTopologyOperationInput vnfInstanceTopologyOperationInput =
367 mock(VnfInstanceTopologyOperationInput.class);
368 VnfInstanceRequestInformation vnfInstanceRequestInformation = mock(VnfInstanceRequestInformation.class);
369 doReturn(vnfInstanceId).when(vnfInstanceRequestInformation).getVnfInstanceId();
370 doReturn(vnfInstanceName).when(vnfInstanceRequestInformation).getVnfInstanceName();
371 doReturn(vnfModelId).when(vnfInstanceRequestInformation).getVnfModelId();
372 doReturn(vnfInstanceRequestInformation).when(vnfInstanceTopologyOperationInput)
373 .getVnfInstanceRequestInformation();
375 SdncRequestHeader sdncRequestHeader = mock(SdncRequestHeader.class);
376 doReturn(sdncRequestHeader).when(vnfInstanceTopologyOperationInput).getSdncRequestHeader();
377 doReturn(svcRequestId).when(sdncRequestHeader).getSvcRequestId();
378 doReturn(SdncRequestHeader.SvcAction.Activate).when(sdncRequestHeader).getSvcAction();
379 ReadOnlyTransaction readOnlyTransaction = mock(ReadOnlyTransaction.class);
380 doReturn(readOnlyTransaction).when(dataBroker).newReadOnlyTransaction();
381 doReturn(checkedFuture).when(readOnlyTransaction).read(any(), any());
382 WriteTransaction writeTransaction = mock(WriteTransaction.class);
383 doReturn(writeTransaction).when(dataBroker).newWriteOnlyTransaction();
384 doReturn(checkedFuture).when(writeTransaction).submit();
385 doReturn(true).when(vnfsdnSvcLogicServiceClient).hasGraph(any(), any(), any(), any());
387 Future<RpcResult<VnfInstanceTopologyOperationOutput>> rpcResultFuture =
388 vnfapiProvider.vnfInstanceTopologyOperation(vnfInstanceTopologyOperationInput);
390 Assert.assertEquals("200", rpcResultFuture.get().getResult().getResponseCode());
391 Assert.assertEquals(null, rpcResultFuture.get().getResult().getResponseMessage());
392 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
398 * <code>input.getVfModuleTopologyInformation() == null</code>
402 @Test public void vfModuleTopologyOperationErrorOne() throws Exception {
403 VfModuleTopologyOperationInput vfModuleTopologyOperationInput = mock(VfModuleTopologyOperationInput.class);
404 doReturn(null).when(vfModuleTopologyOperationInput).getVfModuleRequestInformation();
405 Future<RpcResult<VfModuleTopologyOperationOutput>> rpcResultFuture =
406 vnfapiProvider.vfModuleTopologyOperation(vfModuleTopologyOperationInput);
408 Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode());
409 Assert.assertEquals("invalid input, null or empty vf-module-id",
410 rpcResultFuture.get().getResult().getResponseMessage());
411 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
417 * <code>vfid = ""</code>
420 * <code>viid = ""</code>
424 @Test public void vfModuleTopologyOperationErrorTwo() throws Exception {
426 vfModuleName = "vfModuleName";
427 vfModuleModelId = "vfModuleModelId";
430 VfModuleTopologyOperationInput vfModuleTopologyOperationInput = mock(VfModuleTopologyOperationInput.class);
431 VfModuleRequestInformation vfModuleRequestInformation = mock(VfModuleRequestInformation.class);
432 doReturn(vfModuleRequestInformation).when(vfModuleTopologyOperationInput).getVfModuleRequestInformation();
433 VfModuleIdentifiers vfModuleIdentifiers = mock(VfModuleIdentifiers.class);
434 doReturn(vfModuleName).when(vfModuleIdentifiers).getVfModuleName();
435 doReturn(vfModuleModelId).when(vfModuleIdentifiers).getVfModuleModelId();
436 doReturn(vfModuleId).when(vfModuleRequestInformation).getVfModuleId();
438 Future<RpcResult<VfModuleTopologyOperationOutput>> rpcResultFuture =
439 vnfapiProvider.vfModuleTopologyOperation(vfModuleTopologyOperationInput);
441 Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode());
442 Assert.assertEquals("invalid input, null or empty vf-module-id",
443 rpcResultFuture.get().getResult().getResponseMessage());
444 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
447 vfModuleId = "vfModuleId";
448 doReturn(vfModuleId).when(vfModuleRequestInformation).getVfModuleId();
449 doReturn(vnfInstanceId).when(vfModuleRequestInformation).getVnfInstanceId();
450 rpcResultFuture = vnfapiProvider.vfModuleTopologyOperation(vfModuleTopologyOperationInput);
452 Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode());
453 Assert.assertEquals("invalid input, null or empty vnf-instance-id",
454 rpcResultFuture.get().getResult().getResponseMessage());
455 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
461 * <code>svcLogicClient.hasGraph("VNF-API", SVC_OPERATION, null, "sync") = false</code>
465 @Test public void vfModuleTopologyOperationErrorThree() throws Exception {
467 vfModuleName = "vfModuleName";
468 vfModuleModelId = "vfModuleModelId";
469 vfModuleId = "vfModuleId";
470 vnfInstanceId = "vnfInstanceId";
471 VfModuleTopologyOperationInput vfModuleTopologyOperationInput = mock(VfModuleTopologyOperationInput.class);
472 VfModuleRequestInformation vfModuleRequestInformation = mock(VfModuleRequestInformation.class);
473 doReturn(vfModuleRequestInformation).when(vfModuleTopologyOperationInput).getVfModuleRequestInformation();
474 VfModuleIdentifiers vfModuleIdentifiers = mock(VfModuleIdentifiers.class);
475 doReturn(vfModuleName).when(vfModuleIdentifiers).getVfModuleName();
476 doReturn(vfModuleModelId).when(vfModuleIdentifiers).getVfModuleModelId();
477 doReturn(vfModuleId).when(vfModuleRequestInformation).getVfModuleId();
478 doReturn(vnfInstanceId).when(vfModuleRequestInformation).getVnfInstanceId();
479 // mock sdncRequestHeader
480 SdncRequestHeader sdncRequestHeader = mock(SdncRequestHeader.class);
481 doReturn(sdncRequestHeader).when(vfModuleTopologyOperationInput).getSdncRequestHeader();
482 doReturn(svcRequestId).when(sdncRequestHeader).getSvcRequestId();
484 Future<RpcResult<VfModuleTopologyOperationOutput>> rpcResultFuture =
485 vnfapiProvider.vfModuleTopologyOperation(vfModuleTopologyOperationInput);
487 Assert.assertEquals("503", rpcResultFuture.get().getResult().getResponseCode());
489 rpcResultFuture.get().getResult().getResponseMessage().contains("No service logic active for VNF-API"));
490 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
498 @Test public void vfModuleTopologyOperationSuccess() throws Exception {
499 vfModuleName = "vfModuleName";
500 vfModuleModelId = "vfModuleModelId";
501 vfModuleId = "vfModuleId";
502 vnfInstanceId = "vnfInstanceId";
503 VfModuleTopologyOperationInput vfModuleTopologyOperationInput = mock(VfModuleTopologyOperationInput.class);
504 VfModuleRequestInformation vfModuleRequestInformation = mock(VfModuleRequestInformation.class);
505 doReturn(vfModuleRequestInformation).when(vfModuleTopologyOperationInput).getVfModuleRequestInformation();
506 VfModuleIdentifiers vfModuleIdentifiers = mock(VfModuleIdentifiers.class);
507 doReturn(vfModuleName).when(vfModuleIdentifiers).getVfModuleName();
508 doReturn(vfModuleModelId).when(vfModuleIdentifiers).getVfModuleModelId();
509 doReturn(vfModuleId).when(vfModuleRequestInformation).getVfModuleId();
510 doReturn(vnfInstanceId).when(vfModuleRequestInformation).getVnfInstanceId();
511 // mock sdncRequestHeader
512 SdncRequestHeader sdncRequestHeader = mock(SdncRequestHeader.class);
513 doReturn(sdncRequestHeader).when(vfModuleTopologyOperationInput).getSdncRequestHeader();
514 doReturn(svcRequestId).when(sdncRequestHeader).getSvcRequestId();
515 doReturn(true).when(vnfsdnSvcLogicServiceClient).hasGraph(any(), any(), any(), any());
517 Future<RpcResult<VfModuleTopologyOperationOutput>> rpcResultFuture =
518 vnfapiProvider.vfModuleTopologyOperation(vfModuleTopologyOperationInput);
520 Assert.assertEquals("200", rpcResultFuture.get().getResult().getResponseCode());
521 Assert.assertEquals(null, rpcResultFuture.get().getResult().getResponseMessage());
522 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
528 * <code>input.getServiceInformation() == null</code>
532 @Test public void vnfTopologyOperationErrorOne() throws Exception {
533 VnfTopologyOperationInput vnfTopologyOperationInput = mock(VnfTopologyOperationInput.class);
534 doReturn(null).when(vnfTopologyOperationInput).getServiceInformation();
536 Future<RpcResult<VnfTopologyOperationOutput>> rpcResultFuture =
537 vnfapiProvider.vnfTopologyOperation(vnfTopologyOperationInput);
539 Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode());
540 Assert.assertEquals("invalid input, null or empty service-instance-id",
541 rpcResultFuture.get().getResult().getResponseMessage());
542 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
548 * <code>input.getVnfRequestInformation() == null</code>
552 @Test public void vnfTopologyOperationErrorTwo() throws Exception {
553 serviceInstanceId = "serviceInstanceId";
554 VnfTopologyOperationInput vnfTopologyOperationInput = mock(VnfTopologyOperationInput.class);
555 ServiceInformation serviceInformation = mock(ServiceInformation.class);
556 doReturn(serviceInformation).when(vnfTopologyOperationInput).getServiceInformation();
557 doReturn(serviceInstanceId).when(serviceInformation).getServiceInstanceId();
559 Future<RpcResult<VnfTopologyOperationOutput>> rpcResultFuture =
560 vnfapiProvider.vnfTopologyOperation(vnfTopologyOperationInput);
562 Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode());
563 Assert.assertEquals("invalid input, null or empty vf-module-id",
564 rpcResultFuture.get().getResult().getResponseMessage());
565 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
571 * <code>svcLogicClient.hasGraph("VNF-API", SVC_OPERATION, null, "sync") == false</code>
575 @Test public void vnfTopologyOperationErrorThree() throws Exception {
576 serviceInstanceId = "serviceInstanceId";
577 String vnfId = "vnfId";
578 VnfTopologyOperationInput vnfTopologyOperationInput = mock(VnfTopologyOperationInput.class);
579 ServiceInformation serviceInformation = mock(ServiceInformation.class);
580 doReturn(serviceInformation).when(vnfTopologyOperationInput).getServiceInformation();
581 doReturn(serviceInstanceId).when(serviceInformation).getServiceInstanceId();
583 VnfRequestInformation vnfRequestInformation = mock(VnfRequestInformation.class);
584 doReturn(vnfRequestInformation).when(vnfTopologyOperationInput).getVnfRequestInformation();
585 doReturn(vnfId).when(vnfRequestInformation).getVnfId();
587 Future<RpcResult<VnfTopologyOperationOutput>> rpcResultFuture =
588 vnfapiProvider.vnfTopologyOperation(vnfTopologyOperationInput);
590 Assert.assertEquals("503", rpcResultFuture.get().getResult().getResponseCode());
592 rpcResultFuture.get().getResult().getResponseMessage().contains("No service logic active for VNF-API"));
593 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
601 @Test public void vnfTopologyOperationSuccess() throws Exception {
602 serviceInstanceId = "serviceInstanceId";
603 String vnfId = "vnfId";
604 VnfTopologyOperationInput vnfTopologyOperationInput = mock(VnfTopologyOperationInput.class);
605 ServiceInformation serviceInformation = mock(ServiceInformation.class);
606 doReturn(serviceInformation).when(vnfTopologyOperationInput).getServiceInformation();
607 doReturn(serviceInstanceId).when(serviceInformation).getServiceInstanceId();
609 VnfRequestInformation vnfRequestInformation = mock(VnfRequestInformation.class);
610 doReturn(vnfRequestInformation).when(vnfTopologyOperationInput).getVnfRequestInformation();
611 doReturn(vnfId).when(vnfRequestInformation).getVnfId();
612 doReturn(true).when(vnfsdnSvcLogicServiceClient).hasGraph(any(), any(), any(), any());
614 Future<RpcResult<VnfTopologyOperationOutput>> rpcResultFuture =
615 vnfapiProvider.vnfTopologyOperation(vnfTopologyOperationInput);
617 Assert.assertEquals("200", rpcResultFuture.get().getResult().getResponseCode());
618 Assert.assertEquals(null, rpcResultFuture.get().getResult().getResponseMessage());
619 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
625 * <code>input.getServiceInformation() == null</code>
629 @Test public void networkTopologyOperationErrorOne() throws Exception {
630 VnfTopologyOperationInput vnfTopologyOperationInput = mock(VnfTopologyOperationInput.class);
631 doReturn(null).when(vnfTopologyOperationInput).getServiceInformation();
633 Future<RpcResult<VnfTopologyOperationOutput>> rpcResultFuture =
634 vnfapiProvider.vnfTopologyOperation(vnfTopologyOperationInput);
636 Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode());
637 Assert.assertEquals("invalid input, null or empty service-instance-id",
638 rpcResultFuture.get().getResult().getResponseMessage());
639 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
645 * <code>input.getNetworkRequestInformation() == null</code>
649 @Test public void networkTopologyOperationErrorTwo() throws Exception {
650 serviceInstanceId = "serviceInstanceId";
651 NetworkTopologyOperationInput networkTopologyOperation = mock(NetworkTopologyOperationInput.class);
652 ServiceInformation serviceInformation = mock(ServiceInformation.class);
653 doReturn(serviceInstanceId).when(serviceInformation).getServiceInstanceId();
654 doReturn(serviceInformation).when(networkTopologyOperation).getServiceInformation();
656 Future<RpcResult<NetworkTopologyOperationOutput>> rpcResultFuture =
657 vnfapiProvider.networkTopologyOperation(networkTopologyOperation);
659 Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode());
660 Assert.assertEquals("invalid input, null or empty service-instance-id",
661 rpcResultFuture.get().getResult().getResponseMessage());
662 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
668 * <code>svcLogicClient.hasGraph("VNF-API", SVC_OPERATION, null, "sync") == false</code>
672 @Test public void networkTopologyOperationErrorThree() throws Exception {
673 serviceInstanceId = "serviceInstanceId";
674 NetworkTopologyOperationInput networkTopologyOperationInput = mock(NetworkTopologyOperationInput.class);
675 ServiceInformation serviceInformation = mock(ServiceInformation.class);
676 doReturn(serviceInstanceId).when(serviceInformation).getServiceInstanceId();
677 doReturn(serviceInformation).when(networkTopologyOperationInput).getServiceInformation();
679 NetworkRequestInformation networkRequestInformation = mock(NetworkRequestInformation.class);
680 doReturn(networkRequestInformation).when(networkTopologyOperationInput).getNetworkRequestInformation();
681 doReturn("NetworkName").when(networkRequestInformation).getNetworkName();
683 SdncRequestHeader sdncRequestHeader = mock(SdncRequestHeader.class);
684 doReturn(SdncRequestHeader.SvcAction.Assign).when(sdncRequestHeader).getSvcAction();
685 doReturn(sdncRequestHeader).when(networkTopologyOperationInput).getSdncRequestHeader();
687 Future<RpcResult<NetworkTopologyOperationOutput>> rpcResultFuture =
688 vnfapiProvider.networkTopologyOperation(networkTopologyOperationInput);
690 Assert.assertEquals("503", rpcResultFuture.get().getResult().getResponseCode());
692 rpcResultFuture.get().getResult().getResponseMessage().contains("No service logic active for VNF-API"));
693 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
701 @Test public void networkTopologyOperationSuccess() throws Exception {
702 serviceInstanceId = "serviceInstanceId";
703 NetworkTopologyOperationInput networkTopologyOperationInput = mock(NetworkTopologyOperationInput.class);
704 ServiceInformation serviceInformation = mock(ServiceInformation.class);
705 doReturn(serviceInstanceId).when(serviceInformation).getServiceInstanceId();
706 doReturn(serviceInformation).when(networkTopologyOperationInput).getServiceInformation();
707 //mock networkRequestInformation
708 NetworkRequestInformation networkRequestInformation = mock(NetworkRequestInformation.class);
709 doReturn(networkRequestInformation).when(networkTopologyOperationInput).getNetworkRequestInformation();
710 doReturn("NetworkName").when(networkRequestInformation).getNetworkName();
711 //mock sdncRequestHeader
712 SdncRequestHeader sdncRequestHeader = mock(SdncRequestHeader.class);
713 doReturn(SdncRequestHeader.SvcAction.Assign).when(sdncRequestHeader).getSvcAction();
714 doReturn(sdncRequestHeader).when(networkTopologyOperationInput).getSdncRequestHeader();
715 doReturn(true).when(vnfsdnSvcLogicServiceClient).hasGraph(any(), any(), any(), any());
717 Future<RpcResult<NetworkTopologyOperationOutput>> rpcResultFuture =
718 vnfapiProvider.networkTopologyOperation(networkTopologyOperationInput);
720 Assert.assertEquals("200", rpcResultFuture.get().getResult().getResponseCode());
721 Assert.assertEquals(null, rpcResultFuture.get().getResult().getResponseMessage());
722 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
728 * <code>input.getVnfTopologyInformation() == null</code>
732 @Test public void preloadVnfTopologyOperationErrorOne() throws Exception {
733 PreloadVnfTopologyOperationInput preloadVnfTopologyOperationInput =
734 mock(PreloadVnfTopologyOperationInput.class);
735 doReturn(null).when(preloadVnfTopologyOperationInput).getVnfTopologyInformation();
737 Future<RpcResult<PreloadVnfTopologyOperationOutput>> rpcResultFuture =
738 vnfapiProvider.preloadVnfTopologyOperation(preloadVnfTopologyOperationInput);
740 Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode());
741 Assert.assertEquals("invalid input, null or empty vnf-name or vnf-type",
742 rpcResultFuture.get().getResult().getResponseMessage());
743 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
749 * <code>preload_name.length() == 0</code>
751 * <code>preload_type.length() == 0</code>
755 @Test public void preloadVnfTopologyOperationErrorTwo() throws Exception {
756 // preload_name.length() == 0
758 vnfType = "vfModuleModelId";
759 PreloadVnfTopologyOperationInput preloadVnfTopologyOperationInput =
760 mock(PreloadVnfTopologyOperationInput.class);
761 doReturn(null).when(preloadVnfTopologyOperationInput).getVnfTopologyInformation();
763 VnfTopologyInformation vnfTopologyInformation = mock(VnfTopologyInformation.class);
764 doReturn(vnfTopologyInformation).when(preloadVnfTopologyOperationInput).getVnfTopologyInformation();
765 VnfTopologyIdentifier vnfTopologyIdentifier = mock(VnfTopologyIdentifier.class);
766 doReturn(vnfName).when(vnfTopologyIdentifier).getVnfName();
767 doReturn(vnfType).when(vnfTopologyIdentifier).getVnfType();
768 doReturn(vnfTopologyIdentifier).when(vnfTopologyInformation).getVnfTopologyIdentifier();
770 Future<RpcResult<PreloadVnfTopologyOperationOutput>> rpcResultFuture =
771 vnfapiProvider.preloadVnfTopologyOperation(preloadVnfTopologyOperationInput);
773 Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode());
774 Assert.assertEquals("invalid input, invalid preload-name",
775 rpcResultFuture.get().getResult().getResponseMessage());
776 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
778 // preload_type.length() == 0
781 doReturn(vnfName).when(vnfTopologyIdentifier).getVnfName();
782 doReturn(vnfType).when(vnfTopologyIdentifier).getVnfType();
784 rpcResultFuture = vnfapiProvider.preloadVnfTopologyOperation(preloadVnfTopologyOperationInput);
786 Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode());
787 Assert.assertEquals("invalid input, invalid preload-type",
788 rpcResultFuture.get().getResult().getResponseMessage());
789 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
794 * <code>svcLogicClient.hasGraph("VNF-API", SVC_OPERATION, null, "sync") = false</code>
798 @Test public void preloadVnfTopologyOperationErrorThree() throws Exception {
799 // preload_name.length() == 0
801 vnfType = "vfModuleModelId";
802 PreloadVnfTopologyOperationInput preloadVnfTopologyOperationInput =
803 mock(PreloadVnfTopologyOperationInput.class);
804 doReturn(null).when(preloadVnfTopologyOperationInput).getVnfTopologyInformation();
806 VnfTopologyInformation vnfTopologyInformation = mock(VnfTopologyInformation.class);
807 doReturn(vnfTopologyInformation).when(preloadVnfTopologyOperationInput).getVnfTopologyInformation();
808 VnfTopologyIdentifier vnfTopologyIdentifier = mock(VnfTopologyIdentifier.class);
809 doReturn(vnfName).when(vnfTopologyIdentifier).getVnfName();
810 doReturn(vnfType).when(vnfTopologyIdentifier).getVnfType();
811 doReturn(vnfTopologyIdentifier).when(vnfTopologyInformation).getVnfTopologyIdentifier();
813 Future<RpcResult<PreloadVnfTopologyOperationOutput>> rpcResultFuture =
814 vnfapiProvider.preloadVnfTopologyOperation(preloadVnfTopologyOperationInput);
816 Assert.assertEquals("503", rpcResultFuture.get().getResult().getResponseCode());
818 rpcResultFuture.get().getResult().getResponseMessage().contains("No service logic active for VNF-API"));
819 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
827 @Test public void preloadVnfTopologyOperationSuccess() throws Exception {
828 // preload_name.length() == 0
830 vnfType = "vfModuleModelId";
831 PreloadVnfTopologyOperationInput preloadVnfTopologyOperationInput =
832 mock(PreloadVnfTopologyOperationInput.class);
833 doReturn(null).when(preloadVnfTopologyOperationInput).getVnfTopologyInformation();
835 VnfTopologyInformation vnfTopologyInformation = mock(VnfTopologyInformation.class);
836 doReturn(vnfTopologyInformation).when(preloadVnfTopologyOperationInput).getVnfTopologyInformation();
837 VnfTopologyIdentifier vnfTopologyIdentifier = mock(VnfTopologyIdentifier.class);
838 doReturn(vnfName).when(vnfTopologyIdentifier).getVnfName();
839 doReturn(vnfType).when(vnfTopologyIdentifier).getVnfType();
840 doReturn(vnfTopologyIdentifier).when(vnfTopologyInformation).getVnfTopologyIdentifier();
841 doReturn(true).when(vnfsdnSvcLogicServiceClient).hasGraph(any(), any(), any(), any());
843 Future<RpcResult<PreloadVnfTopologyOperationOutput>> rpcResultFuture =
844 vnfapiProvider.preloadVnfTopologyOperation(preloadVnfTopologyOperationInput);
846 Assert.assertEquals("200", rpcResultFuture.get().getResult().getResponseCode());
847 Assert.assertEquals(null, rpcResultFuture.get().getResult().getResponseMessage());
848 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
854 * <code>input.getVnfInstanceTopologyInformation() == null</code>
858 @Test public void preloadVnfInstanceTopologyOperationErrorOne() throws Exception {
859 PreloadVnfInstanceTopologyOperationInput preloadVnfInstanceTopologyOperationInput =
860 mock(PreloadVnfInstanceTopologyOperationInput.class);
861 doReturn(null).when(preloadVnfInstanceTopologyOperationInput).getVnfInstanceTopologyInformation();
862 Future<RpcResult<PreloadVnfInstanceTopologyOperationOutput>> rpcResultFuture =
863 vnfapiProvider.preloadVnfInstanceTopologyOperation(preloadVnfInstanceTopologyOperationInput);
865 Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode());
866 Assert.assertEquals("invalid input, null or empty vnf-instance-name or vnf-model-id",
867 rpcResultFuture.get().getResult().getResponseMessage());
868 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
874 * <code>preload_name = ""</code>
876 * <code>preload_type = ""</code>
880 @Test public void preloadVnfInstanceTopologyOperationErrorTwo() throws Exception {
882 vnfInstanceName = "vnfInstanceName";
884 PreloadVnfInstanceTopologyOperationInput preloadVnfInstanceTopologyOperationInput =
885 mock(PreloadVnfInstanceTopologyOperationInput.class);
886 VnfInstanceTopologyInformation vnfInstanceTopologyInformation = mock(VnfInstanceTopologyInformation.class);
887 doReturn(vnfInstanceTopologyInformation).when(preloadVnfInstanceTopologyOperationInput)
888 .getVnfInstanceTopologyInformation();
889 VnfInstanceIdentifiers vnfInstanceIdentifiers = mock(VnfInstanceIdentifiers.class);
890 doReturn(vnfInstanceName).when(vnfInstanceIdentifiers).getVnfInstanceName();
891 doReturn(vnfModelId).when(vnfInstanceIdentifiers).getVnfModelId();
892 doReturn(vnfInstanceIdentifiers).when(vnfInstanceTopologyInformation).getVnfInstanceIdentifiers();
894 Future<RpcResult<PreloadVnfInstanceTopologyOperationOutput>> rpcResultFuture =
895 vnfapiProvider.preloadVnfInstanceTopologyOperation(preloadVnfInstanceTopologyOperationInput);
897 Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode());
898 Assert.assertEquals("invalid input, invalid preload-type",
899 rpcResultFuture.get().getResult().getResponseMessage());
900 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
903 vnfInstanceName = "";
904 vnfModelId = "vnfModelId";
905 doReturn(vnfInstanceName).when(vnfInstanceIdentifiers).getVnfInstanceName();
906 doReturn(vnfModelId).when(vnfInstanceIdentifiers).getVnfModelId();
908 rpcResultFuture = vnfapiProvider.preloadVnfInstanceTopologyOperation(preloadVnfInstanceTopologyOperationInput);
910 Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode());
911 Assert.assertEquals("invalid input, invalid preload-name",
912 rpcResultFuture.get().getResult().getResponseMessage());
913 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
919 * <code>svcLogicClient.hasGraph("VNF-API", SVC_OPERATION, null, "sync") = false</code>
923 @Test public void preloadVnfInstanceTopologyOperationErrorThree() throws Exception {
925 vnfInstanceName = "vnfInstanceName";
926 vnfModelId = "vnfModelId";
927 PreloadVnfInstanceTopologyOperationInput preloadVnfInstanceTopologyOperationInput =
928 mock(PreloadVnfInstanceTopologyOperationInput.class);
929 VnfInstanceTopologyInformation vnfInstanceTopologyInformation = mock(VnfInstanceTopologyInformation.class);
930 doReturn(vnfInstanceTopologyInformation).when(preloadVnfInstanceTopologyOperationInput)
931 .getVnfInstanceTopologyInformation();
932 VnfInstanceIdentifiers vnfInstanceIdentifiers = mock(VnfInstanceIdentifiers.class);
933 doReturn(vnfInstanceName).when(vnfInstanceIdentifiers).getVnfInstanceName();
934 doReturn(vnfModelId).when(vnfInstanceIdentifiers).getVnfModelId();
935 doReturn(vnfInstanceIdentifiers).when(vnfInstanceTopologyInformation).getVnfInstanceIdentifiers();
936 SdncRequestHeader sdncRequestHeader = mock(SdncRequestHeader.class);
937 doReturn(sdncRequestHeader).when(preloadVnfInstanceTopologyOperationInput).getSdncRequestHeader();
938 doReturn(svcRequestId).when(sdncRequestHeader).getSvcRequestId();
940 Future<RpcResult<PreloadVnfInstanceTopologyOperationOutput>> rpcResultFuture =
941 vnfapiProvider.preloadVnfInstanceTopologyOperation(preloadVnfInstanceTopologyOperationInput);
943 Assert.assertEquals("503", rpcResultFuture.get().getResult().getResponseCode());
945 rpcResultFuture.get().getResult().getResponseMessage().contains("No service logic active for VNF-API"));
946 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
954 @Test public void preloadVnfInstanceTopologyOperationSuccess() throws Exception {
956 vnfInstanceName = "vnfInstanceName";
957 vnfModelId = "vnfModelId";
958 PreloadVnfInstanceTopologyOperationInput preloadVnfInstanceTopologyOperationInput =
959 mock(PreloadVnfInstanceTopologyOperationInput.class);
960 VnfInstanceTopologyInformation vnfInstanceTopologyInformation = mock(VnfInstanceTopologyInformation.class);
961 doReturn(vnfInstanceTopologyInformation).when(preloadVnfInstanceTopologyOperationInput)
962 .getVnfInstanceTopologyInformation();
963 VnfInstanceIdentifiers vnfInstanceIdentifiers = mock(VnfInstanceIdentifiers.class);
964 doReturn(vnfInstanceName).when(vnfInstanceIdentifiers).getVnfInstanceName();
965 doReturn(vnfModelId).when(vnfInstanceIdentifiers).getVnfModelId();
966 doReturn(vnfInstanceIdentifiers).when(vnfInstanceTopologyInformation).getVnfInstanceIdentifiers();
967 SdncRequestHeader sdncRequestHeader = mock(SdncRequestHeader.class);
968 doReturn(sdncRequestHeader).when(preloadVnfInstanceTopologyOperationInput).getSdncRequestHeader();
969 doReturn(svcRequestId).when(sdncRequestHeader).getSvcRequestId();
970 doReturn(true).when(vnfsdnSvcLogicServiceClient).hasGraph(any(), any(), any(), any());
972 Future<RpcResult<PreloadVnfInstanceTopologyOperationOutput>> rpcResultFuture =
973 vnfapiProvider.preloadVnfInstanceTopologyOperation(preloadVnfInstanceTopologyOperationInput);
975 Assert.assertEquals("200", rpcResultFuture.get().getResult().getResponseCode());
976 Assert.assertEquals(null, rpcResultFuture.get().getResult().getResponseMessage());
977 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
983 * <code>input.getVfModuleTopologyInformation() == null</code>
987 @Test public void preloadVfModuleTopologyOperationErrorOne() throws Exception {
988 PreloadVfModuleTopologyOperationInput preloadVnfTopologyOperationInput =
989 mock(PreloadVfModuleTopologyOperationInput.class);
990 doReturn(null).when(preloadVnfTopologyOperationInput).getVfModuleTopologyInformation();
992 Future<RpcResult<PreloadVfModuleTopologyOperationOutput>> rpcResultFuture =
993 vnfapiProvider.preloadVfModuleTopologyOperation(preloadVnfTopologyOperationInput);
995 Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode());
996 Assert.assertEquals("invalid input, null or empty vf-module-name or vf-module-model-id",
997 rpcResultFuture.get().getResult().getResponseMessage());
998 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
1004 * <code>preload_name = ""</code>
1006 * <code>preload_type = ""</code>
1010 @Test public void preloadVfModuleTopologyOperationErrorTwo() throws Exception {
1011 // preload_name = ""
1013 vfModuleModelId = "vfModuleModelId";
1014 PreloadVfModuleTopologyOperationInput preloadVnfTopologyOperationInput =
1015 mock(PreloadVfModuleTopologyOperationInput.class);
1016 VfModuleTopologyInformation vfModuleTopologyInformation = mock(VfModuleTopologyInformation.class);
1017 doReturn(vfModuleTopologyInformation).when(preloadVnfTopologyOperationInput).getVfModuleTopologyInformation();
1018 VfModuleIdentifiers vfModuleIdentifiers = mock(VfModuleIdentifiers.class);
1019 doReturn(vfModuleName).when(vfModuleIdentifiers).getVfModuleName();
1020 doReturn(vfModuleModelId).when(vfModuleIdentifiers).getVfModuleModelId();
1021 doReturn(vfModuleIdentifiers).when(vfModuleTopologyInformation).getVfModuleIdentifiers();
1023 Future<RpcResult<PreloadVfModuleTopologyOperationOutput>> rpcResultFuture =
1024 vnfapiProvider.preloadVfModuleTopologyOperation(preloadVnfTopologyOperationInput);
1026 Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode());
1027 Assert.assertEquals("invalid input, invalid preload-name",
1028 rpcResultFuture.get().getResult().getResponseMessage());
1029 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
1031 // preload_type = ""
1032 vfModuleName = "vfModuleName";
1033 vfModuleModelId = "";
1034 doReturn(vfModuleName).when(vfModuleIdentifiers).getVfModuleName();
1035 doReturn(vfModuleModelId).when(vfModuleIdentifiers).getVfModuleModelId();
1037 rpcResultFuture = vnfapiProvider.preloadVfModuleTopologyOperation(preloadVnfTopologyOperationInput);
1039 Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode());
1040 Assert.assertEquals("invalid input, invalid preload-type",
1041 rpcResultFuture.get().getResult().getResponseMessage());
1042 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
1048 * <code>svcLogicClient.hasGraph("VNF-API", SVC_OPERATION, null, "sync") = false</code>
1052 @Test public void preloadVfModuleTopologyOperationErrorThree() throws Exception {
1053 // preload_name = ""
1054 vfModuleName = "vfModuleName";
1055 vfModuleModelId = "vfModuleModelId";
1056 PreloadVfModuleTopologyOperationInput preloadVnfTopologyOperationInput =
1057 mock(PreloadVfModuleTopologyOperationInput.class);
1058 VfModuleTopologyInformation vfModuleTopologyInformation = mock(VfModuleTopologyInformation.class);
1059 doReturn(vfModuleTopologyInformation).when(preloadVnfTopologyOperationInput).getVfModuleTopologyInformation();
1060 VfModuleIdentifiers vfModuleIdentifiers = mock(VfModuleIdentifiers.class);
1061 doReturn(vfModuleName).when(vfModuleIdentifiers).getVfModuleName();
1062 doReturn(vfModuleModelId).when(vfModuleIdentifiers).getVfModuleModelId();
1063 doReturn(vfModuleIdentifiers).when(vfModuleTopologyInformation).getVfModuleIdentifiers();
1064 SdncRequestHeader sdncRequestHeader = mock(SdncRequestHeader.class);
1065 doReturn(sdncRequestHeader).when(preloadVnfTopologyOperationInput).getSdncRequestHeader();
1066 doReturn(svcRequestId).when(sdncRequestHeader).getSvcRequestId();
1068 Future<RpcResult<PreloadVfModuleTopologyOperationOutput>> rpcResultFuture =
1069 vnfapiProvider.preloadVfModuleTopologyOperation(preloadVnfTopologyOperationInput);
1071 Assert.assertEquals("503", rpcResultFuture.get().getResult().getResponseCode());
1073 rpcResultFuture.get().getResult().getResponseMessage().contains("No service logic active for VNF-API"));
1074 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
1082 @Test public void preloadVfModuleTopologyOperationSuccess() throws Exception {
1083 // preload_name = ""
1084 vfModuleName = "vfModuleName";
1085 vfModuleModelId = "vfModuleModelId";
1086 PreloadVfModuleTopologyOperationInput preloadVnfTopologyOperationInput =
1087 mock(PreloadVfModuleTopologyOperationInput.class);
1088 VfModuleTopologyInformation vfModuleTopologyInformation = mock(VfModuleTopologyInformation.class);
1089 doReturn(vfModuleTopologyInformation).when(preloadVnfTopologyOperationInput).getVfModuleTopologyInformation();
1090 VfModuleIdentifiers vfModuleIdentifiers = mock(VfModuleIdentifiers.class);
1091 doReturn(vfModuleName).when(vfModuleIdentifiers).getVfModuleName();
1092 doReturn(vfModuleModelId).when(vfModuleIdentifiers).getVfModuleModelId();
1093 doReturn(vfModuleIdentifiers).when(vfModuleTopologyInformation).getVfModuleIdentifiers();
1094 SdncRequestHeader sdncRequestHeader = mock(SdncRequestHeader.class);
1095 doReturn(sdncRequestHeader).when(preloadVnfTopologyOperationInput).getSdncRequestHeader();
1096 doReturn(svcRequestId).when(sdncRequestHeader).getSvcRequestId();
1097 doReturn(true).when(vnfsdnSvcLogicServiceClient).hasGraph(any(), any(), any(), any());
1099 Future<RpcResult<PreloadVfModuleTopologyOperationOutput>> rpcResultFuture =
1100 vnfapiProvider.preloadVfModuleTopologyOperation(preloadVnfTopologyOperationInput);
1102 Assert.assertEquals("200", rpcResultFuture.get().getResult().getResponseCode());
1103 Assert.assertEquals(null, rpcResultFuture.get().getResult().getResponseMessage());
1104 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
1110 * <code>input.getNetworkTopologyInformation() == null</code>
1114 @Test public void preloadNetworkTopologyOperationErrorOne() throws Exception {
1115 PreloadNetworkTopologyOperationInput PreloadNetworkTopologyOperationInput =
1116 mock(PreloadNetworkTopologyOperationInput.class);
1117 doReturn(null).when(PreloadNetworkTopologyOperationInput).getNetworkTopologyInformation();
1119 Future<RpcResult<PreloadNetworkTopologyOperationOutput>> rpcResultFuture =
1120 vnfapiProvider.preloadNetworkTopologyOperation(PreloadNetworkTopologyOperationInput);
1122 Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode());
1123 Assert.assertEquals("input, null or empty network-name or network-type",
1124 rpcResultFuture.get().getResult().getResponseMessage());
1125 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
1131 * <code>preload_name == ""</code>
1133 * <code>preload_type == ""ss</code>
1137 @Test public void preloadNetworkTopologyOperationErrorTwo() throws Exception {
1138 String networkName = "";
1139 String networkType = "NetworkType";
1140 PreloadNetworkTopologyOperationInput PreloadNetworkTopologyOperationInput =
1141 mock(PreloadNetworkTopologyOperationInput.class);
1142 NetworkTopologyInformation networkTopologyInformation = mock(NetworkTopologyInformation.class);
1143 doReturn(networkTopologyInformation).when(PreloadNetworkTopologyOperationInput).getNetworkTopologyInformation();
1144 NetworkTopologyIdentifier networkTopologyIdentifier = mock(NetworkTopologyIdentifier.class);
1145 doReturn(networkTopologyIdentifier).when(networkTopologyInformation).getNetworkTopologyIdentifier();
1146 doReturn(networkName).when(networkTopologyIdentifier).getNetworkName();
1147 doReturn(networkType).when(networkTopologyIdentifier).getNetworkType();
1149 Future<RpcResult<PreloadNetworkTopologyOperationOutput>> rpcResultFuture =
1150 vnfapiProvider.preloadNetworkTopologyOperation(PreloadNetworkTopologyOperationInput);
1152 Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode());
1153 Assert.assertEquals("input, invalid preload-name", rpcResultFuture.get().getResult().getResponseMessage());
1154 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
1156 networkName = "NetworkName";
1158 doReturn(networkName).when(networkTopologyIdentifier).getNetworkName();
1159 doReturn(networkType).when(networkTopologyIdentifier).getNetworkType();
1161 rpcResultFuture = vnfapiProvider.preloadNetworkTopologyOperation(PreloadNetworkTopologyOperationInput);
1163 Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode());
1164 Assert.assertEquals("input, invalid preload-type", rpcResultFuture.get().getResult().getResponseMessage());
1165 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
1171 * <code>svcLogicClient.hasGraph("VNF-API",SVC_OPERATION,null,"sync" = false</code>
1175 @Test public void preloadNetworkTopologyOperationErrorThree() throws Exception {
1176 String networkName = "NetworkName";
1177 String networkType = "NetworkType";
1178 PreloadNetworkTopologyOperationInput PreloadNetworkTopologyOperationInput =
1179 mock(PreloadNetworkTopologyOperationInput.class);
1180 NetworkTopologyInformation networkTopologyInformation = mock(NetworkTopologyInformation.class);
1181 doReturn(networkTopologyInformation).when(PreloadNetworkTopologyOperationInput).getNetworkTopologyInformation();
1182 NetworkTopologyIdentifier networkTopologyIdentifier = mock(NetworkTopologyIdentifier.class);
1183 doReturn(networkTopologyIdentifier).when(networkTopologyInformation).getNetworkTopologyIdentifier();
1184 doReturn(networkName).when(networkTopologyIdentifier).getNetworkName();
1185 doReturn(networkType).when(networkTopologyIdentifier).getNetworkType();
1186 SdncRequestHeader sdncRequestHeader = mock(SdncRequestHeader.class);
1187 doReturn(sdncRequestHeader).when(PreloadNetworkTopologyOperationInput).getSdncRequestHeader();
1188 doReturn(svcRequestId).when(sdncRequestHeader).getSvcRequestId();
1190 Future<RpcResult<PreloadNetworkTopologyOperationOutput>> rpcResultFuture =
1191 vnfapiProvider.preloadNetworkTopologyOperation(PreloadNetworkTopologyOperationInput);
1193 Assert.assertEquals("503", rpcResultFuture.get().getResult().getResponseCode());
1195 rpcResultFuture.get().getResult().getResponseMessage().contains("No service logic active for VNF-API"));
1196 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
1204 @Test public void preloadNetworkTopologyOperationErrorFour() throws Exception {
1205 String networkName = "NetworkName";
1206 String networkType = "NetworkType";
1207 PreloadNetworkTopologyOperationInput PreloadNetworkTopologyOperationInput =
1208 mock(PreloadNetworkTopologyOperationInput.class);
1209 NetworkTopologyInformation networkTopologyInformation = mock(NetworkTopologyInformation.class);
1210 doReturn(networkTopologyInformation).when(PreloadNetworkTopologyOperationInput).getNetworkTopologyInformation();
1211 NetworkTopologyIdentifier networkTopologyIdentifier = mock(NetworkTopologyIdentifier.class);
1212 doReturn(networkTopologyIdentifier).when(networkTopologyInformation).getNetworkTopologyIdentifier();
1213 doReturn(networkName).when(networkTopologyIdentifier).getNetworkName();
1214 doReturn(networkType).when(networkTopologyIdentifier).getNetworkType();
1215 SdncRequestHeader sdncRequestHeader = mock(SdncRequestHeader.class);
1216 doReturn(sdncRequestHeader).when(PreloadNetworkTopologyOperationInput).getSdncRequestHeader();
1217 doReturn(svcRequestId).when(sdncRequestHeader).getSvcRequestId();
1218 doReturn(true).when(vnfsdnSvcLogicServiceClient).hasGraph(any(), any(), any(), any());
1219 doReturn(null).when(dataBroker).newWriteOnlyTransaction();
1221 Future<RpcResult<PreloadNetworkTopologyOperationOutput>> rpcResultFuture =
1222 vnfapiProvider.preloadNetworkTopologyOperation(PreloadNetworkTopologyOperationInput);
1224 Assert.assertEquals("500", rpcResultFuture.get().getResult().getResponseCode());
1225 Assert.assertEquals("java.lang.NullPointerException", rpcResultFuture.get().getResult().getResponseMessage());
1226 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
1234 @Test public void preloadNetworkTopologyOperationSuccess() throws Exception {
1235 String networkName = "NetworkName";
1236 String networkType = "NetworkType";
1237 PreloadNetworkTopologyOperationInput PreloadNetworkTopologyOperationInput =
1238 mock(PreloadNetworkTopologyOperationInput.class);
1239 NetworkTopologyInformation networkTopologyInformation = mock(NetworkTopologyInformation.class);
1240 doReturn(networkTopologyInformation).when(PreloadNetworkTopologyOperationInput).getNetworkTopologyInformation();
1241 NetworkTopologyIdentifier networkTopologyIdentifier = mock(NetworkTopologyIdentifier.class);
1242 doReturn(networkTopologyIdentifier).when(networkTopologyInformation).getNetworkTopologyIdentifier();
1243 doReturn(networkName).when(networkTopologyIdentifier).getNetworkName();
1244 doReturn(networkType).when(networkTopologyIdentifier).getNetworkType();
1245 SdncRequestHeader sdncRequestHeader = mock(SdncRequestHeader.class);
1246 doReturn(sdncRequestHeader).when(PreloadNetworkTopologyOperationInput).getSdncRequestHeader();
1247 doReturn(svcRequestId).when(sdncRequestHeader).getSvcRequestId();
1248 doReturn(true).when(vnfsdnSvcLogicServiceClient).hasGraph(any(), any(), any(), any());
1250 Future<RpcResult<PreloadNetworkTopologyOperationOutput>> rpcResultFuture =
1251 vnfapiProvider.preloadNetworkTopologyOperation(PreloadNetworkTopologyOperationInput);
1253 Assert.assertEquals("200", rpcResultFuture.get().getResult().getResponseCode());
1254 Assert.assertEquals(null, rpcResultFuture.get().getResult().getResponseMessage());
1255 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
1258 @Test public void getVfModuleServiceData() throws Exception {
1259 // Three parameters: siid, vfModuleServiceDataBuilder, LogicalDatastoreType
1260 String ssid = "ssid";
1261 VfModuleServiceDataBuilder vfModuleServiceDataBuilder = spy(new VfModuleServiceDataBuilder());
1262 Optional<VfModuleList> optional = mock(Optional.class);
1263 doReturn(optional).when(checkedFuture).get();
1264 doReturn(true).when(optional).isPresent();
1265 VfModuleList vfModuleList = mock(VfModuleList.class);
1266 doReturn(vfModuleList).when(optional).get();
1267 VfModuleServiceData vfModuleServiceData = mock(VfModuleServiceData.class);
1268 doReturn(vfModuleServiceData).when(vfModuleList).getVfModuleServiceData();
1269 SdncRequestHeader sdncRequestHeader = mock(SdncRequestHeader.class);
1270 doReturn(sdncRequestHeader).when(vfModuleServiceData).getSdncRequestHeader();
1272 Whitebox.invokeMethod(vnfapiProvider, "getVfModuleServiceData", ssid, vfModuleServiceDataBuilder,
1273 LogicalDatastoreType.CONFIGURATION);
1275 Assert.assertEquals(sdncRequestHeader, vfModuleServiceDataBuilder.getSdncRequestHeader());
1277 //With Two parameters: siid, vfModuleServiceDataBuilder
1278 Whitebox.invokeMethod(vnfapiProvider, "getVfModuleServiceData", ssid, vfModuleServiceDataBuilder);
1280 Assert.assertEquals(sdncRequestHeader, vfModuleServiceDataBuilder.getSdncRequestHeader());
1283 @Test public void getPreloadData() throws Exception {
1285 // String preload_name, String preload_type, PreloadDataBuilder preloadDataBuilder, LogicalDatastoreType type
1286 PreloadDataBuilder preloadDataBuilder = spy(new PreloadDataBuilder());
1288 Optional<VnfPreloadList> optional = mock(Optional.class);
1289 doReturn(optional).when(checkedFuture).get();
1290 doReturn(true).when(optional).isPresent();
1292 VnfPreloadList vnfPreloadList = mock(VnfPreloadList.class);
1293 doReturn(vnfPreloadList).when(optional).get();
1294 PreloadData preloadData = mock(PreloadData.class);
1295 doReturn(preloadData).when(vnfPreloadList).getPreloadData();
1297 VnfTopologyInformation vnfTopologyInformation = mock(VnfTopologyInformation.class);
1298 doReturn(vnfTopologyInformation).when(preloadData).getVnfTopologyInformation();
1300 Whitebox.invokeMethod(vnfapiProvider, "getPreloadData", "preloadName", "preloadType", preloadDataBuilder,
1301 LogicalDatastoreType.CONFIGURATION);
1303 Assert.assertEquals(vnfTopologyInformation, preloadDataBuilder.getVnfTopologyInformation());
1305 // Three parameters:
1306 // String preload_name, String preload_type, PreloadDataBuilder preloadDataBuilder, LogicalDatastoreType type
1307 Whitebox.invokeMethod(vnfapiProvider, "getPreloadData", "preloadName", "preloadType", preloadDataBuilder);
1309 Assert.assertEquals(vnfTopologyInformation, preloadDataBuilder.getVnfTopologyInformation());
1312 @Test public void getVnfInstancePreloadData() throws Exception {
1314 // String preload_name, String preload_type, VnfInstancePreloadDataBuilder preloadDataBuilder,
1315 // LogicalDatastoreType type
1316 VnfInstancePreloadDataBuilder vnfInstancePreloadDataBuilder = spy(new VnfInstancePreloadDataBuilder());
1318 Optional<VnfPreloadList> optional = mock(Optional.class);
1319 doReturn(optional).when(checkedFuture).get();
1320 doReturn(true).when(optional).isPresent();
1321 VnfInstancePreloadList vnfInstancePreloadList = mock(VnfInstancePreloadList.class);
1322 doReturn(vnfInstancePreloadList).when(optional).get();
1323 VnfInstancePreloadData vnfInstancePreloadData = mock(VnfInstancePreloadData.class);
1324 doReturn(vnfInstancePreloadData).when(vnfInstancePreloadList).getVnfInstancePreloadData();
1325 VnfInstanceTopologyInformation vnfInstanceTopologyInformation = mock(VnfInstanceTopologyInformation.class);
1326 doReturn(vnfInstanceTopologyInformation).when(vnfInstancePreloadData).getVnfInstanceTopologyInformation();
1328 Whitebox.invokeMethod(vnfapiProvider, "getVnfInstancePreloadData", "preloadName", "preloadType",
1329 vnfInstancePreloadDataBuilder, LogicalDatastoreType.CONFIGURATION);
1331 Assert.assertEquals(vnfInstanceTopologyInformation,
1332 vnfInstancePreloadDataBuilder.getVnfInstanceTopologyInformation());
1334 // Three Parameters:
1335 // String preload_name, String preload_type, VnfInstancePreloadDataBuilder preloadDataBuilder
1336 Whitebox.invokeMethod(vnfapiProvider, "getVnfInstancePreloadData", "preloadName", "preloadType",
1337 vnfInstancePreloadDataBuilder);
1339 Assert.assertEquals(vnfInstanceTopologyInformation,
1340 vnfInstancePreloadDataBuilder.getVnfInstanceTopologyInformation());
1343 @Test public void getVfModulePreloadData() throws Exception {
1345 // String preload_name, String preload_type, VfModulePreloadDataBuilder preloadDataBuilder,
1346 // LogicalDatastoreType type
1347 VfModulePreloadDataBuilder vfModulePreloadDataBuilder = spy(new VfModulePreloadDataBuilder());
1349 Optional<VfModulePreloadList> optional = mock(Optional.class);
1350 doReturn(optional).when(checkedFuture).get();
1351 doReturn(true).when(optional).isPresent();
1352 VfModulePreloadList vfModulePreloadList = mock(VfModulePreloadList.class);
1353 doReturn(vfModulePreloadList).when(optional).get();
1354 VfModulePreloadData vfModulePreloadData = mock(VfModulePreloadData.class);
1355 doReturn(vfModulePreloadData).when(vfModulePreloadList).getVfModulePreloadData();
1356 VfModuleTopologyInformation vfModuleTopologyInformation = mock(VfModuleTopologyInformation.class);
1357 doReturn(vfModuleTopologyInformation).when(vfModulePreloadData).getVfModuleTopologyInformation();
1359 Whitebox.invokeMethod(vnfapiProvider, "getVfModulePreloadData", "preloadName", "preloadType",
1360 vfModulePreloadDataBuilder, LogicalDatastoreType.CONFIGURATION);
1362 Assert.assertEquals(vfModuleTopologyInformation, vfModulePreloadDataBuilder.getVfModuleTopologyInformation());
1364 // Three Parameters:
1365 // String vnf_name, String vnf_type, VfModulePreloadDataBuilder preloadDataBuilder
1366 Whitebox.invokeMethod(vnfapiProvider, "getVfModulePreloadData", "preloadName", "preloadType",
1367 vfModulePreloadDataBuilder);
1369 Assert.assertEquals(vfModuleTopologyInformation, vfModulePreloadDataBuilder.getVfModuleTopologyInformation());
1373 * With ServiceStatusBuilder, RequestInformation
1375 @Test public void setServiceStatusOne() throws Exception {
1376 // VNFActivateRequest
1377 RequestInformation requestInformation = mock(RequestInformation.class);
1378 ServiceStatusBuilder serviceStatusBuilder = spy(new ServiceStatusBuilder());
1379 doReturn(RequestInformation.RequestAction.VNFActivateRequest).when(requestInformation).getRequestAction();
1380 doReturn(RequestInformation.RequestSubAction.SUPP).when(requestInformation).getRequestSubAction();
1381 Whitebox.invokeMethod(vnfapiProvider, "setServiceStatus", serviceStatusBuilder, requestInformation);
1382 Assert.assertEquals(ServiceStatus.VnfsdnAction.VNFActivateRequest, serviceStatusBuilder.getVnfsdnAction());
1384 //ChangeVNFActivateRequest
1385 doReturn(RequestInformation.RequestAction.ChangeVNFActivateRequest).when(requestInformation).getRequestAction();
1386 doReturn(RequestInformation.RequestSubAction.CANCEL).when(requestInformation).getRequestSubAction();
1387 Whitebox.invokeMethod(vnfapiProvider, "setServiceStatus", serviceStatusBuilder, requestInformation);
1389 .assertEquals(ServiceStatus.VnfsdnAction.ChangeVNFActivateRequest, serviceStatusBuilder.getVnfsdnAction());
1391 //DisconnectVNFRequest
1392 doReturn(RequestInformation.RequestAction.DisconnectVNFRequest).when(requestInformation).getRequestAction();
1393 Whitebox.invokeMethod(vnfapiProvider, "setServiceStatus", serviceStatusBuilder, requestInformation);
1394 Assert.assertEquals(ServiceStatus.VnfsdnAction.DisconnectVNFRequest, serviceStatusBuilder.getVnfsdnAction());
1397 doReturn(RequestInformation.RequestAction.PreloadVNFRequest).when(requestInformation).getRequestAction();
1398 Whitebox.invokeMethod(vnfapiProvider, "setServiceStatus", serviceStatusBuilder, requestInformation);
1399 Assert.assertEquals(ServiceStatus.VnfsdnAction.PreloadVNFRequest, serviceStatusBuilder.getVnfsdnAction());
1401 //DeletePreloadVNFRequest
1402 doReturn(RequestInformation.RequestAction.DeletePreloadVNFRequest).when(requestInformation).getRequestAction();
1403 Whitebox.invokeMethod(vnfapiProvider, "setServiceStatus", serviceStatusBuilder, requestInformation);
1404 Assert.assertEquals(ServiceStatus.VnfsdnAction.DeletePreloadVNFRequest, serviceStatusBuilder.getVnfsdnAction());
1406 //VnfInstanceActivateRequest
1407 doReturn(RequestInformation.RequestAction.VnfInstanceActivateRequest).when(requestInformation)
1408 .getRequestAction();
1409 Whitebox.invokeMethod(vnfapiProvider, "setServiceStatus", serviceStatusBuilder, requestInformation);
1410 Assert.assertEquals(ServiceStatus.VnfsdnAction.VnfInstanceActivateRequest,
1411 serviceStatusBuilder.getVnfsdnAction());
1413 //ChangeVnfInstanceActivateRequest
1414 doReturn(RequestInformation.RequestAction.ChangeVnfInstanceActivateRequest).when(requestInformation)
1415 .getRequestAction();
1416 Whitebox.invokeMethod(vnfapiProvider, "setServiceStatus", serviceStatusBuilder, requestInformation);
1417 Assert.assertEquals(ServiceStatus.VnfsdnAction.ChangeVnfInstanceActivateRequest,
1418 serviceStatusBuilder.getVnfsdnAction());
1420 //DisconnectVnfInstanceRequest
1421 doReturn(RequestInformation.RequestAction.DisconnectVnfInstanceRequest).when(requestInformation)
1422 .getRequestAction();
1423 Whitebox.invokeMethod(vnfapiProvider, "setServiceStatus", serviceStatusBuilder, requestInformation);
1424 Assert.assertEquals(ServiceStatus.VnfsdnAction.DisconnectVnfInstanceRequest,
1425 serviceStatusBuilder.getVnfsdnAction());
1427 //PreloadVnfInstanceRequest
1428 doReturn(RequestInformation.RequestAction.PreloadVnfInstanceRequest).when(requestInformation)
1429 .getRequestAction();
1430 Whitebox.invokeMethod(vnfapiProvider, "setServiceStatus", serviceStatusBuilder, requestInformation);
1432 .assertEquals(ServiceStatus.VnfsdnAction.PreloadVnfInstanceRequest, serviceStatusBuilder.getVnfsdnAction());
1434 //VfModuleActivateRequest
1435 doReturn(RequestInformation.RequestAction.VfModuleActivateRequest).when(requestInformation).getRequestAction();
1436 Whitebox.invokeMethod(vnfapiProvider, "setServiceStatus", serviceStatusBuilder, requestInformation);
1437 Assert.assertEquals(ServiceStatus.VnfsdnAction.VfModuleActivateRequest, serviceStatusBuilder.getVnfsdnAction());
1439 //ChangeVfModuleActivateRequest
1440 doReturn(RequestInformation.RequestAction.ChangeVfModuleActivateRequest).when(requestInformation)
1441 .getRequestAction();
1442 Whitebox.invokeMethod(vnfapiProvider, "setServiceStatus", serviceStatusBuilder, requestInformation);
1443 Assert.assertEquals(ServiceStatus.VnfsdnAction.ChangeVfModuleActivateRequest,
1444 serviceStatusBuilder.getVnfsdnAction());
1446 //DisconnectVfModuleRequest
1447 doReturn(RequestInformation.RequestAction.DisconnectVfModuleRequest).when(requestInformation)
1448 .getRequestAction();
1449 Whitebox.invokeMethod(vnfapiProvider, "setServiceStatus", serviceStatusBuilder, requestInformation);
1451 .assertEquals(ServiceStatus.VnfsdnAction.DisconnectVfModuleRequest, serviceStatusBuilder.getVnfsdnAction());
1453 //PreloadVfModuleRequest
1454 doReturn(RequestInformation.RequestAction.PreloadVfModuleRequest).when(requestInformation).getRequestAction();
1455 Whitebox.invokeMethod(vnfapiProvider, "setServiceStatus", serviceStatusBuilder, requestInformation);
1456 Assert.assertEquals(ServiceStatus.VnfsdnAction.PreloadVfModuleRequest, serviceStatusBuilder.getVnfsdnAction());
1459 @Test public void getServiceData() throws Exception {
1460 ServiceDataBuilder serviceDataBuilder = spy(new ServiceDataBuilder());
1462 Optional<VnfList> optional = mock(Optional.class);
1463 doReturn(optional).when(checkedFuture).get();
1464 doReturn(true).when(optional).isPresent();
1465 VnfList vnfList = mock(VnfList.class);
1466 doReturn(vnfList).when(optional).get();
1467 ServiceData serviceData = mock(ServiceData.class);
1468 doReturn(serviceData).when(vnfList).getServiceData();
1469 SdncRequestHeader sdncRequestHeader = mock(SdncRequestHeader.class);
1470 doReturn(sdncRequestHeader).when(serviceData).getSdncRequestHeader();
1472 Whitebox.invokeMethod(vnfapiProvider, "getServiceData", "siid", serviceDataBuilder,
1473 LogicalDatastoreType.CONFIGURATION);
1475 Assert.assertEquals(sdncRequestHeader, serviceDataBuilder.getSdncRequestHeader());
1478 @Test public void getVnfInstanceServiceData() throws Exception {
1479 VnfInstanceServiceDataBuilder vnfInstanceServiceDataBuilder = spy(new VnfInstanceServiceDataBuilder());
1481 Optional<VnfList> optional = mock(Optional.class);
1482 doReturn(optional).when(checkedFuture).get();
1483 doReturn(true).when(optional).isPresent();
1484 VnfInstanceList vnfInstanceList = mock(VnfInstanceList.class);
1485 doReturn(vnfInstanceList).when(optional).get();
1486 VnfInstanceServiceData vnfInstanceServiceData = mock(VnfInstanceServiceData.class);
1487 doReturn(vnfInstanceServiceData).when(vnfInstanceList).getVnfInstanceServiceData();
1488 SdncRequestHeader sdncRequestHeader = mock(SdncRequestHeader.class);
1489 doReturn(sdncRequestHeader).when(vnfInstanceServiceData).getSdncRequestHeader();
1491 Whitebox.invokeMethod(vnfapiProvider, "getVnfInstanceServiceData", "siid", vnfInstanceServiceDataBuilder,
1492 LogicalDatastoreType.CONFIGURATION);
1494 Assert.assertEquals(sdncRequestHeader, vnfInstanceServiceDataBuilder.getSdncRequestHeader());
1497 @Test public void DeleteVnfList() throws Exception {
1498 LogicalDatastoreType configuration = LogicalDatastoreType.CONFIGURATION;
1499 VnfList vnfList = mock(VnfList.class);
1500 VnfListKey vnfListKey = mock(VnfListKey.class);
1501 doReturn(vnfListKey).when(vnfList).getKey();
1502 InstanceIdentifier<VnfList> vnfListInstanceIdentifier = mock(InstanceIdentifier.class);
1503 dataBroker.newWriteOnlyTransaction().put(configuration, vnfListInstanceIdentifier, vnfList);
1505 Whitebox.invokeMethod(vnfapiProvider, "DeleteVnfList", vnfList, configuration);
1507 verify(dataBroker, times(2)).newWriteOnlyTransaction();