398966b0b348b115c1165996827ae2461d6ecad7
[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.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.db.request.beans.InfraActiveRequests;
56 import org.onap.so.db.request.client.RequestsDbClient;
57 import org.onap.so.serviceinstancebeans.ModelInfo;
58 import org.onap.so.serviceinstancebeans.ServiceInstancesRequest;
59 import org.springframework.web.client.HttpClientErrorException;
60 import com.fasterxml.jackson.databind.ObjectMapper;
61 import org.onap.so.serviceinstancebeans.ModelType;
62
63 @RunWith(MockitoJUnitRunner.class)
64 public class ResumeOrchestrationRequestTest {
65     @Mock
66     private RequestHandlerUtils requestHandler;
67
68     @Mock
69     private MsoRequest msoRequest;
70
71     @Mock
72     private ServiceInstances serviceInstances;
73
74     @Mock
75     private RequestsDbClient requestDbClient;
76
77     @InjectMocks
78     @Spy
79     private ResumeOrchestrationRequest resumeReq;
80
81     @Rule
82     public ExpectedException thrown = ExpectedException.none();
83
84     private static final String CURRENT_REQUEST_ID = "eca3a1b1-43ab-457e-ab1c-367263d148b4";
85     private static final String REQUEST_ID = "00032ab7-na18-42e5-965d-8ea592502019";
86     private static final String SERVICE_INSTANCE_ID = "00032ab7-na18-42e5-965d-8ea592502018";
87     private static final String VNF_ID = "00032ab7-na18-42e5-965d-8ea592502017";
88     private static final String VFMODULE_ID = "00032ab7-na18-42e5-965d-8ea592502016";
89     private static final String NETWORK_ID = "00032ab7-na18-42e5-965d-8ea592502015";
90     private static final String VOLUME_GROUP_ID = "00032ab7-na18-42e5-965d-8ea592502014";
91     private static final String SERVICE_INSTANCE_NAME = "serviceInstanceName";
92     private static final String VNF_NAME = "vnfName";
93     private static final String VFMODULE_NAME = "vfModuleName";
94     private static final String NETWORK_NAME = "networkName";
95     private static final String VOLUME_GROUP_NAME = "volumeGroupName";
96     private static final String SERVICE = "service";
97     private static final String VNF = "vnf";
98     private static final String VFMODULE = "vfModule";
99     private static final String NETWORK = "network";
100     private static final String VOLUME_GROUP = "volumeGroup";
101     private final Timestamp startTimeStamp = new Timestamp(System.currentTimeMillis());
102     private final Action action = Action.createInstance;
103     private final Boolean aLaCarte = false;
104     private final String version = "7";
105     private final String requestUri =
106             "http:localhost:6746/onap/so/infra/orchestrationRequests/v7/00032ab7-na18-42e5-965d-8ea592502019/resume";
107     private final RecipeLookupResult lookupResult = new RecipeLookupResult("/mso/async/services/WorkflowActionBB", 80);
108     private RequestClientParameter requestClientParameter = null;
109     private RequestClientParameter requestClientParameterVfModule = null;
110     private ObjectMapper mapper = new ObjectMapper();
111     private InfraActiveRequests infraActiveRequest = new InfraActiveRequests();
112     private InfraActiveRequests currentActiveRequest = new InfraActiveRequests();
113     private InfraActiveRequests infraActiveRequestVfModule = new InfraActiveRequests();
114     private ServiceInstancesRequest sir = new ServiceInstancesRequest();
115     private ServiceInstancesRequest sirNullALaCarte = new ServiceInstancesRequest();
116     private String requestBody = null;
117     private String requestBodyNullALaCarte = null;
118     private ContainerRequestContext requestContext = null;
119     private HashMap<String, String> instanceIdMap = new HashMap<>();
120     ModelInfo modelInfo;
121
122
123     @Before
124     public void setup() throws ValidateException, IOException {
125         // Setup general requestHandler mocks
126         when(requestHandler.getRequestUri(any(), anyString())).thenReturn(requestUri);
127
128         // Setup InfraActiveRequests
129         setInfraActiveRequest();
130         setCurrentActiveRequest();
131         setInfraActiveRequestVfModule();
132
133         requestBody = infraActiveRequest.getRequestBody();
134         sir = mapper.readValue(requestBody, ServiceInstancesRequest.class);
135         requestBodyNullALaCarte = getRequestBody("/ALaCarteNull.json");
136         sirNullALaCarte = mapper.readValue(requestBodyNullALaCarte, ServiceInstancesRequest.class);
137         setRequestClientParameter();
138         setRequestClientParameterVfModule();
139         instanceIdMap.put("serviceInstanceId", SERVICE_INSTANCE_ID);
140         modelInfo = sir.getRequestDetails().getModelInfo();
141     }
142
143     public String getRequestBody(String request) throws IOException {
144         request = "src/test/resources/ResumeOrchestrationRequest" + request;
145         return new String(Files.readAllBytes(Paths.get(request)));
146     }
147
148     private void setInfraActiveRequest() throws IOException {
149         infraActiveRequest.setTenantId("tenant-id");
150         infraActiveRequest.setRequestBody(getRequestBody("/RequestBody.json"));
151         infraActiveRequest.setAicCloudRegion("cloudRegion");
152         infraActiveRequest.setRequestScope(SERVICE);
153         infraActiveRequest.setServiceInstanceId(SERVICE_INSTANCE_ID);
154         infraActiveRequest.setServiceInstanceName(SERVICE_INSTANCE_NAME);
155         infraActiveRequest.setRequestStatus(Status.IN_PROGRESS.toString());
156         infraActiveRequest.setRequestAction(Action.createInstance.toString());
157         infraActiveRequest.setServiceType("serviceType");
158         infraActiveRequest.setVnfId(VNF_ID);
159         infraActiveRequest.setVfModuleId(VFMODULE_ID);
160         infraActiveRequest.setNetworkId(NETWORK_ID);
161         infraActiveRequest.setVolumeGroupId(VOLUME_GROUP_ID);
162         infraActiveRequest.setVnfName(VNF_NAME);
163         infraActiveRequest.setVfModuleName(VFMODULE_NAME);
164         infraActiveRequest.setNetworkName(NETWORK_NAME);
165         infraActiveRequest.setVolumeGroupName(VOLUME_GROUP_NAME);
166         infraActiveRequest.setRequestId(REQUEST_ID);
167     }
168
169     private void setCurrentActiveRequest() throws IOException {
170         currentActiveRequest.setRequestId(CURRENT_REQUEST_ID);
171         currentActiveRequest.setSource("VID");
172         currentActiveRequest.setStartTime(startTimeStamp);
173         currentActiveRequest.setTenantId("tenant-id");
174         currentActiveRequest.setRequestBody(getRequestBody("/RequestBody.json"));
175         currentActiveRequest.setAicCloudRegion("cloudRegion");
176         currentActiveRequest.setRequestScope(SERVICE);
177         currentActiveRequest.setServiceInstanceId(SERVICE_INSTANCE_ID);
178         currentActiveRequest.setServiceInstanceName(SERVICE_INSTANCE_NAME);
179         currentActiveRequest.setRequestStatus(Status.IN_PROGRESS.toString());
180         currentActiveRequest.setLastModifiedBy(Constants.MODIFIED_BY_APIHANDLER);
181         currentActiveRequest.setRequestAction(Action.createInstance.toString());
182         currentActiveRequest.setRequestUrl(requestUri);
183         currentActiveRequest.setRequestorId("xxxxxx");
184         currentActiveRequest.setProgress(new Long(5));
185     }
186
187     private void setInfraActiveRequestVfModule() throws IOException {
188         infraActiveRequestVfModule.setRequestBody(getRequestBody("/RequestBody.json"));
189         infraActiveRequestVfModule.setRequestScope(VFMODULE);
190         infraActiveRequestVfModule.setRequestStatus(Status.IN_PROGRESS.toString());
191         infraActiveRequestVfModule.setRequestAction(Action.createInstance.toString());
192         infraActiveRequestVfModule.setVnfId(VNF_ID);
193         infraActiveRequestVfModule.setVfModuleId(VFMODULE_ID);
194         infraActiveRequestVfModule.setVnfName(VNF_NAME);
195         infraActiveRequestVfModule.setVfModuleName(VFMODULE_NAME);
196     }
197
198     private void setRequestClientParameter() {
199         requestClientParameter =
200                 new RequestClientParameter.Builder().setRequestId(CURRENT_REQUEST_ID).setRecipeTimeout(80)
201                         .setRequestAction(Action.createInstance.toString()).setServiceInstanceId(SERVICE_INSTANCE_ID)
202                         .setPnfCorrelationId("pnfCorrelationId").setVnfId(VNF_ID).setVfModuleId(VFMODULE_ID)
203                         .setVolumeGroupId(VOLUME_GROUP_ID).setNetworkId(NETWORK_ID).setServiceType("serviceType")
204                         .setVnfType(null).setNetworkType(null).setRequestDetails(requestBody).setApiVersion(version)
205                         .setALaCarte(aLaCarte).setRequestUri(requestUri).setInstanceGroupId(null).build();
206     }
207
208     private void setRequestClientParameterVfModule() {
209         requestClientParameterVfModule =
210                 new RequestClientParameter.Builder().setRequestId(CURRENT_REQUEST_ID).setRecipeTimeout(80)
211                         .setRequestAction(Action.createInstance.toString()).setPnfCorrelationId("pnfCorrelationId")
212                         .setVnfId(VNF_ID).setVfModuleId(VFMODULE_ID).setRequestDetails(requestBody)
213                         .setApiVersion(version).setALaCarte(aLaCarte).setRequestUri(requestUri).build();
214     }
215
216     @Test
217     public void resumeOrchestationRequestTest() throws Exception {
218         Response response = null;
219         when(requestDbClient.getInfraActiveRequestbyRequestId(REQUEST_ID)).thenReturn(infraActiveRequest);
220         doReturn(currentActiveRequest).when(requestHandler).createNewRecordCopyFromInfraActiveRequest(
221                 any(InfraActiveRequests.class), nullable(String.class), any(Timestamp.class), nullable(String.class),
222                 nullable(String.class), nullable(String.class), anyString());
223         doReturn(response).when(resumeReq).resumeRequest(any(InfraActiveRequests.class), any(InfraActiveRequests.class),
224                 anyString(), nullable(String.class));
225
226         resumeReq.resumeOrchestrationRequest(REQUEST_ID, "v7", requestContext);
227
228         verify(resumeReq).resumeRequest(infraActiveRequest, currentActiveRequest, version, null);
229     }
230
231     @Test
232     public void resumeOrchestationRequestDbNullResultTest() throws Exception {
233         when(requestDbClient.getInfraActiveRequestbyRequestId("00032ab7-na18-42e5-965d-8ea592502018")).thenReturn(null);
234
235         thrown.expect(ValidateException.class);
236         thrown.expectMessage(
237                 "Null response from requestDB when searching by requestId: 00032ab7-na18-42e5-965d-8ea592502018");
238         resumeReq.resumeOrchestrationRequest("00032ab7-na18-42e5-965d-8ea592502018", "v7", requestContext);
239     }
240
241     @Test
242     public void resumeOrchestationRequestDbErrorTest() throws Exception {
243         when(requestDbClient.getInfraActiveRequestbyRequestId("00032ab7-na18-42e5-965d-8ea592502018"))
244                 .thenThrow(HttpClientErrorException.class);
245
246         thrown.expect(ValidateException.class);
247         thrown.expectMessage("Exception while performing requestDb lookup by requestId");
248         resumeReq.resumeOrchestrationRequest("00032ab7-na18-42e5-965d-8ea592502018", "v7", requestContext);
249     }
250
251     @Test
252     public void resumeRequestTest() throws ApiException, IOException {
253         Response response = null;
254         doReturn(instanceIdMap).when(resumeReq).setInstanceIdMap(infraActiveRequest, ModelType.service.toString());
255         doReturn(SERVICE_INSTANCE_NAME).when(resumeReq).getInstanceName(infraActiveRequest,
256                 ModelType.service.toString(), currentActiveRequest);
257         when(requestHandler.convertJsonToServiceInstanceRequest(anyString(), any(Actions.class), anyString(),
258                 anyString())).thenReturn(sir);
259         when(serviceInstances.getPnfCorrelationId(any(ServiceInstancesRequest.class))).thenReturn("pnfCorrelationId");
260         doReturn(lookupResult).when(serviceInstances).getServiceInstanceOrchestrationURI(sir, action, aLaCarte,
261                 currentActiveRequest);
262         doReturn(requestClientParameter).when(resumeReq).setRequestClientParameter(lookupResult, version,
263                 infraActiveRequest, currentActiveRequest, "pnfCorrelationId", aLaCarte, sir);
264         doNothing().when(resumeReq).requestDbSave(currentActiveRequest);
265         when(requestHandler.postBPELRequest(any(InfraActiveRequests.class), any(RequestClientParameter.class),
266                 anyString(), anyString())).thenReturn(response);
267         doNothing().when(resumeReq).checkForInProgressRequest(currentActiveRequest, instanceIdMap, SERVICE,
268                 SERVICE_INSTANCE_NAME, action);
269
270         resumeReq.resumeRequest(infraActiveRequest, currentActiveRequest, version,
271                 "/onap/so/infra/orchestrationRequests/v7/requests/00032ab7-na18-42e5-965d-8ea592502018/resume");
272         verify(requestHandler).postBPELRequest(currentActiveRequest, requestClientParameter,
273                 lookupResult.getOrchestrationURI(), infraActiveRequest.getRequestScope());
274     }
275
276     @Test
277     public void setRequestClientParameterTest() throws ApiException, IOException {
278         doReturn(ModelType.service).when(requestHandler).getModelType(action, modelInfo);
279         when(requestHandler.mapJSONtoMSOStyle(anyString(), any(ServiceInstancesRequest.class), anyBoolean(),
280                 any(Action.class))).thenReturn(requestBody);
281         RequestClientParameter result = resumeReq.setRequestClientParameter(lookupResult, version, infraActiveRequest,
282                 currentActiveRequest, "pnfCorrelationId", aLaCarte, sir);
283         assertThat(requestClientParameter, sameBeanAs(result));
284     }
285
286     @Test
287     public void setRequestClientParameterVfModuleTest() throws ApiException, IOException {
288         when(requestHandler.mapJSONtoMSOStyle(anyString(), any(ServiceInstancesRequest.class), anyBoolean(),
289                 any(Action.class))).thenReturn(requestBody);
290         doReturn(ModelType.vfModule).when(requestHandler).getModelType(action, modelInfo);
291         RequestClientParameter result = resumeReq.setRequestClientParameter(lookupResult, version,
292                 infraActiveRequestVfModule, currentActiveRequest, "pnfCorrelationId", aLaCarte, sir);
293         assertThat(requestClientParameterVfModule, sameBeanAs(result));
294     }
295
296     @Test
297     public void requestDbSaveTest() throws RequestDbFailureException {
298         doNothing().when(requestDbClient).save(currentActiveRequest);
299         resumeReq.requestDbSave(currentActiveRequest);
300         verify(requestDbClient).save(currentActiveRequest);
301     }
302
303     @Test
304     public void resumeRequestTestALaCarteNull() throws ApiException, IOException {
305         Response response = null;
306         doReturn(instanceIdMap).when(resumeReq).setInstanceIdMap(infraActiveRequest, ModelType.service.toString());
307         doReturn(SERVICE_INSTANCE_NAME).when(resumeReq).getInstanceName(infraActiveRequest,
308                 ModelType.service.toString(), currentActiveRequest);
309         when(requestHandler.convertJsonToServiceInstanceRequest(anyString(), any(Actions.class), anyString(),
310                 anyString())).thenReturn(sirNullALaCarte);
311         when(serviceInstances.getPnfCorrelationId(any(ServiceInstancesRequest.class))).thenReturn("pnfCorrelationId");
312         doReturn(false).when(msoRequest).getAlacarteFlag(sirNullALaCarte);
313         doReturn(lookupResult).when(serviceInstances).getServiceInstanceOrchestrationURI(sirNullALaCarte, action, false,
314                 currentActiveRequest);
315         doReturn(requestClientParameter).when(resumeReq).setRequestClientParameter(lookupResult, version,
316                 infraActiveRequest, currentActiveRequest, "pnfCorrelationId", aLaCarte, sirNullALaCarte);
317         doReturn(false).when(resumeReq).setALaCarteFlagIfNull(SERVICE, action);
318         doNothing().when(resumeReq).requestDbSave(currentActiveRequest);
319         when(requestHandler.postBPELRequest(any(InfraActiveRequests.class), any(RequestClientParameter.class),
320                 anyString(), anyString())).thenReturn(response);
321         doNothing().when(resumeReq).checkForInProgressRequest(currentActiveRequest, instanceIdMap, SERVICE,
322                 SERVICE_INSTANCE_NAME, action);
323
324         resumeReq.resumeRequest(infraActiveRequest, currentActiveRequest, version,
325                 "/onap/so/infra/orchestrationRequests/v7/requests/00032ab7-na18-42e5-965d-8ea592502018/resume");
326         verify(requestHandler).postBPELRequest(currentActiveRequest, requestClientParameter,
327                 lookupResult.getOrchestrationURI(), infraActiveRequest.getRequestScope());
328     }
329
330     @Test
331     public void setRequestClientParameterErrorTest() throws ApiException, IOException {
332         doReturn(ModelType.service).when(requestHandler).getModelType(action, modelInfo);
333         when(requestHandler.mapJSONtoMSOStyle(anyString(), any(ServiceInstancesRequest.class), anyBoolean(),
334                 any(Action.class))).thenThrow(new IOException("IOException"));
335
336         thrown.expect(ValidateException.class);
337         thrown.expectMessage("IOException while generating requestClientParameter to send to BPMN: IOException");
338         resumeReq.setRequestClientParameter(lookupResult, version, infraActiveRequest, currentActiveRequest,
339                 "pnfCorrelationId", aLaCarte, sir);
340     }
341
342     @Test
343     public void checkForInProgressRequest() throws ApiException {
344         doReturn(infraActiveRequest).when(requestHandler).duplicateCheck(action, instanceIdMap, SERVICE_INSTANCE_NAME,
345                 SERVICE, currentActiveRequest);
346         doReturn(true).when(requestHandler).camundaHistoryCheck(infraActiveRequest, currentActiveRequest);
347         doThrow(DuplicateRequestException.class).when(requestHandler).buildErrorOnDuplicateRecord(currentActiveRequest,
348                 action, instanceIdMap, SERVICE_INSTANCE_NAME, SERVICE, infraActiveRequest);
349
350         thrown.expect(DuplicateRequestException.class);
351         resumeReq.checkForInProgressRequest(currentActiveRequest, instanceIdMap, SERVICE, SERVICE_INSTANCE_NAME,
352                 action);
353     }
354
355     @Test
356     public void checkForInProgressRequestNoInProgressRequests() throws ApiException {
357         doReturn(null).when(requestHandler).duplicateCheck(action, instanceIdMap, SERVICE_INSTANCE_NAME, SERVICE,
358                 currentActiveRequest);
359
360         resumeReq.checkForInProgressRequest(currentActiveRequest, instanceIdMap, SERVICE, SERVICE_INSTANCE_NAME,
361                 action);
362         verify(requestHandler).duplicateCheck(action, instanceIdMap, SERVICE_INSTANCE_NAME, SERVICE,
363                 currentActiveRequest);
364     }
365
366     @Test
367     public void checkForInProgressRequestCamundaHistoryCheckReturnsNoInProgress() throws ApiException {
368         doReturn(infraActiveRequest).when(requestHandler).duplicateCheck(action, instanceIdMap, SERVICE_INSTANCE_NAME,
369                 SERVICE, currentActiveRequest);
370         doReturn(false).when(requestHandler).camundaHistoryCheck(infraActiveRequest, currentActiveRequest);
371
372         resumeReq.checkForInProgressRequest(currentActiveRequest, instanceIdMap, SERVICE, SERVICE_INSTANCE_NAME,
373                 action);
374         verify(requestHandler).duplicateCheck(action, instanceIdMap, SERVICE_INSTANCE_NAME, SERVICE,
375                 currentActiveRequest);
376         verify(requestHandler).camundaHistoryCheck(infraActiveRequest, currentActiveRequest);
377     }
378
379     @Test
380     public void setInstanceIdMapServiceTest() {
381         HashMap<String, String> expected = new HashMap<>();
382         expected.put("serviceInstanceId", SERVICE_INSTANCE_ID);
383         HashMap<String, String> result = resumeReq.setInstanceIdMap(infraActiveRequest, SERVICE);
384         assertEquals(result, expected);
385     }
386
387     @Test
388     public void setInstanceIdMapRequestScopeNotValidTest() {
389         HashMap<String, String> expected = new HashMap<>();
390         HashMap<String, String> result = resumeReq.setInstanceIdMap(infraActiveRequest, "test");
391         assertEquals(result, expected);
392     }
393
394     @Test
395     public void setInstanceIdMapVnfTest() {
396         HashMap<String, String> expected = new HashMap<>();
397         expected.put("vnfInstanceId", VNF_ID);
398         HashMap<String, String> result = resumeReq.setInstanceIdMap(infraActiveRequest, VNF);
399         assertEquals(result, expected);
400     }
401
402     @Test
403     public void setInstanceIdMapVfModuleTest() {
404         HashMap<String, String> expected = new HashMap<>();
405         expected.put("vfModuleInstanceId", VFMODULE_ID);
406         HashMap<String, String> result = resumeReq.setInstanceIdMap(infraActiveRequest, VFMODULE);
407         assertEquals(result, expected);
408     }
409
410     @Test
411     public void setInstanceIdMapNetworkTest() {
412         HashMap<String, String> expected = new HashMap<>();
413         expected.put("networkInstanceId", NETWORK_ID);
414         HashMap<String, String> result = resumeReq.setInstanceIdMap(infraActiveRequest, NETWORK);
415         assertEquals(result, expected);
416     }
417
418     @Test
419     public void setInstanceIdMapVolumeGroupTest() {
420         HashMap<String, String> expected = new HashMap<>();
421         expected.put("volumeGroupInstanceId", VOLUME_GROUP_ID);
422         HashMap<String, String> result = resumeReq.setInstanceIdMap(infraActiveRequest, VOLUME_GROUP);
423         assertEquals(result, expected);
424     }
425
426     @Test
427     public void setInstanceNameServiceTest() throws ValidateException, RequestDbFailureException {
428         String result = resumeReq.getInstanceName(infraActiveRequest, SERVICE, currentActiveRequest);
429         assertEquals(result, SERVICE_INSTANCE_NAME);
430     }
431
432     @Test
433     public void setInstanceNameRequestScopeNotValidTest() throws ValidateException, RequestDbFailureException {
434         thrown.expect(ValidateException.class);
435         thrown.expectMessage(
436                 "requestScope: \"test\" from request: 00032ab7-na18-42e5-965d-8ea592502019 does not match a ModelType enum.");
437
438         resumeReq.getInstanceName(infraActiveRequest, "test", currentActiveRequest);
439     }
440
441     @Test
442     public void setInstanceNameVnfTest() throws ValidateException, RequestDbFailureException {
443         String result = resumeReq.getInstanceName(infraActiveRequest, VNF, currentActiveRequest);
444         assertEquals(result, VNF_NAME);
445     }
446
447     @Test
448     public void setInstanceNameVfModuleTest() throws ValidateException, RequestDbFailureException {
449         String result = resumeReq.getInstanceName(infraActiveRequest, VFMODULE, currentActiveRequest);
450         assertEquals(result, VFMODULE_NAME);
451     }
452
453     @Test
454     public void setInstanceNameNetworkTest() throws ValidateException, RequestDbFailureException {
455         String result = resumeReq.getInstanceName(infraActiveRequest, NETWORK, currentActiveRequest);
456         assertEquals(result, NETWORK_NAME);
457     }
458
459     @Test
460     public void setInstanceNameVolumeGroupTest() throws ValidateException, RequestDbFailureException {
461         String result = resumeReq.getInstanceName(infraActiveRequest, VOLUME_GROUP, currentActiveRequest);
462         assertEquals(result, VOLUME_GROUP_NAME);
463     }
464
465     @Test
466     public void setALaCarteFlagIfNullTest() {
467         Boolean aLaCarteFlag = resumeReq.setALaCarteFlagIfNull(SERVICE, action);
468         assertEquals(aLaCarteFlag, false);
469     }
470
471     @Test
472     public void setALaCarteFlagIfNullVnfTest() {
473         Boolean aLaCarteFlag = resumeReq.setALaCarteFlagIfNull(VNF, action);
474         assertEquals(aLaCarteFlag, true);
475     }
476
477     @Test
478     public void setALaCarteFlagIfNullRecreateTest() {
479         Boolean aLaCarteFlag = resumeReq.setALaCarteFlagIfNull(VNF, Action.recreateInstance);
480         assertEquals(aLaCarteFlag, false);
481     }
482 }