1 package org.onap.so.adapters.appc.orchestrator.service;
3 import java.util.HashMap;
5 import java.util.Optional;
6 import org.junit.Before;
8 import org.junit.runner.RunWith;
9 import org.mockito.InjectMocks;
10 import org.mockito.Mock;
11 import org.mockito.Mockito;
12 import org.mockito.Spy;
13 import org.mockito.junit.MockitoJUnitRunner;
14 import org.onap.appc.client.lcm.model.Status;
15 import org.onap.so.adapters.appc.orchestrator.client.ApplicationControllerCallback;
16 import org.onap.so.adapters.appc.orchestrator.client.ApplicationControllerClient;
17 import org.onap.so.adapters.appc.orchestrator.client.ApplicationControllerOrchestratorException;
18 import org.onap.so.adapters.appc.orchestrator.client.beans.ConfigurationParameters;
19 import org.onap.so.adapters.appc.orchestrator.client.beans.Identity;
20 import org.onap.so.adapters.appc.orchestrator.client.beans.Parameters;
21 import org.onap.so.adapters.appc.orchestrator.client.beans.RequestParameters;
22 import org.onap.so.adapters.appc.orchestrator.service.ApplicationControllerTaskImpl;
23 import org.onap.so.appc.orchestrator.service.beans.ApplicationControllerTaskRequest;
24 import org.onap.so.appc.orchestrator.service.beans.ApplicationControllerVnf;
25 import org.onap.aaiclient.client.graphinventory.GraphInventoryCommonObjectMapperProvider;
26 import com.fasterxml.jackson.core.JsonProcessingException;
27 import org.onap.appc.client.lcm.model.Action;
29 @RunWith(MockitoJUnitRunner.class)
30 public class ApplicationControllerTaskImplTest {
33 ApplicationControllerClient applicationControllerClient;
37 ApplicationControllerTaskImpl applicationControllerTaskImpl;
39 ApplicationControllerTaskRequest request;
41 ApplicationControllerCallback listener;
43 GraphInventoryCommonObjectMapperProvider mapper = new GraphInventoryCommonObjectMapperProvider();
47 request = new ApplicationControllerTaskRequest();
48 request.setBookName("testBookName");
49 request.setControllerType("testControllerType");
50 request.setFileParameters("testFileParams");
51 request.setIdentityUrl("testIdentityUrl");
52 request.setNewSoftwareVersion("2.0");
53 request.setExistingSoftwareVersion("1.0");
54 request.setOperationsTimeout("30");
55 request.setRequestorId("testRequestorId");
56 Map<String, String> reqConfigParams = new HashMap<>();
57 reqConfigParams.put("name1", "value1");
58 reqConfigParams.put("name2", "value2");
59 request.setConfigParams(reqConfigParams);
60 ApplicationControllerVnf applicationControllerVnf = new ApplicationControllerVnf();
61 applicationControllerVnf.setVnfHostIpAddress("100.100");
62 applicationControllerVnf.setVnfId("testVnfId");
63 applicationControllerVnf.setVnfName("testVnfName");
64 request.setApplicationControllerVnf(applicationControllerVnf);
65 listener = new ApplicationControllerCallback(null, null, null);
70 public void testExcute_healthCheck() throws JsonProcessingException, ApplicationControllerOrchestratorException {
71 request.setAction(Action.HealthCheck);
73 Parameters parameters = new Parameters();
74 RequestParameters requestParams = new RequestParameters();
75 requestParams.setHostIpAddress(request.getApplicationControllerVnf().getVnfHostIpAddress());
76 parameters.setRequestParameters(requestParams);
77 Optional<String> payload = Optional.of((mapper.getMapper().writeValueAsString(parameters)));
79 Mockito.when(applicationControllerClient.vnfCommand(Action.HealthCheck, "testRequestId",
80 request.getApplicationControllerVnf().getVnfId(), Optional.empty(), payload, "testControllerType",
81 listener, "testRequestorId")).thenReturn(new Status());
83 Status status = applicationControllerTaskImpl.execute("testRequestId", request, listener);
85 Mockito.verify(applicationControllerClient).vnfCommand(Action.HealthCheck, "testRequestId",
86 request.getApplicationControllerVnf().getVnfId(), Optional.empty(), payload, "testControllerType",
87 listener, "testRequestorId");
92 public void testExcute_resumeTraffic() throws JsonProcessingException, ApplicationControllerOrchestratorException {
93 request.setAction(Action.ResumeTraffic);
95 Parameters parameters = new Parameters();
96 ConfigurationParameters configParams = new ConfigurationParameters();
97 configParams.setVnfName(request.getApplicationControllerVnf().getVnfName());
98 parameters.setConfigurationParameters(configParams);
99 Optional<String> payload = Optional.of((mapper.getMapper().writeValueAsString(parameters)));
101 Mockito.when(applicationControllerClient.vnfCommand(request.getAction(), "testRequestId",
102 request.getApplicationControllerVnf().getVnfId(), Optional.empty(), payload, "testControllerType",
103 listener, "testRequestorId")).thenReturn(new Status());
105 Status status = applicationControllerTaskImpl.execute("testRequestId", request, listener);
107 Mockito.verify(applicationControllerClient).vnfCommand(request.getAction(), "testRequestId",
108 request.getApplicationControllerVnf().getVnfId(), Optional.empty(), payload, "testControllerType",
109 listener, "testRequestorId");
113 public void testExcute_stop() throws JsonProcessingException, ApplicationControllerOrchestratorException {
114 request.setAction(Action.Stop);
116 Identity identity = new Identity();
117 identity.setIdentityUrl(request.getIdentityUrl());
118 Optional<String> payload = Optional.of((mapper.getMapper().writeValueAsString(identity)));
120 Mockito.when(applicationControllerClient.vnfCommand(request.getAction(), "testRequestId",
121 request.getApplicationControllerVnf().getVnfId(), Optional.empty(), payload, "testControllerType",
122 listener, "testRequestorId")).thenReturn(new Status());
124 Status status = applicationControllerTaskImpl.execute("testRequestId", request, listener);
126 Mockito.verify(applicationControllerClient).vnfCommand(request.getAction(), "testRequestId",
127 request.getApplicationControllerVnf().getVnfId(), Optional.empty(), payload, "testControllerType",
128 listener, "testRequestorId");
132 public void testExcute_lock() throws JsonProcessingException, ApplicationControllerOrchestratorException {
133 request.setAction(Action.Lock);
135 Mockito.when(applicationControllerClient.vnfCommand(request.getAction(), "testRequestId",
136 request.getApplicationControllerVnf().getVnfId(), Optional.empty(), Optional.empty(),
137 "testControllerType", listener, "testRequestorId")).thenReturn(new Status());
139 Status status = applicationControllerTaskImpl.execute("testRequestId", request, listener);
141 Mockito.verify(applicationControllerClient).vnfCommand(request.getAction(), "testRequestId",
142 request.getApplicationControllerVnf().getVnfId(), Optional.empty(), Optional.empty(),
143 "testControllerType", listener, "testRequestorId");
147 public void testExcute_quiesceTraffic() throws JsonProcessingException, ApplicationControllerOrchestratorException {
148 request.setAction(Action.QuiesceTraffic);
151 Parameters parameters = new Parameters();
152 parameters.setOperationsTimeout(request.getOperationsTimeout());
153 Optional<String> payload = Optional.of((mapper.getMapper().writeValueAsString(parameters)));
154 System.out.println("PAYLOAD is: " + payload.get());
156 Mockito.when(applicationControllerClient.vnfCommand(request.getAction(), "testRequestId",
157 request.getApplicationControllerVnf().getVnfId(), Optional.empty(), payload, "testControllerType",
158 listener, "testRequestorId")).thenReturn(new Status());
160 Status status = applicationControllerTaskImpl.execute("testRequestId", request, listener);
162 Mockito.verify(applicationControllerClient).vnfCommand(request.getAction(), "testRequestId",
163 request.getApplicationControllerVnf().getVnfId(), Optional.empty(), payload, "testControllerType",
164 listener, "testRequestorId");
168 public void testExcute_distributeTraffic()
169 throws JsonProcessingException, ApplicationControllerOrchestratorException {
170 request.setAction(Action.DistributeTraffic);
172 Parameters parameters = new Parameters();
173 ConfigurationParameters configParams = new ConfigurationParameters();
174 configParams.setBookName(request.getBookName());
175 configParams.setNodeList(request.getNodeList());
176 configParams.setFileParameterContent(request.getFileParameters());
177 configParams.setVnfName(request.getApplicationControllerVnf().getVnfName());
178 parameters.setConfigurationParameters(configParams);
179 Optional<String> payload = Optional.of((mapper.getMapper().writeValueAsString(parameters)));
181 Mockito.when(applicationControllerClient.vnfCommand(request.getAction(), "testRequestId",
182 request.getApplicationControllerVnf().getVnfId(), Optional.empty(), payload, "testControllerType",
183 listener, "testRequestorId")).thenReturn(new Status());
185 Status status = applicationControllerTaskImpl.execute("testRequestId", request, listener);
187 Mockito.verify(applicationControllerClient).vnfCommand(request.getAction(), "testRequestId",
188 request.getApplicationControllerVnf().getVnfId(), Optional.empty(), payload, "testControllerType",
189 listener, "testRequestorId");
193 public void testExcute_distributeTrafficCheck()
194 throws JsonProcessingException, ApplicationControllerOrchestratorException {
195 request.setAction(Action.DistributeTrafficCheck);
197 Parameters parameters = new Parameters();
198 ConfigurationParameters configParams = new ConfigurationParameters();
199 configParams.setBookName(request.getBookName());
200 configParams.setNodeList(request.getNodeList());
201 configParams.setFileParameterContent(request.getFileParameters());
202 configParams.setVnfName(request.getApplicationControllerVnf().getVnfName());
203 parameters.setConfigurationParameters(configParams);
204 Optional<String> payload = Optional.of((mapper.getMapper().writeValueAsString(parameters)));
206 Mockito.when(applicationControllerClient.vnfCommand(request.getAction(), "testRequestId",
207 request.getApplicationControllerVnf().getVnfId(), Optional.empty(), payload, "testControllerType",
208 listener, "testRequestorId")).thenReturn(new Status());
210 Status status = applicationControllerTaskImpl.execute("testRequestId", request, listener);
212 Mockito.verify(applicationControllerClient).vnfCommand(request.getAction(), "testRequestId",
213 request.getApplicationControllerVnf().getVnfId(), Optional.empty(), payload, "testControllerType",
214 listener, "testRequestorId");
218 public void testExcute_upgradeBackup() throws JsonProcessingException, ApplicationControllerOrchestratorException {
219 request.setAction(Action.UpgradeBackup);
221 Parameters parameters = new Parameters();
222 parameters.setExistingSoftwareVersion(request.getExistingSoftwareVersion());
223 parameters.setNewSoftwareVersion(request.getNewSoftwareVersion());
224 Optional<String> payload = Optional.of((mapper.getMapper().writeValueAsString(parameters)));
226 Mockito.when(applicationControllerClient.vnfCommand(request.getAction(), "testRequestId",
227 request.getApplicationControllerVnf().getVnfId(), Optional.empty(), payload, "testControllerType",
228 listener, "testRequestorId")).thenReturn(new Status());
230 Status status = applicationControllerTaskImpl.execute("testRequestId", request, listener);
232 Mockito.verify(applicationControllerClient).vnfCommand(request.getAction(), "testRequestId",
233 request.getApplicationControllerVnf().getVnfId(), Optional.empty(), payload, "testControllerType",
234 listener, "testRequestorId");
238 public void testExcute_configModify() throws JsonProcessingException, ApplicationControllerOrchestratorException {
239 request.setAction(Action.ConfigModify);
241 Parameters parameters = new Parameters();
242 RequestParameters requestParams = new RequestParameters();
243 requestParams.setHostIpAddress(request.getApplicationControllerVnf().getVnfHostIpAddress());
244 parameters.setRequestParameters(requestParams);
245 ConfigurationParameters configParams = new ConfigurationParameters();
246 Map<String, String> configParamMap = new HashMap<>();
247 configParamMap.put("name1", "value1");
248 configParamMap.put("name2", "value2");
249 configParams.setAdditionalProperties(configParamMap);
250 parameters.setConfigurationParameters(configParams);
251 Optional<String> payload = Optional.of((mapper.getMapper().writeValueAsString(parameters)));
253 Mockito.when(applicationControllerClient.vnfCommand(request.getAction(), "testRequestId",
254 request.getApplicationControllerVnf().getVnfId(), Optional.empty(), payload, "testControllerType",
255 listener, "testRequestorId")).thenReturn(new Status());
257 Status status = applicationControllerTaskImpl.execute("testRequestId", request, listener);
259 Mockito.verify(applicationControllerClient).vnfCommand(request.getAction(), "testRequestId",
260 request.getApplicationControllerVnf().getVnfId(), Optional.empty(), payload, "testControllerType",
261 listener, "testRequestorId");
265 public void testListener() throws Exception {
266 request.setAction(Action.QuiesceTraffic);
267 Status status = applicationControllerTaskImpl.execute("testRequestId", request, listener);