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 Map<String, String> reqConfigParams = new HashMap<>();
56 reqConfigParams.put("name1", "value1");
57 reqConfigParams.put("name2", "value2");
58 request.setConfigParams(reqConfigParams);
59 ApplicationControllerVnf applicationControllerVnf = new ApplicationControllerVnf();
60 applicationControllerVnf.setVnfHostIpAddress("100.100");
61 applicationControllerVnf.setVnfId("testVnfId");
62 applicationControllerVnf.setVnfName("testVnfName");
63 request.setApplicationControllerVnf(applicationControllerVnf);
64 listener = new ApplicationControllerCallback(null, null, null);
69 public void testExcute_healthCheck() throws JsonProcessingException, ApplicationControllerOrchestratorException {
70 request.setAction(Action.HealthCheck);
72 Parameters parameters = new Parameters();
73 RequestParameters requestParams = new RequestParameters();
74 requestParams.setHostIpAddress(request.getApplicationControllerVnf().getVnfHostIpAddress());
75 parameters.setRequestParameters(requestParams);
76 Optional<String> payload = Optional.of((mapper.getMapper().writeValueAsString(parameters)));
78 Mockito.when(applicationControllerClient.vnfCommand(Action.HealthCheck, "testRequestId",
79 request.getApplicationControllerVnf().getVnfId(), Optional.empty(), payload, "testControllerType",
80 listener)).thenReturn(new Status());
82 Status status = applicationControllerTaskImpl.execute("testRequestId", request, listener);
84 Mockito.verify(applicationControllerClient).vnfCommand(Action.HealthCheck, "testRequestId",
85 request.getApplicationControllerVnf().getVnfId(), Optional.empty(), payload, "testControllerType",
91 public void testExcute_resumeTraffic() throws JsonProcessingException, ApplicationControllerOrchestratorException {
92 request.setAction(Action.ResumeTraffic);
94 Parameters parameters = new Parameters();
95 ConfigurationParameters configParams = new ConfigurationParameters();
96 configParams.setVnfName(request.getApplicationControllerVnf().getVnfName());
97 parameters.setConfigurationParameters(configParams);
98 Optional<String> payload = Optional.of((mapper.getMapper().writeValueAsString(parameters)));
100 Mockito.when(applicationControllerClient.vnfCommand(request.getAction(), "testRequestId",
101 request.getApplicationControllerVnf().getVnfId(), Optional.empty(), payload, "testControllerType",
102 listener)).thenReturn(new Status());
104 Status status = applicationControllerTaskImpl.execute("testRequestId", request, listener);
106 Mockito.verify(applicationControllerClient).vnfCommand(request.getAction(), "testRequestId",
107 request.getApplicationControllerVnf().getVnfId(), Optional.empty(), payload, "testControllerType",
112 public void testExcute_stop() throws JsonProcessingException, ApplicationControllerOrchestratorException {
113 request.setAction(Action.Stop);
115 Identity identity = new Identity();
116 identity.setIdentityUrl(request.getIdentityUrl());
117 Optional<String> payload = Optional.of((mapper.getMapper().writeValueAsString(identity)));
119 Mockito.when(applicationControllerClient.vnfCommand(request.getAction(), "testRequestId",
120 request.getApplicationControllerVnf().getVnfId(), Optional.empty(), payload, "testControllerType",
121 listener)).thenReturn(new Status());
123 Status status = applicationControllerTaskImpl.execute("testRequestId", request, listener);
125 Mockito.verify(applicationControllerClient).vnfCommand(request.getAction(), "testRequestId",
126 request.getApplicationControllerVnf().getVnfId(), Optional.empty(), payload, "testControllerType",
131 public void testExcute_lock() throws JsonProcessingException, ApplicationControllerOrchestratorException {
132 request.setAction(Action.Lock);
134 Mockito.when(applicationControllerClient.vnfCommand(request.getAction(), "testRequestId",
135 request.getApplicationControllerVnf().getVnfId(), Optional.empty(), Optional.empty(),
136 "testControllerType", listener)).thenReturn(new Status());
138 Status status = applicationControllerTaskImpl.execute("testRequestId", request, listener);
140 Mockito.verify(applicationControllerClient).vnfCommand(request.getAction(), "testRequestId",
141 request.getApplicationControllerVnf().getVnfId(), Optional.empty(), Optional.empty(),
142 "testControllerType", listener);
146 public void testExcute_quiesceTraffic() throws JsonProcessingException, ApplicationControllerOrchestratorException {
147 request.setAction(Action.QuiesceTraffic);
150 Parameters parameters = new Parameters();
151 parameters.setOperationsTimeout(request.getOperationsTimeout());
152 Optional<String> payload = Optional.of((mapper.getMapper().writeValueAsString(parameters)));
153 System.out.println("PAYLOAD is: " + payload.get());
155 Mockito.when(applicationControllerClient.vnfCommand(request.getAction(), "testRequestId",
156 request.getApplicationControllerVnf().getVnfId(), Optional.empty(), payload, "testControllerType",
157 listener)).thenReturn(new Status());
159 Status status = applicationControllerTaskImpl.execute("testRequestId", request, listener);
161 Mockito.verify(applicationControllerClient).vnfCommand(request.getAction(), "testRequestId",
162 request.getApplicationControllerVnf().getVnfId(), Optional.empty(), payload, "testControllerType",
167 public void testExcute_distributeTraffic()
168 throws JsonProcessingException, ApplicationControllerOrchestratorException {
169 request.setAction(Action.DistributeTraffic);
171 Parameters parameters = new Parameters();
172 ConfigurationParameters configParams = new ConfigurationParameters();
173 configParams.setBookName(request.getBookName());
174 configParams.setNodeList(request.getNodeList());
175 configParams.setFileParameterContent(request.getFileParameters());
176 configParams.setVnfName(request.getApplicationControllerVnf().getVnfName());
177 parameters.setConfigurationParameters(configParams);
178 Optional<String> payload = Optional.of((mapper.getMapper().writeValueAsString(parameters)));
180 Mockito.when(applicationControllerClient.vnfCommand(request.getAction(), "testRequestId",
181 request.getApplicationControllerVnf().getVnfId(), Optional.empty(), payload, "testControllerType",
182 listener)).thenReturn(new Status());
184 Status status = applicationControllerTaskImpl.execute("testRequestId", request, listener);
186 Mockito.verify(applicationControllerClient).vnfCommand(request.getAction(), "testRequestId",
187 request.getApplicationControllerVnf().getVnfId(), Optional.empty(), payload, "testControllerType",
192 public void testExcute_distributeTrafficCheck()
193 throws JsonProcessingException, ApplicationControllerOrchestratorException {
194 request.setAction(Action.DistributeTrafficCheck);
196 Parameters parameters = new Parameters();
197 ConfigurationParameters configParams = new ConfigurationParameters();
198 configParams.setBookName(request.getBookName());
199 configParams.setNodeList(request.getNodeList());
200 configParams.setFileParameterContent(request.getFileParameters());
201 configParams.setVnfName(request.getApplicationControllerVnf().getVnfName());
202 parameters.setConfigurationParameters(configParams);
203 Optional<String> payload = Optional.of((mapper.getMapper().writeValueAsString(parameters)));
205 Mockito.when(applicationControllerClient.vnfCommand(request.getAction(), "testRequestId",
206 request.getApplicationControllerVnf().getVnfId(), Optional.empty(), payload, "testControllerType",
207 listener)).thenReturn(new Status());
209 Status status = applicationControllerTaskImpl.execute("testRequestId", request, listener);
211 Mockito.verify(applicationControllerClient).vnfCommand(request.getAction(), "testRequestId",
212 request.getApplicationControllerVnf().getVnfId(), Optional.empty(), payload, "testControllerType",
217 public void testExcute_upgradeBackup() throws JsonProcessingException, ApplicationControllerOrchestratorException {
218 request.setAction(Action.UpgradeBackup);
220 Parameters parameters = new Parameters();
221 parameters.setExistingSoftwareVersion(request.getExistingSoftwareVersion());
222 parameters.setNewSoftwareVersion(request.getNewSoftwareVersion());
223 Optional<String> payload = Optional.of((mapper.getMapper().writeValueAsString(parameters)));
225 Mockito.when(applicationControllerClient.vnfCommand(request.getAction(), "testRequestId",
226 request.getApplicationControllerVnf().getVnfId(), Optional.empty(), payload, "testControllerType",
227 listener)).thenReturn(new Status());
229 Status status = applicationControllerTaskImpl.execute("testRequestId", request, listener);
231 Mockito.verify(applicationControllerClient).vnfCommand(request.getAction(), "testRequestId",
232 request.getApplicationControllerVnf().getVnfId(), Optional.empty(), payload, "testControllerType",
237 public void testExcute_configModify() throws JsonProcessingException, ApplicationControllerOrchestratorException {
238 request.setAction(Action.ConfigModify);
240 Parameters parameters = new Parameters();
241 RequestParameters requestParams = new RequestParameters();
242 requestParams.setHostIpAddress(request.getApplicationControllerVnf().getVnfHostIpAddress());
243 parameters.setRequestParameters(requestParams);
244 ConfigurationParameters configParams = new ConfigurationParameters();
245 Map<String, String> configParamMap = new HashMap<>();
246 configParamMap.put("name1", "value1");
247 configParamMap.put("name2", "value2");
248 configParams.setAdditionalProperties(configParamMap);
249 parameters.setConfigurationParameters(configParams);
250 Optional<String> payload = Optional.of((mapper.getMapper().writeValueAsString(parameters)));
252 Mockito.when(applicationControllerClient.vnfCommand(request.getAction(), "testRequestId",
253 request.getApplicationControllerVnf().getVnfId(), Optional.empty(), payload, "testControllerType",
254 listener)).thenReturn(new Status());
256 Status status = applicationControllerTaskImpl.execute("testRequestId", request, listener);
258 Mockito.verify(applicationControllerClient).vnfCommand(request.getAction(), "testRequestId",
259 request.getApplicationControllerVnf().getVnfId(), Optional.empty(), payload, "testControllerType",
264 public void testListener() throws Exception {
265 request.setAction(Action.QuiesceTraffic);
266 Status status = applicationControllerTaskImpl.execute("testRequestId", request, listener);