3 * ============LICENSE_START======================================================= ONAP - SO
4 * ================================================================================ Copyright (C) 2020 Huawei
5 * Technologies Co., Ltd. All rights reserved.
6 * ================================================================================ Licensed under the Apache License,
7 * Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy
10 * http://www.apache.org/licenses/LICENSE-2.0
12 * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
13 * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
14 * specific language governing permissions and limitations under the License.
15 * ============LICENSE_END=========================================================
18 package org.onap.so.adapters.cnf.rest;
21 import java.util.ArrayList;
22 import java.util.HashMap;
23 import java.util.List;
25 import org.junit.Assert;
26 import org.junit.Test;
27 import org.junit.runner.RunWith;
28 import org.mockito.InjectMocks;
29 import org.mockito.Mock;
30 import org.mockito.Mockito;
31 import org.onap.so.adapters.cnf.model.BpmnInstanceRequest;
32 import org.onap.so.adapters.cnf.model.InstanceMiniResponse;
33 import org.onap.so.adapters.cnf.model.InstanceMiniResponseList;
34 import org.onap.so.adapters.cnf.model.InstanceResponse;
35 import org.onap.so.adapters.cnf.model.InstanceStatusResponse;
36 import org.onap.so.adapters.cnf.model.MulticloudInstanceRequest;
37 import org.onap.so.adapters.cnf.model.Resource;
38 import org.onap.so.adapters.cnf.service.CnfAdapterService;
39 import org.springframework.http.HttpStatus;
40 import org.springframework.http.ResponseEntity;
41 import org.springframework.test.context.junit4.SpringRunner;
44 @RunWith(SpringRunner.class)
45 public class CnfAdapterRestTest {
48 CnfAdapterRest cnfAdapterRest;
51 CnfAdapterService cnfAdapterService;
54 ResponseEntity<InstanceResponse> createInstanceResponse;
57 ResponseEntity<InstanceMiniResponseList> instacneMiniResponseList;
60 ResponseEntity<InstanceStatusResponse> instanceStatusResponse;
63 public void healthCheckTest() throws Exception {
65 ResponseEntity<String> response = new ResponseEntity<String>(HttpStatus.OK);
66 CnfAdapterService cnfAdapterService = Mockito.mock(CnfAdapterService.class);
67 Mockito.when(cnfAdapterService.healthCheck()).thenReturn(response);
68 cnfAdapterRest.healthCheck();
69 Assert.assertNotNull(response);
70 Assert.assertEquals(HttpStatus.OK, response.getStatusCode());
74 public void createInstanceTest() throws Exception {
76 Map<String, String> labels = new HashMap<String, String>();
77 labels.put("custom-label-1", "label1");
78 Map<String, String> overrideValues = new HashMap<String, String>();
79 labels.put("image.tag", "latest");
80 labels.put("dcae_collector_ip", "1.2.3.4");
81 BpmnInstanceRequest bpmnInstanceRequest = new BpmnInstanceRequest();
82 bpmnInstanceRequest.setCloudRegionId("v1");
83 bpmnInstanceRequest.setLabels(labels);
84 bpmnInstanceRequest.setModelInvariantId("krd");
85 bpmnInstanceRequest.setModelVersionId("p1");
86 bpmnInstanceRequest.setOverrideValues(overrideValues);
87 bpmnInstanceRequest.setVfModuleUUID("20200824");
88 List<Resource> resourceList = new ArrayList<Resource>();
89 InstanceResponse instanceResponse = new InstanceResponse(HttpStatus.CREATED.toString());
90 instanceResponse.setId("123");
91 instanceResponse.setNamespace("testNamespace");
92 instanceResponse.setRequest(new MulticloudInstanceRequest());
93 instanceResponse.setResources(resourceList);
94 createInstanceResponse = new ResponseEntity<InstanceResponse>(instanceResponse, HttpStatus.CREATED);
95 CnfAdapterService cnfAdapterService = Mockito.mock(CnfAdapterService.class);
96 Mockito.when(cnfAdapterService.createInstance(bpmnInstanceRequest)).thenReturn(createInstanceResponse);
97 cnfAdapterRest.createInstance(bpmnInstanceRequest);
98 Assert.assertNotNull(createInstanceResponse);
99 Assert.assertEquals(HttpStatus.CREATED, createInstanceResponse.getStatusCode());
103 public void getInstanceByInstanceIdTest() throws Exception {
105 String instanceId = "123";
106 createInstanceResponse = new ResponseEntity<InstanceResponse>(HttpStatus.OK);
107 CnfAdapterService cnfAdapterService = Mockito.mock(CnfAdapterService.class);
108 Mockito.when(cnfAdapterService.getInstanceByInstanceId(instanceId)).thenReturn(createInstanceResponse);
109 cnfAdapterRest.getInstanceByInstanceId(instanceId);
110 Assert.assertNotNull(createInstanceResponse);
111 Assert.assertEquals(HttpStatus.OK, createInstanceResponse.getStatusCode());
115 public void deleteInstanceByInstanceIdTest() throws Exception {
117 String instanceId = "123";
118 ResponseEntity<String> response = new ResponseEntity<String>(HttpStatus.OK);
119 CnfAdapterService cnfAdapterService = Mockito.mock(CnfAdapterService.class);
120 Mockito.when(cnfAdapterService.deleteInstanceByInstanceId(instanceId)).thenReturn(response);
121 cnfAdapterRest.deleteInstanceByInstanceId(instanceId);
122 Assert.assertNotNull(response);
123 Assert.assertEquals(HttpStatus.OK, response.getStatusCode());
127 public void getInstanceStatusByInstanceIdTest() throws Exception {
129 String instanceId = "123";
130 instanceStatusResponse = new ResponseEntity<InstanceStatusResponse>(HttpStatus.OK);
131 CnfAdapterService cnfAdapterService = Mockito.mock(CnfAdapterService.class);
132 Mockito.when(cnfAdapterService.getInstanceStatusByInstanceId(instanceId)).thenReturn(instanceStatusResponse);
133 cnfAdapterRest.getInstanceStatusByInstanceId(instanceId);
134 Assert.assertNotNull(instanceStatusResponse);
135 Assert.assertEquals(HttpStatus.OK, instanceStatusResponse.getStatusCode());
139 public void getInstanceByRBNameOrRBVersionOrProfileNameTest() throws Exception {
141 String rbName = "xyz";
142 String rbVersion = "v1";
143 String profileName = "p1";
144 InstanceMiniResponse instanceMiniResponse = new InstanceMiniResponse(HttpStatus.OK.toString());
145 List<InstanceMiniResponse> instancList = new ArrayList<InstanceMiniResponse>();
146 instancList.add(instanceMiniResponse);
147 InstanceMiniResponseList instanceMiniRespList = new InstanceMiniResponseList(HttpStatus.OK.toString());
148 instanceMiniRespList.setInstancList(instancList);
149 instanceMiniRespList.setErrorMsg(HttpStatus.OK.toString());
150 ResponseEntity<InstanceMiniResponseList> respone =
151 new ResponseEntity<InstanceMiniResponseList>(instanceMiniRespList, HttpStatus.OK);
152 CnfAdapterService cnfAdapterService = Mockito.mock(CnfAdapterService.class);
153 Mockito.when(cnfAdapterService.getInstanceByRBNameOrRBVersionOrProfileName(rbName, rbVersion, profileName))
154 .thenReturn(instacneMiniResponseList);
155 cnfAdapterRest.getInstanceByRBNameOrRBVersionOrProfileName(rbName, rbVersion, profileName);
156 Assert.assertNotNull(instacneMiniResponseList);
157 Assert.assertEquals(HttpStatus.OK.toString(), instanceMiniRespList.getErrorMsg());