1 package org.onap.so.adapters.appc.orchestrator.service;
3 import java.util.Optional;
4 import org.junit.Before;
6 import org.junit.runner.RunWith;
7 import org.mockito.InjectMocks;
8 import org.mockito.Mock;
9 import org.mockito.Mockito;
10 import org.mockito.Spy;
11 import org.mockito.junit.MockitoJUnitRunner;
12 import org.onap.appc.client.lcm.model.Status;
13 import org.onap.so.adapters.appc.orchestrator.client.ApplicationControllerCallback;
14 import org.onap.so.adapters.appc.orchestrator.client.ApplicationControllerClient;
15 import org.onap.so.adapters.appc.orchestrator.client.ApplicationControllerOrchestratorException;
16 import org.onap.so.adapters.appc.orchestrator.client.beans.ConfigurationParameters;
17 import org.onap.so.adapters.appc.orchestrator.client.beans.Identity;
18 import org.onap.so.adapters.appc.orchestrator.client.beans.Parameters;
19 import org.onap.so.adapters.appc.orchestrator.client.beans.RequestParameters;
20 import org.onap.so.adapters.appc.orchestrator.service.ApplicationControllerTaskImpl;
21 import org.onap.so.appc.orchestrator.service.beans.ApplicationControllerTaskRequest;
22 import org.onap.so.appc.orchestrator.service.beans.ApplicationControllerVnf;
23 import org.onap.so.client.graphinventory.GraphInventoryCommonObjectMapperProvider;
24 import com.fasterxml.jackson.core.JsonProcessingException;
25 import org.onap.appc.client.lcm.model.Action;
27 @RunWith(MockitoJUnitRunner.class)
28 public class ApplicationControllerTaskImplTest {
31 ApplicationControllerClient applicationControllerClient;
35 ApplicationControllerTaskImpl applicationControllerTaskImpl;
37 ApplicationControllerTaskRequest request;
39 ApplicationControllerCallback listener;
41 GraphInventoryCommonObjectMapperProvider mapper = new GraphInventoryCommonObjectMapperProvider();
45 request = new ApplicationControllerTaskRequest();
46 request.setBookName("testBookName");
47 request.setControllerType("testControllerType");
48 request.setFileParameters("testFileParams");
49 request.setIdentityUrl("testIdentityUrl");
50 request.setNewSoftwareVersion("2.0");
51 request.setExistingSoftwareVersion("1.0");
52 request.setOperationsTimeout("30");
53 ApplicationControllerVnf applicationControllerVnf = new ApplicationControllerVnf();
54 applicationControllerVnf.setVnfHostIpAddress("100.100");
55 applicationControllerVnf.setVnfId("testVnfId");
56 applicationControllerVnf.setVnfName("testVnfName");
57 request.setApplicationControllerVnf(applicationControllerVnf);
58 listener = new ApplicationControllerCallback(null, null, null);
63 public void testExcute_healthCheck() throws JsonProcessingException, ApplicationControllerOrchestratorException {
64 request.setAction(Action.HealthCheck);
66 Parameters parameters = new Parameters();
67 RequestParameters requestParams = new RequestParameters();
68 requestParams.setHostIpAddress(request.getApplicationControllerVnf().getVnfHostIpAddress());
69 parameters.setRequestParameters(requestParams);
70 Optional<String> payload = Optional.of((mapper.getMapper().writeValueAsString(parameters)));
72 Mockito.when(applicationControllerClient.vnfCommand(Action.HealthCheck, "testRequestId",
73 request.getApplicationControllerVnf().getVnfId(), Optional.empty(), payload, "testControllerType",
74 listener)).thenReturn(new Status());
76 Status status = applicationControllerTaskImpl.execute("testRequestId", request, listener);
78 Mockito.verify(applicationControllerClient).vnfCommand(Action.HealthCheck, "testRequestId",
79 request.getApplicationControllerVnf().getVnfId(), Optional.empty(), payload, "testControllerType",
85 public void testExcute_resumeTraffic() throws JsonProcessingException, ApplicationControllerOrchestratorException {
86 request.setAction(Action.ResumeTraffic);
88 Parameters parameters = new Parameters();
89 ConfigurationParameters configParams = new ConfigurationParameters();
90 configParams.setVnfName(request.getApplicationControllerVnf().getVnfName());
91 parameters.setConfigurationParameters(configParams);
92 Optional<String> payload = Optional.of((mapper.getMapper().writeValueAsString(parameters)));
94 Mockito.when(applicationControllerClient.vnfCommand(request.getAction(), "testRequestId",
95 request.getApplicationControllerVnf().getVnfId(), Optional.empty(), payload, "testControllerType",
96 listener)).thenReturn(new Status());
98 Status status = applicationControllerTaskImpl.execute("testRequestId", request, listener);
100 Mockito.verify(applicationControllerClient).vnfCommand(request.getAction(), "testRequestId",
101 request.getApplicationControllerVnf().getVnfId(), Optional.empty(), payload, "testControllerType",
106 public void testExcute_stop() throws JsonProcessingException, ApplicationControllerOrchestratorException {
107 request.setAction(Action.Stop);
109 Identity identity = new Identity();
110 identity.setIdentityUrl(request.getIdentityUrl());
111 Optional<String> payload = Optional.of((mapper.getMapper().writeValueAsString(identity)));
113 Mockito.when(applicationControllerClient.vnfCommand(request.getAction(), "testRequestId",
114 request.getApplicationControllerVnf().getVnfId(), Optional.empty(), payload, "testControllerType",
115 listener)).thenReturn(new Status());
117 Status status = applicationControllerTaskImpl.execute("testRequestId", request, listener);
119 Mockito.verify(applicationControllerClient).vnfCommand(request.getAction(), "testRequestId",
120 request.getApplicationControllerVnf().getVnfId(), Optional.empty(), payload, "testControllerType",
125 public void testExcute_lock() throws JsonProcessingException, ApplicationControllerOrchestratorException {
126 request.setAction(Action.Lock);
128 Mockito.when(applicationControllerClient.vnfCommand(request.getAction(), "testRequestId",
129 request.getApplicationControllerVnf().getVnfId(), Optional.empty(), Optional.empty(),
130 "testControllerType", listener)).thenReturn(new Status());
132 Status status = applicationControllerTaskImpl.execute("testRequestId", request, listener);
134 Mockito.verify(applicationControllerClient).vnfCommand(request.getAction(), "testRequestId",
135 request.getApplicationControllerVnf().getVnfId(), Optional.empty(), Optional.empty(),
136 "testControllerType", listener);
140 public void testExcute_quiesceTraffic() throws JsonProcessingException, ApplicationControllerOrchestratorException {
141 request.setAction(Action.QuiesceTraffic);
144 Parameters parameters = new Parameters();
145 parameters.setOperationsTimeout(request.getOperationsTimeout());
146 Optional<String> payload = Optional.of((mapper.getMapper().writeValueAsString(parameters)));
147 System.out.println("PAYLOAD is: " + payload.get());
149 Mockito.when(applicationControllerClient.vnfCommand(request.getAction(), "testRequestId",
150 request.getApplicationControllerVnf().getVnfId(), Optional.empty(), payload, "testControllerType",
151 listener)).thenReturn(new Status());
153 Status status = applicationControllerTaskImpl.execute("testRequestId", request, listener);
155 Mockito.verify(applicationControllerClient).vnfCommand(request.getAction(), "testRequestId",
156 request.getApplicationControllerVnf().getVnfId(), Optional.empty(), payload, "testControllerType",
161 public void testExcute_distributeTraffic()
162 throws JsonProcessingException, ApplicationControllerOrchestratorException {
163 request.setAction(Action.DistributeTraffic);
165 Parameters parameters = new Parameters();
166 ConfigurationParameters configParams = new ConfigurationParameters();
167 configParams.setBookName(request.getBookName());
168 configParams.setNodeList(request.getNodeList());
169 configParams.setFileParameterContent(request.getFileParameters());
170 configParams.setVnfName(request.getApplicationControllerVnf().getVnfName());
171 parameters.setConfigurationParameters(configParams);
172 Optional<String> payload = Optional.of((mapper.getMapper().writeValueAsString(parameters)));
174 Mockito.when(applicationControllerClient.vnfCommand(request.getAction(), "testRequestId",
175 request.getApplicationControllerVnf().getVnfId(), Optional.empty(), payload, "testControllerType",
176 listener)).thenReturn(new Status());
178 Status status = applicationControllerTaskImpl.execute("testRequestId", request, listener);
180 Mockito.verify(applicationControllerClient).vnfCommand(request.getAction(), "testRequestId",
181 request.getApplicationControllerVnf().getVnfId(), Optional.empty(), payload, "testControllerType",
186 public void testExcute_distributeTrafficCheck()
187 throws JsonProcessingException, ApplicationControllerOrchestratorException {
188 request.setAction(Action.DistributeTrafficCheck);
190 Parameters parameters = new Parameters();
191 ConfigurationParameters configParams = new ConfigurationParameters();
192 configParams.setBookName(request.getBookName());
193 configParams.setNodeList(request.getNodeList());
194 configParams.setFileParameterContent(request.getFileParameters());
195 configParams.setVnfName(request.getApplicationControllerVnf().getVnfName());
196 parameters.setConfigurationParameters(configParams);
197 Optional<String> payload = Optional.of((mapper.getMapper().writeValueAsString(parameters)));
199 Mockito.when(applicationControllerClient.vnfCommand(request.getAction(), "testRequestId",
200 request.getApplicationControllerVnf().getVnfId(), Optional.empty(), payload, "testControllerType",
201 listener)).thenReturn(new Status());
203 Status status = applicationControllerTaskImpl.execute("testRequestId", request, listener);
205 Mockito.verify(applicationControllerClient).vnfCommand(request.getAction(), "testRequestId",
206 request.getApplicationControllerVnf().getVnfId(), Optional.empty(), payload, "testControllerType",
211 public void testExcute_upgradeBackup() throws JsonProcessingException, ApplicationControllerOrchestratorException {
212 request.setAction(Action.UpgradeBackup);
214 Parameters parameters = new Parameters();
215 parameters.setExistingSoftwareVersion(request.getExistingSoftwareVersion());
216 parameters.setNewSoftwareVersion(request.getNewSoftwareVersion());
217 Optional<String> payload = Optional.of((mapper.getMapper().writeValueAsString(parameters)));
219 Mockito.when(applicationControllerClient.vnfCommand(request.getAction(), "testRequestId",
220 request.getApplicationControllerVnf().getVnfId(), Optional.empty(), payload, "testControllerType",
221 listener)).thenReturn(new Status());
223 Status status = applicationControllerTaskImpl.execute("testRequestId", request, listener);
225 Mockito.verify(applicationControllerClient).vnfCommand(request.getAction(), "testRequestId",
226 request.getApplicationControllerVnf().getVnfId(), Optional.empty(), payload, "testControllerType",
231 public void testListener() throws Exception {
232 request.setAction(Action.QuiesceTraffic);
233 Status status = applicationControllerTaskImpl.execute("testRequestId", request, listener);