+
+ Mockito.when(mockVNFSDNSvcLogicServiceClient
+ .hasGraph(Mockito.any(),Mockito.any(), Mockito.any(),Mockito.any()))
+ .thenReturn(false);
+
+ checkVnfInstanceTopologyOperation(input, "503", NO_SERVICE_LOGIC);
+ }
+
+
+ @Test
+ public void vnfInstanceTopologyOperationInput_svcLogicClientExecuteThrowsSvcLogicException() throws Exception {
+ VnfInstanceTopologyOperationInputBuilder builder = new VnfInstanceTopologyOperationInputBuilder();
+ builder.setVnfInstanceRequestInformation(createVnfInstanceRequestInformation(VIID));
+ VnfInstanceTopologyOperationInput input = builder.build();
+
+ Mockito.when(mockVNFSDNSvcLogicServiceClient
+ .hasGraph(Mockito.any(),Mockito.any(), Mockito.any(),Mockito.any()))
+ .thenReturn(true);
+ setMockVNFSDNSvcLogicServiceClientToThrowException(SvcLogicException.class);
+ checkVnfInstanceTopologyOperation(input, "500", null);
+ }
+
+ @Test
+ public void vnfInstanceTopologyOperationInput_svcLogicClientExecuteThrowsException() throws Exception {
+ VnfInstanceTopologyOperationInputBuilder builder = new VnfInstanceTopologyOperationInputBuilder();
+ builder.setVnfInstanceRequestInformation(createVnfInstanceRequestInformation(VIID));
+ VnfInstanceTopologyOperationInput input = builder.build();
+
+ Mockito.when(mockVNFSDNSvcLogicServiceClient
+ .hasGraph(Mockito.any(),Mockito.any(), Mockito.any(),Mockito.any()))
+ .thenReturn(true);
+ setMockVNFSDNSvcLogicServiceClientToThrowException(Exception.class);
+ checkVnfInstanceTopologyOperation(input, "500", null);
+ }
+
+ private void setMockVNFSDNSvcLogicServiceClientToThrowException(Class exceptionClass) throws Exception {
+ Mockito.when(mockVNFSDNSvcLogicServiceClient
+ .execute(Mockito.any(),
+ Mockito.any(),
+ Mockito.any(),
+ Mockito.any(),
+ Mockito.any(VnfInstanceServiceDataBuilder.class),
+ Mockito.any()))
+ .thenThrow(exceptionClass.asSubclass(Throwable.class));
+ }
+ private VnfInstanceRequestInformation createVnfInstanceRequestInformation(String vnfInstanceId) {
+ return new VnfInstanceRequestInformationBuilder()
+ .setVnfInstanceId(vnfInstanceId)
+ .setVnfInstanceName(PRELOAD_NAME)
+ .setVnfModelId(PRELOAD_TYPE)
+ .build();
+ }
+
+ private void checkVnfInstanceTopologyOperation(VnfInstanceTopologyOperationInput input,
+ String expectedResponseCode, String expectedResponseMessage) throws ExecutionException, InterruptedException {
+
+ VnfInstanceTopologyOperationOutput output = executeVnfInstanceTopologyOperation(input);
+ checkVnfInstanceTopologyOperationOutput(output, expectedResponseCode, expectedResponseMessage);
+ }
+
+ private VnfInstanceTopologyOperationOutput executeVnfInstanceTopologyOperation(
+ VnfInstanceTopologyOperationInput input) throws ExecutionException, InterruptedException {
+ return vnfapiProvider