7191e297ec28d0c524f903a2430c75ce4e0f7852
[so.git] /
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP - SO
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
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
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=========================================================
19  */
20 package org.onap.so.apihandlerinfra;
21
22 import static com.shazam.shazamcrest.MatcherAssert.assertThat;
23 import static com.shazam.shazamcrest.matcher.Matchers.sameBeanAs;
24 import static org.junit.Assert.assertEquals;
25 import static org.mockito.ArgumentMatchers.any;
26 import static org.mockito.ArgumentMatchers.anyBoolean;
27 import static org.mockito.ArgumentMatchers.anyString;
28 import static org.mockito.ArgumentMatchers.nullable;
29 import static org.mockito.Mockito.doNothing;
30 import static org.mockito.Mockito.doReturn;
31 import static org.mockito.Mockito.doThrow;
32 import static org.mockito.Mockito.verify;
33 import static org.mockito.Mockito.when;
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.ModelType;
60 import org.onap.so.serviceinstancebeans.ServiceInstancesRequest;
61 import org.springframework.web.client.HttpClientErrorException;
62 import com.fasterxml.jackson.databind.ObjectMapper;
63
64 @RunWith(MockitoJUnitRunner.class)
65 public class ResumeOrchestrationRequestTest {
66     @Mock
67     private RequestHandlerUtils requestHandler;
68
69     @Mock
70     private MsoRequest msoRequest;
71
72     @Mock
73     private ServiceInstances serviceInstances;
74
75     @Mock
76     private RequestsDbClient requestDbClient;
77
78     @InjectMocks
79     @Spy
80     private ResumeOrchestrationRequest resumeReq;
81
82     @Rule
83     public ExpectedException thrown = ExpectedException.none();
84
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<>();
121     ModelInfo modelInfo;
122
123
124     @Before
125     public void setup() throws ValidateException, IOException {
126         // Setup general requestHandler mocks
127         when(requestHandler.getRequestUri(any(), anyString())).thenReturn(requestUri);
128
129         // Setup InfraActiveRequests
130         setInfraActiveRequest();
131         setCurrentActiveRequest();
132         setInfraActiveRequestVfModule();
133
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();
142     }
143
144     public String getRequestBody(String request) throws IOException {
145         request = "src/test/resources/ResumeOrchestrationRequest" + request;
146         return new String(Files.readAllBytes(Paths.get(request)));
147     }
148
149     private void setInfraActiveRequest() throws IOException {
150         infraActiveRequest.setTenantId("tenant-id");
151         infraActiveRequest.setRequestBody(getRequestBody("/RequestBody.json"));
152         infraActiveRequest.setCloudRegion("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);
168     }
169
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.setCloudRegion("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));
186     }
187
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);
197     }
198
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();
207     }
208
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();
215     }
216
217     @Test
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));
226
227         resumeReq.resumeOrchestrationRequest(REQUEST_ID, "v7", requestContext);
228
229         verify(resumeReq).resumeRequest(infraActiveRequest, currentActiveRequest, version, null);
230     }
231
232     @Test
233     public void resumeOrchestationRequestDbNullResultTest() throws Exception {
234         when(requestDbClient.getInfraActiveRequestbyRequestId("00032ab7-na18-42e5-965d-8ea592502018")).thenReturn(null);
235
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);
240     }
241
242     @Test
243     public void resumeOrchestationRequestDbErrorTest() throws Exception {
244         when(requestDbClient.getInfraActiveRequestbyRequestId("00032ab7-na18-42e5-965d-8ea592502018"))
245                 .thenThrow(HttpClientErrorException.class);
246
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);
250     }
251
252     @Test
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(requestHandler).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);
270
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());
275     }
276
277     @Test
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));
285     }
286
287     @Test
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));
295     }
296
297     @Test
298     public void requestDbSaveTest() throws RequestDbFailureException {
299         doNothing().when(requestDbClient).save(currentActiveRequest);
300         resumeReq.requestDbSave(currentActiveRequest);
301         verify(requestDbClient).save(currentActiveRequest);
302     }
303
304     @Test
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(requestHandler).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);
324
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());
329     }
330
331     @Test
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"));
336
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);
341     }
342
343     @Test
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);
350
351         thrown.expect(DuplicateRequestException.class);
352         resumeReq.checkForInProgressRequest(currentActiveRequest, instanceIdMap, SERVICE, SERVICE_INSTANCE_NAME,
353                 action);
354     }
355
356     @Test
357     public void checkForInProgressRequestNoInProgressRequests() throws ApiException {
358         doReturn(null).when(requestHandler).duplicateCheck(action, instanceIdMap, SERVICE_INSTANCE_NAME, SERVICE,
359                 currentActiveRequest);
360
361         resumeReq.checkForInProgressRequest(currentActiveRequest, instanceIdMap, SERVICE, SERVICE_INSTANCE_NAME,
362                 action);
363         verify(requestHandler).duplicateCheck(action, instanceIdMap, SERVICE_INSTANCE_NAME, SERVICE,
364                 currentActiveRequest);
365     }
366
367     @Test
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);
372
373         resumeReq.checkForInProgressRequest(currentActiveRequest, instanceIdMap, SERVICE, SERVICE_INSTANCE_NAME,
374                 action);
375         verify(requestHandler).duplicateCheck(action, instanceIdMap, SERVICE_INSTANCE_NAME, SERVICE,
376                 currentActiveRequest);
377         verify(requestHandler).camundaHistoryCheck(infraActiveRequest, currentActiveRequest);
378     }
379
380     @Test
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);
386     }
387
388     @Test
389     public void setInstanceIdMapRequestScopeNotValidTest() {
390         HashMap<String, String> expected = new HashMap<>();
391         HashMap<String, String> result = resumeReq.setInstanceIdMap(infraActiveRequest, "test");
392         assertEquals(result, expected);
393     }
394
395     @Test
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);
401     }
402
403     @Test
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);
409     }
410
411     @Test
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);
417     }
418
419     @Test
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);
425     }
426
427     @Test
428     public void setInstanceNameServiceTest() throws ValidateException, RequestDbFailureException {
429         String result = resumeReq.getInstanceName(infraActiveRequest, SERVICE, currentActiveRequest);
430         assertEquals(result, SERVICE_INSTANCE_NAME);
431     }
432
433     @Test
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.");
438
439         resumeReq.getInstanceName(infraActiveRequest, "test", currentActiveRequest);
440     }
441
442     @Test
443     public void setInstanceNameVnfTest() throws ValidateException, RequestDbFailureException {
444         String result = resumeReq.getInstanceName(infraActiveRequest, VNF, currentActiveRequest);
445         assertEquals(result, VNF_NAME);
446     }
447
448     @Test
449     public void setInstanceNameVfModuleTest() throws ValidateException, RequestDbFailureException {
450         String result = resumeReq.getInstanceName(infraActiveRequest, VFMODULE, currentActiveRequest);
451         assertEquals(result, VFMODULE_NAME);
452     }
453
454     @Test
455     public void setInstanceNameNetworkTest() throws ValidateException, RequestDbFailureException {
456         String result = resumeReq.getInstanceName(infraActiveRequest, NETWORK, currentActiveRequest);
457         assertEquals(result, NETWORK_NAME);
458     }
459
460     @Test
461     public void setInstanceNameVolumeGroupTest() throws ValidateException, RequestDbFailureException {
462         String result = resumeReq.getInstanceName(infraActiveRequest, VOLUME_GROUP, currentActiveRequest);
463         assertEquals(result, VOLUME_GROUP_NAME);
464     }
465
466     @Test
467     public void setALaCarteFlagIfNullTest() {
468         Boolean aLaCarteFlag = resumeReq.setALaCarteFlagIfNull(SERVICE, action);
469         assertEquals(aLaCarteFlag, false);
470     }
471
472     @Test
473     public void setALaCarteFlagIfNullVnfTest() {
474         Boolean aLaCarteFlag = resumeReq.setALaCarteFlagIfNull(VNF, action);
475         assertEquals(aLaCarteFlag, true);
476     }
477
478     @Test
479     public void setALaCarteFlagIfNullRecreateTest() {
480         Boolean aLaCarteFlag = resumeReq.setALaCarteFlagIfNull(VNF, Action.recreateInstance);
481         assertEquals(aLaCarteFlag, false);
482     }
483 }