2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017 - 2019 AT&T Intellectual Property. All rights reserved.
6 * Modifications Copyright (C) 2018 - 2019 Nokia. All rights reserved.
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.vid.mso.rest;
23 import io.joshworks.restclient.http.HttpResponse;
24 import io.joshworks.restclient.http.JsonMapper;
25 import org.apache.http.ProtocolVersion;
26 import org.apache.http.StatusLine;
27 import org.apache.http.message.BasicHttpResponse;
28 import org.apache.http.message.BasicStatusLine;
29 import org.mockito.Mock;
30 import org.onap.portalsdk.core.util.SystemProperties;
31 import org.onap.vid.changeManagement.RelatedInstanceList;
32 import org.onap.vid.changeManagement.RequestDetailsWrapper;
33 import org.onap.vid.client.SyncRestClient;
34 import org.onap.vid.controller.LocalWebConfig;
35 import org.onap.vid.model.RequestReferencesContainer;
36 import org.onap.vid.mso.MsoResponseWrapper;
37 import org.onap.vid.mso.MsoResponseWrapperInterface;
38 import org.onap.vid.mso.MsoUtil;
39 import org.onap.vid.mso.RestObject;
40 import org.onap.vid.mso.model.CloudConfiguration;
41 import org.onap.vid.mso.model.ModelInfo;
42 import org.onap.vid.mso.model.RequestInfo;
43 import org.onap.vid.mso.model.RequestParameters;
44 import org.onap.vid.mso.model.RequestReferences;
45 import org.springframework.test.context.ContextConfiguration;
46 import org.springframework.test.context.web.WebAppConfiguration;
47 import org.testng.annotations.BeforeClass;
48 import org.testng.annotations.Test;
50 import static org.mockito.ArgumentMatchers.any;
52 import java.util.LinkedList;
53 import java.util.List;
55 import static org.assertj.core.api.Assertions.assertThat;
56 import static org.mockito.ArgumentMatchers.anyMap;
57 import static org.mockito.ArgumentMatchers.eq;
58 import static org.mockito.Mockito.when;
59 import static org.mockito.MockitoAnnotations.initMocks;
62 @ContextConfiguration(classes = {LocalWebConfig.class, SystemProperties.class})
64 public class MsoRestClientTest {
67 private final String baseUrl = "http://testURL/";
70 private SyncRestClient client;
72 private MsoRestClientNew restClient;
78 restClient = new MsoRestClientNew(client,baseUrl,null);
83 public void shouldProperlyCreateServiceInstance() {
85 RequestDetails requestDetails = generateMockMsoRequest();
87 String endpoint = "testEndpoint";
88 HttpResponse<String> httpResponse = HttpResponse.fallback("testOkResponse");
89 MsoResponseWrapper expectedResponse = MsoUtil.wrapResponse(httpResponse);
91 when( client.post( eq(baseUrl+endpoint),anyMap(),eq(requestDetails),eq(String.class) ) ).thenReturn(httpResponse);
94 MsoResponseWrapper response = restClient.createSvcInstance(requestDetails,endpoint);
97 assertThat(response).isEqualToComparingFieldByField(expectedResponse);
100 @Test( expectedExceptions = MsoTestException.class)
101 public void shouldThrowExceptionWhenCreateSvcInstanceGetsWrongParameters() {
103 String endpoint = "";
105 when( client.post( eq(baseUrl+endpoint),anyMap(),eq(null),eq(String.class) ) ).
106 thenThrow(new MsoTestException("test-post-exception"));
109 restClient.createSvcInstance(null,endpoint);
113 public void shouldProperlyCreateE2eSvcInstance() {
115 RequestDetails requestDetails = generateMockMsoRequest();
117 String endpoint = "testEndpoint";
118 HttpResponse<String> httpResponse = HttpResponse.fallback("testOkResponse");
119 MsoResponseWrapper expectedResponse = MsoUtil.wrapResponse(httpResponse);
121 when( client.post( eq(baseUrl+endpoint),anyMap(),eq(requestDetails),eq(String.class) ) ).thenReturn(httpResponse);
124 MsoResponseWrapper response = restClient.createE2eSvcInstance(requestDetails,endpoint);
127 assertThat(response).isEqualToComparingFieldByField(expectedResponse);
131 public void shouldProperlyCreateVnf() {
133 RequestDetails requestDetails = generateMockMsoRequest();
135 String endpoint = "testEndpoint";
136 HttpResponse<String> httpResponse = HttpResponse.fallback("testOkResponse");
137 MsoResponseWrapper expectedResponse = MsoUtil.wrapResponse(httpResponse);
139 when( client.post( eq(baseUrl+endpoint),anyMap(),eq(requestDetails),eq(String.class) ) ).thenReturn(httpResponse);
142 MsoResponseWrapper response = restClient.createVnf(requestDetails,endpoint);
145 assertThat(response).isEqualToComparingFieldByField(expectedResponse);
149 public void shouldProperlyCreateNwInstance() {
151 RequestDetails requestDetails = generateMockMsoRequest();
153 String endpoint = "testEndpoint";
154 HttpResponse<String> httpResponse = HttpResponse.fallback("testOkResponse");
155 MsoResponseWrapper expectedResponse = MsoUtil.wrapResponse(httpResponse);
157 when( client.post( eq(baseUrl+endpoint),anyMap(),eq(requestDetails),eq(String.class) ) ).thenReturn(httpResponse);
160 MsoResponseWrapper response = restClient.createNwInstance(requestDetails,endpoint);
163 assertThat(response).isEqualToComparingFieldByField(expectedResponse);
167 public void shouldProperlyCreateVolumeGroupInstance() {
169 RequestDetails requestDetails = generateMockMsoRequest();
171 String endpoint = "testEndpoint";
172 HttpResponse<String> httpResponse = HttpResponse.fallback("testOkResponse");
173 MsoResponseWrapper expectedResponse = MsoUtil.wrapResponse(httpResponse);
175 when( client.post( eq(baseUrl+endpoint),anyMap(),eq(requestDetails),eq(String.class) ) ).thenReturn(httpResponse);
178 MsoResponseWrapper response = restClient.createVolumeGroupInstance(requestDetails,endpoint);
181 assertThat(response).isEqualToComparingFieldByField(expectedResponse);
185 public void shouldProperlyCreateVfModuleInstance() {
187 RequestDetails requestDetails = generateMockMsoRequest();
189 String endpoint = "testEndpoint";
190 HttpResponse<String> httpResponse = HttpResponse.fallback("testOkResponse");
191 MsoResponseWrapper expectedResponse = MsoUtil.wrapResponse(httpResponse);
193 when( client.post( eq(baseUrl+endpoint),anyMap(),eq(requestDetails),eq(String.class) ) ).thenReturn(httpResponse);
196 MsoResponseWrapper response = restClient.createVfModuleInstance(requestDetails,endpoint);
199 assertThat(response).isEqualToComparingFieldByField(expectedResponse);
203 public void shouldProperlyScaleOutVFModuleInstance() {
205 RequestDetails requestDetails = generateMockMsoRequest();
207 RequestDetailsWrapper<RequestDetails> wrappedRequestDetails = new RequestDetailsWrapper<>(requestDetails);
208 String endpoint = "testEndpoint";
209 HttpResponse<String> httpResponse = HttpResponse.fallback("testOkResponse");
210 MsoResponseWrapper expectedResponse = MsoUtil.wrapResponse(httpResponse);
212 when( client.post( eq(baseUrl+endpoint),anyMap(),eq(wrappedRequestDetails),eq(String.class) ) ).thenReturn(httpResponse);
215 MsoResponseWrapper response = restClient.scaleOutVFModuleInstance(wrappedRequestDetails,endpoint);
218 assertThat(response).isEqualToComparingFieldByField(expectedResponse);
222 public void shouldProperlyCreateConfigurationInstance() {
224 RequestDetails requestDetails = generateMockMsoRequest();
226 org.onap.vid.mso.rest.RequestDetailsWrapper wrappedRequestDetails = new org.onap.vid.mso.rest.RequestDetailsWrapper(requestDetails);
227 String endpoint = "testEndpoint";
228 HttpResponse<String> httpResponse = HttpResponse.fallback("testOkResponse");
229 MsoResponseWrapper expectedResponse = MsoUtil.wrapResponse(httpResponse);
231 when( client.post( eq(baseUrl+endpoint),anyMap(),eq(wrappedRequestDetails),eq(String.class) ) ).thenReturn(httpResponse);
234 MsoResponseWrapper response = restClient.createConfigurationInstance(wrappedRequestDetails,endpoint);
237 assertThat(response).isEqualToComparingFieldByField(expectedResponse);
241 public void shouldProperlyDeleteE2eSvcInstance() {
243 RequestDetails requestDetails = generateMockMsoRequest();
245 org.onap.vid.mso.rest.RequestDetailsWrapper wrappedRequestDetails = new org.onap.vid.mso.rest.RequestDetailsWrapper(requestDetails);
246 String endpoint = "testEndpoint";
247 HttpResponse<String> httpResponse = HttpResponse.fallback("testOkResponse");
248 MsoResponseWrapper expectedResponse = MsoUtil.wrapResponse(httpResponse);
250 when( client.delete( eq(baseUrl+endpoint),anyMap(),eq(wrappedRequestDetails),eq(String.class) ) ).thenReturn(httpResponse);
253 MsoResponseWrapper response = restClient.deleteE2eSvcInstance(wrappedRequestDetails,endpoint);
256 assertThat(response).isEqualToComparingFieldByField(expectedResponse);
260 public void shouldProperlyDeleteSvcInstance() {
262 RequestDetails requestDetails = generateMockMsoRequest();
264 String endpoint = "testEndpoint";
265 HttpResponse<String> httpResponse = HttpResponse.fallback("testOkResponse");
266 MsoResponseWrapper expectedResponse = MsoUtil.wrapResponse(httpResponse);
268 when( client.delete( eq(baseUrl+endpoint),anyMap(),eq(requestDetails),eq(String.class) ) ).thenReturn(httpResponse);
271 MsoResponseWrapper response = restClient.deleteSvcInstance(requestDetails,endpoint);
274 assertThat(response).isEqualToComparingFieldByField(expectedResponse);
278 public void shouldProperlyUnassignSvcInstance() {
280 RequestDetails requestDetails = generateMockMsoRequest();
282 String endpoint = "testEndpoint";
283 HttpResponse<String> httpResponse = HttpResponse.fallback("testOkResponse");
284 MsoResponseWrapper expectedResponse = MsoUtil.wrapResponse(httpResponse);
286 when( client.post( eq(baseUrl+endpoint),anyMap(),eq(requestDetails),eq(String.class) ) ).thenReturn(httpResponse);
289 MsoResponseWrapper response = restClient.unassignSvcInstance(requestDetails,endpoint);
292 assertThat(response).isEqualToComparingFieldByField(expectedResponse);
296 public void shouldProperlyDeleteVnf() {
298 RequestDetails requestDetails = generateMockMsoRequest();
300 String endpoint = "testEndpoint";
301 HttpResponse<String> httpResponse = HttpResponse.fallback("testOkResponse");
302 MsoResponseWrapper expectedResponse = MsoUtil.wrapResponse(httpResponse);
304 when( client.delete( eq(baseUrl+endpoint),anyMap(),eq(requestDetails),eq(String.class) ) ).thenReturn(httpResponse);
307 MsoResponseWrapper response = restClient.deleteVnf(requestDetails,endpoint);
310 assertThat(response).isEqualToComparingFieldByField(expectedResponse);
314 public void shouldProperlyDeleteVfModule() {
316 RequestDetails requestDetails = generateMockMsoRequest();
318 String endpoint = "testEndpoint";
319 HttpResponse<String> httpResponse = HttpResponse.fallback("testOkResponse");
320 MsoResponseWrapper expectedResponse = MsoUtil.wrapResponse(httpResponse);
322 when( client.delete( eq(baseUrl+endpoint),anyMap(),eq(requestDetails),eq(String.class) ) ).thenReturn(httpResponse);
325 MsoResponseWrapper response = restClient.deleteVfModule(requestDetails,endpoint);
328 assertThat(response).isEqualToComparingFieldByField(expectedResponse);
332 public void shouldProperlyDeleteVolumeGroupInstance() {
334 RequestDetails requestDetails = generateMockMsoRequest();
336 String endpoint = "testEndpoint";
337 HttpResponse<String> httpResponse = HttpResponse.fallback("testOkResponse");
338 MsoResponseWrapper expectedResponse = MsoUtil.wrapResponse(httpResponse);
340 when( client.delete( eq(baseUrl+endpoint),anyMap(),eq(requestDetails),eq(String.class) ) ).thenReturn(httpResponse);
343 MsoResponseWrapper response = restClient.deleteVolumeGroupInstance(requestDetails,endpoint);
346 assertThat(response).isEqualToComparingFieldByField(expectedResponse);
350 public void shouldProperlyDeleteNwInstance() {
352 RequestDetails requestDetails = generateMockMsoRequest();
354 String endpoint = "testEndpoint";
355 HttpResponse<String> httpResponse = HttpResponse.fallback("testOkResponse");
356 MsoResponseWrapper expectedResponse = MsoUtil.wrapResponse(httpResponse);
358 when( client.delete( eq(baseUrl+endpoint),anyMap(),eq(requestDetails),eq(String.class) ) ).thenReturn(httpResponse);
361 MsoResponseWrapper response = restClient.deleteNwInstance(requestDetails,endpoint);
364 assertThat(response).isEqualToComparingFieldByField(expectedResponse);
368 public void shouldProperlyGetOrchestrationRequest() {
370 RestObject restObject = generateMockMsoRestObject();
372 String endpoint = "testEndpoint";
373 HttpResponse<String> httpResponse = HttpResponse.fallback("testOkResponse");
374 MsoResponseWrapper expectedResponse = MsoUtil.wrapResponse(httpResponse);
376 when( client.get( eq(baseUrl+endpoint),anyMap(),anyMap(),eq(String.class) ) ).thenReturn(httpResponse);
379 MsoResponseWrapper response = restClient.getOrchestrationRequest(null,null,endpoint,restObject,true);
382 assertThat(response).isEqualToComparingFieldByField(expectedResponse);
386 public void shouldProperlyGetOrchestrationRequestWithOnlyEndpoint() {
388 String endpoint = "testEndpoint";
389 HttpResponse<String> httpResponse = HttpResponse.fallback("testOkResponse");
390 MsoResponseWrapper expectedResponse = MsoUtil.wrapResponse(httpResponse);
392 when( client.get( eq(baseUrl+endpoint),anyMap(),anyMap(),eq(String.class) ) ).thenReturn(httpResponse);
395 MsoResponseWrapper response = restClient.getOrchestrationRequest(endpoint);
398 assertThat(response).isEqualToComparingFieldByField(expectedResponse);
402 public void shouldProperlyGetManualTasks() {
404 String endpoint = "testEndpoint";
405 HttpResponse<String> httpResponse = HttpResponse.fallback("testOkResponse");
406 MsoResponseWrapper expectedResponse = MsoUtil.wrapResponse(httpResponse);
408 when( client.get( eq(baseUrl+endpoint),anyMap(),anyMap(),eq(String.class) ) ).thenReturn(httpResponse);
411 MsoResponseWrapper response = restClient.getManualTasks(endpoint);
414 assertThat(response).isEqualToComparingFieldByField(expectedResponse);
418 public void shouldProperlyGetManualTasksByRequestId() {
420 RestObject restObject = generateMockMsoRestObject();
422 String endpoint = "testEndpoint";
423 HttpResponse<String> httpResponse = HttpResponse.fallback("testOkResponse");
424 MsoResponseWrapper expectedResponse = MsoUtil.wrapResponse(httpResponse);
426 /// WUT 'baseUrl+baseUrl+endpoint'
427 when( client.get( eq(baseUrl+baseUrl+endpoint),anyMap(),anyMap(),eq(String.class) ) ).thenReturn(httpResponse);
430 MsoResponseWrapper response = restClient.getManualTasksByRequestId(null,null,endpoint,restObject);
433 assertThat(response).isEqualToComparingFieldByField(expectedResponse);
436 @Test(expectedExceptions = MsoTestException.class)
437 public void shouldThrowExceptionWhenGetManualTasksByRequestIdGetsWrongParameter() {
439 when( client.get( eq(baseUrl+baseUrl),anyMap(),anyMap(),eq(String.class) ) ).thenThrow(new MsoTestException("testsException"));
442 restClient.getManualTasksByRequestId(null,null,"",null);
446 public void shouldProperlyCompleteManualTask() {
448 RequestDetails requestDetails = generateMockMsoRequest();
449 RestObject restObject = generateMockMsoRestObject();
451 String endpoint = "testEndpoint";
452 HttpResponse<String> httpResponse = HttpResponse.fallback("testOkResponse");
453 MsoResponseWrapper expectedResponse = MsoUtil.wrapResponse(httpResponse);
455 when( client.post( eq(baseUrl+endpoint), anyMap(), eq(requestDetails), eq(String.class) ) ).thenReturn(httpResponse);
458 MsoResponseWrapper response = restClient.completeManualTask(requestDetails,null,null,endpoint,restObject);
461 assertThat(response).isEqualToComparingFieldByField(expectedResponse);
464 @Test(expectedExceptions = MsoTestException.class)
465 public void shouldThrowExceptionWhenCompleteManualTaskWrongParameter() {
467 when( client.post( eq(baseUrl),anyMap(),eq(null), eq(String.class) ) ).thenThrow(new MsoTestException("testsException"));
470 restClient.completeManualTask(null, null,null,"",null);
474 public void shouldProperlyReplaceVnf() {
476 org.onap.vid.changeManagement.RequestDetails requestDetails = generateChangeManagementMockMsoRequest();
478 String endpoint = "testEndpoint";
479 HttpResponse<String> httpResponse = HttpResponse.fallback("testOkResponse");
480 MsoResponseWrapper expectedResponse = MsoUtil.wrapResponse(httpResponse);
482 when( client.post( eq(baseUrl+endpoint), anyMap(), any(RequestDetailsWrapper.class), eq(String.class) ) ).thenReturn(httpResponse);
485 MsoResponseWrapper response = restClient.replaceVnf(requestDetails,endpoint);
488 assertThat(response).isEqualToComparingFieldByField(expectedResponse);
492 public void shouldProperlyReplaceVnfWithStatus202() {
494 org.onap.vid.changeManagement.RequestDetails requestDetails = generateChangeManagementMockMsoRequest();
496 String endpoint = "testEndpoint";
497 HttpResponse<String> httpResponse = createOkResponse();
498 MsoResponseWrapper expectedResponse = MsoUtil.wrapResponse(httpResponse);
500 when( client.post( eq(baseUrl+endpoint), anyMap(), any(RequestDetailsWrapper.class), eq(String.class) ) ).thenReturn(httpResponse);
503 MsoResponseWrapper response = restClient.replaceVnf(requestDetails,endpoint);
506 assertThat(response).isEqualToComparingFieldByField(expectedResponse);
509 @Test( expectedExceptions = MsoTestException.class)
510 public void shouldThrowExceptionWhenReplaceVnfGetsWrongParameters() {
512 org.onap.vid.changeManagement.RequestDetails requestDetails = generateChangeManagementMockMsoRequest();
514 when( client.post( eq(baseUrl), anyMap(), any(RequestDetailsWrapper.class), eq(String.class) ) ).thenThrow(new MsoTestException("test-post-exception"));
517 restClient.replaceVnf(requestDetails, "");
521 public void shouldProperlyDeleteConfiguration() {
523 org.onap.vid.changeManagement.RequestDetails requestDetails = generateChangeManagementMockMsoRequest();
524 org.onap.vid.mso.rest.RequestDetailsWrapper requestDetailsWrapper = new org.onap.vid.mso.rest.RequestDetailsWrapper(requestDetails);
526 String endpoint = "testEndpoint";
527 HttpResponse<String> httpResponse = HttpResponse.fallback("testOkResponse");
528 MsoResponseWrapper expectedResponse = MsoUtil.wrapResponse(httpResponse);
530 when( client.delete( eq(baseUrl+endpoint), anyMap(), eq(requestDetailsWrapper), eq(String.class) ) ).thenReturn(httpResponse);
533 MsoResponseWrapper response = restClient.deleteConfiguration(requestDetailsWrapper,endpoint);
536 assertThat(response).isEqualToComparingFieldByField(expectedResponse);
539 @Test( expectedExceptions = MsoTestException.class )
540 public void shouldThrowExceptionWhenProperlyDeleteConfigurationGetsWrongParameters() {
542 when( client.delete( eq(baseUrl), anyMap(), eq(null), eq(String.class) ) ).thenThrow(new MsoTestException("test-delete-exception"));
545 restClient.deleteConfiguration(null,"");
549 public void shouldProperlySetConfigurationActiveStatus() {
551 RequestDetails requestDetails = generateMockMsoRequest();
553 String endpoint = "testEndpoint";
554 HttpResponse<String> httpResponse = HttpResponse.fallback("testOkResponse");
555 MsoResponseWrapper expectedResponse = MsoUtil.wrapResponse(httpResponse);
557 when(client.post(eq(baseUrl + endpoint), anyMap(), eq(requestDetails), eq(String.class))).thenReturn(httpResponse);
560 MsoResponseWrapper response = restClient.setConfigurationActiveStatus(requestDetails, endpoint);
563 assertThat(expectedResponse).isEqualToComparingFieldByField(response);
566 @Test(expectedExceptions = MsoTestException.class)
567 public void shouldThrowExceptionWhenSetConfigurationActiveStatusGetsWrongParameters() {
570 when(client.post(eq(baseUrl), anyMap(), eq(null), eq(String.class))).thenThrow(new MsoTestException("test-post-exception"));
573 restClient.setConfigurationActiveStatus(null, "");
577 public void shouldProperlySetPortOnConfigurationStatus() {
579 RequestDetails requestDetails = generateMockMsoRequest();
581 String endpoint = "testEndpoint";
582 HttpResponse<String> httpResponse = HttpResponse.fallback("testOkResponse");
583 MsoResponseWrapper expectedResponse = MsoUtil.wrapResponse(httpResponse);
585 when(client.post(eq(baseUrl + endpoint), anyMap(), eq(requestDetails), eq(String.class))).thenReturn(httpResponse);
588 MsoResponseWrapper response = restClient.setPortOnConfigurationStatus(requestDetails, endpoint);
591 assertThat(expectedResponse).isEqualToComparingFieldByField(response);
594 @Test(expectedExceptions = MsoTestException.class)
595 public void shouldThrowExceptionWhenSetPortOnConfigurationStatusGetsWrongParameters() {
597 String endpoint = "";
599 when(client.post(eq(baseUrl), anyMap(), eq(null), eq(String.class))).thenThrow(new MsoTestException("test-post-exception"));
602 restClient.setPortOnConfigurationStatus(null, endpoint);
606 public void shouldProperlyChangeManagementUpdate() {
608 RequestDetails requestDetails = generateMockMsoRequest();
609 RequestDetailsWrapper<RequestDetails> requestDetailsWrapper = new RequestDetailsWrapper<>(requestDetails);
611 String endpoint = "testEndpoint";
612 HttpResponse<RequestReferencesContainer> httpResponse = HttpResponse.fallback(
613 new RequestReferencesContainer(
614 new RequestReferences()));
616 MsoResponseWrapperInterface expectedResponse = MsoUtil.wrapResponse(httpResponse);
618 when(client.post(eq(baseUrl + endpoint), anyMap(), eq(requestDetailsWrapper), eq(RequestReferencesContainer.class))).thenReturn(httpResponse);
621 MsoResponseWrapperInterface response = restClient.changeManagementUpdate(requestDetailsWrapper, endpoint);
624 assertThat(expectedResponse).isEqualToComparingFieldByField(response);
628 public void shouldProperlyUpdateVnfAndUpdateInstance() {
630 org.onap.vid.changeManagement.RequestDetails requestDetails = generateChangeManagementMockMsoRequest();
632 String endpoint = "testEndpoint";
633 HttpResponse<String> httpResponse = HttpResponse.fallback("testOkResponse");
634 MsoResponseWrapperInterface expectedResponse = MsoUtil.wrapResponse(httpResponse);
637 when(client.put(eq(baseUrl + endpoint), anyMap(), any(RequestDetailsWrapper.class), eq(String.class))).thenReturn(httpResponse);
640 MsoResponseWrapperInterface response = restClient.updateVnf(requestDetails, endpoint);
643 assertThat(expectedResponse).isEqualToComparingFieldByField(response);
646 @Test( expectedExceptions = MsoTestException.class )
647 public void shouldThrowExceptionWhenUpdateVnfAndUpdateInstanceGetsWrongParameter() {
649 org.onap.vid.changeManagement.RequestDetails requestDetails = generateChangeManagementMockMsoRequest();
650 String endpoint = "";
652 when(client.put(eq(baseUrl), anyMap(), any(RequestDetailsWrapper.class), eq(String.class))).thenThrow(new MsoTestException("test-post-exception"));
655 restClient.updateVnf(requestDetails, endpoint);
661 public void shouldProperlySetServiceInstanceStatus() {
663 RequestDetails requestDetails = generateMockMsoRequest();
664 RestObject<String> restObject = generateMockMsoRestObject();
666 String endpoint = "testEndpoint";
667 HttpResponse<String> httpResponse = HttpResponse.fallback("testOkResponse");
669 when(client.post(eq(baseUrl + endpoint), anyMap(), eq(requestDetails), eq(String.class))).thenReturn(httpResponse);
672 restClient.setServiceInstanceStatus(requestDetails,"", "", endpoint, restObject);
675 @Test( expectedExceptions = MsoTestException.class)
676 public void shouldThrowExceptionWhenSetServiceInstanceStatusGetsWrongParameter() {
678 String endpoint = "";
680 when(client.post(eq(baseUrl), anyMap(), eq(null), eq(String.class))).thenThrow(new MsoTestException("test-post-exception"));
683 restClient.setServiceInstanceStatus(null,"", "", endpoint, null);
687 public void shouldProperlyRemoveRelationshipFromServiceInstance() {
689 RequestDetails requestDetails = generateMockMsoRequest();
691 String endpoint = "testEndpoint";
692 HttpResponse<String> httpResponse = HttpResponse.fallback("testOkResponse");
693 MsoResponseWrapper expectedResponse = MsoUtil.wrapResponse(httpResponse);
695 when(client.post(eq(baseUrl + endpoint), anyMap(), eq(requestDetails), eq(String.class))).thenReturn(httpResponse);
698 MsoResponseWrapper response = restClient.removeRelationshipFromServiceInstance(requestDetails, endpoint);
701 assertThat(expectedResponse).isEqualToComparingFieldByField(response);
704 @Test( expectedExceptions = MsoTestException.class)
705 public void shouldThrowExceptionWhenRemoveRelationshipFromServiceInstanceGetsWrongParameter() {
707 String endpoint = "";
709 when(client.post(eq(baseUrl), anyMap(), eq(null), eq(String.class))).thenThrow(new MsoTestException("test-post-exception"));
712 restClient.removeRelationshipFromServiceInstance(null,endpoint);
716 public void shouldProperlyAddRelationshipToServiceInstance() {
718 RequestDetails requestDetails = generateMockMsoRequest();
720 String endpoint = "testEndpoint";
721 HttpResponse<String> httpResponse = HttpResponse.fallback("testOkResponse");
722 MsoResponseWrapper expectedResponse = MsoUtil.wrapResponse(httpResponse);
724 when(client.post(eq(baseUrl + endpoint), anyMap(), eq(requestDetails), eq(String.class))).thenReturn(httpResponse);
727 MsoResponseWrapper response = restClient.addRelationshipToServiceInstance(requestDetails, endpoint);
730 assertThat(expectedResponse).isEqualToComparingFieldByField(response);
733 @Test( expectedExceptions = MsoTestException.class)
734 public void shouldThrowExceptionWhenAddRelationshipToServiceInstanceGetsWrongParameter() {
736 String endpoint = "";
738 when(client.post(eq(baseUrl), anyMap(), eq(null), eq(String.class))).thenThrow(new MsoTestException("test-post-exception"));
741 restClient.addRelationshipToServiceInstance(null,endpoint);
745 public void shouldProperlyPerformGetRequest() {
747 String endpoint = "testEndpoint";
748 HttpResponse<String> expectedResponse = HttpResponse.fallback("testOkResponse");
750 when(client.get(eq(baseUrl + endpoint), anyMap(), anyMap(), eq(String.class))).thenReturn(expectedResponse);
753 HttpResponse<String> response = restClient.get(endpoint, String.class);
756 assertThat(expectedResponse).isEqualToComparingFieldByField(response);
760 public void shouldProperlyPerformPostRequest() {
763 RequestDetailsWrapper<RequestDetails> requestDetailsWrapper = new RequestDetailsWrapper<>(generateMockMsoRequest());
765 String endpoint = "testEndpoint";
766 HttpResponse<String> expectedResponse = HttpResponse.fallback("testOkResponse");
768 when(client.post(eq(baseUrl + endpoint), anyMap(), eq(requestDetailsWrapper), eq(String.class))).thenReturn(expectedResponse);
771 HttpResponse<String> response = restClient.post(endpoint,requestDetailsWrapper, String.class);
774 assertThat(expectedResponse).isEqualToComparingFieldByField(response);
777 private class MsoTestException extends RuntimeException{
778 MsoTestException(String testException) {
779 super(testException);
783 private HttpResponse<String> createOkResponse() {
784 StatusLine statusline = new BasicStatusLine(
785 new ProtocolVersion("http",1,1), 202, "acceptResponse");
787 org.apache.http.HttpResponse responseBase = new BasicHttpResponse(statusline);
789 return new HttpResponse<>(responseBase ,String.class, new JsonMapper());
792 private RequestDetails generateMockMsoRequest() {
793 RequestDetails requestDetails = new RequestDetails();
795 CloudConfiguration cloudConfiguration = new CloudConfiguration();
796 cloudConfiguration.setTenantId("tenant-id");
797 cloudConfiguration.setLcpCloudRegionId("lcp-region");
798 requestDetails.setCloudConfiguration(cloudConfiguration);
800 ModelInfo modelInfo = new ModelInfo();
801 modelInfo.setModelInvariantId("model-invarient-id");
802 modelInfo.setModelCustomizationName("modelCustomizationName");
803 modelInfo.setModelType("test-model-type");
804 requestDetails.setModelInfo(modelInfo);
806 RequestInfo requestInfo = new RequestInfo();
807 requestInfo.setRequestorId("ok883e");
808 requestInfo.setSource("VID");
809 requestDetails.setRequestInfo(requestInfo);
810 RequestParameters requestParameters = new RequestParameters();
812 requestParameters.setSubscriptionServiceType("subscriber-service-type");
813 requestParameters.setAdditionalProperty("a", 1);
814 requestParameters.setAdditionalProperty("b", 2);
815 requestParameters.setAdditionalProperty("c", 3);
816 requestParameters.setAdditionalProperty("d", 4);
817 String payload = "{\"existing_software_version\": \"3.1\",\"new_software_version\": \"3.2\", \"operations_timeout\": \"3600\"}";
818 requestParameters.setAdditionalProperty("payload", payload);
820 requestDetails.setRequestParameters(requestParameters);
821 return requestDetails;
824 private org.onap.vid.changeManagement.RequestDetails generateChangeManagementMockMsoRequest() {
825 List<RelatedInstanceList> relatedInstances = new LinkedList<>();
826 relatedInstances.add(new RelatedInstanceList());
828 org.onap.vid.changeManagement.RequestDetails requestDetails = new org.onap.vid.changeManagement.RequestDetails();
830 requestDetails.setVnfName("test-vnf-name");
831 requestDetails.setVnfInstanceId("test-vnf-instance_id");
832 requestDetails.setRelatedInstList(relatedInstances);
834 CloudConfiguration cloudConfiguration = new CloudConfiguration();
835 cloudConfiguration.setTenantId("tenant-id");
836 cloudConfiguration.setLcpCloudRegionId("lcp-region");
837 requestDetails.setCloudConfiguration(cloudConfiguration);
839 ModelInfo modelInfo = new ModelInfo();
840 modelInfo.setModelInvariantId("model-invarient-id");
841 modelInfo.setModelCustomizationName("modelCustomizationName");
842 modelInfo.setModelType("test-model-type");
843 requestDetails.setModelInfo(modelInfo);
845 RequestInfo requestInfo = new RequestInfo();
846 requestInfo.setRequestorId("ok883e");
847 requestInfo.setSource("VID");
848 requestDetails.setRequestInfo(requestInfo);
850 RequestParameters requestParameters = new RequestParameters();
851 requestParameters.setSubscriptionServiceType("subscriber-service-type");
852 requestParameters.setAdditionalProperty("a", 1);
853 requestParameters.setAdditionalProperty("b", 2);
854 requestParameters.setAdditionalProperty("c", 3);
855 requestParameters.setAdditionalProperty("d", 4);
856 String payload = "{\"existing_software_version\": \"3.1\",\"new_software_version\": \"3.2\", \"operations_timeout\": \"3600\"}";
857 requestParameters.setAdditionalProperty("payload", payload);
859 requestDetails.setRequestParameters(requestParameters);
860 return requestDetails;
863 private RestObject<String> generateMockMsoRestObject() {
864 RestObject<String> restObject = new RestObject<>();
866 restObject.set("test-rest-object-body");
867 restObject.setRaw("test-rest-object-raw-string");
868 restObject.setStatusCode(202);