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);