df21a4212f21724d4b7bbc22e91b75806e22c699
[so.git] / adapters / mso-cnf-adapter / src / test / java / org / onap / so / adapters / cnf / rest / CnfAdapterRestTest.java
1
2 /*
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
8  * of the License at
9  * 
10  * http://www.apache.org/licenses/LICENSE-2.0
11  * 
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=========================================================
16  */
17
18 package org.onap.so.adapters.cnf.rest;
19
20
21 import java.util.ArrayList;
22 import java.util.HashMap;
23 import java.util.List;
24 import java.util.Map;
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;
42
43
44 @RunWith(SpringRunner.class)
45 public class CnfAdapterRestTest {
46
47     @InjectMocks
48     CnfAdapterRest cnfAdapterRest;
49
50     @Mock
51     CnfAdapterService cnfAdapterService;
52
53     @Mock
54     ResponseEntity<InstanceResponse> createInstanceResponse;
55
56     @Mock
57     ResponseEntity<InstanceMiniResponseList> instacneMiniResponseList;
58
59     @Mock
60     ResponseEntity<InstanceStatusResponse> instanceStatusResponse;
61
62     @Test
63     public void healthCheckTest() throws Exception {
64
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());
71     }
72
73     @Test
74     public void createInstanceTest() throws Exception {
75
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());
100     }
101
102     @Test
103     public void getInstanceByInstanceIdTest() throws Exception {
104
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());
112     }
113
114     @Test
115     public void deleteInstanceByInstanceIdTest() throws Exception {
116
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());
124     }
125
126     @Test
127     public void getInstanceStatusByInstanceIdTest() throws Exception {
128
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());
136     }
137
138     @Test
139     public void getInstanceByRBNameOrRBVersionOrProfileNameTest() throws Exception {
140
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());
158     }
159
160 }
161