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.DataObjectModification;
35 import org.opendaylight.controller.md.sal.binding.api.DataTreeModification;
36 import org.opendaylight.controller.md.sal.binding.api.NotificationPublishService;
37 import org.opendaylight.controller.md.sal.binding.api.ReadOnlyTransaction;
38 import org.opendaylight.controller.md.sal.binding.api.ReadWriteTransaction;
39 import org.opendaylight.controller.md.sal.binding.api.WriteTransaction;
40 import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
41 import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException;
42 import org.opendaylight.controller.sal.binding.api.BindingAwareBroker;
43 import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry;
44 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.NetworkTopologyOperationInput;
45 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.NetworkTopologyOperationOutput;
46 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadNetworkTopologyOperationInput;
47 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadNetworkTopologyOperationOutput;
48 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadVfModuleTopologyOperationInput;
49 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadVfModuleTopologyOperationOutput;
50 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadVfModules;
51 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadVnfInstanceTopologyOperationInput;
52 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadVnfInstanceTopologyOperationOutput;
53 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadVnfInstances;
54 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadVnfTopologyOperationInput;
55 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadVnfTopologyOperationOutput;
56 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.PreloadVnfs;
57 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VNFAPIService;
58 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VfModuleTopologyOperationInput;
59 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VfModuleTopologyOperationOutput;
60 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VfModules;
61 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VnfInstanceTopologyOperationInput;
62 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VnfInstanceTopologyOperationOutput;
63 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VnfInstances;
64 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VnfTopologyOperationInput;
65 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.VnfTopologyOperationOutput;
66 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.Vnfs;
67 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.network.request.information.NetworkRequestInformation;
68 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.network.topology.identifier.NetworkTopologyIdentifier;
69 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.network.topology.information.NetworkTopologyInformation;
70 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.preload.data.PreloadData;
71 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.preload.data.PreloadDataBuilder;
72 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.preload.model.information.VnfPreloadList;
73 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.preload.vf.module.model.information.VfModulePreloadList;
74 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.preload.vnf.instance.model.information.VnfInstancePreloadList;
75 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.request.information.RequestInformation;
76 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.sdnc.request.header.SdncRequestHeader;
77 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.service.data.ServiceData;
78 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.service.data.ServiceDataBuilder;
79 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.service.information.ServiceInformation;
80 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.service.status.ServiceStatus;
81 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.service.status.ServiceStatusBuilder;
82 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vf.module.identifiers.VfModuleIdentifiers;
83 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vf.module.model.infrastructure.VfModuleList;
84 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vf.module.preload.data.VfModulePreloadData;
85 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vf.module.preload.data.VfModulePreloadDataBuilder;
86 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vf.module.request.information.VfModuleRequestInformation;
87 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vf.module.service.data.VfModuleServiceData;
88 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vf.module.service.data.VfModuleServiceDataBuilder;
89 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vf.module.topology.information.VfModuleTopologyInformation;
90 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.instance.identifiers.VnfInstanceIdentifiers;
91 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.instance.model.infrastructure.VnfInstanceList;
92 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.instance.preload.data.VnfInstancePreloadData;
93 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.instance.preload.data.VnfInstancePreloadDataBuilder;
94 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.instance.request.information.VnfInstanceRequestInformation;
95 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.instance.service.data.VnfInstanceServiceData;
96 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.instance.service.data.VnfInstanceServiceDataBuilder;
97 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.instance.topology.information.VnfInstanceTopologyInformation;
98 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.model.infrastructure.VnfList;
99 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.model.infrastructure.VnfListKey;
100 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.request.information.VnfRequestInformation;
101 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.topology.identifier.VnfTopologyIdentifier;
102 import org.opendaylight.yang.gen.v1.org.onap.sdnctl.vnf.rev150720.vnf.topology.information.VnfTopologyInformation;
103 import org.opendaylight.yangtools.yang.binding.DataObject;
104 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
105 import org.opendaylight.yangtools.yang.common.RpcResult;
106 import org.powermock.reflect.Whitebox;
108 import java.util.ArrayList;
109 import java.util.Collection;
110 import java.util.LinkedList;
111 import java.util.concurrent.ExecutorService;
112 import java.util.concurrent.Future;
114 import static org.mockito.Matchers.any;
115 import static org.mockito.Matchers.eq;
116 import static org.mockito.Mockito.doReturn;
117 import static org.mockito.Mockito.mock;
118 import static org.mockito.Mockito.spy;
119 import static org.mockito.Mockito.times;
120 import static org.mockito.Mockito.verify;
122 public class VnfapiProviderTestBase {
123 @Rule public MockitoRule rule = MockitoJUnit.rule();
125 @Mock private DataBroker dataBroker;
126 @Mock private NotificationPublishService notificationPublishService;
127 @Mock private RpcProviderRegistry rpcProviderRegistry;
128 @Mock private VNFSDNSvcLogicServiceClient vnfsdnSvcLogicServiceClient;
129 @Mock private ReadWriteTransaction readWriteTransactionInCreateContainer;
130 @Mock private ReadWriteTransaction readWriteTransactionInDataChanged;
131 @Mock private CheckedFuture<Void, TransactionCommitFailedException> checkedFuture;
133 private VnfApiProvider vnfapiProvider;
134 private String vfModuleName;
135 private String vfModuleModelId;
136 private String vnfInstanceId;
137 private String vnfInstanceName;
138 private String vnfModelId;
139 private String svcRequestId;
140 private String serviceInstanceId;
141 private String vnfName;
142 private String vnfType;
143 private String vfModuleId;
145 @Before public void setUp() throws Exception {
146 doReturn(readWriteTransactionInCreateContainer).when(dataBroker).newReadWriteTransaction();
147 doReturn(checkedFuture).when(readWriteTransactionInCreateContainer).submit();
148 // mock readOnlyTransaction
149 ReadOnlyTransaction readOnlyTransaction = mock(ReadOnlyTransaction.class);
150 doReturn(readOnlyTransaction).when(dataBroker).newReadOnlyTransaction();
151 doReturn(checkedFuture).when(readOnlyTransaction).read(any(), any());
152 // mock writeTransaction
153 WriteTransaction writeTransaction = mock(WriteTransaction.class);
154 doReturn(writeTransaction).when(dataBroker).newWriteOnlyTransaction();
155 doReturn(checkedFuture).when(writeTransaction).submit();
157 vnfapiProvider = spy(new VnfApiProvider(dataBroker, notificationPublishService, rpcProviderRegistry,
158 vnfsdnSvcLogicServiceClient));
161 @After public void tearDown() throws Exception {
165 @Test public void close() throws Exception {
166 ExecutorService executor = Whitebox.getInternalState(vnfapiProvider, "executor");
167 BindingAwareBroker.RpcRegistration<VNFAPIService> vnfapiServiceRpcRegistration =
168 mock(BindingAwareBroker.RpcRegistration.class);
169 vnfapiProvider.rpcRegistration = vnfapiServiceRpcRegistration;
171 vnfapiProvider.close();
173 Assert.assertTrue(executor.isShutdown());
174 verify(vnfapiServiceRpcRegistration, times(1)).close();
180 * <code>input.getVnfInstanceRequestInformation() == null</code>
184 @Test public void vnfInstanceTopologyOperationErrorOne() throws Exception {
185 VnfInstanceTopologyOperationInput vnfInstanceTopologyOperationInput =
186 mock(VnfInstanceTopologyOperationInput.class);
187 doReturn(null).when(vnfInstanceTopologyOperationInput).getVnfInstanceRequestInformation();
189 Future<RpcResult<VnfInstanceTopologyOperationOutput>> rpcResultFuture =
190 vnfapiProvider.vnfInstanceTopologyOperation(vnfInstanceTopologyOperationInput);
192 Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode());
193 Assert.assertEquals("invalid input, null or empty vnf-instance-id",
194 rpcResultFuture.get().getResult().getResponseMessage());
195 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
201 * <code>viid == null</code>
205 @Test public void vnfInstanceTopologyOperationErrorTwo() throws Exception {
207 vnfInstanceName = "vnf-instance-name";
208 vnfModelId = "vnf-model-id";
209 VnfInstanceTopologyOperationInput vnfInstanceTopologyOperationInput =
210 mock(VnfInstanceTopologyOperationInput.class);
211 VnfInstanceRequestInformation vnfInstanceRequestInformation = mock(VnfInstanceRequestInformation.class);
212 doReturn(vnfInstanceName).when(vnfInstanceRequestInformation).getVnfInstanceName();
213 doReturn(vnfModelId).when(vnfInstanceRequestInformation).getVnfModelId();
214 doReturn(vnfInstanceId).when(vnfInstanceRequestInformation).getVnfInstanceId();
215 doReturn(vnfInstanceRequestInformation).when(vnfInstanceTopologyOperationInput)
216 .getVnfInstanceRequestInformation();
218 Future<RpcResult<VnfInstanceTopologyOperationOutput>> rpcResultFuture =
219 vnfapiProvider.vnfInstanceTopologyOperation(vnfInstanceTopologyOperationInput);
221 Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode());
222 Assert.assertEquals("invalid input, null or empty vnf-instance-id",
223 rpcResultFuture.get().getResult().getResponseMessage());
224 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
230 * <code>svcLogicClient.hasGraph("VNF-API",SVC_OPERATION,null,"sync" = false</code>
234 @Test public void vnfInstanceTopologyOperationErrorThree() throws Exception {
235 vnfInstanceId = "vnf-instance-id";
236 vnfInstanceName = "vnf-instance-name";
237 vnfModelId = "vnf-model-id";
238 svcRequestId = "svc-request-id";
240 VnfInstanceTopologyOperationInput vnfInstanceTopologyOperationInput =
241 mock(VnfInstanceTopologyOperationInput.class);
242 VnfInstanceRequestInformation vnfInstanceRequestInformation = mock(VnfInstanceRequestInformation.class);
243 doReturn(vnfInstanceId).when(vnfInstanceRequestInformation).getVnfInstanceId();
244 doReturn(vnfInstanceName).when(vnfInstanceRequestInformation).getVnfInstanceName();
245 doReturn(vnfModelId).when(vnfInstanceRequestInformation).getVnfModelId();
246 doReturn(vnfInstanceRequestInformation).when(vnfInstanceTopologyOperationInput)
247 .getVnfInstanceRequestInformation();
249 SdncRequestHeader sdncRequestHeader = mock(SdncRequestHeader.class);
250 doReturn(sdncRequestHeader).when(vnfInstanceTopologyOperationInput).getSdncRequestHeader();
251 doReturn(svcRequestId).when(sdncRequestHeader).getSvcRequestId();
253 Future<RpcResult<VnfInstanceTopologyOperationOutput>> rpcResultFuture =
254 vnfapiProvider.vnfInstanceTopologyOperation(vnfInstanceTopologyOperationInput);
256 Assert.assertEquals("503", rpcResultFuture.get().getResult().getResponseCode());
258 rpcResultFuture.get().getResult().getResponseMessage().contains("No service logic active for VNF-API"));
259 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
267 @Test public void vnfInstanceTopologyOperationSuccess() throws Exception {
268 vnfInstanceId = "vnf-instance-id";
269 vnfInstanceName = "vnf-instance-name";
270 vnfModelId = "vnf-model-id";
271 svcRequestId = "svc-request-id";
273 VnfInstanceTopologyOperationInput vnfInstanceTopologyOperationInput =
274 mock(VnfInstanceTopologyOperationInput.class);
275 VnfInstanceRequestInformation vnfInstanceRequestInformation = mock(VnfInstanceRequestInformation.class);
276 doReturn(vnfInstanceId).when(vnfInstanceRequestInformation).getVnfInstanceId();
277 doReturn(vnfInstanceName).when(vnfInstanceRequestInformation).getVnfInstanceName();
278 doReturn(vnfModelId).when(vnfInstanceRequestInformation).getVnfModelId();
279 doReturn(vnfInstanceRequestInformation).when(vnfInstanceTopologyOperationInput)
280 .getVnfInstanceRequestInformation();
282 SdncRequestHeader sdncRequestHeader = mock(SdncRequestHeader.class);
283 doReturn(sdncRequestHeader).when(vnfInstanceTopologyOperationInput).getSdncRequestHeader();
284 doReturn(svcRequestId).when(sdncRequestHeader).getSvcRequestId();
285 doReturn(SdncRequestHeader.SvcAction.Activate).when(sdncRequestHeader).getSvcAction();
286 ReadOnlyTransaction readOnlyTransaction = mock(ReadOnlyTransaction.class);
287 doReturn(readOnlyTransaction).when(dataBroker).newReadOnlyTransaction();
288 doReturn(checkedFuture).when(readOnlyTransaction).read(any(), any());
289 WriteTransaction writeTransaction = mock(WriteTransaction.class);
290 doReturn(writeTransaction).when(dataBroker).newWriteOnlyTransaction();
291 doReturn(checkedFuture).when(writeTransaction).submit();
292 doReturn(true).when(vnfsdnSvcLogicServiceClient).hasGraph(any(), any(), any(), any());
294 Future<RpcResult<VnfInstanceTopologyOperationOutput>> rpcResultFuture =
295 vnfapiProvider.vnfInstanceTopologyOperation(vnfInstanceTopologyOperationInput);
297 Assert.assertEquals("200", rpcResultFuture.get().getResult().getResponseCode());
298 Assert.assertEquals(null, rpcResultFuture.get().getResult().getResponseMessage());
299 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
305 * <code>input.getVfModuleTopologyInformation() == null</code>
309 @Test public void vfModuleTopologyOperationErrorOne() throws Exception {
310 VfModuleTopologyOperationInput vfModuleTopologyOperationInput = mock(VfModuleTopologyOperationInput.class);
311 doReturn(null).when(vfModuleTopologyOperationInput).getVfModuleRequestInformation();
312 Future<RpcResult<VfModuleTopologyOperationOutput>> rpcResultFuture =
313 vnfapiProvider.vfModuleTopologyOperation(vfModuleTopologyOperationInput);
315 Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode());
316 Assert.assertEquals("invalid input, null or empty vf-module-id",
317 rpcResultFuture.get().getResult().getResponseMessage());
318 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
324 * <code>vfid = ""</code>
327 * <code>viid = ""</code>
331 @Test public void vfModuleTopologyOperationErrorTwo() throws Exception {
333 vfModuleName = "vfModuleName";
334 vfModuleModelId = "vfModuleModelId";
337 VfModuleTopologyOperationInput vfModuleTopologyOperationInput = mock(VfModuleTopologyOperationInput.class);
338 VfModuleRequestInformation vfModuleRequestInformation = mock(VfModuleRequestInformation.class);
339 doReturn(vfModuleRequestInformation).when(vfModuleTopologyOperationInput).getVfModuleRequestInformation();
340 VfModuleIdentifiers vfModuleIdentifiers = mock(VfModuleIdentifiers.class);
341 doReturn(vfModuleName).when(vfModuleIdentifiers).getVfModuleName();
342 doReturn(vfModuleModelId).when(vfModuleIdentifiers).getVfModuleModelId();
343 doReturn(vfModuleId).when(vfModuleRequestInformation).getVfModuleId();
345 Future<RpcResult<VfModuleTopologyOperationOutput>> rpcResultFuture =
346 vnfapiProvider.vfModuleTopologyOperation(vfModuleTopologyOperationInput);
348 Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode());
349 Assert.assertEquals("invalid input, null or empty vf-module-id",
350 rpcResultFuture.get().getResult().getResponseMessage());
351 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
354 vfModuleId = "vfModuleId";
355 doReturn(vfModuleId).when(vfModuleRequestInformation).getVfModuleId();
356 doReturn(vnfInstanceId).when(vfModuleRequestInformation).getVnfInstanceId();
357 rpcResultFuture = vnfapiProvider.vfModuleTopologyOperation(vfModuleTopologyOperationInput);
359 Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode());
360 Assert.assertEquals("invalid input, null or empty vnf-instance-id",
361 rpcResultFuture.get().getResult().getResponseMessage());
362 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
368 * <code>svcLogicClient.hasGraph("VNF-API", SVC_OPERATION, null, "sync") = false</code>
372 @Test public void vfModuleTopologyOperationErrorThree() throws Exception {
374 vfModuleName = "vfModuleName";
375 vfModuleModelId = "vfModuleModelId";
376 vfModuleId = "vfModuleId";
377 vnfInstanceId = "vnfInstanceId";
378 VfModuleTopologyOperationInput vfModuleTopologyOperationInput = mock(VfModuleTopologyOperationInput.class);
379 VfModuleRequestInformation vfModuleRequestInformation = mock(VfModuleRequestInformation.class);
380 doReturn(vfModuleRequestInformation).when(vfModuleTopologyOperationInput).getVfModuleRequestInformation();
381 VfModuleIdentifiers vfModuleIdentifiers = mock(VfModuleIdentifiers.class);
382 doReturn(vfModuleName).when(vfModuleIdentifiers).getVfModuleName();
383 doReturn(vfModuleModelId).when(vfModuleIdentifiers).getVfModuleModelId();
384 doReturn(vfModuleId).when(vfModuleRequestInformation).getVfModuleId();
385 doReturn(vnfInstanceId).when(vfModuleRequestInformation).getVnfInstanceId();
386 // mock sdncRequestHeader
387 SdncRequestHeader sdncRequestHeader = mock(SdncRequestHeader.class);
388 doReturn(sdncRequestHeader).when(vfModuleTopologyOperationInput).getSdncRequestHeader();
389 doReturn(svcRequestId).when(sdncRequestHeader).getSvcRequestId();
391 Future<RpcResult<VfModuleTopologyOperationOutput>> rpcResultFuture =
392 vnfapiProvider.vfModuleTopologyOperation(vfModuleTopologyOperationInput);
394 Assert.assertEquals("503", rpcResultFuture.get().getResult().getResponseCode());
396 rpcResultFuture.get().getResult().getResponseMessage().contains("No service logic active for VNF-API"));
397 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
405 @Test public void vfModuleTopologyOperationSuccess() throws Exception {
406 vfModuleName = "vfModuleName";
407 vfModuleModelId = "vfModuleModelId";
408 vfModuleId = "vfModuleId";
409 vnfInstanceId = "vnfInstanceId";
410 VfModuleTopologyOperationInput vfModuleTopologyOperationInput = mock(VfModuleTopologyOperationInput.class);
411 VfModuleRequestInformation vfModuleRequestInformation = mock(VfModuleRequestInformation.class);
412 doReturn(vfModuleRequestInformation).when(vfModuleTopologyOperationInput).getVfModuleRequestInformation();
413 VfModuleIdentifiers vfModuleIdentifiers = mock(VfModuleIdentifiers.class);
414 doReturn(vfModuleName).when(vfModuleIdentifiers).getVfModuleName();
415 doReturn(vfModuleModelId).when(vfModuleIdentifiers).getVfModuleModelId();
416 doReturn(vfModuleId).when(vfModuleRequestInformation).getVfModuleId();
417 doReturn(vnfInstanceId).when(vfModuleRequestInformation).getVnfInstanceId();
418 // mock sdncRequestHeader
419 SdncRequestHeader sdncRequestHeader = mock(SdncRequestHeader.class);
420 doReturn(sdncRequestHeader).when(vfModuleTopologyOperationInput).getSdncRequestHeader();
421 doReturn(svcRequestId).when(sdncRequestHeader).getSvcRequestId();
422 doReturn(true).when(vnfsdnSvcLogicServiceClient).hasGraph(any(), any(), any(), any());
424 Future<RpcResult<VfModuleTopologyOperationOutput>> rpcResultFuture =
425 vnfapiProvider.vfModuleTopologyOperation(vfModuleTopologyOperationInput);
427 Assert.assertEquals("200", rpcResultFuture.get().getResult().getResponseCode());
428 Assert.assertEquals(null, rpcResultFuture.get().getResult().getResponseMessage());
429 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
435 * <code>input.getServiceInformation() == null</code>
439 @Test public void vnfTopologyOperationErrorOne() throws Exception {
440 VnfTopologyOperationInput vnfTopologyOperationInput = mock(VnfTopologyOperationInput.class);
441 doReturn(null).when(vnfTopologyOperationInput).getServiceInformation();
443 Future<RpcResult<VnfTopologyOperationOutput>> rpcResultFuture =
444 vnfapiProvider.vnfTopologyOperation(vnfTopologyOperationInput);
446 Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode());
447 Assert.assertEquals("invalid input, null or empty service-instance-id",
448 rpcResultFuture.get().getResult().getResponseMessage());
449 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
455 * <code>input.getVnfRequestInformation() == null</code>
459 @Test public void vnfTopologyOperationErrorTwo() throws Exception {
460 serviceInstanceId = "serviceInstanceId";
461 VnfTopologyOperationInput vnfTopologyOperationInput = mock(VnfTopologyOperationInput.class);
462 ServiceInformation serviceInformation = mock(ServiceInformation.class);
463 doReturn(serviceInformation).when(vnfTopologyOperationInput).getServiceInformation();
464 doReturn(serviceInstanceId).when(serviceInformation).getServiceInstanceId();
466 Future<RpcResult<VnfTopologyOperationOutput>> rpcResultFuture =
467 vnfapiProvider.vnfTopologyOperation(vnfTopologyOperationInput);
469 Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode());
470 Assert.assertEquals("invalid input, null or empty vf-module-id",
471 rpcResultFuture.get().getResult().getResponseMessage());
472 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
478 * <code>svcLogicClient.hasGraph("VNF-API", SVC_OPERATION, null, "sync") == false</code>
482 @Test public void vnfTopologyOperationErrorThree() throws Exception {
483 serviceInstanceId = "serviceInstanceId";
484 String vnfId = "vnfId";
485 VnfTopologyOperationInput vnfTopologyOperationInput = mock(VnfTopologyOperationInput.class);
486 ServiceInformation serviceInformation = mock(ServiceInformation.class);
487 doReturn(serviceInformation).when(vnfTopologyOperationInput).getServiceInformation();
488 doReturn(serviceInstanceId).when(serviceInformation).getServiceInstanceId();
490 VnfRequestInformation vnfRequestInformation = mock(VnfRequestInformation.class);
491 doReturn(vnfRequestInformation).when(vnfTopologyOperationInput).getVnfRequestInformation();
492 doReturn(vnfId).when(vnfRequestInformation).getVnfId();
494 Future<RpcResult<VnfTopologyOperationOutput>> rpcResultFuture =
495 vnfapiProvider.vnfTopologyOperation(vnfTopologyOperationInput);
497 Assert.assertEquals("503", rpcResultFuture.get().getResult().getResponseCode());
499 rpcResultFuture.get().getResult().getResponseMessage().contains("No service logic active for VNF-API"));
500 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
508 @Test public void vnfTopologyOperationSuccess() throws Exception {
509 serviceInstanceId = "serviceInstanceId";
510 String vnfId = "vnfId";
511 VnfTopologyOperationInput vnfTopologyOperationInput = mock(VnfTopologyOperationInput.class);
512 ServiceInformation serviceInformation = mock(ServiceInformation.class);
513 doReturn(serviceInformation).when(vnfTopologyOperationInput).getServiceInformation();
514 doReturn(serviceInstanceId).when(serviceInformation).getServiceInstanceId();
516 VnfRequestInformation vnfRequestInformation = mock(VnfRequestInformation.class);
517 doReturn(vnfRequestInformation).when(vnfTopologyOperationInput).getVnfRequestInformation();
518 doReturn(vnfId).when(vnfRequestInformation).getVnfId();
519 doReturn(true).when(vnfsdnSvcLogicServiceClient).hasGraph(any(), any(), any(), any());
521 Future<RpcResult<VnfTopologyOperationOutput>> rpcResultFuture =
522 vnfapiProvider.vnfTopologyOperation(vnfTopologyOperationInput);
524 Assert.assertEquals("200", rpcResultFuture.get().getResult().getResponseCode());
525 Assert.assertEquals(null, rpcResultFuture.get().getResult().getResponseMessage());
526 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
532 * <code>input.getServiceInformation() == null</code>
536 @Test public void networkTopologyOperationErrorOne() throws Exception {
537 VnfTopologyOperationInput vnfTopologyOperationInput = mock(VnfTopologyOperationInput.class);
538 doReturn(null).when(vnfTopologyOperationInput).getServiceInformation();
540 Future<RpcResult<VnfTopologyOperationOutput>> rpcResultFuture =
541 vnfapiProvider.vnfTopologyOperation(vnfTopologyOperationInput);
543 Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode());
544 Assert.assertEquals("invalid input, null or empty service-instance-id",
545 rpcResultFuture.get().getResult().getResponseMessage());
546 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
552 * <code>input.getNetworkRequestInformation() == null</code>
556 @Test public void networkTopologyOperationErrorTwo() throws Exception {
557 serviceInstanceId = "serviceInstanceId";
558 NetworkTopologyOperationInput networkTopologyOperation = mock(NetworkTopologyOperationInput.class);
559 ServiceInformation serviceInformation = mock(ServiceInformation.class);
560 doReturn(serviceInstanceId).when(serviceInformation).getServiceInstanceId();
561 doReturn(serviceInformation).when(networkTopologyOperation).getServiceInformation();
563 Future<RpcResult<NetworkTopologyOperationOutput>> rpcResultFuture =
564 vnfapiProvider.networkTopologyOperation(networkTopologyOperation);
566 Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode());
567 Assert.assertEquals("invalid input, null or empty service-instance-id",
568 rpcResultFuture.get().getResult().getResponseMessage());
569 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
575 * <code>svcLogicClient.hasGraph("VNF-API", SVC_OPERATION, null, "sync") == false</code>
579 @Test public void networkTopologyOperationErrorThree() throws Exception {
580 serviceInstanceId = "serviceInstanceId";
581 NetworkTopologyOperationInput networkTopologyOperationInput = mock(NetworkTopologyOperationInput.class);
582 ServiceInformation serviceInformation = mock(ServiceInformation.class);
583 doReturn(serviceInstanceId).when(serviceInformation).getServiceInstanceId();
584 doReturn(serviceInformation).when(networkTopologyOperationInput).getServiceInformation();
586 NetworkRequestInformation networkRequestInformation = mock(NetworkRequestInformation.class);
587 doReturn(networkRequestInformation).when(networkTopologyOperationInput).getNetworkRequestInformation();
588 doReturn("NetworkName").when(networkRequestInformation).getNetworkName();
590 SdncRequestHeader sdncRequestHeader = mock(SdncRequestHeader.class);
591 doReturn(SdncRequestHeader.SvcAction.Assign).when(sdncRequestHeader).getSvcAction();
592 doReturn(sdncRequestHeader).when(networkTopologyOperationInput).getSdncRequestHeader();
594 Future<RpcResult<NetworkTopologyOperationOutput>> rpcResultFuture =
595 vnfapiProvider.networkTopologyOperation(networkTopologyOperationInput);
597 Assert.assertEquals("503", rpcResultFuture.get().getResult().getResponseCode());
599 rpcResultFuture.get().getResult().getResponseMessage().contains("No service logic active for VNF-API"));
600 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
608 @Test public void networkTopologyOperationSuccess() throws Exception {
609 serviceInstanceId = "serviceInstanceId";
610 NetworkTopologyOperationInput networkTopologyOperationInput = mock(NetworkTopologyOperationInput.class);
611 ServiceInformation serviceInformation = mock(ServiceInformation.class);
612 doReturn(serviceInstanceId).when(serviceInformation).getServiceInstanceId();
613 doReturn(serviceInformation).when(networkTopologyOperationInput).getServiceInformation();
614 //mock networkRequestInformation
615 NetworkRequestInformation networkRequestInformation = mock(NetworkRequestInformation.class);
616 doReturn(networkRequestInformation).when(networkTopologyOperationInput).getNetworkRequestInformation();
617 doReturn("NetworkName").when(networkRequestInformation).getNetworkName();
618 //mock sdncRequestHeader
619 SdncRequestHeader sdncRequestHeader = mock(SdncRequestHeader.class);
620 doReturn(SdncRequestHeader.SvcAction.Assign).when(sdncRequestHeader).getSvcAction();
621 doReturn(sdncRequestHeader).when(networkTopologyOperationInput).getSdncRequestHeader();
622 doReturn(true).when(vnfsdnSvcLogicServiceClient).hasGraph(any(), any(), any(), any());
624 Future<RpcResult<NetworkTopologyOperationOutput>> rpcResultFuture =
625 vnfapiProvider.networkTopologyOperation(networkTopologyOperationInput);
627 Assert.assertEquals("200", rpcResultFuture.get().getResult().getResponseCode());
628 Assert.assertEquals(null, rpcResultFuture.get().getResult().getResponseMessage());
629 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
635 * <code>input.getVnfTopologyInformation() == null</code>
639 @Test public void preloadVnfTopologyOperationErrorOne() throws Exception {
640 PreloadVnfTopologyOperationInput preloadVnfTopologyOperationInput =
641 mock(PreloadVnfTopologyOperationInput.class);
642 doReturn(null).when(preloadVnfTopologyOperationInput).getVnfTopologyInformation();
644 Future<RpcResult<PreloadVnfTopologyOperationOutput>> rpcResultFuture =
645 vnfapiProvider.preloadVnfTopologyOperation(preloadVnfTopologyOperationInput);
647 Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode());
648 Assert.assertEquals("invalid input, null or empty vnf-name or vnf-type",
649 rpcResultFuture.get().getResult().getResponseMessage());
650 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
656 * <code>preload_name.length() == 0</code>
658 * <code>preload_type.length() == 0</code>
662 @Test public void preloadVnfTopologyOperationErrorTwo() throws Exception {
663 // preload_name.length() == 0
665 vnfType = "vfModuleModelId";
666 PreloadVnfTopologyOperationInput preloadVnfTopologyOperationInput =
667 mock(PreloadVnfTopologyOperationInput.class);
668 doReturn(null).when(preloadVnfTopologyOperationInput).getVnfTopologyInformation();
670 VnfTopologyInformation vnfTopologyInformation = mock(VnfTopologyInformation.class);
671 doReturn(vnfTopologyInformation).when(preloadVnfTopologyOperationInput).getVnfTopologyInformation();
672 VnfTopologyIdentifier vnfTopologyIdentifier = mock(VnfTopologyIdentifier.class);
673 doReturn(vnfName).when(vnfTopologyIdentifier).getVnfName();
674 doReturn(vnfType).when(vnfTopologyIdentifier).getVnfType();
675 doReturn(vnfTopologyIdentifier).when(vnfTopologyInformation).getVnfTopologyIdentifier();
677 Future<RpcResult<PreloadVnfTopologyOperationOutput>> rpcResultFuture =
678 vnfapiProvider.preloadVnfTopologyOperation(preloadVnfTopologyOperationInput);
680 Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode());
681 Assert.assertEquals("invalid input, invalid preload-name",
682 rpcResultFuture.get().getResult().getResponseMessage());
683 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
685 // preload_type.length() == 0
688 doReturn(vnfName).when(vnfTopologyIdentifier).getVnfName();
689 doReturn(vnfType).when(vnfTopologyIdentifier).getVnfType();
691 rpcResultFuture = vnfapiProvider.preloadVnfTopologyOperation(preloadVnfTopologyOperationInput);
693 Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode());
694 Assert.assertEquals("invalid input, invalid preload-type",
695 rpcResultFuture.get().getResult().getResponseMessage());
696 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
701 * <code>svcLogicClient.hasGraph("VNF-API", SVC_OPERATION, null, "sync") = false</code>
705 @Test public void preloadVnfTopologyOperationErrorThree() throws Exception {
706 // preload_name.length() == 0
708 vnfType = "vfModuleModelId";
709 PreloadVnfTopologyOperationInput preloadVnfTopologyOperationInput =
710 mock(PreloadVnfTopologyOperationInput.class);
711 doReturn(null).when(preloadVnfTopologyOperationInput).getVnfTopologyInformation();
713 VnfTopologyInformation vnfTopologyInformation = mock(VnfTopologyInformation.class);
714 doReturn(vnfTopologyInformation).when(preloadVnfTopologyOperationInput).getVnfTopologyInformation();
715 VnfTopologyIdentifier vnfTopologyIdentifier = mock(VnfTopologyIdentifier.class);
716 doReturn(vnfName).when(vnfTopologyIdentifier).getVnfName();
717 doReturn(vnfType).when(vnfTopologyIdentifier).getVnfType();
718 doReturn(vnfTopologyIdentifier).when(vnfTopologyInformation).getVnfTopologyIdentifier();
720 Future<RpcResult<PreloadVnfTopologyOperationOutput>> rpcResultFuture =
721 vnfapiProvider.preloadVnfTopologyOperation(preloadVnfTopologyOperationInput);
723 Assert.assertEquals("503", rpcResultFuture.get().getResult().getResponseCode());
725 rpcResultFuture.get().getResult().getResponseMessage().contains("No service logic active for VNF-API"));
726 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
734 @Test public void preloadVnfTopologyOperationSuccess() throws Exception {
735 // preload_name.length() == 0
737 vnfType = "vfModuleModelId";
738 PreloadVnfTopologyOperationInput preloadVnfTopologyOperationInput =
739 mock(PreloadVnfTopologyOperationInput.class);
740 doReturn(null).when(preloadVnfTopologyOperationInput).getVnfTopologyInformation();
742 VnfTopologyInformation vnfTopologyInformation = mock(VnfTopologyInformation.class);
743 doReturn(vnfTopologyInformation).when(preloadVnfTopologyOperationInput).getVnfTopologyInformation();
744 VnfTopologyIdentifier vnfTopologyIdentifier = mock(VnfTopologyIdentifier.class);
745 doReturn(vnfName).when(vnfTopologyIdentifier).getVnfName();
746 doReturn(vnfType).when(vnfTopologyIdentifier).getVnfType();
747 doReturn(vnfTopologyIdentifier).when(vnfTopologyInformation).getVnfTopologyIdentifier();
748 doReturn(true).when(vnfsdnSvcLogicServiceClient).hasGraph(any(), any(), any(), any());
750 Future<RpcResult<PreloadVnfTopologyOperationOutput>> rpcResultFuture =
751 vnfapiProvider.preloadVnfTopologyOperation(preloadVnfTopologyOperationInput);
753 Assert.assertEquals("200", rpcResultFuture.get().getResult().getResponseCode());
754 Assert.assertEquals(null, rpcResultFuture.get().getResult().getResponseMessage());
755 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
761 * <code>input.getVnfInstanceTopologyInformation() == null</code>
765 @Test public void preloadVnfInstanceTopologyOperationErrorOne() throws Exception {
766 PreloadVnfInstanceTopologyOperationInput preloadVnfInstanceTopologyOperationInput =
767 mock(PreloadVnfInstanceTopologyOperationInput.class);
768 doReturn(null).when(preloadVnfInstanceTopologyOperationInput).getVnfInstanceTopologyInformation();
769 Future<RpcResult<PreloadVnfInstanceTopologyOperationOutput>> rpcResultFuture =
770 vnfapiProvider.preloadVnfInstanceTopologyOperation(preloadVnfInstanceTopologyOperationInput);
772 Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode());
773 Assert.assertEquals("invalid input, null or empty vnf-instance-name or vnf-model-id",
774 rpcResultFuture.get().getResult().getResponseMessage());
775 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
781 * <code>preload_name = ""</code>
783 * <code>preload_type = ""</code>
787 @Test public void preloadVnfInstanceTopologyOperationErrorTwo() throws Exception {
789 vnfInstanceName = "vnfInstanceName";
791 PreloadVnfInstanceTopologyOperationInput preloadVnfInstanceTopologyOperationInput =
792 mock(PreloadVnfInstanceTopologyOperationInput.class);
793 VnfInstanceTopologyInformation vnfInstanceTopologyInformation = mock(VnfInstanceTopologyInformation.class);
794 doReturn(vnfInstanceTopologyInformation).when(preloadVnfInstanceTopologyOperationInput)
795 .getVnfInstanceTopologyInformation();
796 VnfInstanceIdentifiers vnfInstanceIdentifiers = mock(VnfInstanceIdentifiers.class);
797 doReturn(vnfInstanceName).when(vnfInstanceIdentifiers).getVnfInstanceName();
798 doReturn(vnfModelId).when(vnfInstanceIdentifiers).getVnfModelId();
799 doReturn(vnfInstanceIdentifiers).when(vnfInstanceTopologyInformation).getVnfInstanceIdentifiers();
801 Future<RpcResult<PreloadVnfInstanceTopologyOperationOutput>> rpcResultFuture =
802 vnfapiProvider.preloadVnfInstanceTopologyOperation(preloadVnfInstanceTopologyOperationInput);
804 Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode());
805 Assert.assertEquals("invalid input, invalid preload-type",
806 rpcResultFuture.get().getResult().getResponseMessage());
807 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
810 vnfInstanceName = "";
811 vnfModelId = "vnfModelId";
812 doReturn(vnfInstanceName).when(vnfInstanceIdentifiers).getVnfInstanceName();
813 doReturn(vnfModelId).when(vnfInstanceIdentifiers).getVnfModelId();
815 rpcResultFuture = vnfapiProvider.preloadVnfInstanceTopologyOperation(preloadVnfInstanceTopologyOperationInput);
817 Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode());
818 Assert.assertEquals("invalid input, invalid preload-name",
819 rpcResultFuture.get().getResult().getResponseMessage());
820 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
826 * <code>svcLogicClient.hasGraph("VNF-API", SVC_OPERATION, null, "sync") = false</code>
830 @Test public void preloadVnfInstanceTopologyOperationErrorThree() throws Exception {
832 vnfInstanceName = "vnfInstanceName";
833 vnfModelId = "vnfModelId";
834 PreloadVnfInstanceTopologyOperationInput preloadVnfInstanceTopologyOperationInput =
835 mock(PreloadVnfInstanceTopologyOperationInput.class);
836 VnfInstanceTopologyInformation vnfInstanceTopologyInformation = mock(VnfInstanceTopologyInformation.class);
837 doReturn(vnfInstanceTopologyInformation).when(preloadVnfInstanceTopologyOperationInput)
838 .getVnfInstanceTopologyInformation();
839 VnfInstanceIdentifiers vnfInstanceIdentifiers = mock(VnfInstanceIdentifiers.class);
840 doReturn(vnfInstanceName).when(vnfInstanceIdentifiers).getVnfInstanceName();
841 doReturn(vnfModelId).when(vnfInstanceIdentifiers).getVnfModelId();
842 doReturn(vnfInstanceIdentifiers).when(vnfInstanceTopologyInformation).getVnfInstanceIdentifiers();
843 SdncRequestHeader sdncRequestHeader = mock(SdncRequestHeader.class);
844 doReturn(sdncRequestHeader).when(preloadVnfInstanceTopologyOperationInput).getSdncRequestHeader();
845 doReturn(svcRequestId).when(sdncRequestHeader).getSvcRequestId();
847 Future<RpcResult<PreloadVnfInstanceTopologyOperationOutput>> rpcResultFuture =
848 vnfapiProvider.preloadVnfInstanceTopologyOperation(preloadVnfInstanceTopologyOperationInput);
850 Assert.assertEquals("503", rpcResultFuture.get().getResult().getResponseCode());
852 rpcResultFuture.get().getResult().getResponseMessage().contains("No service logic active for VNF-API"));
853 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
861 @Test public void preloadVnfInstanceTopologyOperationSuccess() throws Exception {
863 vnfInstanceName = "vnfInstanceName";
864 vnfModelId = "vnfModelId";
865 PreloadVnfInstanceTopologyOperationInput preloadVnfInstanceTopologyOperationInput =
866 mock(PreloadVnfInstanceTopologyOperationInput.class);
867 VnfInstanceTopologyInformation vnfInstanceTopologyInformation = mock(VnfInstanceTopologyInformation.class);
868 doReturn(vnfInstanceTopologyInformation).when(preloadVnfInstanceTopologyOperationInput)
869 .getVnfInstanceTopologyInformation();
870 VnfInstanceIdentifiers vnfInstanceIdentifiers = mock(VnfInstanceIdentifiers.class);
871 doReturn(vnfInstanceName).when(vnfInstanceIdentifiers).getVnfInstanceName();
872 doReturn(vnfModelId).when(vnfInstanceIdentifiers).getVnfModelId();
873 doReturn(vnfInstanceIdentifiers).when(vnfInstanceTopologyInformation).getVnfInstanceIdentifiers();
874 SdncRequestHeader sdncRequestHeader = mock(SdncRequestHeader.class);
875 doReturn(sdncRequestHeader).when(preloadVnfInstanceTopologyOperationInput).getSdncRequestHeader();
876 doReturn(svcRequestId).when(sdncRequestHeader).getSvcRequestId();
877 doReturn(true).when(vnfsdnSvcLogicServiceClient).hasGraph(any(), any(), any(), any());
879 Future<RpcResult<PreloadVnfInstanceTopologyOperationOutput>> rpcResultFuture =
880 vnfapiProvider.preloadVnfInstanceTopologyOperation(preloadVnfInstanceTopologyOperationInput);
882 Assert.assertEquals("200", rpcResultFuture.get().getResult().getResponseCode());
883 Assert.assertEquals(null, rpcResultFuture.get().getResult().getResponseMessage());
884 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
890 * <code>input.getVfModuleTopologyInformation() == null</code>
894 @Test public void preloadVfModuleTopologyOperationErrorOne() throws Exception {
895 PreloadVfModuleTopologyOperationInput preloadVnfTopologyOperationInput =
896 mock(PreloadVfModuleTopologyOperationInput.class);
897 doReturn(null).when(preloadVnfTopologyOperationInput).getVfModuleTopologyInformation();
899 Future<RpcResult<PreloadVfModuleTopologyOperationOutput>> rpcResultFuture =
900 vnfapiProvider.preloadVfModuleTopologyOperation(preloadVnfTopologyOperationInput);
902 Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode());
903 Assert.assertEquals("invalid input, null or empty vf-module-name or vf-module-model-id",
904 rpcResultFuture.get().getResult().getResponseMessage());
905 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
911 * <code>preload_name = ""</code>
913 * <code>preload_type = ""</code>
917 @Test public void preloadVfModuleTopologyOperationErrorTwo() throws Exception {
920 vfModuleModelId = "vfModuleModelId";
921 PreloadVfModuleTopologyOperationInput preloadVnfTopologyOperationInput =
922 mock(PreloadVfModuleTopologyOperationInput.class);
923 VfModuleTopologyInformation vfModuleTopologyInformation = mock(VfModuleTopologyInformation.class);
924 doReturn(vfModuleTopologyInformation).when(preloadVnfTopologyOperationInput).getVfModuleTopologyInformation();
925 VfModuleIdentifiers vfModuleIdentifiers = mock(VfModuleIdentifiers.class);
926 doReturn(vfModuleName).when(vfModuleIdentifiers).getVfModuleName();
927 doReturn(vfModuleModelId).when(vfModuleIdentifiers).getVfModuleModelId();
928 doReturn(vfModuleIdentifiers).when(vfModuleTopologyInformation).getVfModuleIdentifiers();
930 Future<RpcResult<PreloadVfModuleTopologyOperationOutput>> rpcResultFuture =
931 vnfapiProvider.preloadVfModuleTopologyOperation(preloadVnfTopologyOperationInput);
933 Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode());
934 Assert.assertEquals("invalid input, invalid preload-name",
935 rpcResultFuture.get().getResult().getResponseMessage());
936 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
939 vfModuleName = "vfModuleName";
940 vfModuleModelId = "";
941 doReturn(vfModuleName).when(vfModuleIdentifiers).getVfModuleName();
942 doReturn(vfModuleModelId).when(vfModuleIdentifiers).getVfModuleModelId();
944 rpcResultFuture = vnfapiProvider.preloadVfModuleTopologyOperation(preloadVnfTopologyOperationInput);
946 Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode());
947 Assert.assertEquals("invalid input, invalid preload-type",
948 rpcResultFuture.get().getResult().getResponseMessage());
949 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
955 * <code>svcLogicClient.hasGraph("VNF-API", SVC_OPERATION, null, "sync") = false</code>
959 @Test public void preloadVfModuleTopologyOperationErrorThree() throws Exception {
961 vfModuleName = "vfModuleName";
962 vfModuleModelId = "vfModuleModelId";
963 PreloadVfModuleTopologyOperationInput preloadVnfTopologyOperationInput =
964 mock(PreloadVfModuleTopologyOperationInput.class);
965 VfModuleTopologyInformation vfModuleTopologyInformation = mock(VfModuleTopologyInformation.class);
966 doReturn(vfModuleTopologyInformation).when(preloadVnfTopologyOperationInput).getVfModuleTopologyInformation();
967 VfModuleIdentifiers vfModuleIdentifiers = mock(VfModuleIdentifiers.class);
968 doReturn(vfModuleName).when(vfModuleIdentifiers).getVfModuleName();
969 doReturn(vfModuleModelId).when(vfModuleIdentifiers).getVfModuleModelId();
970 doReturn(vfModuleIdentifiers).when(vfModuleTopologyInformation).getVfModuleIdentifiers();
971 SdncRequestHeader sdncRequestHeader = mock(SdncRequestHeader.class);
972 doReturn(sdncRequestHeader).when(preloadVnfTopologyOperationInput).getSdncRequestHeader();
973 doReturn(svcRequestId).when(sdncRequestHeader).getSvcRequestId();
975 Future<RpcResult<PreloadVfModuleTopologyOperationOutput>> rpcResultFuture =
976 vnfapiProvider.preloadVfModuleTopologyOperation(preloadVnfTopologyOperationInput);
978 Assert.assertEquals("503", rpcResultFuture.get().getResult().getResponseCode());
980 rpcResultFuture.get().getResult().getResponseMessage().contains("No service logic active for VNF-API"));
981 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
989 @Test public void preloadVfModuleTopologyOperationSuccess() throws Exception {
991 vfModuleName = "vfModuleName";
992 vfModuleModelId = "vfModuleModelId";
993 PreloadVfModuleTopologyOperationInput preloadVnfTopologyOperationInput =
994 mock(PreloadVfModuleTopologyOperationInput.class);
995 VfModuleTopologyInformation vfModuleTopologyInformation = mock(VfModuleTopologyInformation.class);
996 doReturn(vfModuleTopologyInformation).when(preloadVnfTopologyOperationInput).getVfModuleTopologyInformation();
997 VfModuleIdentifiers vfModuleIdentifiers = mock(VfModuleIdentifiers.class);
998 doReturn(vfModuleName).when(vfModuleIdentifiers).getVfModuleName();
999 doReturn(vfModuleModelId).when(vfModuleIdentifiers).getVfModuleModelId();
1000 doReturn(vfModuleIdentifiers).when(vfModuleTopologyInformation).getVfModuleIdentifiers();
1001 SdncRequestHeader sdncRequestHeader = mock(SdncRequestHeader.class);
1002 doReturn(sdncRequestHeader).when(preloadVnfTopologyOperationInput).getSdncRequestHeader();
1003 doReturn(svcRequestId).when(sdncRequestHeader).getSvcRequestId();
1004 doReturn(true).when(vnfsdnSvcLogicServiceClient).hasGraph(any(), any(), any(), any());
1006 Future<RpcResult<PreloadVfModuleTopologyOperationOutput>> rpcResultFuture =
1007 vnfapiProvider.preloadVfModuleTopologyOperation(preloadVnfTopologyOperationInput);
1009 Assert.assertEquals("200", rpcResultFuture.get().getResult().getResponseCode());
1010 Assert.assertEquals(null, rpcResultFuture.get().getResult().getResponseMessage());
1011 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
1017 * <code>input.getNetworkTopologyInformation() == null</code>
1021 @Test public void preloadNetworkTopologyOperationErrorOne() throws Exception {
1022 PreloadNetworkTopologyOperationInput PreloadNetworkTopologyOperationInput =
1023 mock(PreloadNetworkTopologyOperationInput.class);
1024 doReturn(null).when(PreloadNetworkTopologyOperationInput).getNetworkTopologyInformation();
1026 Future<RpcResult<PreloadNetworkTopologyOperationOutput>> rpcResultFuture =
1027 vnfapiProvider.preloadNetworkTopologyOperation(PreloadNetworkTopologyOperationInput);
1029 Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode());
1030 Assert.assertEquals("input, null or empty network-name or network-type",
1031 rpcResultFuture.get().getResult().getResponseMessage());
1032 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
1038 * <code>preload_name == ""</code>
1040 * <code>preload_type == ""ss</code>
1044 @Test public void preloadNetworkTopologyOperationErrorTwo() throws Exception {
1045 String networkName = "";
1046 String networkType = "NetworkType";
1047 PreloadNetworkTopologyOperationInput PreloadNetworkTopologyOperationInput =
1048 mock(PreloadNetworkTopologyOperationInput.class);
1049 NetworkTopologyInformation networkTopologyInformation = mock(NetworkTopologyInformation.class);
1050 doReturn(networkTopologyInformation).when(PreloadNetworkTopologyOperationInput).getNetworkTopologyInformation();
1051 NetworkTopologyIdentifier networkTopologyIdentifier = mock(NetworkTopologyIdentifier.class);
1052 doReturn(networkTopologyIdentifier).when(networkTopologyInformation).getNetworkTopologyIdentifier();
1053 doReturn(networkName).when(networkTopologyIdentifier).getNetworkName();
1054 doReturn(networkType).when(networkTopologyIdentifier).getNetworkType();
1056 Future<RpcResult<PreloadNetworkTopologyOperationOutput>> rpcResultFuture =
1057 vnfapiProvider.preloadNetworkTopologyOperation(PreloadNetworkTopologyOperationInput);
1059 Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode());
1060 Assert.assertEquals("input, invalid preload-name", rpcResultFuture.get().getResult().getResponseMessage());
1061 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
1063 networkName = "NetworkName";
1065 doReturn(networkName).when(networkTopologyIdentifier).getNetworkName();
1066 doReturn(networkType).when(networkTopologyIdentifier).getNetworkType();
1068 rpcResultFuture = vnfapiProvider.preloadNetworkTopologyOperation(PreloadNetworkTopologyOperationInput);
1070 Assert.assertEquals("403", rpcResultFuture.get().getResult().getResponseCode());
1071 Assert.assertEquals("input, invalid preload-type", rpcResultFuture.get().getResult().getResponseMessage());
1072 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
1078 * <code>svcLogicClient.hasGraph("VNF-API",SVC_OPERATION,null,"sync" = false</code>
1082 @Test public void preloadNetworkTopologyOperationErrorThree() throws Exception {
1083 String networkName = "NetworkName";
1084 String networkType = "NetworkType";
1085 PreloadNetworkTopologyOperationInput PreloadNetworkTopologyOperationInput =
1086 mock(PreloadNetworkTopologyOperationInput.class);
1087 NetworkTopologyInformation networkTopologyInformation = mock(NetworkTopologyInformation.class);
1088 doReturn(networkTopologyInformation).when(PreloadNetworkTopologyOperationInput).getNetworkTopologyInformation();
1089 NetworkTopologyIdentifier networkTopologyIdentifier = mock(NetworkTopologyIdentifier.class);
1090 doReturn(networkTopologyIdentifier).when(networkTopologyInformation).getNetworkTopologyIdentifier();
1091 doReturn(networkName).when(networkTopologyIdentifier).getNetworkName();
1092 doReturn(networkType).when(networkTopologyIdentifier).getNetworkType();
1093 SdncRequestHeader sdncRequestHeader = mock(SdncRequestHeader.class);
1094 doReturn(sdncRequestHeader).when(PreloadNetworkTopologyOperationInput).getSdncRequestHeader();
1095 doReturn(svcRequestId).when(sdncRequestHeader).getSvcRequestId();
1097 Future<RpcResult<PreloadNetworkTopologyOperationOutput>> rpcResultFuture =
1098 vnfapiProvider.preloadNetworkTopologyOperation(PreloadNetworkTopologyOperationInput);
1100 Assert.assertEquals("503", rpcResultFuture.get().getResult().getResponseCode());
1102 rpcResultFuture.get().getResult().getResponseMessage().contains("No service logic active for VNF-API"));
1103 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
1111 @Test public void preloadNetworkTopologyOperationErrorFour() throws Exception {
1112 String networkName = "NetworkName";
1113 String networkType = "NetworkType";
1114 PreloadNetworkTopologyOperationInput PreloadNetworkTopologyOperationInput =
1115 mock(PreloadNetworkTopologyOperationInput.class);
1116 NetworkTopologyInformation networkTopologyInformation = mock(NetworkTopologyInformation.class);
1117 doReturn(networkTopologyInformation).when(PreloadNetworkTopologyOperationInput).getNetworkTopologyInformation();
1118 NetworkTopologyIdentifier networkTopologyIdentifier = mock(NetworkTopologyIdentifier.class);
1119 doReturn(networkTopologyIdentifier).when(networkTopologyInformation).getNetworkTopologyIdentifier();
1120 doReturn(networkName).when(networkTopologyIdentifier).getNetworkName();
1121 doReturn(networkType).when(networkTopologyIdentifier).getNetworkType();
1122 SdncRequestHeader sdncRequestHeader = mock(SdncRequestHeader.class);
1123 doReturn(sdncRequestHeader).when(PreloadNetworkTopologyOperationInput).getSdncRequestHeader();
1124 doReturn(svcRequestId).when(sdncRequestHeader).getSvcRequestId();
1125 doReturn(true).when(vnfsdnSvcLogicServiceClient).hasGraph(any(), any(), any(), any());
1126 doReturn(null).when(dataBroker).newWriteOnlyTransaction();
1128 Future<RpcResult<PreloadNetworkTopologyOperationOutput>> rpcResultFuture =
1129 vnfapiProvider.preloadNetworkTopologyOperation(PreloadNetworkTopologyOperationInput);
1131 Assert.assertEquals("500", rpcResultFuture.get().getResult().getResponseCode());
1132 Assert.assertEquals("java.lang.NullPointerException", rpcResultFuture.get().getResult().getResponseMessage());
1133 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
1141 @Test public void preloadNetworkTopologyOperationSuccess() throws Exception {
1142 String networkName = "NetworkName";
1143 String networkType = "NetworkType";
1144 PreloadNetworkTopologyOperationInput PreloadNetworkTopologyOperationInput =
1145 mock(PreloadNetworkTopologyOperationInput.class);
1146 NetworkTopologyInformation networkTopologyInformation = mock(NetworkTopologyInformation.class);
1147 doReturn(networkTopologyInformation).when(PreloadNetworkTopologyOperationInput).getNetworkTopologyInformation();
1148 NetworkTopologyIdentifier networkTopologyIdentifier = mock(NetworkTopologyIdentifier.class);
1149 doReturn(networkTopologyIdentifier).when(networkTopologyInformation).getNetworkTopologyIdentifier();
1150 doReturn(networkName).when(networkTopologyIdentifier).getNetworkName();
1151 doReturn(networkType).when(networkTopologyIdentifier).getNetworkType();
1152 SdncRequestHeader sdncRequestHeader = mock(SdncRequestHeader.class);
1153 doReturn(sdncRequestHeader).when(PreloadNetworkTopologyOperationInput).getSdncRequestHeader();
1154 doReturn(svcRequestId).when(sdncRequestHeader).getSvcRequestId();
1155 doReturn(true).when(vnfsdnSvcLogicServiceClient).hasGraph(any(), any(), any(), any());
1157 Future<RpcResult<PreloadNetworkTopologyOperationOutput>> rpcResultFuture =
1158 vnfapiProvider.preloadNetworkTopologyOperation(PreloadNetworkTopologyOperationInput);
1160 Assert.assertEquals("200", rpcResultFuture.get().getResult().getResponseCode());
1161 Assert.assertEquals(null, rpcResultFuture.get().getResult().getResponseMessage());
1162 Assert.assertEquals("Y", rpcResultFuture.get().getResult().getAckFinalIndicator());
1165 @Test public void getVfModuleServiceData() throws Exception {
1166 // Three parameters: siid, vfModuleServiceDataBuilder, LogicalDatastoreType
1167 String ssid = "ssid";
1168 VfModuleServiceDataBuilder vfModuleServiceDataBuilder = spy(new VfModuleServiceDataBuilder());
1169 Optional<VfModuleList> optional = mock(Optional.class);
1170 doReturn(optional).when(checkedFuture).get();
1171 doReturn(true).when(optional).isPresent();
1172 VfModuleList vfModuleList = mock(VfModuleList.class);
1173 doReturn(vfModuleList).when(optional).get();
1174 VfModuleServiceData vfModuleServiceData = mock(VfModuleServiceData.class);
1175 doReturn(vfModuleServiceData).when(vfModuleList).getVfModuleServiceData();
1176 SdncRequestHeader sdncRequestHeader = mock(SdncRequestHeader.class);
1177 doReturn(sdncRequestHeader).when(vfModuleServiceData).getSdncRequestHeader();
1179 Whitebox.invokeMethod(vnfapiProvider, "getVfModuleServiceData", ssid, vfModuleServiceDataBuilder,
1180 LogicalDatastoreType.CONFIGURATION);
1182 Assert.assertEquals(sdncRequestHeader, vfModuleServiceDataBuilder.getSdncRequestHeader());
1184 //With Two parameters: siid, vfModuleServiceDataBuilder
1185 Whitebox.invokeMethod(vnfapiProvider, "getVfModuleServiceData", ssid, vfModuleServiceDataBuilder);
1187 Assert.assertEquals(sdncRequestHeader, vfModuleServiceDataBuilder.getSdncRequestHeader());
1190 @Test public void getPreloadData() throws Exception {
1192 // String preload_name, String preload_type, PreloadDataBuilder preloadDataBuilder, LogicalDatastoreType type
1193 PreloadDataBuilder preloadDataBuilder = spy(new PreloadDataBuilder());
1195 Optional<VnfPreloadList> optional = mock(Optional.class);
1196 doReturn(optional).when(checkedFuture).get();
1197 doReturn(true).when(optional).isPresent();
1199 VnfPreloadList vnfPreloadList = mock(VnfPreloadList.class);
1200 doReturn(vnfPreloadList).when(optional).get();
1201 PreloadData preloadData = mock(PreloadData.class);
1202 doReturn(preloadData).when(vnfPreloadList).getPreloadData();
1204 VnfTopologyInformation vnfTopologyInformation = mock(VnfTopologyInformation.class);
1205 doReturn(vnfTopologyInformation).when(preloadData).getVnfTopologyInformation();
1207 Whitebox.invokeMethod(vnfapiProvider, "getPreloadData", "preloadName", "preloadType", preloadDataBuilder,
1208 LogicalDatastoreType.CONFIGURATION);
1210 Assert.assertEquals(vnfTopologyInformation, preloadDataBuilder.getVnfTopologyInformation());
1212 // Three parameters:
1213 // String preload_name, String preload_type, PreloadDataBuilder preloadDataBuilder, LogicalDatastoreType type
1214 Whitebox.invokeMethod(vnfapiProvider, "getPreloadData", "preloadName", "preloadType", preloadDataBuilder);
1216 Assert.assertEquals(vnfTopologyInformation, preloadDataBuilder.getVnfTopologyInformation());
1219 @Test public void getVnfInstancePreloadData() throws Exception {
1221 // String preload_name, String preload_type, VnfInstancePreloadDataBuilder preloadDataBuilder,
1222 // LogicalDatastoreType type
1223 VnfInstancePreloadDataBuilder vnfInstancePreloadDataBuilder = spy(new VnfInstancePreloadDataBuilder());
1225 Optional<VnfPreloadList> optional = mock(Optional.class);
1226 doReturn(optional).when(checkedFuture).get();
1227 doReturn(true).when(optional).isPresent();
1228 VnfInstancePreloadList vnfInstancePreloadList = mock(VnfInstancePreloadList.class);
1229 doReturn(vnfInstancePreloadList).when(optional).get();
1230 VnfInstancePreloadData vnfInstancePreloadData = mock(VnfInstancePreloadData.class);
1231 doReturn(vnfInstancePreloadData).when(vnfInstancePreloadList).getVnfInstancePreloadData();
1232 VnfInstanceTopologyInformation vnfInstanceTopologyInformation = mock(VnfInstanceTopologyInformation.class);
1233 doReturn(vnfInstanceTopologyInformation).when(vnfInstancePreloadData).getVnfInstanceTopologyInformation();
1235 Whitebox.invokeMethod(vnfapiProvider, "getVnfInstancePreloadData", "preloadName", "preloadType",
1236 vnfInstancePreloadDataBuilder, LogicalDatastoreType.CONFIGURATION);
1238 Assert.assertEquals(vnfInstanceTopologyInformation,
1239 vnfInstancePreloadDataBuilder.getVnfInstanceTopologyInformation());
1241 // Three Parameters:
1242 // String preload_name, String preload_type, VnfInstancePreloadDataBuilder preloadDataBuilder
1243 Whitebox.invokeMethod(vnfapiProvider, "getVnfInstancePreloadData", "preloadName", "preloadType",
1244 vnfInstancePreloadDataBuilder);
1246 Assert.assertEquals(vnfInstanceTopologyInformation,
1247 vnfInstancePreloadDataBuilder.getVnfInstanceTopologyInformation());
1250 @Test public void getVfModulePreloadData() throws Exception {
1252 // String preload_name, String preload_type, VfModulePreloadDataBuilder preloadDataBuilder,
1253 // LogicalDatastoreType type
1254 VfModulePreloadDataBuilder vfModulePreloadDataBuilder = spy(new VfModulePreloadDataBuilder());
1256 Optional<VfModulePreloadList> optional = mock(Optional.class);
1257 doReturn(optional).when(checkedFuture).get();
1258 doReturn(true).when(optional).isPresent();
1259 VfModulePreloadList vfModulePreloadList = mock(VfModulePreloadList.class);
1260 doReturn(vfModulePreloadList).when(optional).get();
1261 VfModulePreloadData vfModulePreloadData = mock(VfModulePreloadData.class);
1262 doReturn(vfModulePreloadData).when(vfModulePreloadList).getVfModulePreloadData();
1263 VfModuleTopologyInformation vfModuleTopologyInformation = mock(VfModuleTopologyInformation.class);
1264 doReturn(vfModuleTopologyInformation).when(vfModulePreloadData).getVfModuleTopologyInformation();
1266 Whitebox.invokeMethod(vnfapiProvider, "getVfModulePreloadData", "preloadName", "preloadType",
1267 vfModulePreloadDataBuilder, LogicalDatastoreType.CONFIGURATION);
1269 Assert.assertEquals(vfModuleTopologyInformation, vfModulePreloadDataBuilder.getVfModuleTopologyInformation());
1271 // Three Parameters:
1272 // String vnf_name, String vnf_type, VfModulePreloadDataBuilder preloadDataBuilder
1273 Whitebox.invokeMethod(vnfapiProvider, "getVfModulePreloadData", "preloadName", "preloadType",
1274 vfModulePreloadDataBuilder);
1276 Assert.assertEquals(vfModuleTopologyInformation, vfModulePreloadDataBuilder.getVfModuleTopologyInformation());
1280 * With ServiceStatusBuilder, RequestInformation
1282 @Test public void setServiceStatusOne() throws Exception {
1283 // VNFActivateRequest
1284 RequestInformation requestInformation = mock(RequestInformation.class);
1285 ServiceStatusBuilder serviceStatusBuilder = spy(new ServiceStatusBuilder());
1286 doReturn(RequestInformation.RequestAction.VNFActivateRequest).when(requestInformation).getRequestAction();
1287 doReturn(RequestInformation.RequestSubAction.SUPP).when(requestInformation).getRequestSubAction();
1288 Whitebox.invokeMethod(vnfapiProvider, "setServiceStatus", serviceStatusBuilder, requestInformation);
1289 Assert.assertEquals(ServiceStatus.VnfsdnAction.VNFActivateRequest, serviceStatusBuilder.getVnfsdnAction());
1291 //ChangeVNFActivateRequest
1292 doReturn(RequestInformation.RequestAction.ChangeVNFActivateRequest).when(requestInformation).getRequestAction();
1293 doReturn(RequestInformation.RequestSubAction.CANCEL).when(requestInformation).getRequestSubAction();
1294 Whitebox.invokeMethod(vnfapiProvider, "setServiceStatus", serviceStatusBuilder, requestInformation);
1296 .assertEquals(ServiceStatus.VnfsdnAction.ChangeVNFActivateRequest, serviceStatusBuilder.getVnfsdnAction());
1298 //DisconnectVNFRequest
1299 doReturn(RequestInformation.RequestAction.DisconnectVNFRequest).when(requestInformation).getRequestAction();
1300 Whitebox.invokeMethod(vnfapiProvider, "setServiceStatus", serviceStatusBuilder, requestInformation);
1301 Assert.assertEquals(ServiceStatus.VnfsdnAction.DisconnectVNFRequest, serviceStatusBuilder.getVnfsdnAction());
1304 doReturn(RequestInformation.RequestAction.PreloadVNFRequest).when(requestInformation).getRequestAction();
1305 Whitebox.invokeMethod(vnfapiProvider, "setServiceStatus", serviceStatusBuilder, requestInformation);
1306 Assert.assertEquals(ServiceStatus.VnfsdnAction.PreloadVNFRequest, serviceStatusBuilder.getVnfsdnAction());
1308 //DeletePreloadVNFRequest
1309 doReturn(RequestInformation.RequestAction.DeletePreloadVNFRequest).when(requestInformation).getRequestAction();
1310 Whitebox.invokeMethod(vnfapiProvider, "setServiceStatus", serviceStatusBuilder, requestInformation);
1311 Assert.assertEquals(ServiceStatus.VnfsdnAction.DeletePreloadVNFRequest, serviceStatusBuilder.getVnfsdnAction());
1313 //VnfInstanceActivateRequest
1314 doReturn(RequestInformation.RequestAction.VnfInstanceActivateRequest).when(requestInformation)
1315 .getRequestAction();
1316 Whitebox.invokeMethod(vnfapiProvider, "setServiceStatus", serviceStatusBuilder, requestInformation);
1317 Assert.assertEquals(ServiceStatus.VnfsdnAction.VnfInstanceActivateRequest,
1318 serviceStatusBuilder.getVnfsdnAction());
1320 //ChangeVnfInstanceActivateRequest
1321 doReturn(RequestInformation.RequestAction.ChangeVnfInstanceActivateRequest).when(requestInformation)
1322 .getRequestAction();
1323 Whitebox.invokeMethod(vnfapiProvider, "setServiceStatus", serviceStatusBuilder, requestInformation);
1324 Assert.assertEquals(ServiceStatus.VnfsdnAction.ChangeVnfInstanceActivateRequest,
1325 serviceStatusBuilder.getVnfsdnAction());
1327 //DisconnectVnfInstanceRequest
1328 doReturn(RequestInformation.RequestAction.DisconnectVnfInstanceRequest).when(requestInformation)
1329 .getRequestAction();
1330 Whitebox.invokeMethod(vnfapiProvider, "setServiceStatus", serviceStatusBuilder, requestInformation);
1331 Assert.assertEquals(ServiceStatus.VnfsdnAction.DisconnectVnfInstanceRequest,
1332 serviceStatusBuilder.getVnfsdnAction());
1334 //PreloadVnfInstanceRequest
1335 doReturn(RequestInformation.RequestAction.PreloadVnfInstanceRequest).when(requestInformation)
1336 .getRequestAction();
1337 Whitebox.invokeMethod(vnfapiProvider, "setServiceStatus", serviceStatusBuilder, requestInformation);
1339 .assertEquals(ServiceStatus.VnfsdnAction.PreloadVnfInstanceRequest, serviceStatusBuilder.getVnfsdnAction());
1341 //VfModuleActivateRequest
1342 doReturn(RequestInformation.RequestAction.VfModuleActivateRequest).when(requestInformation).getRequestAction();
1343 Whitebox.invokeMethod(vnfapiProvider, "setServiceStatus", serviceStatusBuilder, requestInformation);
1344 Assert.assertEquals(ServiceStatus.VnfsdnAction.VfModuleActivateRequest, serviceStatusBuilder.getVnfsdnAction());
1346 //ChangeVfModuleActivateRequest
1347 doReturn(RequestInformation.RequestAction.ChangeVfModuleActivateRequest).when(requestInformation)
1348 .getRequestAction();
1349 Whitebox.invokeMethod(vnfapiProvider, "setServiceStatus", serviceStatusBuilder, requestInformation);
1350 Assert.assertEquals(ServiceStatus.VnfsdnAction.ChangeVfModuleActivateRequest,
1351 serviceStatusBuilder.getVnfsdnAction());
1353 //DisconnectVfModuleRequest
1354 doReturn(RequestInformation.RequestAction.DisconnectVfModuleRequest).when(requestInformation)
1355 .getRequestAction();
1356 Whitebox.invokeMethod(vnfapiProvider, "setServiceStatus", serviceStatusBuilder, requestInformation);
1358 .assertEquals(ServiceStatus.VnfsdnAction.DisconnectVfModuleRequest, serviceStatusBuilder.getVnfsdnAction());
1360 //PreloadVfModuleRequest
1361 doReturn(RequestInformation.RequestAction.PreloadVfModuleRequest).when(requestInformation).getRequestAction();
1362 Whitebox.invokeMethod(vnfapiProvider, "setServiceStatus", serviceStatusBuilder, requestInformation);
1363 Assert.assertEquals(ServiceStatus.VnfsdnAction.PreloadVfModuleRequest, serviceStatusBuilder.getVnfsdnAction());
1366 @Test public void getServiceData() throws Exception {
1367 ServiceDataBuilder serviceDataBuilder = spy(new ServiceDataBuilder());
1369 Optional<VnfList> optional = mock(Optional.class);
1370 doReturn(optional).when(checkedFuture).get();
1371 doReturn(true).when(optional).isPresent();
1372 VnfList vnfList = mock(VnfList.class);
1373 doReturn(vnfList).when(optional).get();
1374 ServiceData serviceData = mock(ServiceData.class);
1375 doReturn(serviceData).when(vnfList).getServiceData();
1376 SdncRequestHeader sdncRequestHeader = mock(SdncRequestHeader.class);
1377 doReturn(sdncRequestHeader).when(serviceData).getSdncRequestHeader();
1379 Whitebox.invokeMethod(vnfapiProvider, "getServiceData", "siid", serviceDataBuilder,
1380 LogicalDatastoreType.CONFIGURATION);
1382 Assert.assertEquals(sdncRequestHeader, serviceDataBuilder.getSdncRequestHeader());
1385 @Test public void getVnfInstanceServiceData() throws Exception {
1386 VnfInstanceServiceDataBuilder vnfInstanceServiceDataBuilder = spy(new VnfInstanceServiceDataBuilder());
1388 Optional<VnfList> optional = mock(Optional.class);
1389 doReturn(optional).when(checkedFuture).get();
1390 doReturn(true).when(optional).isPresent();
1391 VnfInstanceList vnfInstanceList = mock(VnfInstanceList.class);
1392 doReturn(vnfInstanceList).when(optional).get();
1393 VnfInstanceServiceData vnfInstanceServiceData = mock(VnfInstanceServiceData.class);
1394 doReturn(vnfInstanceServiceData).when(vnfInstanceList).getVnfInstanceServiceData();
1395 SdncRequestHeader sdncRequestHeader = mock(SdncRequestHeader.class);
1396 doReturn(sdncRequestHeader).when(vnfInstanceServiceData).getSdncRequestHeader();
1398 Whitebox.invokeMethod(vnfapiProvider, "getVnfInstanceServiceData", "siid", vnfInstanceServiceDataBuilder,
1399 LogicalDatastoreType.CONFIGURATION);
1401 Assert.assertEquals(sdncRequestHeader, vnfInstanceServiceDataBuilder.getSdncRequestHeader());
1404 @Test public void DeleteVnfList() throws Exception {
1405 LogicalDatastoreType configuration = LogicalDatastoreType.CONFIGURATION;
1406 VnfList vnfList = mock(VnfList.class);
1407 VnfListKey vnfListKey = mock(VnfListKey.class);
1408 doReturn(vnfListKey).when(vnfList).key();
1409 InstanceIdentifier<VnfList> vnfListInstanceIdentifier = mock(InstanceIdentifier.class);
1410 dataBroker.newWriteOnlyTransaction().put(configuration, vnfListInstanceIdentifier, vnfList);
1412 Whitebox.invokeMethod(vnfapiProvider, "DeleteVnfList", vnfList, configuration);
1414 verify(dataBroker, times(2)).newWriteOnlyTransaction();