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.ExecutorService;
109 import java.util.concurrent.Future;
111 import static org.mockito.Matchers.any;
112 import static org.mockito.Matchers.eq;
113 import static org.mockito.Mockito.doReturn;
114 import static org.mockito.Mockito.mock;
115 import static org.mockito.Mockito.spy;
116 import static org.mockito.Mockito.times;
117 import static org.mockito.Mockito.verify;
119 public class VnfapiProviderTestBase {
120 @Rule public MockitoRule rule = MockitoJUnit.rule();
122 @Mock private DataBroker dataBroker;
123 @Mock private NotificationPublishService notificationPublishService;
124 @Mock private RpcProviderRegistry rpcProviderRegistry;
125 @Mock private VNFSDNSvcLogicServiceClient vnfsdnSvcLogicServiceClient;
126 @Mock private ReadWriteTransaction readWriteTransactionInCreateContainer;
127 @Mock private ReadWriteTransaction readWriteTransactionInDataChanged;
128 @Mock private CheckedFuture<Void, TransactionCommitFailedException> checkedFuture;
130 private VnfApiProvider vnfapiProvider;
131 private String vfModuleName;
132 private String vfModuleModelId;
133 private String vnfInstanceId;
134 private String vnfInstanceName;
135 private String vnfModelId;
136 private String svcRequestId;
137 private String serviceInstanceId;
138 private String vnfName;
139 private String vnfType;
140 private String vfModuleId;
142 @Before public void setUp() throws Exception {
143 doReturn(readWriteTransactionInCreateContainer).when(dataBroker).newReadWriteTransaction();
144 doReturn(checkedFuture).when(readWriteTransactionInCreateContainer).submit();
145 // mock readOnlyTransaction
146 ReadOnlyTransaction readOnlyTransaction = mock(ReadOnlyTransaction.class);
147 doReturn(readOnlyTransaction).when(dataBroker).newReadOnlyTransaction();
148 doReturn(checkedFuture).when(readOnlyTransaction).read(any(), any());
149 // mock writeTransaction
150 WriteTransaction writeTransaction = mock(WriteTransaction.class);
151 doReturn(writeTransaction).when(dataBroker).newWriteOnlyTransaction();
152 doReturn(checkedFuture).when(writeTransaction).submit();
154 vnfapiProvider = spy(new VnfApiProvider(dataBroker, notificationPublishService, rpcProviderRegistry,
155 vnfsdnSvcLogicServiceClient));
158 @After public void tearDown() throws Exception {
162 @Test public void close() throws Exception {
163 ExecutorService executor = Whitebox.getInternalState(vnfapiProvider, "executor");
164 BindingAwareBroker.RpcRegistration<VNFAPIService> vnfapiServiceRpcRegistration =
165 mock(BindingAwareBroker.RpcRegistration.class);
166 vnfapiProvider.rpcRegistration = vnfapiServiceRpcRegistration;
168 vnfapiProvider.close();
170 Assert.assertTrue(executor.isShutdown());
171 verify(vnfapiServiceRpcRegistration, times(1)).close();
174 @Test public void onDataChanged() throws Exception {
175 AsyncDataChangeEvent<InstanceIdentifier<?>, DataObject> asyncDataChangeEvent = mock(AsyncDataChangeEvent.class);
177 Vnfs vnfs = mock(Vnfs.class);
178 doReturn(vnfs).when(asyncDataChangeEvent).getUpdatedSubtree();
179 VnfList vnfList = mock(VnfList.class);
180 ServiceData serviceData = mock(ServiceData.class);
181 doReturn(serviceData).when(vnfList).getServiceData();
182 ServiceStatus serviceStatus = mock(ServiceStatus.class);
183 doReturn("N").when(serviceStatus).getFinalIndicator();
184 doReturn(ServiceStatus.RequestStatus.Synccomplete).when(serviceStatus).getRequestStatus();
185 doReturn(serviceStatus).when(vnfList).getServiceStatus();
186 ArrayList<VnfList> vnfListList = new ArrayList<>();
187 vnfListList.add(vnfList);
188 doReturn(vnfListList).when(vnfs).getVnfList();
189 doReturn(readWriteTransactionInDataChanged).when(dataBroker).newWriteOnlyTransaction();
190 doReturn(checkedFuture).when(readWriteTransactionInDataChanged).submit();
192 vnfapiProvider.onDataChanged(asyncDataChangeEvent);
194 verify(readWriteTransactionInDataChanged, times(1)).submit();
196 // instance of PreloadVnfs
197 PreloadVnfs preloadVnfs = mock(PreloadVnfs.class);
198 doReturn(preloadVnfs).when(asyncDataChangeEvent).getUpdatedSubtree();
199 ArrayList<VnfPreloadList> vnfPreloadLists = new ArrayList<>();
200 doReturn(vnfPreloadLists).when(preloadVnfs).getVnfPreloadList();
201 PreloadData preloadData = mock(PreloadData.class);
202 VnfPreloadList vnfPreloadList = mock(VnfPreloadList.class);
203 doReturn(preloadData).when(vnfPreloadList).getPreloadData();
204 vnfPreloadLists.add(vnfPreloadList);
206 vnfapiProvider.onDataChanged(asyncDataChangeEvent);
208 verify(readWriteTransactionInDataChanged, times(2)).submit();
210 // instance of PreloadVnfInstances
211 PreloadVnfInstances preloadVnfInstances = mock(PreloadVnfInstances.class);
212 doReturn(preloadVnfInstances).when(asyncDataChangeEvent).getUpdatedSubtree();
213 ArrayList<VnfInstancePreloadList> vnfInstancePreloadLists = new ArrayList<>();
214 doReturn(vnfInstancePreloadLists).when(preloadVnfInstances).getVnfInstancePreloadList();
215 VnfInstancePreloadList vnfInstancePreloadList = mock(VnfInstancePreloadList.class);
216 VnfInstancePreloadData vnfInstancePreloadData = mock(VnfInstancePreloadData.class);
217 doReturn(vnfInstancePreloadData).when(vnfInstancePreloadList).getVnfInstancePreloadData();
218 vnfInstancePreloadLists.add(vnfInstancePreloadList);
220 vnfapiProvider.onDataChanged(asyncDataChangeEvent);
222 verify(readWriteTransactionInDataChanged, times(3)).submit();
224 // instance of VnfInstances
225 VnfInstances vnfInstances = mock(VnfInstances.class);
226 doReturn(vnfInstances).when(asyncDataChangeEvent).getUpdatedSubtree();
227 ArrayList<VnfInstanceList> vnfInstanceLists = new ArrayList<>();
228 doReturn(vnfInstanceLists).when(vnfInstances).getVnfInstanceList();
229 VnfInstanceList vnfInstanceList = mock(VnfInstanceList.class);
230 vnfInstanceLists.add(vnfInstanceList);
231 VnfInstanceServiceData vnfInstanceServiceData = mock(VnfInstanceServiceData.class);
232 doReturn(vnfInstanceServiceData).when(vnfInstanceList).getVnfInstanceServiceData();
233 doReturn(serviceStatus).when(vnfInstanceList).getServiceStatus();
235 vnfapiProvider.onDataChanged(asyncDataChangeEvent);
237 verify(readWriteTransactionInDataChanged, times(4)).submit();
239 // instance of PreloadVfModules
240 PreloadVfModules preloadVfModules = mock(PreloadVfModules.class);
241 doReturn(preloadVfModules).when(asyncDataChangeEvent).getUpdatedSubtree();
242 ArrayList<VfModulePreloadList> vfModulePreloadLists = new ArrayList<>();
243 doReturn(vfModulePreloadLists).when(preloadVfModules).getVfModulePreloadList();
244 VfModulePreloadList vfModulePreloadList = mock(VfModulePreloadList.class);
245 vfModulePreloadLists.add(vfModulePreloadList);
246 VfModulePreloadData vfModulePreloadData = mock(VfModulePreloadData.class);
247 doReturn(vfModulePreloadData).when(vfModulePreloadList).getVfModulePreloadData();
249 vnfapiProvider.onDataChanged(asyncDataChangeEvent);
251 verify(readWriteTransactionInDataChanged, times(5)).submit();
253 // instance of VfModules
254 VfModules vfModules = mock(VfModules.class);
255 doReturn(preloadVfModules).when(asyncDataChangeEvent).getUpdatedSubtree();
256 ArrayList<VfModuleList> vfModuleLists = new ArrayList<>();
257 doReturn(vfModuleLists).when(vfModules).getVfModuleList();
258 VfModuleList vfModuleList = mock(VfModuleList.class);
259 vfModuleLists.add(vfModuleList);
260 VfModuleServiceData vfModuleServiceData = mock(VfModuleServiceData.class);
261 doReturn(vfModuleServiceData).when(vfModuleList).getVfModuleServiceData();
262 doReturn(serviceStatus).when(vfModuleList).getServiceStatus();
264 vnfapiProvider.onDataChanged(asyncDataChangeEvent);
266 verify(readWriteTransactionInDataChanged, times(6)).submit();
272 * <code>input.getVnfInstanceRequestInformation() == null</code>
276 @Test public void vnfInstanceTopologyOperationErrorOne() throws Exception {
277 VnfInstanceTopologyOperationInput vnfInstanceTopologyOperationInput =
278 mock(VnfInstanceTopologyOperationInput.class);
279 doReturn(null).when(vnfInstanceTopologyOperationInput).getVnfInstanceRequestInformation();
281 Future<RpcResult<VnfInstanceTopologyOperationOutput>> rpcResultFuture =
282 vnfapiProvider.vnfInstanceTopologyOperation(vnfInstanceTopologyOperationInput);
284 Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode());
285 Assert.assertEquals("invalid input, null or empty vnf-instance-id",
286 rpcResultFuture.get().getResult().getResponseMessage());
287 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
293 * <code>viid == null</code>
297 @Test public void vnfInstanceTopologyOperationErrorTwo() throws Exception {
299 vnfInstanceName = "vnf-instance-name";
300 vnfModelId = "vnf-model-id";
301 VnfInstanceTopologyOperationInput vnfInstanceTopologyOperationInput =
302 mock(VnfInstanceTopologyOperationInput.class);
303 VnfInstanceRequestInformation vnfInstanceRequestInformation = mock(VnfInstanceRequestInformation.class);
304 doReturn(vnfInstanceName).when(vnfInstanceRequestInformation).getVnfInstanceName();
305 doReturn(vnfModelId).when(vnfInstanceRequestInformation).getVnfModelId();
306 doReturn(vnfInstanceId).when(vnfInstanceRequestInformation).getVnfInstanceId();
307 doReturn(vnfInstanceRequestInformation).when(vnfInstanceTopologyOperationInput)
308 .getVnfInstanceRequestInformation();
310 Future<RpcResult<VnfInstanceTopologyOperationOutput>> rpcResultFuture =
311 vnfapiProvider.vnfInstanceTopologyOperation(vnfInstanceTopologyOperationInput);
313 Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode());
314 Assert.assertEquals("invalid input, null or empty vnf-instance-id",
315 rpcResultFuture.get().getResult().getResponseMessage());
316 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
322 * <code>svcLogicClient.hasGraph("VNF-API",SVC_OPERATION,null,"sync" = false</code>
326 @Test public void vnfInstanceTopologyOperationErrorThree() throws Exception {
327 vnfInstanceId = "vnf-instance-id";
328 vnfInstanceName = "vnf-instance-name";
329 vnfModelId = "vnf-model-id";
330 svcRequestId = "svc-request-id";
332 VnfInstanceTopologyOperationInput vnfInstanceTopologyOperationInput =
333 mock(VnfInstanceTopologyOperationInput.class);
334 VnfInstanceRequestInformation vnfInstanceRequestInformation = mock(VnfInstanceRequestInformation.class);
335 doReturn(vnfInstanceId).when(vnfInstanceRequestInformation).getVnfInstanceId();
336 doReturn(vnfInstanceName).when(vnfInstanceRequestInformation).getVnfInstanceName();
337 doReturn(vnfModelId).when(vnfInstanceRequestInformation).getVnfModelId();
338 doReturn(vnfInstanceRequestInformation).when(vnfInstanceTopologyOperationInput)
339 .getVnfInstanceRequestInformation();
341 SdncRequestHeader sdncRequestHeader = mock(SdncRequestHeader.class);
342 doReturn(sdncRequestHeader).when(vnfInstanceTopologyOperationInput).getSdncRequestHeader();
343 doReturn(svcRequestId).when(sdncRequestHeader).getSvcRequestId();
345 Future<RpcResult<VnfInstanceTopologyOperationOutput>> rpcResultFuture =
346 vnfapiProvider.vnfInstanceTopologyOperation(vnfInstanceTopologyOperationInput);
348 Assert.assertEquals("503", rpcResultFuture.get().getResult().getResponseCode());
350 rpcResultFuture.get().getResult().getResponseMessage().contains("No service logic active for VNF-API"));
351 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
359 @Test public void vnfInstanceTopologyOperationSuccess() throws Exception {
360 vnfInstanceId = "vnf-instance-id";
361 vnfInstanceName = "vnf-instance-name";
362 vnfModelId = "vnf-model-id";
363 svcRequestId = "svc-request-id";
365 VnfInstanceTopologyOperationInput vnfInstanceTopologyOperationInput =
366 mock(VnfInstanceTopologyOperationInput.class);
367 VnfInstanceRequestInformation vnfInstanceRequestInformation = mock(VnfInstanceRequestInformation.class);
368 doReturn(vnfInstanceId).when(vnfInstanceRequestInformation).getVnfInstanceId();
369 doReturn(vnfInstanceName).when(vnfInstanceRequestInformation).getVnfInstanceName();
370 doReturn(vnfModelId).when(vnfInstanceRequestInformation).getVnfModelId();
371 doReturn(vnfInstanceRequestInformation).when(vnfInstanceTopologyOperationInput)
372 .getVnfInstanceRequestInformation();
374 SdncRequestHeader sdncRequestHeader = mock(SdncRequestHeader.class);
375 doReturn(sdncRequestHeader).when(vnfInstanceTopologyOperationInput).getSdncRequestHeader();
376 doReturn(svcRequestId).when(sdncRequestHeader).getSvcRequestId();
377 doReturn(SdncRequestHeader.SvcAction.Activate).when(sdncRequestHeader).getSvcAction();
378 ReadOnlyTransaction readOnlyTransaction = mock(ReadOnlyTransaction.class);
379 doReturn(readOnlyTransaction).when(dataBroker).newReadOnlyTransaction();
380 doReturn(checkedFuture).when(readOnlyTransaction).read(any(), any());
381 WriteTransaction writeTransaction = mock(WriteTransaction.class);
382 doReturn(writeTransaction).when(dataBroker).newWriteOnlyTransaction();
383 doReturn(checkedFuture).when(writeTransaction).submit();
384 doReturn(true).when(vnfsdnSvcLogicServiceClient).hasGraph(any(), any(), any(), any());
386 Future<RpcResult<VnfInstanceTopologyOperationOutput>> rpcResultFuture =
387 vnfapiProvider.vnfInstanceTopologyOperation(vnfInstanceTopologyOperationInput);
389 Assert.assertEquals("200", rpcResultFuture.get().getResult().getResponseCode());
390 Assert.assertEquals(null, rpcResultFuture.get().getResult().getResponseMessage());
391 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
397 * <code>input.getVfModuleTopologyInformation() == null</code>
401 @Test public void vfModuleTopologyOperationErrorOne() throws Exception {
402 VfModuleTopologyOperationInput vfModuleTopologyOperationInput = mock(VfModuleTopologyOperationInput.class);
403 doReturn(null).when(vfModuleTopologyOperationInput).getVfModuleRequestInformation();
404 Future<RpcResult<VfModuleTopologyOperationOutput>> rpcResultFuture =
405 vnfapiProvider.vfModuleTopologyOperation(vfModuleTopologyOperationInput);
407 Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode());
408 Assert.assertEquals("invalid input, null or empty vf-module-id",
409 rpcResultFuture.get().getResult().getResponseMessage());
410 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
416 * <code>vfid = ""</code>
419 * <code>viid = ""</code>
423 @Test public void vfModuleTopologyOperationErrorTwo() throws Exception {
425 vfModuleName = "vfModuleName";
426 vfModuleModelId = "vfModuleModelId";
429 VfModuleTopologyOperationInput vfModuleTopologyOperationInput = mock(VfModuleTopologyOperationInput.class);
430 VfModuleRequestInformation vfModuleRequestInformation = mock(VfModuleRequestInformation.class);
431 doReturn(vfModuleRequestInformation).when(vfModuleTopologyOperationInput).getVfModuleRequestInformation();
432 VfModuleIdentifiers vfModuleIdentifiers = mock(VfModuleIdentifiers.class);
433 doReturn(vfModuleName).when(vfModuleIdentifiers).getVfModuleName();
434 doReturn(vfModuleModelId).when(vfModuleIdentifiers).getVfModuleModelId();
435 doReturn(vfModuleId).when(vfModuleRequestInformation).getVfModuleId();
437 Future<RpcResult<VfModuleTopologyOperationOutput>> rpcResultFuture =
438 vnfapiProvider.vfModuleTopologyOperation(vfModuleTopologyOperationInput);
440 Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode());
441 Assert.assertEquals("invalid input, null or empty vf-module-id",
442 rpcResultFuture.get().getResult().getResponseMessage());
443 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
446 vfModuleId = "vfModuleId";
447 doReturn(vfModuleId).when(vfModuleRequestInformation).getVfModuleId();
448 doReturn(vnfInstanceId).when(vfModuleRequestInformation).getVnfInstanceId();
449 rpcResultFuture = vnfapiProvider.vfModuleTopologyOperation(vfModuleTopologyOperationInput);
451 Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode());
452 Assert.assertEquals("invalid input, null or empty vnf-instance-id",
453 rpcResultFuture.get().getResult().getResponseMessage());
454 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
460 * <code>svcLogicClient.hasGraph("VNF-API", SVC_OPERATION, null, "sync") = false</code>
464 @Test public void vfModuleTopologyOperationErrorThree() throws Exception {
466 vfModuleName = "vfModuleName";
467 vfModuleModelId = "vfModuleModelId";
468 vfModuleId = "vfModuleId";
469 vnfInstanceId = "vnfInstanceId";
470 VfModuleTopologyOperationInput vfModuleTopologyOperationInput = mock(VfModuleTopologyOperationInput.class);
471 VfModuleRequestInformation vfModuleRequestInformation = mock(VfModuleRequestInformation.class);
472 doReturn(vfModuleRequestInformation).when(vfModuleTopologyOperationInput).getVfModuleRequestInformation();
473 VfModuleIdentifiers vfModuleIdentifiers = mock(VfModuleIdentifiers.class);
474 doReturn(vfModuleName).when(vfModuleIdentifiers).getVfModuleName();
475 doReturn(vfModuleModelId).when(vfModuleIdentifiers).getVfModuleModelId();
476 doReturn(vfModuleId).when(vfModuleRequestInformation).getVfModuleId();
477 doReturn(vnfInstanceId).when(vfModuleRequestInformation).getVnfInstanceId();
478 // mock sdncRequestHeader
479 SdncRequestHeader sdncRequestHeader = mock(SdncRequestHeader.class);
480 doReturn(sdncRequestHeader).when(vfModuleTopologyOperationInput).getSdncRequestHeader();
481 doReturn(svcRequestId).when(sdncRequestHeader).getSvcRequestId();
483 Future<RpcResult<VfModuleTopologyOperationOutput>> rpcResultFuture =
484 vnfapiProvider.vfModuleTopologyOperation(vfModuleTopologyOperationInput);
486 Assert.assertEquals("503", rpcResultFuture.get().getResult().getResponseCode());
488 rpcResultFuture.get().getResult().getResponseMessage().contains("No service logic active for VNF-API"));
489 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
497 @Test public void vfModuleTopologyOperationSuccess() throws Exception {
498 vfModuleName = "vfModuleName";
499 vfModuleModelId = "vfModuleModelId";
500 vfModuleId = "vfModuleId";
501 vnfInstanceId = "vnfInstanceId";
502 VfModuleTopologyOperationInput vfModuleTopologyOperationInput = mock(VfModuleTopologyOperationInput.class);
503 VfModuleRequestInformation vfModuleRequestInformation = mock(VfModuleRequestInformation.class);
504 doReturn(vfModuleRequestInformation).when(vfModuleTopologyOperationInput).getVfModuleRequestInformation();
505 VfModuleIdentifiers vfModuleIdentifiers = mock(VfModuleIdentifiers.class);
506 doReturn(vfModuleName).when(vfModuleIdentifiers).getVfModuleName();
507 doReturn(vfModuleModelId).when(vfModuleIdentifiers).getVfModuleModelId();
508 doReturn(vfModuleId).when(vfModuleRequestInformation).getVfModuleId();
509 doReturn(vnfInstanceId).when(vfModuleRequestInformation).getVnfInstanceId();
510 // mock sdncRequestHeader
511 SdncRequestHeader sdncRequestHeader = mock(SdncRequestHeader.class);
512 doReturn(sdncRequestHeader).when(vfModuleTopologyOperationInput).getSdncRequestHeader();
513 doReturn(svcRequestId).when(sdncRequestHeader).getSvcRequestId();
514 doReturn(true).when(vnfsdnSvcLogicServiceClient).hasGraph(any(), any(), any(), any());
516 Future<RpcResult<VfModuleTopologyOperationOutput>> rpcResultFuture =
517 vnfapiProvider.vfModuleTopologyOperation(vfModuleTopologyOperationInput);
519 Assert.assertEquals("200", rpcResultFuture.get().getResult().getResponseCode());
520 Assert.assertEquals(null, rpcResultFuture.get().getResult().getResponseMessage());
521 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
527 * <code>input.getServiceInformation() == null</code>
531 @Test public void vnfTopologyOperationErrorOne() throws Exception {
532 VnfTopologyOperationInput vnfTopologyOperationInput = mock(VnfTopologyOperationInput.class);
533 doReturn(null).when(vnfTopologyOperationInput).getServiceInformation();
535 Future<RpcResult<VnfTopologyOperationOutput>> rpcResultFuture =
536 vnfapiProvider.vnfTopologyOperation(vnfTopologyOperationInput);
538 Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode());
539 Assert.assertEquals("invalid input, null or empty service-instance-id",
540 rpcResultFuture.get().getResult().getResponseMessage());
541 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
547 * <code>input.getVnfRequestInformation() == null</code>
551 @Test public void vnfTopologyOperationErrorTwo() throws Exception {
552 serviceInstanceId = "serviceInstanceId";
553 VnfTopologyOperationInput vnfTopologyOperationInput = mock(VnfTopologyOperationInput.class);
554 ServiceInformation serviceInformation = mock(ServiceInformation.class);
555 doReturn(serviceInformation).when(vnfTopologyOperationInput).getServiceInformation();
556 doReturn(serviceInstanceId).when(serviceInformation).getServiceInstanceId();
558 Future<RpcResult<VnfTopologyOperationOutput>> rpcResultFuture =
559 vnfapiProvider.vnfTopologyOperation(vnfTopologyOperationInput);
561 Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode());
562 Assert.assertEquals("invalid input, null or empty vf-module-id",
563 rpcResultFuture.get().getResult().getResponseMessage());
564 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
570 * <code>svcLogicClient.hasGraph("VNF-API", SVC_OPERATION, null, "sync") == false</code>
574 @Test public void vnfTopologyOperationErrorThree() throws Exception {
575 serviceInstanceId = "serviceInstanceId";
576 String vnfId = "vnfId";
577 VnfTopologyOperationInput vnfTopologyOperationInput = mock(VnfTopologyOperationInput.class);
578 ServiceInformation serviceInformation = mock(ServiceInformation.class);
579 doReturn(serviceInformation).when(vnfTopologyOperationInput).getServiceInformation();
580 doReturn(serviceInstanceId).when(serviceInformation).getServiceInstanceId();
582 VnfRequestInformation vnfRequestInformation = mock(VnfRequestInformation.class);
583 doReturn(vnfRequestInformation).when(vnfTopologyOperationInput).getVnfRequestInformation();
584 doReturn(vnfId).when(vnfRequestInformation).getVnfId();
586 Future<RpcResult<VnfTopologyOperationOutput>> rpcResultFuture =
587 vnfapiProvider.vnfTopologyOperation(vnfTopologyOperationInput);
589 Assert.assertEquals("503", rpcResultFuture.get().getResult().getResponseCode());
591 rpcResultFuture.get().getResult().getResponseMessage().contains("No service logic active for VNF-API"));
592 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
600 @Test public void vnfTopologyOperationSuccess() throws Exception {
601 serviceInstanceId = "serviceInstanceId";
602 String vnfId = "vnfId";
603 VnfTopologyOperationInput vnfTopologyOperationInput = mock(VnfTopologyOperationInput.class);
604 ServiceInformation serviceInformation = mock(ServiceInformation.class);
605 doReturn(serviceInformation).when(vnfTopologyOperationInput).getServiceInformation();
606 doReturn(serviceInstanceId).when(serviceInformation).getServiceInstanceId();
608 VnfRequestInformation vnfRequestInformation = mock(VnfRequestInformation.class);
609 doReturn(vnfRequestInformation).when(vnfTopologyOperationInput).getVnfRequestInformation();
610 doReturn(vnfId).when(vnfRequestInformation).getVnfId();
611 doReturn(true).when(vnfsdnSvcLogicServiceClient).hasGraph(any(), any(), any(), any());
613 Future<RpcResult<VnfTopologyOperationOutput>> rpcResultFuture =
614 vnfapiProvider.vnfTopologyOperation(vnfTopologyOperationInput);
616 Assert.assertEquals("200", rpcResultFuture.get().getResult().getResponseCode());
617 Assert.assertEquals(null, rpcResultFuture.get().getResult().getResponseMessage());
618 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
624 * <code>input.getServiceInformation() == null</code>
628 @Test public void networkTopologyOperationErrorOne() throws Exception {
629 VnfTopologyOperationInput vnfTopologyOperationInput = mock(VnfTopologyOperationInput.class);
630 doReturn(null).when(vnfTopologyOperationInput).getServiceInformation();
632 Future<RpcResult<VnfTopologyOperationOutput>> rpcResultFuture =
633 vnfapiProvider.vnfTopologyOperation(vnfTopologyOperationInput);
635 Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode());
636 Assert.assertEquals("invalid input, null or empty service-instance-id",
637 rpcResultFuture.get().getResult().getResponseMessage());
638 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
644 * <code>input.getNetworkRequestInformation() == null</code>
648 @Test public void networkTopologyOperationErrorTwo() throws Exception {
649 serviceInstanceId = "serviceInstanceId";
650 NetworkTopologyOperationInput networkTopologyOperation = mock(NetworkTopologyOperationInput.class);
651 ServiceInformation serviceInformation = mock(ServiceInformation.class);
652 doReturn(serviceInstanceId).when(serviceInformation).getServiceInstanceId();
653 doReturn(serviceInformation).when(networkTopologyOperation).getServiceInformation();
655 Future<RpcResult<NetworkTopologyOperationOutput>> rpcResultFuture =
656 vnfapiProvider.networkTopologyOperation(networkTopologyOperation);
658 Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode());
659 Assert.assertEquals("invalid input, null or empty service-instance-id",
660 rpcResultFuture.get().getResult().getResponseMessage());
661 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
667 * <code>svcLogicClient.hasGraph("VNF-API", SVC_OPERATION, null, "sync") == false</code>
671 @Test public void networkTopologyOperationErrorThree() throws Exception {
672 serviceInstanceId = "serviceInstanceId";
673 NetworkTopologyOperationInput networkTopologyOperationInput = mock(NetworkTopologyOperationInput.class);
674 ServiceInformation serviceInformation = mock(ServiceInformation.class);
675 doReturn(serviceInstanceId).when(serviceInformation).getServiceInstanceId();
676 doReturn(serviceInformation).when(networkTopologyOperationInput).getServiceInformation();
678 NetworkRequestInformation networkRequestInformation = mock(NetworkRequestInformation.class);
679 doReturn(networkRequestInformation).when(networkTopologyOperationInput).getNetworkRequestInformation();
680 doReturn("NetworkName").when(networkRequestInformation).getNetworkName();
682 SdncRequestHeader sdncRequestHeader = mock(SdncRequestHeader.class);
683 doReturn(SdncRequestHeader.SvcAction.Assign).when(sdncRequestHeader).getSvcAction();
684 doReturn(sdncRequestHeader).when(networkTopologyOperationInput).getSdncRequestHeader();
686 Future<RpcResult<NetworkTopologyOperationOutput>> rpcResultFuture =
687 vnfapiProvider.networkTopologyOperation(networkTopologyOperationInput);
689 Assert.assertEquals("503", rpcResultFuture.get().getResult().getResponseCode());
691 rpcResultFuture.get().getResult().getResponseMessage().contains("No service logic active for VNF-API"));
692 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
700 @Test public void networkTopologyOperationSuccess() throws Exception {
701 serviceInstanceId = "serviceInstanceId";
702 NetworkTopologyOperationInput networkTopologyOperationInput = mock(NetworkTopologyOperationInput.class);
703 ServiceInformation serviceInformation = mock(ServiceInformation.class);
704 doReturn(serviceInstanceId).when(serviceInformation).getServiceInstanceId();
705 doReturn(serviceInformation).when(networkTopologyOperationInput).getServiceInformation();
706 //mock networkRequestInformation
707 NetworkRequestInformation networkRequestInformation = mock(NetworkRequestInformation.class);
708 doReturn(networkRequestInformation).when(networkTopologyOperationInput).getNetworkRequestInformation();
709 doReturn("NetworkName").when(networkRequestInformation).getNetworkName();
710 //mock sdncRequestHeader
711 SdncRequestHeader sdncRequestHeader = mock(SdncRequestHeader.class);
712 doReturn(SdncRequestHeader.SvcAction.Assign).when(sdncRequestHeader).getSvcAction();
713 doReturn(sdncRequestHeader).when(networkTopologyOperationInput).getSdncRequestHeader();
714 doReturn(true).when(vnfsdnSvcLogicServiceClient).hasGraph(any(), any(), any(), any());
716 Future<RpcResult<NetworkTopologyOperationOutput>> rpcResultFuture =
717 vnfapiProvider.networkTopologyOperation(networkTopologyOperationInput);
719 Assert.assertEquals("200", rpcResultFuture.get().getResult().getResponseCode());
720 Assert.assertEquals(null, rpcResultFuture.get().getResult().getResponseMessage());
721 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
727 * <code>input.getVnfTopologyInformation() == null</code>
731 @Test public void preloadVnfTopologyOperationErrorOne() throws Exception {
732 PreloadVnfTopologyOperationInput preloadVnfTopologyOperationInput =
733 mock(PreloadVnfTopologyOperationInput.class);
734 doReturn(null).when(preloadVnfTopologyOperationInput).getVnfTopologyInformation();
736 Future<RpcResult<PreloadVnfTopologyOperationOutput>> rpcResultFuture =
737 vnfapiProvider.preloadVnfTopologyOperation(preloadVnfTopologyOperationInput);
739 Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode());
740 Assert.assertEquals("invalid input, null or empty vnf-name or vnf-type",
741 rpcResultFuture.get().getResult().getResponseMessage());
742 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
748 * <code>preload_name.length() == 0</code>
750 * <code>preload_type.length() == 0</code>
754 @Test public void preloadVnfTopologyOperationErrorTwo() throws Exception {
755 // preload_name.length() == 0
757 vnfType = "vfModuleModelId";
758 PreloadVnfTopologyOperationInput preloadVnfTopologyOperationInput =
759 mock(PreloadVnfTopologyOperationInput.class);
760 doReturn(null).when(preloadVnfTopologyOperationInput).getVnfTopologyInformation();
762 VnfTopologyInformation vnfTopologyInformation = mock(VnfTopologyInformation.class);
763 doReturn(vnfTopologyInformation).when(preloadVnfTopologyOperationInput).getVnfTopologyInformation();
764 VnfTopologyIdentifier vnfTopologyIdentifier = mock(VnfTopologyIdentifier.class);
765 doReturn(vnfName).when(vnfTopologyIdentifier).getVnfName();
766 doReturn(vnfType).when(vnfTopologyIdentifier).getVnfType();
767 doReturn(vnfTopologyIdentifier).when(vnfTopologyInformation).getVnfTopologyIdentifier();
769 Future<RpcResult<PreloadVnfTopologyOperationOutput>> rpcResultFuture =
770 vnfapiProvider.preloadVnfTopologyOperation(preloadVnfTopologyOperationInput);
772 Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode());
773 Assert.assertEquals("invalid input, invalid preload-name",
774 rpcResultFuture.get().getResult().getResponseMessage());
775 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
777 // preload_type.length() == 0
780 doReturn(vnfName).when(vnfTopologyIdentifier).getVnfName();
781 doReturn(vnfType).when(vnfTopologyIdentifier).getVnfType();
783 rpcResultFuture = vnfapiProvider.preloadVnfTopologyOperation(preloadVnfTopologyOperationInput);
785 Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode());
786 Assert.assertEquals("invalid input, invalid preload-type",
787 rpcResultFuture.get().getResult().getResponseMessage());
788 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
793 * <code>svcLogicClient.hasGraph("VNF-API", SVC_OPERATION, null, "sync") = false</code>
797 @Test public void preloadVnfTopologyOperationErrorThree() throws Exception {
798 // preload_name.length() == 0
800 vnfType = "vfModuleModelId";
801 PreloadVnfTopologyOperationInput preloadVnfTopologyOperationInput =
802 mock(PreloadVnfTopologyOperationInput.class);
803 doReturn(null).when(preloadVnfTopologyOperationInput).getVnfTopologyInformation();
805 VnfTopologyInformation vnfTopologyInformation = mock(VnfTopologyInformation.class);
806 doReturn(vnfTopologyInformation).when(preloadVnfTopologyOperationInput).getVnfTopologyInformation();
807 VnfTopologyIdentifier vnfTopologyIdentifier = mock(VnfTopologyIdentifier.class);
808 doReturn(vnfName).when(vnfTopologyIdentifier).getVnfName();
809 doReturn(vnfType).when(vnfTopologyIdentifier).getVnfType();
810 doReturn(vnfTopologyIdentifier).when(vnfTopologyInformation).getVnfTopologyIdentifier();
812 Future<RpcResult<PreloadVnfTopologyOperationOutput>> rpcResultFuture =
813 vnfapiProvider.preloadVnfTopologyOperation(preloadVnfTopologyOperationInput);
815 Assert.assertEquals("503", rpcResultFuture.get().getResult().getResponseCode());
817 rpcResultFuture.get().getResult().getResponseMessage().contains("No service logic active for VNF-API"));
818 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
826 @Test public void preloadVnfTopologyOperationSuccess() throws Exception {
827 // preload_name.length() == 0
829 vnfType = "vfModuleModelId";
830 PreloadVnfTopologyOperationInput preloadVnfTopologyOperationInput =
831 mock(PreloadVnfTopologyOperationInput.class);
832 doReturn(null).when(preloadVnfTopologyOperationInput).getVnfTopologyInformation();
834 VnfTopologyInformation vnfTopologyInformation = mock(VnfTopologyInformation.class);
835 doReturn(vnfTopologyInformation).when(preloadVnfTopologyOperationInput).getVnfTopologyInformation();
836 VnfTopologyIdentifier vnfTopologyIdentifier = mock(VnfTopologyIdentifier.class);
837 doReturn(vnfName).when(vnfTopologyIdentifier).getVnfName();
838 doReturn(vnfType).when(vnfTopologyIdentifier).getVnfType();
839 doReturn(vnfTopologyIdentifier).when(vnfTopologyInformation).getVnfTopologyIdentifier();
840 doReturn(true).when(vnfsdnSvcLogicServiceClient).hasGraph(any(), any(), any(), any());
842 Future<RpcResult<PreloadVnfTopologyOperationOutput>> rpcResultFuture =
843 vnfapiProvider.preloadVnfTopologyOperation(preloadVnfTopologyOperationInput);
845 Assert.assertEquals("200", rpcResultFuture.get().getResult().getResponseCode());
846 Assert.assertEquals(null, rpcResultFuture.get().getResult().getResponseMessage());
847 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
853 * <code>input.getVnfInstanceTopologyInformation() == null</code>
857 @Test public void preloadVnfInstanceTopologyOperationErrorOne() throws Exception {
858 PreloadVnfInstanceTopologyOperationInput preloadVnfInstanceTopologyOperationInput =
859 mock(PreloadVnfInstanceTopologyOperationInput.class);
860 doReturn(null).when(preloadVnfInstanceTopologyOperationInput).getVnfInstanceTopologyInformation();
861 Future<RpcResult<PreloadVnfInstanceTopologyOperationOutput>> rpcResultFuture =
862 vnfapiProvider.preloadVnfInstanceTopologyOperation(preloadVnfInstanceTopologyOperationInput);
864 Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode());
865 Assert.assertEquals("invalid input, null or empty vnf-instance-name or vnf-model-id",
866 rpcResultFuture.get().getResult().getResponseMessage());
867 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
873 * <code>preload_name = ""</code>
875 * <code>preload_type = ""</code>
879 @Test public void preloadVnfInstanceTopologyOperationErrorTwo() throws Exception {
881 vnfInstanceName = "vnfInstanceName";
883 PreloadVnfInstanceTopologyOperationInput preloadVnfInstanceTopologyOperationInput =
884 mock(PreloadVnfInstanceTopologyOperationInput.class);
885 VnfInstanceTopologyInformation vnfInstanceTopologyInformation = mock(VnfInstanceTopologyInformation.class);
886 doReturn(vnfInstanceTopologyInformation).when(preloadVnfInstanceTopologyOperationInput)
887 .getVnfInstanceTopologyInformation();
888 VnfInstanceIdentifiers vnfInstanceIdentifiers = mock(VnfInstanceIdentifiers.class);
889 doReturn(vnfInstanceName).when(vnfInstanceIdentifiers).getVnfInstanceName();
890 doReturn(vnfModelId).when(vnfInstanceIdentifiers).getVnfModelId();
891 doReturn(vnfInstanceIdentifiers).when(vnfInstanceTopologyInformation).getVnfInstanceIdentifiers();
893 Future<RpcResult<PreloadVnfInstanceTopologyOperationOutput>> rpcResultFuture =
894 vnfapiProvider.preloadVnfInstanceTopologyOperation(preloadVnfInstanceTopologyOperationInput);
896 Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode());
897 Assert.assertEquals("invalid input, invalid preload-type",
898 rpcResultFuture.get().getResult().getResponseMessage());
899 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
902 vnfInstanceName = "";
903 vnfModelId = "vnfModelId";
904 doReturn(vnfInstanceName).when(vnfInstanceIdentifiers).getVnfInstanceName();
905 doReturn(vnfModelId).when(vnfInstanceIdentifiers).getVnfModelId();
907 rpcResultFuture = vnfapiProvider.preloadVnfInstanceTopologyOperation(preloadVnfInstanceTopologyOperationInput);
909 Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode());
910 Assert.assertEquals("invalid input, invalid preload-name",
911 rpcResultFuture.get().getResult().getResponseMessage());
912 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
918 * <code>svcLogicClient.hasGraph("VNF-API", SVC_OPERATION, null, "sync") = false</code>
922 @Test public void preloadVnfInstanceTopologyOperationErrorThree() throws Exception {
924 vnfInstanceName = "vnfInstanceName";
925 vnfModelId = "vnfModelId";
926 PreloadVnfInstanceTopologyOperationInput preloadVnfInstanceTopologyOperationInput =
927 mock(PreloadVnfInstanceTopologyOperationInput.class);
928 VnfInstanceTopologyInformation vnfInstanceTopologyInformation = mock(VnfInstanceTopologyInformation.class);
929 doReturn(vnfInstanceTopologyInformation).when(preloadVnfInstanceTopologyOperationInput)
930 .getVnfInstanceTopologyInformation();
931 VnfInstanceIdentifiers vnfInstanceIdentifiers = mock(VnfInstanceIdentifiers.class);
932 doReturn(vnfInstanceName).when(vnfInstanceIdentifiers).getVnfInstanceName();
933 doReturn(vnfModelId).when(vnfInstanceIdentifiers).getVnfModelId();
934 doReturn(vnfInstanceIdentifiers).when(vnfInstanceTopologyInformation).getVnfInstanceIdentifiers();
935 SdncRequestHeader sdncRequestHeader = mock(SdncRequestHeader.class);
936 doReturn(sdncRequestHeader).when(preloadVnfInstanceTopologyOperationInput).getSdncRequestHeader();
937 doReturn(svcRequestId).when(sdncRequestHeader).getSvcRequestId();
939 Future<RpcResult<PreloadVnfInstanceTopologyOperationOutput>> rpcResultFuture =
940 vnfapiProvider.preloadVnfInstanceTopologyOperation(preloadVnfInstanceTopologyOperationInput);
942 Assert.assertEquals("503", rpcResultFuture.get().getResult().getResponseCode());
944 rpcResultFuture.get().getResult().getResponseMessage().contains("No service logic active for VNF-API"));
945 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
953 @Test public void preloadVnfInstanceTopologyOperationSuccess() throws Exception {
955 vnfInstanceName = "vnfInstanceName";
956 vnfModelId = "vnfModelId";
957 PreloadVnfInstanceTopologyOperationInput preloadVnfInstanceTopologyOperationInput =
958 mock(PreloadVnfInstanceTopologyOperationInput.class);
959 VnfInstanceTopologyInformation vnfInstanceTopologyInformation = mock(VnfInstanceTopologyInformation.class);
960 doReturn(vnfInstanceTopologyInformation).when(preloadVnfInstanceTopologyOperationInput)
961 .getVnfInstanceTopologyInformation();
962 VnfInstanceIdentifiers vnfInstanceIdentifiers = mock(VnfInstanceIdentifiers.class);
963 doReturn(vnfInstanceName).when(vnfInstanceIdentifiers).getVnfInstanceName();
964 doReturn(vnfModelId).when(vnfInstanceIdentifiers).getVnfModelId();
965 doReturn(vnfInstanceIdentifiers).when(vnfInstanceTopologyInformation).getVnfInstanceIdentifiers();
966 SdncRequestHeader sdncRequestHeader = mock(SdncRequestHeader.class);
967 doReturn(sdncRequestHeader).when(preloadVnfInstanceTopologyOperationInput).getSdncRequestHeader();
968 doReturn(svcRequestId).when(sdncRequestHeader).getSvcRequestId();
969 doReturn(true).when(vnfsdnSvcLogicServiceClient).hasGraph(any(), any(), any(), any());
971 Future<RpcResult<PreloadVnfInstanceTopologyOperationOutput>> rpcResultFuture =
972 vnfapiProvider.preloadVnfInstanceTopologyOperation(preloadVnfInstanceTopologyOperationInput);
974 Assert.assertEquals("200", rpcResultFuture.get().getResult().getResponseCode());
975 Assert.assertEquals(null, rpcResultFuture.get().getResult().getResponseMessage());
976 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
982 * <code>input.getVfModuleTopologyInformation() == null</code>
986 @Test public void preloadVfModuleTopologyOperationErrorOne() throws Exception {
987 PreloadVfModuleTopologyOperationInput preloadVnfTopologyOperationInput =
988 mock(PreloadVfModuleTopologyOperationInput.class);
989 doReturn(null).when(preloadVnfTopologyOperationInput).getVfModuleTopologyInformation();
991 Future<RpcResult<PreloadVfModuleTopologyOperationOutput>> rpcResultFuture =
992 vnfapiProvider.preloadVfModuleTopologyOperation(preloadVnfTopologyOperationInput);
994 Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode());
995 Assert.assertEquals("invalid input, null or empty vf-module-name or vf-module-model-id",
996 rpcResultFuture.get().getResult().getResponseMessage());
997 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
1003 * <code>preload_name = ""</code>
1005 * <code>preload_type = ""</code>
1009 @Test public void preloadVfModuleTopologyOperationErrorTwo() throws Exception {
1010 // preload_name = ""
1012 vfModuleModelId = "vfModuleModelId";
1013 PreloadVfModuleTopologyOperationInput preloadVnfTopologyOperationInput =
1014 mock(PreloadVfModuleTopologyOperationInput.class);
1015 VfModuleTopologyInformation vfModuleTopologyInformation = mock(VfModuleTopologyInformation.class);
1016 doReturn(vfModuleTopologyInformation).when(preloadVnfTopologyOperationInput).getVfModuleTopologyInformation();
1017 VfModuleIdentifiers vfModuleIdentifiers = mock(VfModuleIdentifiers.class);
1018 doReturn(vfModuleName).when(vfModuleIdentifiers).getVfModuleName();
1019 doReturn(vfModuleModelId).when(vfModuleIdentifiers).getVfModuleModelId();
1020 doReturn(vfModuleIdentifiers).when(vfModuleTopologyInformation).getVfModuleIdentifiers();
1022 Future<RpcResult<PreloadVfModuleTopologyOperationOutput>> rpcResultFuture =
1023 vnfapiProvider.preloadVfModuleTopologyOperation(preloadVnfTopologyOperationInput);
1025 Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode());
1026 Assert.assertEquals("invalid input, invalid preload-name",
1027 rpcResultFuture.get().getResult().getResponseMessage());
1028 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
1030 // preload_type = ""
1031 vfModuleName = "vfModuleName";
1032 vfModuleModelId = "";
1033 doReturn(vfModuleName).when(vfModuleIdentifiers).getVfModuleName();
1034 doReturn(vfModuleModelId).when(vfModuleIdentifiers).getVfModuleModelId();
1036 rpcResultFuture = vnfapiProvider.preloadVfModuleTopologyOperation(preloadVnfTopologyOperationInput);
1038 Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode());
1039 Assert.assertEquals("invalid input, invalid preload-type",
1040 rpcResultFuture.get().getResult().getResponseMessage());
1041 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
1047 * <code>svcLogicClient.hasGraph("VNF-API", SVC_OPERATION, null, "sync") = false</code>
1051 @Test public void preloadVfModuleTopologyOperationErrorThree() throws Exception {
1052 // preload_name = ""
1053 vfModuleName = "vfModuleName";
1054 vfModuleModelId = "vfModuleModelId";
1055 PreloadVfModuleTopologyOperationInput preloadVnfTopologyOperationInput =
1056 mock(PreloadVfModuleTopologyOperationInput.class);
1057 VfModuleTopologyInformation vfModuleTopologyInformation = mock(VfModuleTopologyInformation.class);
1058 doReturn(vfModuleTopologyInformation).when(preloadVnfTopologyOperationInput).getVfModuleTopologyInformation();
1059 VfModuleIdentifiers vfModuleIdentifiers = mock(VfModuleIdentifiers.class);
1060 doReturn(vfModuleName).when(vfModuleIdentifiers).getVfModuleName();
1061 doReturn(vfModuleModelId).when(vfModuleIdentifiers).getVfModuleModelId();
1062 doReturn(vfModuleIdentifiers).when(vfModuleTopologyInformation).getVfModuleIdentifiers();
1063 SdncRequestHeader sdncRequestHeader = mock(SdncRequestHeader.class);
1064 doReturn(sdncRequestHeader).when(preloadVnfTopologyOperationInput).getSdncRequestHeader();
1065 doReturn(svcRequestId).when(sdncRequestHeader).getSvcRequestId();
1067 Future<RpcResult<PreloadVfModuleTopologyOperationOutput>> rpcResultFuture =
1068 vnfapiProvider.preloadVfModuleTopologyOperation(preloadVnfTopologyOperationInput);
1070 Assert.assertEquals("503", rpcResultFuture.get().getResult().getResponseCode());
1072 rpcResultFuture.get().getResult().getResponseMessage().contains("No service logic active for VNF-API"));
1073 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
1081 @Test public void preloadVfModuleTopologyOperationSuccess() throws Exception {
1082 // preload_name = ""
1083 vfModuleName = "vfModuleName";
1084 vfModuleModelId = "vfModuleModelId";
1085 PreloadVfModuleTopologyOperationInput preloadVnfTopologyOperationInput =
1086 mock(PreloadVfModuleTopologyOperationInput.class);
1087 VfModuleTopologyInformation vfModuleTopologyInformation = mock(VfModuleTopologyInformation.class);
1088 doReturn(vfModuleTopologyInformation).when(preloadVnfTopologyOperationInput).getVfModuleTopologyInformation();
1089 VfModuleIdentifiers vfModuleIdentifiers = mock(VfModuleIdentifiers.class);
1090 doReturn(vfModuleName).when(vfModuleIdentifiers).getVfModuleName();
1091 doReturn(vfModuleModelId).when(vfModuleIdentifiers).getVfModuleModelId();
1092 doReturn(vfModuleIdentifiers).when(vfModuleTopologyInformation).getVfModuleIdentifiers();
1093 SdncRequestHeader sdncRequestHeader = mock(SdncRequestHeader.class);
1094 doReturn(sdncRequestHeader).when(preloadVnfTopologyOperationInput).getSdncRequestHeader();
1095 doReturn(svcRequestId).when(sdncRequestHeader).getSvcRequestId();
1096 doReturn(true).when(vnfsdnSvcLogicServiceClient).hasGraph(any(), any(), any(), any());
1098 Future<RpcResult<PreloadVfModuleTopologyOperationOutput>> rpcResultFuture =
1099 vnfapiProvider.preloadVfModuleTopologyOperation(preloadVnfTopologyOperationInput);
1101 Assert.assertEquals("200", rpcResultFuture.get().getResult().getResponseCode());
1102 Assert.assertEquals(null, rpcResultFuture.get().getResult().getResponseMessage());
1103 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
1109 * <code>input.getNetworkTopologyInformation() == null</code>
1113 @Test public void preloadNetworkTopologyOperationErrorOne() throws Exception {
1114 PreloadNetworkTopologyOperationInput PreloadNetworkTopologyOperationInput =
1115 mock(PreloadNetworkTopologyOperationInput.class);
1116 doReturn(null).when(PreloadNetworkTopologyOperationInput).getNetworkTopologyInformation();
1118 Future<RpcResult<PreloadNetworkTopologyOperationOutput>> rpcResultFuture =
1119 vnfapiProvider.preloadNetworkTopologyOperation(PreloadNetworkTopologyOperationInput);
1121 Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode());
1122 Assert.assertEquals("input, null or empty network-name or network-type",
1123 rpcResultFuture.get().getResult().getResponseMessage());
1124 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
1130 * <code>preload_name == ""</code>
1132 * <code>preload_type == ""ss</code>
1136 @Test public void preloadNetworkTopologyOperationErrorTwo() throws Exception {
1137 String networkName = "";
1138 String networkType = "NetworkType";
1139 PreloadNetworkTopologyOperationInput PreloadNetworkTopologyOperationInput =
1140 mock(PreloadNetworkTopologyOperationInput.class);
1141 NetworkTopologyInformation networkTopologyInformation = mock(NetworkTopologyInformation.class);
1142 doReturn(networkTopologyInformation).when(PreloadNetworkTopologyOperationInput).getNetworkTopologyInformation();
1143 NetworkTopologyIdentifier networkTopologyIdentifier = mock(NetworkTopologyIdentifier.class);
1144 doReturn(networkTopologyIdentifier).when(networkTopologyInformation).getNetworkTopologyIdentifier();
1145 doReturn(networkName).when(networkTopologyIdentifier).getNetworkName();
1146 doReturn(networkType).when(networkTopologyIdentifier).getNetworkType();
1148 Future<RpcResult<PreloadNetworkTopologyOperationOutput>> rpcResultFuture =
1149 vnfapiProvider.preloadNetworkTopologyOperation(PreloadNetworkTopologyOperationInput);
1151 Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode());
1152 Assert.assertEquals("input, invalid preload-name", rpcResultFuture.get().getResult().getResponseMessage());
1153 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
1155 networkName = "NetworkName";
1157 doReturn(networkName).when(networkTopologyIdentifier).getNetworkName();
1158 doReturn(networkType).when(networkTopologyIdentifier).getNetworkType();
1160 rpcResultFuture = vnfapiProvider.preloadNetworkTopologyOperation(PreloadNetworkTopologyOperationInput);
1162 Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode());
1163 Assert.assertEquals("input, invalid preload-type", rpcResultFuture.get().getResult().getResponseMessage());
1164 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
1170 * <code>svcLogicClient.hasGraph("VNF-API",SVC_OPERATION,null,"sync" = false</code>
1174 @Test public void preloadNetworkTopologyOperationErrorThree() throws Exception {
1175 String networkName = "NetworkName";
1176 String networkType = "NetworkType";
1177 PreloadNetworkTopologyOperationInput PreloadNetworkTopologyOperationInput =
1178 mock(PreloadNetworkTopologyOperationInput.class);
1179 NetworkTopologyInformation networkTopologyInformation = mock(NetworkTopologyInformation.class);
1180 doReturn(networkTopologyInformation).when(PreloadNetworkTopologyOperationInput).getNetworkTopologyInformation();
1181 NetworkTopologyIdentifier networkTopologyIdentifier = mock(NetworkTopologyIdentifier.class);
1182 doReturn(networkTopologyIdentifier).when(networkTopologyInformation).getNetworkTopologyIdentifier();
1183 doReturn(networkName).when(networkTopologyIdentifier).getNetworkName();
1184 doReturn(networkType).when(networkTopologyIdentifier).getNetworkType();
1185 SdncRequestHeader sdncRequestHeader = mock(SdncRequestHeader.class);
1186 doReturn(sdncRequestHeader).when(PreloadNetworkTopologyOperationInput).getSdncRequestHeader();
1187 doReturn(svcRequestId).when(sdncRequestHeader).getSvcRequestId();
1189 Future<RpcResult<PreloadNetworkTopologyOperationOutput>> rpcResultFuture =
1190 vnfapiProvider.preloadNetworkTopologyOperation(PreloadNetworkTopologyOperationInput);
1192 Assert.assertEquals("503", rpcResultFuture.get().getResult().getResponseCode());
1194 rpcResultFuture.get().getResult().getResponseMessage().contains("No service logic active for VNF-API"));
1195 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
1203 @Test public void preloadNetworkTopologyOperationErrorFour() throws Exception {
1204 String networkName = "NetworkName";
1205 String networkType = "NetworkType";
1206 PreloadNetworkTopologyOperationInput PreloadNetworkTopologyOperationInput =
1207 mock(PreloadNetworkTopologyOperationInput.class);
1208 NetworkTopologyInformation networkTopologyInformation = mock(NetworkTopologyInformation.class);
1209 doReturn(networkTopologyInformation).when(PreloadNetworkTopologyOperationInput).getNetworkTopologyInformation();
1210 NetworkTopologyIdentifier networkTopologyIdentifier = mock(NetworkTopologyIdentifier.class);
1211 doReturn(networkTopologyIdentifier).when(networkTopologyInformation).getNetworkTopologyIdentifier();
1212 doReturn(networkName).when(networkTopologyIdentifier).getNetworkName();
1213 doReturn(networkType).when(networkTopologyIdentifier).getNetworkType();
1214 SdncRequestHeader sdncRequestHeader = mock(SdncRequestHeader.class);
1215 doReturn(sdncRequestHeader).when(PreloadNetworkTopologyOperationInput).getSdncRequestHeader();
1216 doReturn(svcRequestId).when(sdncRequestHeader).getSvcRequestId();
1217 doReturn(true).when(vnfsdnSvcLogicServiceClient).hasGraph(any(), any(), any(), any());
1218 doReturn(null).when(dataBroker).newWriteOnlyTransaction();
1220 Future<RpcResult<PreloadNetworkTopologyOperationOutput>> rpcResultFuture =
1221 vnfapiProvider.preloadNetworkTopologyOperation(PreloadNetworkTopologyOperationInput);
1223 Assert.assertEquals("500", rpcResultFuture.get().getResult().getResponseCode());
1224 Assert.assertEquals("java.lang.NullPointerException", rpcResultFuture.get().getResult().getResponseMessage());
1225 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
1233 @Test public void preloadNetworkTopologyOperationSuccess() throws Exception {
1234 String networkName = "NetworkName";
1235 String networkType = "NetworkType";
1236 PreloadNetworkTopologyOperationInput PreloadNetworkTopologyOperationInput =
1237 mock(PreloadNetworkTopologyOperationInput.class);
1238 NetworkTopologyInformation networkTopologyInformation = mock(NetworkTopologyInformation.class);
1239 doReturn(networkTopologyInformation).when(PreloadNetworkTopologyOperationInput).getNetworkTopologyInformation();
1240 NetworkTopologyIdentifier networkTopologyIdentifier = mock(NetworkTopologyIdentifier.class);
1241 doReturn(networkTopologyIdentifier).when(networkTopologyInformation).getNetworkTopologyIdentifier();
1242 doReturn(networkName).when(networkTopologyIdentifier).getNetworkName();
1243 doReturn(networkType).when(networkTopologyIdentifier).getNetworkType();
1244 SdncRequestHeader sdncRequestHeader = mock(SdncRequestHeader.class);
1245 doReturn(sdncRequestHeader).when(PreloadNetworkTopologyOperationInput).getSdncRequestHeader();
1246 doReturn(svcRequestId).when(sdncRequestHeader).getSvcRequestId();
1247 doReturn(true).when(vnfsdnSvcLogicServiceClient).hasGraph(any(), any(), any(), any());
1249 Future<RpcResult<PreloadNetworkTopologyOperationOutput>> rpcResultFuture =
1250 vnfapiProvider.preloadNetworkTopologyOperation(PreloadNetworkTopologyOperationInput);
1252 Assert.assertEquals("200", rpcResultFuture.get().getResult().getResponseCode());
1253 Assert.assertEquals(null, rpcResultFuture.get().getResult().getResponseMessage());
1254 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
1257 @Test public void getVfModuleServiceData() throws Exception {
1258 // Three parameters: siid, vfModuleServiceDataBuilder, LogicalDatastoreType
1259 String ssid = "ssid";
1260 VfModuleServiceDataBuilder vfModuleServiceDataBuilder = spy(new VfModuleServiceDataBuilder());
1261 Optional<VfModuleList> optional = mock(Optional.class);
1262 doReturn(optional).when(checkedFuture).get();
1263 doReturn(true).when(optional).isPresent();
1264 VfModuleList vfModuleList = mock(VfModuleList.class);
1265 doReturn(vfModuleList).when(optional).get();
1266 VfModuleServiceData vfModuleServiceData = mock(VfModuleServiceData.class);
1267 doReturn(vfModuleServiceData).when(vfModuleList).getVfModuleServiceData();
1268 SdncRequestHeader sdncRequestHeader = mock(SdncRequestHeader.class);
1269 doReturn(sdncRequestHeader).when(vfModuleServiceData).getSdncRequestHeader();
1271 Whitebox.invokeMethod(vnfapiProvider, "getVfModuleServiceData", ssid, vfModuleServiceDataBuilder,
1272 LogicalDatastoreType.CONFIGURATION);
1274 Assert.assertEquals(sdncRequestHeader, vfModuleServiceDataBuilder.getSdncRequestHeader());
1276 //With Two parameters: siid, vfModuleServiceDataBuilder
1277 Whitebox.invokeMethod(vnfapiProvider, "getVfModuleServiceData", ssid, vfModuleServiceDataBuilder);
1279 Assert.assertEquals(sdncRequestHeader, vfModuleServiceDataBuilder.getSdncRequestHeader());
1282 @Test public void getPreloadData() throws Exception {
1284 // String preload_name, String preload_type, PreloadDataBuilder preloadDataBuilder, LogicalDatastoreType type
1285 PreloadDataBuilder preloadDataBuilder = spy(new PreloadDataBuilder());
1287 Optional<VnfPreloadList> optional = mock(Optional.class);
1288 doReturn(optional).when(checkedFuture).get();
1289 doReturn(true).when(optional).isPresent();
1291 VnfPreloadList vnfPreloadList = mock(VnfPreloadList.class);
1292 doReturn(vnfPreloadList).when(optional).get();
1293 PreloadData preloadData = mock(PreloadData.class);
1294 doReturn(preloadData).when(vnfPreloadList).getPreloadData();
1296 VnfTopologyInformation vnfTopologyInformation = mock(VnfTopologyInformation.class);
1297 doReturn(vnfTopologyInformation).when(preloadData).getVnfTopologyInformation();
1299 Whitebox.invokeMethod(vnfapiProvider, "getPreloadData", "preloadName", "preloadType", preloadDataBuilder,
1300 LogicalDatastoreType.CONFIGURATION);
1302 Assert.assertEquals(vnfTopologyInformation, preloadDataBuilder.getVnfTopologyInformation());
1304 // Three parameters:
1305 // String preload_name, String preload_type, PreloadDataBuilder preloadDataBuilder, LogicalDatastoreType type
1306 Whitebox.invokeMethod(vnfapiProvider, "getPreloadData", "preloadName", "preloadType", preloadDataBuilder);
1308 Assert.assertEquals(vnfTopologyInformation, preloadDataBuilder.getVnfTopologyInformation());
1311 @Test public void getVnfInstancePreloadData() throws Exception {
1313 // String preload_name, String preload_type, VnfInstancePreloadDataBuilder preloadDataBuilder,
1314 // LogicalDatastoreType type
1315 VnfInstancePreloadDataBuilder vnfInstancePreloadDataBuilder = spy(new VnfInstancePreloadDataBuilder());
1317 Optional<VnfPreloadList> optional = mock(Optional.class);
1318 doReturn(optional).when(checkedFuture).get();
1319 doReturn(true).when(optional).isPresent();
1320 VnfInstancePreloadList vnfInstancePreloadList = mock(VnfInstancePreloadList.class);
1321 doReturn(vnfInstancePreloadList).when(optional).get();
1322 VnfInstancePreloadData vnfInstancePreloadData = mock(VnfInstancePreloadData.class);
1323 doReturn(vnfInstancePreloadData).when(vnfInstancePreloadList).getVnfInstancePreloadData();
1324 VnfInstanceTopologyInformation vnfInstanceTopologyInformation = mock(VnfInstanceTopologyInformation.class);
1325 doReturn(vnfInstanceTopologyInformation).when(vnfInstancePreloadData).getVnfInstanceTopologyInformation();
1327 Whitebox.invokeMethod(vnfapiProvider, "getVnfInstancePreloadData", "preloadName", "preloadType",
1328 vnfInstancePreloadDataBuilder, LogicalDatastoreType.CONFIGURATION);
1330 Assert.assertEquals(vnfInstanceTopologyInformation,
1331 vnfInstancePreloadDataBuilder.getVnfInstanceTopologyInformation());
1333 // Three Parameters:
1334 // String preload_name, String preload_type, VnfInstancePreloadDataBuilder preloadDataBuilder
1335 Whitebox.invokeMethod(vnfapiProvider, "getVnfInstancePreloadData", "preloadName", "preloadType",
1336 vnfInstancePreloadDataBuilder);
1338 Assert.assertEquals(vnfInstanceTopologyInformation,
1339 vnfInstancePreloadDataBuilder.getVnfInstanceTopologyInformation());
1342 @Test public void getVfModulePreloadData() throws Exception {
1344 // String preload_name, String preload_type, VfModulePreloadDataBuilder preloadDataBuilder,
1345 // LogicalDatastoreType type
1346 VfModulePreloadDataBuilder vfModulePreloadDataBuilder = spy(new VfModulePreloadDataBuilder());
1348 Optional<VfModulePreloadList> optional = mock(Optional.class);
1349 doReturn(optional).when(checkedFuture).get();
1350 doReturn(true).when(optional).isPresent();
1351 VfModulePreloadList vfModulePreloadList = mock(VfModulePreloadList.class);
1352 doReturn(vfModulePreloadList).when(optional).get();
1353 VfModulePreloadData vfModulePreloadData = mock(VfModulePreloadData.class);
1354 doReturn(vfModulePreloadData).when(vfModulePreloadList).getVfModulePreloadData();
1355 VfModuleTopologyInformation vfModuleTopologyInformation = mock(VfModuleTopologyInformation.class);
1356 doReturn(vfModuleTopologyInformation).when(vfModulePreloadData).getVfModuleTopologyInformation();
1358 Whitebox.invokeMethod(vnfapiProvider, "getVfModulePreloadData", "preloadName", "preloadType",
1359 vfModulePreloadDataBuilder, LogicalDatastoreType.CONFIGURATION);
1361 Assert.assertEquals(vfModuleTopologyInformation, vfModulePreloadDataBuilder.getVfModuleTopologyInformation());
1363 // Three Parameters:
1364 // String vnf_name, String vnf_type, VfModulePreloadDataBuilder preloadDataBuilder
1365 Whitebox.invokeMethod(vnfapiProvider, "getVfModulePreloadData", "preloadName", "preloadType",
1366 vfModulePreloadDataBuilder);
1368 Assert.assertEquals(vfModuleTopologyInformation, vfModulePreloadDataBuilder.getVfModuleTopologyInformation());
1372 * With ServiceStatusBuilder, RequestInformation
1374 @Test public void setServiceStatusOne() throws Exception {
1375 // VNFActivateRequest
1376 RequestInformation requestInformation = mock(RequestInformation.class);
1377 ServiceStatusBuilder serviceStatusBuilder = spy(new ServiceStatusBuilder());
1378 doReturn(RequestInformation.RequestAction.VNFActivateRequest).when(requestInformation).getRequestAction();
1379 doReturn(RequestInformation.RequestSubAction.SUPP).when(requestInformation).getRequestSubAction();
1380 Whitebox.invokeMethod(vnfapiProvider, "setServiceStatus", serviceStatusBuilder, requestInformation);
1381 Assert.assertEquals(ServiceStatus.VnfsdnAction.VNFActivateRequest, serviceStatusBuilder.getVnfsdnAction());
1383 //ChangeVNFActivateRequest
1384 doReturn(RequestInformation.RequestAction.ChangeVNFActivateRequest).when(requestInformation).getRequestAction();
1385 doReturn(RequestInformation.RequestSubAction.CANCEL).when(requestInformation).getRequestSubAction();
1386 Whitebox.invokeMethod(vnfapiProvider, "setServiceStatus", serviceStatusBuilder, requestInformation);
1388 .assertEquals(ServiceStatus.VnfsdnAction.ChangeVNFActivateRequest, serviceStatusBuilder.getVnfsdnAction());
1390 //DisconnectVNFRequest
1391 doReturn(RequestInformation.RequestAction.DisconnectVNFRequest).when(requestInformation).getRequestAction();
1392 Whitebox.invokeMethod(vnfapiProvider, "setServiceStatus", serviceStatusBuilder, requestInformation);
1393 Assert.assertEquals(ServiceStatus.VnfsdnAction.DisconnectVNFRequest, serviceStatusBuilder.getVnfsdnAction());
1396 doReturn(RequestInformation.RequestAction.PreloadVNFRequest).when(requestInformation).getRequestAction();
1397 Whitebox.invokeMethod(vnfapiProvider, "setServiceStatus", serviceStatusBuilder, requestInformation);
1398 Assert.assertEquals(ServiceStatus.VnfsdnAction.PreloadVNFRequest, serviceStatusBuilder.getVnfsdnAction());
1400 //DeletePreloadVNFRequest
1401 doReturn(RequestInformation.RequestAction.DeletePreloadVNFRequest).when(requestInformation).getRequestAction();
1402 Whitebox.invokeMethod(vnfapiProvider, "setServiceStatus", serviceStatusBuilder, requestInformation);
1403 Assert.assertEquals(ServiceStatus.VnfsdnAction.DeletePreloadVNFRequest, serviceStatusBuilder.getVnfsdnAction());
1405 //VnfInstanceActivateRequest
1406 doReturn(RequestInformation.RequestAction.VnfInstanceActivateRequest).when(requestInformation)
1407 .getRequestAction();
1408 Whitebox.invokeMethod(vnfapiProvider, "setServiceStatus", serviceStatusBuilder, requestInformation);
1409 Assert.assertEquals(ServiceStatus.VnfsdnAction.VnfInstanceActivateRequest,
1410 serviceStatusBuilder.getVnfsdnAction());
1412 //ChangeVnfInstanceActivateRequest
1413 doReturn(RequestInformation.RequestAction.ChangeVnfInstanceActivateRequest).when(requestInformation)
1414 .getRequestAction();
1415 Whitebox.invokeMethod(vnfapiProvider, "setServiceStatus", serviceStatusBuilder, requestInformation);
1416 Assert.assertEquals(ServiceStatus.VnfsdnAction.ChangeVnfInstanceActivateRequest,
1417 serviceStatusBuilder.getVnfsdnAction());
1419 //DisconnectVnfInstanceRequest
1420 doReturn(RequestInformation.RequestAction.DisconnectVnfInstanceRequest).when(requestInformation)
1421 .getRequestAction();
1422 Whitebox.invokeMethod(vnfapiProvider, "setServiceStatus", serviceStatusBuilder, requestInformation);
1423 Assert.assertEquals(ServiceStatus.VnfsdnAction.DisconnectVnfInstanceRequest,
1424 serviceStatusBuilder.getVnfsdnAction());
1426 //PreloadVnfInstanceRequest
1427 doReturn(RequestInformation.RequestAction.PreloadVnfInstanceRequest).when(requestInformation)
1428 .getRequestAction();
1429 Whitebox.invokeMethod(vnfapiProvider, "setServiceStatus", serviceStatusBuilder, requestInformation);
1431 .assertEquals(ServiceStatus.VnfsdnAction.PreloadVnfInstanceRequest, serviceStatusBuilder.getVnfsdnAction());
1433 //VfModuleActivateRequest
1434 doReturn(RequestInformation.RequestAction.VfModuleActivateRequest).when(requestInformation).getRequestAction();
1435 Whitebox.invokeMethod(vnfapiProvider, "setServiceStatus", serviceStatusBuilder, requestInformation);
1436 Assert.assertEquals(ServiceStatus.VnfsdnAction.VfModuleActivateRequest, serviceStatusBuilder.getVnfsdnAction());
1438 //ChangeVfModuleActivateRequest
1439 doReturn(RequestInformation.RequestAction.ChangeVfModuleActivateRequest).when(requestInformation)
1440 .getRequestAction();
1441 Whitebox.invokeMethod(vnfapiProvider, "setServiceStatus", serviceStatusBuilder, requestInformation);
1442 Assert.assertEquals(ServiceStatus.VnfsdnAction.ChangeVfModuleActivateRequest,
1443 serviceStatusBuilder.getVnfsdnAction());
1445 //DisconnectVfModuleRequest
1446 doReturn(RequestInformation.RequestAction.DisconnectVfModuleRequest).when(requestInformation)
1447 .getRequestAction();
1448 Whitebox.invokeMethod(vnfapiProvider, "setServiceStatus", serviceStatusBuilder, requestInformation);
1450 .assertEquals(ServiceStatus.VnfsdnAction.DisconnectVfModuleRequest, serviceStatusBuilder.getVnfsdnAction());
1452 //PreloadVfModuleRequest
1453 doReturn(RequestInformation.RequestAction.PreloadVfModuleRequest).when(requestInformation).getRequestAction();
1454 Whitebox.invokeMethod(vnfapiProvider, "setServiceStatus", serviceStatusBuilder, requestInformation);
1455 Assert.assertEquals(ServiceStatus.VnfsdnAction.PreloadVfModuleRequest, serviceStatusBuilder.getVnfsdnAction());
1458 @Test public void getServiceData() throws Exception {
1459 ServiceDataBuilder serviceDataBuilder = spy(new ServiceDataBuilder());
1461 Optional<VnfList> optional = mock(Optional.class);
1462 doReturn(optional).when(checkedFuture).get();
1463 doReturn(true).when(optional).isPresent();
1464 VnfList vnfList = mock(VnfList.class);
1465 doReturn(vnfList).when(optional).get();
1466 ServiceData serviceData = mock(ServiceData.class);
1467 doReturn(serviceData).when(vnfList).getServiceData();
1468 SdncRequestHeader sdncRequestHeader = mock(SdncRequestHeader.class);
1469 doReturn(sdncRequestHeader).when(serviceData).getSdncRequestHeader();
1471 Whitebox.invokeMethod(vnfapiProvider, "getServiceData", "siid", serviceDataBuilder,
1472 LogicalDatastoreType.CONFIGURATION);
1474 Assert.assertEquals(sdncRequestHeader, serviceDataBuilder.getSdncRequestHeader());
1477 @Test public void getVnfInstanceServiceData() throws Exception {
1478 VnfInstanceServiceDataBuilder vnfInstanceServiceDataBuilder = spy(new VnfInstanceServiceDataBuilder());
1480 Optional<VnfList> optional = mock(Optional.class);
1481 doReturn(optional).when(checkedFuture).get();
1482 doReturn(true).when(optional).isPresent();
1483 VnfInstanceList vnfInstanceList = mock(VnfInstanceList.class);
1484 doReturn(vnfInstanceList).when(optional).get();
1485 VnfInstanceServiceData vnfInstanceServiceData = mock(VnfInstanceServiceData.class);
1486 doReturn(vnfInstanceServiceData).when(vnfInstanceList).getVnfInstanceServiceData();
1487 SdncRequestHeader sdncRequestHeader = mock(SdncRequestHeader.class);
1488 doReturn(sdncRequestHeader).when(vnfInstanceServiceData).getSdncRequestHeader();
1490 Whitebox.invokeMethod(vnfapiProvider, "getVnfInstanceServiceData", "siid", vnfInstanceServiceDataBuilder,
1491 LogicalDatastoreType.CONFIGURATION);
1493 Assert.assertEquals(sdncRequestHeader, vnfInstanceServiceDataBuilder.getSdncRequestHeader());
1496 @Test public void DeleteVnfList() throws Exception {
1497 LogicalDatastoreType configuration = LogicalDatastoreType.CONFIGURATION;
1498 VnfList vnfList = mock(VnfList.class);
1499 VnfListKey vnfListKey = mock(VnfListKey.class);
1500 doReturn(vnfListKey).when(vnfList).getKey();
1501 InstanceIdentifier<VnfList> vnfListInstanceIdentifier = mock(InstanceIdentifier.class);
1502 dataBroker.newWriteOnlyTransaction().put(configuration, vnfListInstanceIdentifier, vnfList);
1504 Whitebox.invokeMethod(vnfapiProvider, "DeleteVnfList", vnfList, configuration);
1506 verify(dataBroker, times(2)).newWriteOnlyTransaction();