2  * ============LICENSE_START=======================================================
 
   4  * ================================================================================
 
   5  * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
 
   6  * ================================================================================
 
   7  * Licensed under the Apache License, Version 2.0 (the "License");
 
   8  * you may not use this file except in compliance with the License.
 
   9  * You may obtain a copy of the License at
 
  11  *      http://www.apache.org/licenses/LICENSE-2.0
 
  13  * Unless required by applicable law or agreed to in writing, software
 
  14  * distributed under the License is distributed on an "AS IS" BASIS,
 
  15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 
  16  * See the License for the specific language governing permissions and
 
  17  * limitations under the License.
 
  18  * ============LICENSE_END=========================================================
 
  20 package org.onap.so.apihandlerinfra;
 
  22 import static com.shazam.shazamcrest.MatcherAssert.assertThat;
 
  23 import static com.shazam.shazamcrest.matcher.Matchers.sameBeanAs;
 
  24 import static org.mockito.ArgumentMatchers.any;
 
  25 import static org.mockito.ArgumentMatchers.anyBoolean;
 
  26 import static org.mockito.ArgumentMatchers.anyString;
 
  27 import static org.mockito.ArgumentMatchers.nullable;
 
  28 import static org.mockito.Mockito.doNothing;
 
  29 import static org.mockito.Mockito.doReturn;
 
  30 import static org.mockito.Mockito.doThrow;
 
  31 import static org.mockito.Mockito.verify;
 
  32 import static org.mockito.Mockito.when;
 
  33 import static org.junit.Assert.assertEquals;
 
  34 import java.io.IOException;
 
  35 import java.nio.file.Files;
 
  36 import java.nio.file.Paths;
 
  37 import java.sql.Timestamp;
 
  38 import java.util.HashMap;
 
  39 import javax.ws.rs.container.ContainerRequestContext;
 
  40 import javax.ws.rs.core.Response;
 
  41 import org.junit.Before;
 
  42 import org.junit.Rule;
 
  43 import org.junit.Test;
 
  44 import org.junit.rules.ExpectedException;
 
  45 import org.junit.runner.RunWith;
 
  46 import org.mockito.InjectMocks;
 
  47 import org.mockito.Mock;
 
  48 import org.mockito.Spy;
 
  49 import org.mockito.junit.MockitoJUnitRunner;
 
  50 import org.onap.so.apihandler.common.RequestClientParameter;
 
  51 import org.onap.so.apihandlerinfra.exceptions.ApiException;
 
  52 import org.onap.so.apihandlerinfra.exceptions.DuplicateRequestException;
 
  53 import org.onap.so.apihandlerinfra.exceptions.RequestDbFailureException;
 
  54 import org.onap.so.apihandlerinfra.exceptions.ValidateException;
 
  55 import org.onap.so.constants.Status;
 
  56 import org.onap.so.db.request.beans.InfraActiveRequests;
 
  57 import org.onap.so.db.request.client.RequestsDbClient;
 
  58 import org.onap.so.serviceinstancebeans.ModelInfo;
 
  59 import org.onap.so.serviceinstancebeans.ServiceInstancesRequest;
 
  60 import org.springframework.web.client.HttpClientErrorException;
 
  61 import com.fasterxml.jackson.databind.ObjectMapper;
 
  62 import org.onap.so.serviceinstancebeans.ModelType;
 
  64 @RunWith(MockitoJUnitRunner.class)
 
  65 public class ResumeOrchestrationRequestTest {
 
  67     private RequestHandlerUtils requestHandler;
 
  70     private MsoRequest msoRequest;
 
  73     private ServiceInstances serviceInstances;
 
  76     private RequestsDbClient requestDbClient;
 
  80     private ResumeOrchestrationRequest resumeReq;
 
  83     public ExpectedException thrown = ExpectedException.none();
 
  85     private static final String CURRENT_REQUEST_ID = "eca3a1b1-43ab-457e-ab1c-367263d148b4";
 
  86     private static final String REQUEST_ID = "00032ab7-na18-42e5-965d-8ea592502019";
 
  87     private static final String SERVICE_INSTANCE_ID = "00032ab7-na18-42e5-965d-8ea592502018";
 
  88     private static final String VNF_ID = "00032ab7-na18-42e5-965d-8ea592502017";
 
  89     private static final String VFMODULE_ID = "00032ab7-na18-42e5-965d-8ea592502016";
 
  90     private static final String NETWORK_ID = "00032ab7-na18-42e5-965d-8ea592502015";
 
  91     private static final String VOLUME_GROUP_ID = "00032ab7-na18-42e5-965d-8ea592502014";
 
  92     private static final String SERVICE_INSTANCE_NAME = "serviceInstanceName";
 
  93     private static final String VNF_NAME = "vnfName";
 
  94     private static final String VFMODULE_NAME = "vfModuleName";
 
  95     private static final String NETWORK_NAME = "networkName";
 
  96     private static final String VOLUME_GROUP_NAME = "volumeGroupName";
 
  97     private static final String SERVICE = "service";
 
  98     private static final String VNF = "vnf";
 
  99     private static final String VFMODULE = "vfModule";
 
 100     private static final String NETWORK = "network";
 
 101     private static final String VOLUME_GROUP = "volumeGroup";
 
 102     private final Timestamp startTimeStamp = new Timestamp(System.currentTimeMillis());
 
 103     private final Action action = Action.createInstance;
 
 104     private final Boolean aLaCarte = false;
 
 105     private final String version = "7";
 
 106     private final String requestUri =
 
 107             "http:localhost:6746/onap/so/infra/orchestrationRequests/v7/00032ab7-na18-42e5-965d-8ea592502019/resume";
 
 108     private final RecipeLookupResult lookupResult = new RecipeLookupResult("/mso/async/services/WorkflowActionBB", 80);
 
 109     private RequestClientParameter requestClientParameter = null;
 
 110     private RequestClientParameter requestClientParameterVfModule = null;
 
 111     private ObjectMapper mapper = new ObjectMapper();
 
 112     private InfraActiveRequests infraActiveRequest = new InfraActiveRequests();
 
 113     private InfraActiveRequests currentActiveRequest = new InfraActiveRequests();
 
 114     private InfraActiveRequests infraActiveRequestVfModule = new InfraActiveRequests();
 
 115     private ServiceInstancesRequest sir = new ServiceInstancesRequest();
 
 116     private ServiceInstancesRequest sirNullALaCarte = new ServiceInstancesRequest();
 
 117     private String requestBody = null;
 
 118     private String requestBodyNullALaCarte = null;
 
 119     private ContainerRequestContext requestContext = null;
 
 120     private HashMap<String, String> instanceIdMap = new HashMap<>();
 
 125     public void setup() throws ValidateException, IOException {
 
 126         // Setup general requestHandler mocks
 
 127         when(requestHandler.getRequestUri(any(), anyString())).thenReturn(requestUri);
 
 129         // Setup InfraActiveRequests
 
 130         setInfraActiveRequest();
 
 131         setCurrentActiveRequest();
 
 132         setInfraActiveRequestVfModule();
 
 134         requestBody = infraActiveRequest.getRequestBody();
 
 135         sir = mapper.readValue(requestBody, ServiceInstancesRequest.class);
 
 136         requestBodyNullALaCarte = getRequestBody("/ALaCarteNull.json");
 
 137         sirNullALaCarte = mapper.readValue(requestBodyNullALaCarte, ServiceInstancesRequest.class);
 
 138         setRequestClientParameter();
 
 139         setRequestClientParameterVfModule();
 
 140         instanceIdMap.put("serviceInstanceId", SERVICE_INSTANCE_ID);
 
 141         modelInfo = sir.getRequestDetails().getModelInfo();
 
 144     public String getRequestBody(String request) throws IOException {
 
 145         request = "src/test/resources/ResumeOrchestrationRequest" + request;
 
 146         return new String(Files.readAllBytes(Paths.get(request)));
 
 149     private void setInfraActiveRequest() throws IOException {
 
 150         infraActiveRequest.setTenantId("tenant-id");
 
 151         infraActiveRequest.setRequestBody(getRequestBody("/RequestBody.json"));
 
 152         infraActiveRequest.setAicCloudRegion("cloudRegion");
 
 153         infraActiveRequest.setRequestScope(SERVICE);
 
 154         infraActiveRequest.setServiceInstanceId(SERVICE_INSTANCE_ID);
 
 155         infraActiveRequest.setServiceInstanceName(SERVICE_INSTANCE_NAME);
 
 156         infraActiveRequest.setRequestStatus(Status.IN_PROGRESS.toString());
 
 157         infraActiveRequest.setRequestAction(Action.createInstance.toString());
 
 158         infraActiveRequest.setServiceType("serviceType");
 
 159         infraActiveRequest.setVnfId(VNF_ID);
 
 160         infraActiveRequest.setVfModuleId(VFMODULE_ID);
 
 161         infraActiveRequest.setNetworkId(NETWORK_ID);
 
 162         infraActiveRequest.setVolumeGroupId(VOLUME_GROUP_ID);
 
 163         infraActiveRequest.setVnfName(VNF_NAME);
 
 164         infraActiveRequest.setVfModuleName(VFMODULE_NAME);
 
 165         infraActiveRequest.setNetworkName(NETWORK_NAME);
 
 166         infraActiveRequest.setVolumeGroupName(VOLUME_GROUP_NAME);
 
 167         infraActiveRequest.setRequestId(REQUEST_ID);
 
 170     private void setCurrentActiveRequest() throws IOException {
 
 171         currentActiveRequest.setRequestId(CURRENT_REQUEST_ID);
 
 172         currentActiveRequest.setSource("VID");
 
 173         currentActiveRequest.setStartTime(startTimeStamp);
 
 174         currentActiveRequest.setTenantId("tenant-id");
 
 175         currentActiveRequest.setRequestBody(getRequestBody("/RequestBody.json"));
 
 176         currentActiveRequest.setAicCloudRegion("cloudRegion");
 
 177         currentActiveRequest.setRequestScope(SERVICE);
 
 178         currentActiveRequest.setServiceInstanceId(SERVICE_INSTANCE_ID);
 
 179         currentActiveRequest.setServiceInstanceName(SERVICE_INSTANCE_NAME);
 
 180         currentActiveRequest.setRequestStatus(Status.IN_PROGRESS.toString());
 
 181         currentActiveRequest.setLastModifiedBy(Constants.MODIFIED_BY_APIHANDLER);
 
 182         currentActiveRequest.setRequestAction(Action.createInstance.toString());
 
 183         currentActiveRequest.setRequestUrl(requestUri);
 
 184         currentActiveRequest.setRequestorId("xxxxxx");
 
 185         currentActiveRequest.setProgress(new Long(5));
 
 188     private void setInfraActiveRequestVfModule() throws IOException {
 
 189         infraActiveRequestVfModule.setRequestBody(getRequestBody("/RequestBody.json"));
 
 190         infraActiveRequestVfModule.setRequestScope(VFMODULE);
 
 191         infraActiveRequestVfModule.setRequestStatus(Status.IN_PROGRESS.toString());
 
 192         infraActiveRequestVfModule.setRequestAction(Action.createInstance.toString());
 
 193         infraActiveRequestVfModule.setVnfId(VNF_ID);
 
 194         infraActiveRequestVfModule.setVfModuleId(VFMODULE_ID);
 
 195         infraActiveRequestVfModule.setVnfName(VNF_NAME);
 
 196         infraActiveRequestVfModule.setVfModuleName(VFMODULE_NAME);
 
 199     private void setRequestClientParameter() {
 
 200         requestClientParameter =
 
 201                 new RequestClientParameter.Builder().setRequestId(CURRENT_REQUEST_ID).setRecipeTimeout(80)
 
 202                         .setRequestAction(Action.createInstance.toString()).setServiceInstanceId(SERVICE_INSTANCE_ID)
 
 203                         .setPnfCorrelationId("pnfCorrelationId").setVnfId(VNF_ID).setVfModuleId(VFMODULE_ID)
 
 204                         .setVolumeGroupId(VOLUME_GROUP_ID).setNetworkId(NETWORK_ID).setServiceType("serviceType")
 
 205                         .setVnfType(null).setNetworkType(null).setRequestDetails(requestBody).setApiVersion(version)
 
 206                         .setALaCarte(aLaCarte).setRequestUri(requestUri).setInstanceGroupId(null).build();
 
 209     private void setRequestClientParameterVfModule() {
 
 210         requestClientParameterVfModule =
 
 211                 new RequestClientParameter.Builder().setRequestId(CURRENT_REQUEST_ID).setRecipeTimeout(80)
 
 212                         .setRequestAction(Action.createInstance.toString()).setPnfCorrelationId("pnfCorrelationId")
 
 213                         .setVnfId(VNF_ID).setVfModuleId(VFMODULE_ID).setRequestDetails(requestBody)
 
 214                         .setApiVersion(version).setALaCarte(aLaCarte).setRequestUri(requestUri).build();
 
 218     public void resumeOrchestationRequestTest() throws Exception {
 
 219         Response response = null;
 
 220         when(requestDbClient.getInfraActiveRequestbyRequestId(REQUEST_ID)).thenReturn(infraActiveRequest);
 
 221         doReturn(currentActiveRequest).when(requestHandler).createNewRecordCopyFromInfraActiveRequest(
 
 222                 any(InfraActiveRequests.class), nullable(String.class), any(Timestamp.class), nullable(String.class),
 
 223                 nullable(String.class), nullable(String.class), anyString());
 
 224         doReturn(response).when(resumeReq).resumeRequest(any(InfraActiveRequests.class), any(InfraActiveRequests.class),
 
 225                 anyString(), nullable(String.class));
 
 227         resumeReq.resumeOrchestrationRequest(REQUEST_ID, "v7", requestContext);
 
 229         verify(resumeReq).resumeRequest(infraActiveRequest, currentActiveRequest, version, null);
 
 233     public void resumeOrchestationRequestDbNullResultTest() throws Exception {
 
 234         when(requestDbClient.getInfraActiveRequestbyRequestId("00032ab7-na18-42e5-965d-8ea592502018")).thenReturn(null);
 
 236         thrown.expect(ValidateException.class);
 
 237         thrown.expectMessage(
 
 238                 "Null response from requestDB when searching by requestId: 00032ab7-na18-42e5-965d-8ea592502018");
 
 239         resumeReq.resumeOrchestrationRequest("00032ab7-na18-42e5-965d-8ea592502018", "v7", requestContext);
 
 243     public void resumeOrchestationRequestDbErrorTest() throws Exception {
 
 244         when(requestDbClient.getInfraActiveRequestbyRequestId("00032ab7-na18-42e5-965d-8ea592502018"))
 
 245                 .thenThrow(HttpClientErrorException.class);
 
 247         thrown.expect(ValidateException.class);
 
 248         thrown.expectMessage("Exception while performing requestDb lookup by requestId");
 
 249         resumeReq.resumeOrchestrationRequest("00032ab7-na18-42e5-965d-8ea592502018", "v7", requestContext);
 
 253     public void resumeRequestTest() throws ApiException, IOException {
 
 254         Response response = null;
 
 255         doReturn(instanceIdMap).when(resumeReq).setInstanceIdMap(infraActiveRequest, ModelType.service.toString());
 
 256         doReturn(SERVICE_INSTANCE_NAME).when(resumeReq).getInstanceName(infraActiveRequest,
 
 257                 ModelType.service.toString(), currentActiveRequest);
 
 258         when(requestHandler.convertJsonToServiceInstanceRequest(anyString(), any(Actions.class), anyString(),
 
 259                 anyString())).thenReturn(sir);
 
 260         when(serviceInstances.getPnfCorrelationId(any(ServiceInstancesRequest.class))).thenReturn("pnfCorrelationId");
 
 261         doReturn(lookupResult).when(serviceInstances).getServiceInstanceOrchestrationURI(sir, action, aLaCarte,
 
 262                 currentActiveRequest);
 
 263         doReturn(requestClientParameter).when(resumeReq).setRequestClientParameter(lookupResult, version,
 
 264                 infraActiveRequest, currentActiveRequest, "pnfCorrelationId", aLaCarte, sir);
 
 265         doNothing().when(resumeReq).requestDbSave(currentActiveRequest);
 
 266         when(requestHandler.postBPELRequest(any(InfraActiveRequests.class), any(RequestClientParameter.class),
 
 267                 anyString(), anyString())).thenReturn(response);
 
 268         doNothing().when(resumeReq).checkForInProgressRequest(currentActiveRequest, instanceIdMap, SERVICE,
 
 269                 SERVICE_INSTANCE_NAME, action);
 
 271         resumeReq.resumeRequest(infraActiveRequest, currentActiveRequest, version,
 
 272                 "/onap/so/infra/orchestrationRequests/v7/requests/00032ab7-na18-42e5-965d-8ea592502018/resume");
 
 273         verify(requestHandler).postBPELRequest(currentActiveRequest, requestClientParameter,
 
 274                 lookupResult.getOrchestrationURI(), infraActiveRequest.getRequestScope());
 
 278     public void setRequestClientParameterTest() throws ApiException, IOException {
 
 279         doReturn(ModelType.service).when(requestHandler).getModelType(action, modelInfo);
 
 280         when(requestHandler.mapJSONtoMSOStyle(anyString(), any(ServiceInstancesRequest.class), anyBoolean(),
 
 281                 any(Action.class))).thenReturn(requestBody);
 
 282         RequestClientParameter result = resumeReq.setRequestClientParameter(lookupResult, version, infraActiveRequest,
 
 283                 currentActiveRequest, "pnfCorrelationId", aLaCarte, sir);
 
 284         assertThat(requestClientParameter, sameBeanAs(result));
 
 288     public void setRequestClientParameterVfModuleTest() throws ApiException, IOException {
 
 289         when(requestHandler.mapJSONtoMSOStyle(anyString(), any(ServiceInstancesRequest.class), anyBoolean(),
 
 290                 any(Action.class))).thenReturn(requestBody);
 
 291         doReturn(ModelType.vfModule).when(requestHandler).getModelType(action, modelInfo);
 
 292         RequestClientParameter result = resumeReq.setRequestClientParameter(lookupResult, version,
 
 293                 infraActiveRequestVfModule, currentActiveRequest, "pnfCorrelationId", aLaCarte, sir);
 
 294         assertThat(requestClientParameterVfModule, sameBeanAs(result));
 
 298     public void requestDbSaveTest() throws RequestDbFailureException {
 
 299         doNothing().when(requestDbClient).save(currentActiveRequest);
 
 300         resumeReq.requestDbSave(currentActiveRequest);
 
 301         verify(requestDbClient).save(currentActiveRequest);
 
 305     public void resumeRequestTestALaCarteNull() throws ApiException, IOException {
 
 306         Response response = null;
 
 307         doReturn(instanceIdMap).when(resumeReq).setInstanceIdMap(infraActiveRequest, ModelType.service.toString());
 
 308         doReturn(SERVICE_INSTANCE_NAME).when(resumeReq).getInstanceName(infraActiveRequest,
 
 309                 ModelType.service.toString(), currentActiveRequest);
 
 310         when(requestHandler.convertJsonToServiceInstanceRequest(anyString(), any(Actions.class), anyString(),
 
 311                 anyString())).thenReturn(sirNullALaCarte);
 
 312         when(serviceInstances.getPnfCorrelationId(any(ServiceInstancesRequest.class))).thenReturn("pnfCorrelationId");
 
 313         doReturn(false).when(msoRequest).getAlacarteFlag(sirNullALaCarte);
 
 314         doReturn(lookupResult).when(serviceInstances).getServiceInstanceOrchestrationURI(sirNullALaCarte, action, false,
 
 315                 currentActiveRequest);
 
 316         doReturn(requestClientParameter).when(resumeReq).setRequestClientParameter(lookupResult, version,
 
 317                 infraActiveRequest, currentActiveRequest, "pnfCorrelationId", aLaCarte, sirNullALaCarte);
 
 318         doReturn(false).when(resumeReq).setALaCarteFlagIfNull(SERVICE, action);
 
 319         doNothing().when(resumeReq).requestDbSave(currentActiveRequest);
 
 320         when(requestHandler.postBPELRequest(any(InfraActiveRequests.class), any(RequestClientParameter.class),
 
 321                 anyString(), anyString())).thenReturn(response);
 
 322         doNothing().when(resumeReq).checkForInProgressRequest(currentActiveRequest, instanceIdMap, SERVICE,
 
 323                 SERVICE_INSTANCE_NAME, action);
 
 325         resumeReq.resumeRequest(infraActiveRequest, currentActiveRequest, version,
 
 326                 "/onap/so/infra/orchestrationRequests/v7/requests/00032ab7-na18-42e5-965d-8ea592502018/resume");
 
 327         verify(requestHandler).postBPELRequest(currentActiveRequest, requestClientParameter,
 
 328                 lookupResult.getOrchestrationURI(), infraActiveRequest.getRequestScope());
 
 332     public void setRequestClientParameterErrorTest() throws ApiException, IOException {
 
 333         doReturn(ModelType.service).when(requestHandler).getModelType(action, modelInfo);
 
 334         when(requestHandler.mapJSONtoMSOStyle(anyString(), any(ServiceInstancesRequest.class), anyBoolean(),
 
 335                 any(Action.class))).thenThrow(new IOException("IOException"));
 
 337         thrown.expect(ValidateException.class);
 
 338         thrown.expectMessage("IOException while generating requestClientParameter to send to BPMN: IOException");
 
 339         resumeReq.setRequestClientParameter(lookupResult, version, infraActiveRequest, currentActiveRequest,
 
 340                 "pnfCorrelationId", aLaCarte, sir);
 
 344     public void checkForInProgressRequest() throws ApiException {
 
 345         doReturn(infraActiveRequest).when(requestHandler).duplicateCheck(action, instanceIdMap, SERVICE_INSTANCE_NAME,
 
 346                 SERVICE, currentActiveRequest);
 
 347         doReturn(true).when(requestHandler).camundaHistoryCheck(infraActiveRequest, currentActiveRequest);
 
 348         doThrow(DuplicateRequestException.class).when(requestHandler).buildErrorOnDuplicateRecord(currentActiveRequest,
 
 349                 action, instanceIdMap, SERVICE_INSTANCE_NAME, SERVICE, infraActiveRequest);
 
 351         thrown.expect(DuplicateRequestException.class);
 
 352         resumeReq.checkForInProgressRequest(currentActiveRequest, instanceIdMap, SERVICE, SERVICE_INSTANCE_NAME,
 
 357     public void checkForInProgressRequestNoInProgressRequests() throws ApiException {
 
 358         doReturn(null).when(requestHandler).duplicateCheck(action, instanceIdMap, SERVICE_INSTANCE_NAME, SERVICE,
 
 359                 currentActiveRequest);
 
 361         resumeReq.checkForInProgressRequest(currentActiveRequest, instanceIdMap, SERVICE, SERVICE_INSTANCE_NAME,
 
 363         verify(requestHandler).duplicateCheck(action, instanceIdMap, SERVICE_INSTANCE_NAME, SERVICE,
 
 364                 currentActiveRequest);
 
 368     public void checkForInProgressRequestCamundaHistoryCheckReturnsNoInProgress() throws ApiException {
 
 369         doReturn(infraActiveRequest).when(requestHandler).duplicateCheck(action, instanceIdMap, SERVICE_INSTANCE_NAME,
 
 370                 SERVICE, currentActiveRequest);
 
 371         doReturn(false).when(requestHandler).camundaHistoryCheck(infraActiveRequest, currentActiveRequest);
 
 373         resumeReq.checkForInProgressRequest(currentActiveRequest, instanceIdMap, SERVICE, SERVICE_INSTANCE_NAME,
 
 375         verify(requestHandler).duplicateCheck(action, instanceIdMap, SERVICE_INSTANCE_NAME, SERVICE,
 
 376                 currentActiveRequest);
 
 377         verify(requestHandler).camundaHistoryCheck(infraActiveRequest, currentActiveRequest);
 
 381     public void setInstanceIdMapServiceTest() {
 
 382         HashMap<String, String> expected = new HashMap<>();
 
 383         expected.put("serviceInstanceId", SERVICE_INSTANCE_ID);
 
 384         HashMap<String, String> result = resumeReq.setInstanceIdMap(infraActiveRequest, SERVICE);
 
 385         assertEquals(result, expected);
 
 389     public void setInstanceIdMapRequestScopeNotValidTest() {
 
 390         HashMap<String, String> expected = new HashMap<>();
 
 391         HashMap<String, String> result = resumeReq.setInstanceIdMap(infraActiveRequest, "test");
 
 392         assertEquals(result, expected);
 
 396     public void setInstanceIdMapVnfTest() {
 
 397         HashMap<String, String> expected = new HashMap<>();
 
 398         expected.put("vnfInstanceId", VNF_ID);
 
 399         HashMap<String, String> result = resumeReq.setInstanceIdMap(infraActiveRequest, VNF);
 
 400         assertEquals(result, expected);
 
 404     public void setInstanceIdMapVfModuleTest() {
 
 405         HashMap<String, String> expected = new HashMap<>();
 
 406         expected.put("vfModuleInstanceId", VFMODULE_ID);
 
 407         HashMap<String, String> result = resumeReq.setInstanceIdMap(infraActiveRequest, VFMODULE);
 
 408         assertEquals(result, expected);
 
 412     public void setInstanceIdMapNetworkTest() {
 
 413         HashMap<String, String> expected = new HashMap<>();
 
 414         expected.put("networkInstanceId", NETWORK_ID);
 
 415         HashMap<String, String> result = resumeReq.setInstanceIdMap(infraActiveRequest, NETWORK);
 
 416         assertEquals(result, expected);
 
 420     public void setInstanceIdMapVolumeGroupTest() {
 
 421         HashMap<String, String> expected = new HashMap<>();
 
 422         expected.put("volumeGroupInstanceId", VOLUME_GROUP_ID);
 
 423         HashMap<String, String> result = resumeReq.setInstanceIdMap(infraActiveRequest, VOLUME_GROUP);
 
 424         assertEquals(result, expected);
 
 428     public void setInstanceNameServiceTest() throws ValidateException, RequestDbFailureException {
 
 429         String result = resumeReq.getInstanceName(infraActiveRequest, SERVICE, currentActiveRequest);
 
 430         assertEquals(result, SERVICE_INSTANCE_NAME);
 
 434     public void setInstanceNameRequestScopeNotValidTest() throws ValidateException, RequestDbFailureException {
 
 435         thrown.expect(ValidateException.class);
 
 436         thrown.expectMessage(
 
 437                 "requestScope: \"test\" from request: 00032ab7-na18-42e5-965d-8ea592502019 does not match a ModelType enum.");
 
 439         resumeReq.getInstanceName(infraActiveRequest, "test", currentActiveRequest);
 
 443     public void setInstanceNameVnfTest() throws ValidateException, RequestDbFailureException {
 
 444         String result = resumeReq.getInstanceName(infraActiveRequest, VNF, currentActiveRequest);
 
 445         assertEquals(result, VNF_NAME);
 
 449     public void setInstanceNameVfModuleTest() throws ValidateException, RequestDbFailureException {
 
 450         String result = resumeReq.getInstanceName(infraActiveRequest, VFMODULE, currentActiveRequest);
 
 451         assertEquals(result, VFMODULE_NAME);
 
 455     public void setInstanceNameNetworkTest() throws ValidateException, RequestDbFailureException {
 
 456         String result = resumeReq.getInstanceName(infraActiveRequest, NETWORK, currentActiveRequest);
 
 457         assertEquals(result, NETWORK_NAME);
 
 461     public void setInstanceNameVolumeGroupTest() throws ValidateException, RequestDbFailureException {
 
 462         String result = resumeReq.getInstanceName(infraActiveRequest, VOLUME_GROUP, currentActiveRequest);
 
 463         assertEquals(result, VOLUME_GROUP_NAME);
 
 467     public void setALaCarteFlagIfNullTest() {
 
 468         Boolean aLaCarteFlag = resumeReq.setALaCarteFlagIfNull(SERVICE, action);
 
 469         assertEquals(aLaCarteFlag, false);
 
 473     public void setALaCarteFlagIfNullVnfTest() {
 
 474         Boolean aLaCarteFlag = resumeReq.setALaCarteFlagIfNull(VNF, action);
 
 475         assertEquals(aLaCarteFlag, true);
 
 479     public void setALaCarteFlagIfNullRecreateTest() {
 
 480         Boolean aLaCarteFlag = resumeReq.setALaCarteFlagIfNull(VNF, Action.recreateInstance);
 
 481         assertEquals(aLaCarteFlag, false);