Replaced all tabs with spaces in java and pom.xml
[so.git] / bpmn / MSOCommonBPMN / src / test / java / org / onap / so / client / appc / ApplicationControllerActionTest.java
index 2f65f9c..32db3a7 100644 (file)
@@ -26,11 +26,9 @@ import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.doThrow;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
-
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.Optional;
-
 import org.json.JSONObject;
 import org.junit.Before;
 import org.junit.Test;
@@ -43,420 +41,444 @@ import org.onap.so.BaseTest;
 import com.fasterxml.jackson.core.JsonProcessingException;
 
 
-public class ApplicationControllerActionTest extends BaseTest{
-       
-       private ApplicationControllerAction appCAction;
-       
-       @Mock
-       private ApplicationControllerOrchestrator client;
-       
-       @Before
-       public void setup() {
-               MockitoAnnotations.initMocks(this);
-               
-               appCAction = new ApplicationControllerAction();
-               appCAction.client = client;
-       }
-       
-       @Test
-       public void runAppCCommand_ResumeTraffic_Test() throws ApplicationControllerOrchestratorException, JsonProcessingException { 
-               //Prepare method
-               Action action = Action.ResumeTraffic;
-               String msoRequestId = "testMsoRequestId";
-               String vnfId = "testVnfId";
-               Optional<String> payload = Optional.empty();
-               Optional<String> vserverId = Optional.empty();
-               HashMap<String, String> payloadInfo = new HashMap<String, String>();
-               payloadInfo.put("vnfName", "testVnfName");
-               String controllerType = "testControllerType";
-               
-               //Prepare mocks
-               Status status = new Status();
-               Optional<String> otherPayload = PayloadClient.resumeTrafficFormat(payloadInfo.get("vnfName"));
-               doReturn(status).when(client).vnfCommand(action, msoRequestId, vnfId, vserverId, otherPayload, controllerType);
-               
-               //Run method
-               appCAction.runAppCCommand(action, msoRequestId, vnfId, payload, payloadInfo, controllerType);
-               
-               //Verify call
-               verify(client, times(1)).vnfCommand(action, msoRequestId, vnfId, vserverId, otherPayload, controllerType);
-       }
-       
-       @Test
-       public void runAppCCommand_Start_Test() throws ApplicationControllerOrchestratorException, JsonProcessingException { 
-               runAppCCommand_StartStop_Test(Action.Start);
-       }
-       
-       @Test
-       public void runAppCCommand_Stop_Test() throws ApplicationControllerOrchestratorException, JsonProcessingException { 
-               runAppCCommand_StartStop_Test(Action.Stop);
-       }
-       
-       private void runAppCCommand_StartStop_Test(Action action) throws ApplicationControllerOrchestratorException, JsonProcessingException { 
-               //Prepare method
-               String msoRequestId = "testMsoRequestId";
-               String vnfId = "testVnfId";
-               Optional<String> payload = Optional.empty();
-               Optional<String> vserverId = Optional.empty();
-               HashMap<String, String> payloadInfo = new HashMap<String, String>();
-               payloadInfo.put("vnfName", "testVnfName");
-               String controllerType = "testControllerType";
-               
-               //Prepare mocks
-               Status status = new Status();
-               Optional<String> otherPayload = PayloadClient.startStopFormat(payloadInfo.get("vnfName"));
-               doReturn(status).when(client).vnfCommand(action, msoRequestId, vnfId, vserverId, otherPayload, controllerType);
-               
-               //Run method
-               appCAction.runAppCCommand(action, msoRequestId, vnfId, payload, payloadInfo, controllerType);
-               
-               //Verify call
-               verify(client, times(1)).vnfCommand(action, msoRequestId, vnfId, vserverId, otherPayload, controllerType);
-       }
-       
-       @Test
-       public void runAppCCommand_Unlock_Test() throws ApplicationControllerOrchestratorException { 
-               runAppCCommand_LockUnlock_Test(Action.Unlock);
-       }
-       
-       @Test
-       public void runAppCCommand_Lock_Test() throws ApplicationControllerOrchestratorException { 
-               runAppCCommand_LockUnlock_Test(Action.Lock);
-       }
-       
-       private void runAppCCommand_LockUnlock_Test(Action action) throws ApplicationControllerOrchestratorException { 
-               //Prepare method
-               String msoRequestId = "testMsoRequestId";
-               String vnfId = "testVnfId";
-               Optional<String> payload = Optional.empty();
-               Optional<String> vserverId = Optional.empty();
-               HashMap<String, String> payloadInfo = new HashMap<String, String>();
-               String controllerType = "testControllerType";
-               
-               //Prepare mocks
-               Status status = new Status();
-               Optional<String> otherPayload = Optional.empty();
-               doReturn(status).when(client).vnfCommand(action, msoRequestId, vnfId, vserverId, otherPayload, controllerType);
-               
-               //Run method
-               appCAction.runAppCCommand(action, msoRequestId, vnfId, payload, payloadInfo, controllerType);
-               
-               //Verify call
-               verify(client, times(1)).vnfCommand(action, msoRequestId, vnfId, vserverId, otherPayload, controllerType);
-       }
-       
-       @Test
-       public void runAppCCommand_QuiesceTraffic_PayloadPresent_Test() throws ApplicationControllerOrchestratorException, JsonProcessingException { 
-               //Prepare method
-               Action action = Action.QuiesceTraffic;
-               String msoRequestId = "testMsoRequestId";
-               String vnfId = "testVnfId";
-               Optional<String> payload = Optional.of("testPayload");
-               Optional<String> vserverId = Optional.empty();
-               HashMap<String, String> payloadInfo = new HashMap<String, String>();
-               payloadInfo.put("vnfName", "testVnfName");
-               String controllerType = "testControllerType";
-               
-               //Prepare mocks
-               Status status = new Status();
-               Optional<String> modifiedPayload = PayloadClient.quiesceTrafficFormat(payload, payloadInfo.get("vnfName"));
-               doReturn(status).when(client).vnfCommand(action, msoRequestId, vnfId, vserverId, modifiedPayload, controllerType);
-               
-               //Run method
-               appCAction.runAppCCommand(action, msoRequestId, vnfId, payload, payloadInfo, controllerType);
-               
-               //Verify call
-               verify(client, times(1)).vnfCommand(action, msoRequestId, vnfId, vserverId, modifiedPayload, controllerType);
-       }
-       
-       @Test
-       public void runAppCCommand_QuiesceTraffic_NoPayload_Test() throws ApplicationControllerOrchestratorException { 
-               //Prepare method
-               Action action = Action.QuiesceTraffic;
-               String msoRequestId = "testMsoRequestId";
-               String vnfId = "testVnfId";
-               Optional<String> payload = Optional.empty();
-               HashMap<String, String> payloadInfo = new HashMap<String, String>();
-               String controllerType = "testControllerType";
-               
-               //Run method
-               appCAction.runAppCCommand(action, msoRequestId, vnfId, payload, payloadInfo, controllerType);
-               
-               //Verify non call
-               verify(client, times(0)).vnfCommand(any(), any(), any(), any(), any(), any());
-               assertEquals("Payload is not present for " + action.toString(), appCAction.getErrorMessage());
-       }
-       
-       @Test
-       public void runAppCCommand_HealthCheck_Test() throws ApplicationControllerOrchestratorException, JsonProcessingException { 
-               //Prepare method
-               Action action = Action.HealthCheck;
-               String msoRequestId = "testMsoRequestId";
-               String vnfId = "testVnfId";
-               Optional<String> payload = Optional.empty();
-               Optional<String> vserverId = Optional.empty();
-               HashMap<String, String> payloadInfo = new HashMap<String, String>();
-               payloadInfo.put("vnfName", "testVnfName");
-               payloadInfo.put("vnfHostIpAddress", "testVnfHostIpAddress");
-               String controllerType = "testControllerType";
-               
-               //Prepare mocks
-               Status status = new Status();
-               Optional<String> otherPayload = PayloadClient.healthCheckFormat(payloadInfo.get("vnfName"), payloadInfo.get("vnfHostIpAddress"));
-               doReturn(status).when(client).vnfCommand(action, msoRequestId, vnfId, vserverId, otherPayload, controllerType);
-               
-               //Run method
-               appCAction.runAppCCommand(action, msoRequestId, vnfId, payload, payloadInfo, controllerType);
-               
-               //Verify call
-               verify(client, times(1)).vnfCommand(action, msoRequestId, vnfId, vserverId, otherPayload, controllerType);
-       }
-       
-       @Test
-       public void runAppCCommand_Snapshot_Test() throws ApplicationControllerOrchestratorException, JsonProcessingException { 
-               //Prepare method
-               Action action = Action.Snapshot;
-               String msoRequestId = "testMsoRequestId";
-               String vnfId = "testVnfId";
-               Optional<String> payload = Optional.empty();
-               HashMap<String, String> payloadInfo = new HashMap<String, String>();
-               payloadInfo.put("identityUrl", "testIdentityUrl");
-               ArrayList<String> vmIdList = new ArrayList<String>();
-               String vmId1 = "testlink:testVmId1";
-               vmIdList.add(vmId1);
-               String vmId2 = "testlink:testVmId2";
-               vmIdList.add(vmId2);
-               JSONObject vmIdListJson = new JSONObject();
-               vmIdListJson.put("vmIds", vmIdList);
-               payloadInfo.put("vmIdList", vmIdListJson.toString());
-               ArrayList<String> vserverIdList = new ArrayList<String>();
-               String vserverId1 = "testVserverId1";
-               Optional<String> vserverIdString1 = Optional.of(vserverId1);
-               vserverIdList.add(vserverId1);
-               String vserverId2 = "testVserverId2";
-               Optional<String> vserverIdString2 = Optional.of(vserverId2);
-               vserverIdList.add(vserverId2);
-               
-               JSONObject vserverIdListJson = new JSONObject();
-               vserverIdListJson.put("vserverIds", vserverIdList);
-               payloadInfo.put("vserverIdList", vserverIdListJson.toString());
-               String controllerType = "testControllerType";
-               
-               //Prepare mocks
-               Status status = new Status();
-               Optional<String> otherPayloadVm1 = PayloadClient.snapshotFormat(vmId1, payloadInfo.get("identityUrl"));
-               Optional<String> otherPayloadVm2 = PayloadClient.snapshotFormat(vmId2, payloadInfo.get("identityUrl"));
-               doReturn(status).when(client).vnfCommand(action, msoRequestId, vnfId, vserverIdString1, otherPayloadVm1, controllerType);
-               doReturn(status).when(client).vnfCommand(action, msoRequestId, vnfId, vserverIdString2, otherPayloadVm2, controllerType);
-               
-               //Run method
-               appCAction.runAppCCommand(action, msoRequestId, vnfId, payload, payloadInfo, controllerType);
-               
-               //Verify call
-               verify(client, times(1)).vnfCommand(action, msoRequestId, vnfId, vserverIdString1, otherPayloadVm1, controllerType);
-               verify(client, times(1)).vnfCommand(action, msoRequestId, vnfId, vserverIdString2, otherPayloadVm2, controllerType);
-       }
-       
-       @Test
-       public void runAppCCommand_ConfigModify__PayloadPresent_Test() throws ApplicationControllerOrchestratorException { 
-               //Prepare method
-               Action action = Action.ConfigModify;
-               String msoRequestId = "testMsoRequestId";
-               String vnfId = "testVnfId";
-               Optional<String> payload = Optional.of("testPayload");
-               Optional<String> vserverId = Optional.empty();
-               HashMap<String, String> payloadInfo = new HashMap<String, String>();
-               String controllerType = "testControllerType";
-               
-               //Prepare mocks
-               Status status = new Status();
-               doReturn(status).when(client).vnfCommand(action, msoRequestId, vnfId, vserverId, payload, controllerType);
-               
-               //Run method
-               appCAction.runAppCCommand(action, msoRequestId, vnfId, payload, payloadInfo, controllerType);
-               
-               //Verify call
-               verify(client, times(1)).vnfCommand(action, msoRequestId, vnfId, vserverId, payload, controllerType);
-       }
-       
-       @Test
-       public void runAppCCommand_ConfigModify__NoPayload_Test() throws ApplicationControllerOrchestratorException { 
-               //Prepare method
-               Action action = Action.ConfigModify;
-               String msoRequestId = "testMsoRequestId";
-               String vnfId = "testVnfId";
-               Optional<String> payload = Optional.empty();
-               HashMap<String, String> payloadInfo = new HashMap<String, String>();
-               String controllerType = "testControllerType";
-               
-               //Run method
-               appCAction.runAppCCommand(action, msoRequestId, vnfId, payload, payloadInfo, controllerType);
-               
-               //Verify non call
-               verify(client, times(0)).vnfCommand(any(), any(), any(), any(), any(), any());
-               assertEquals("Payload is not present for " + action.toString(), appCAction.getErrorMessage());
-       }
-       
-       @Test
-       public void runAppCCommand_UpgradePreCheck_PayloadPresent_Test() throws ApplicationControllerOrchestratorException, JsonProcessingException {
-               runAppCCommand_Upgrade_PayloadPresent_Test(Action.UpgradePreCheck);
-       }
-       
-       @Test
-       public void runAppCCommand_UpgradePostCheck_PayloadPresent_Test() throws ApplicationControllerOrchestratorException, JsonProcessingException {
-               runAppCCommand_Upgrade_PayloadPresent_Test(Action.UpgradePostCheck);
-       }
-       
-       @Test
-       public void runAppCCommand_UpgradeSoftware_PayloadPresent_Test() throws ApplicationControllerOrchestratorException, JsonProcessingException {
-               runAppCCommand_Upgrade_PayloadPresent_Test(Action.UpgradeSoftware);
-       }
-       
-       @Test
-       public void runAppCCommand_UpgradeBackup_PayloadPresent_Test() throws ApplicationControllerOrchestratorException, JsonProcessingException {
-               runAppCCommand_Upgrade_PayloadPresent_Test(Action.UpgradeBackup);
-       }
-       
-       private void runAppCCommand_Upgrade_PayloadPresent_Test(Action action) throws ApplicationControllerOrchestratorException, JsonProcessingException {
-               //Prepare method
-               String msoRequestId = "testMsoRequestId";
-               String vnfId = "testVnfId";
-               Optional<String> payload = Optional.of("testPayload");
-               Optional<String> vserverId = Optional.empty();
-               HashMap<String, String> payloadInfo = new HashMap<String, String>();
-               payloadInfo.put("vnfName", "testVnfName");
-               String controllerType = "testControllerType";
-               
-               //Prepare mocks
-               Status status = new Status();
-               Optional<String> modifiedPayload = PayloadClient.upgradeFormat(payload, payloadInfo.get("vnfName"));
-               doReturn(status).when(client).vnfCommand(action, msoRequestId, vnfId, vserverId, modifiedPayload, controllerType);
-               
-               //Run method
-               appCAction.runAppCCommand(action, msoRequestId, vnfId, payload, payloadInfo, controllerType);
-               
-               //Verify call
-               verify(client, times(1)).vnfCommand(action, msoRequestId, vnfId, vserverId, modifiedPayload, controllerType);
-       }
-       
-       @Test
-       public void runAppCCommand_UpgradePreCheck_NoPayload_Test() throws ApplicationControllerOrchestratorException {
-               runAppCCommand_Upgrade_NoPayload_Test(Action.UpgradePreCheck);
-       }
-       
-       @Test
-       public void runAppCCommand_UpgradePostCheck_NoPayload_Test() throws ApplicationControllerOrchestratorException {
-               runAppCCommand_Upgrade_NoPayload_Test(Action.UpgradePostCheck);
-       }
-       
-       @Test
-       public void runAppCCommand_UpgradeSoftware_NoPayload_Test() throws ApplicationControllerOrchestratorException {
-               runAppCCommand_Upgrade_NoPayload_Test(Action.UpgradeSoftware);
-       }
-       
-       @Test
-       public void runAppCCommand_UpgradeBackup_NoPayload_Test() throws ApplicationControllerOrchestratorException {
-               runAppCCommand_Upgrade_NoPayload_Test(Action.UpgradeBackup);
-       }
-       
-       private void runAppCCommand_Upgrade_NoPayload_Test(Action action) throws ApplicationControllerOrchestratorException {
-               //Prepare method
-               String msoRequestId = "testMsoRequestId";
-               String vnfId = "testVnfId";
-               Optional<String> payload = Optional.empty();
-               HashMap<String, String> payloadInfo = new HashMap<String, String>();
-               String controllerType = "testControllerType";
-               
-               //Run method
-               appCAction.runAppCCommand(action, msoRequestId, vnfId, payload, payloadInfo, controllerType);
-               
-               //Verify non call
-               verify(client, times(0)).vnfCommand(any(), any(), any(), any(), any(), any());
-               assertEquals("Payload is not present for " + action.toString(), appCAction.getErrorMessage());
-       }
-       
-       @Test
-       public void runAppCCommand_InvalidAppCAction_Test() throws ApplicationControllerOrchestratorException {
-               //Prepare method
-               Action action = Action.ActionStatus;
-               String msoRequestId = "testMsoRequestId";
-               String vnfId = "testVnfId";
-               Optional<String> payload = Optional.empty();
-               HashMap<String, String> payloadInfo = new HashMap<String, String>();
-               String controllerType = "testControllerType";
-               
-               //Run method
-               appCAction.runAppCCommand(action, msoRequestId, vnfId, payload, payloadInfo, controllerType);
-               
-               //Verify non call
-               verify(client, times(0)).vnfCommand(any(), any(), any(), any(), any(), any());
-               //TODO For original author/architect: it appears that whoever coded this wanted the error message to be "Unable to idenify Action request for AppCClient" and this is not the case because of the ApplicationControllerSupport.getCategoryOf(appCStatus) call with a null appCStatus, so this may be something worth looking into
-       }
-       
-       @Test
-       public void runAppCCommand_NormalAppCStatusGetErrorCode_Test() throws ApplicationControllerOrchestratorException, JsonProcessingException {
-               //Prepare method
-               Action action = Action.Start;
-               String msoRequestId = "testMsoRequestId";
-               String vnfId = "testVnfId";
-               Optional<String> payload = Optional.empty();
-               Optional<String> vserverId = Optional.empty();
-               HashMap<String, String> payloadInfo = new HashMap<String, String>();
-               payloadInfo.put("vnfName", "testVnfName");
-               String controllerType = "testControllerType";
-               
-               //Prepare mocks
-               Status status = new Status();
-               status.setCode(100);
-               Optional<String> otherPayload = PayloadClient.startStopFormat(payloadInfo.get("vnfName"));
-               doReturn(status).when(client).vnfCommand(action, msoRequestId, vnfId, vserverId, otherPayload, controllerType);
-               
-               //Run method
-               appCAction.runAppCCommand(action, msoRequestId, vnfId, payload, payloadInfo, controllerType);
-               
-               //Verify call
-               String expectedErrorCode = "0";
-               assertEquals(expectedErrorCode, appCAction.getErrorCode());
-       }
-       
-       @Test
-       public void getErrorCode_Test() {
-               String defaultErrorCode = "1002";
-               //Verify default error code
-               assertEquals(defaultErrorCode, appCAction.getErrorCode());
-       }
-       
-       @Test
-       public void getErrorMessage_Test() {
-               String defaultErrorMessage = "Unable to reach App C Servers";
-               //Verify default error message
-               assertEquals(defaultErrorMessage, appCAction.getErrorMessage());
-       }
-       
-       @Test
-       public void applicationControllerOrchestratorExceptionCaught_Test() throws ApplicationControllerOrchestratorException, JsonProcessingException {
-               //Prepare method
-               Action action = Action.Start;
-               String msoRequestId = "testMsoRequestId";
-               String vnfId = "testVnfId";
-               Optional<String> payload = Optional.empty();
-               Optional<String> vserverId = Optional.empty();
-               HashMap<String, String> payloadInfo = new HashMap<String, String>();
-               payloadInfo.put("vnfName", "testVnfName");
-               String controllerType = "testControllerType";
-               
-               //Prepare mocks
-               Optional<String> otherPayload = PayloadClient.startStopFormat(payloadInfo.get("vnfName"));
-               String expectedErrorMessage = "Test appc orchestrator error message";
-               doThrow(new ApplicationControllerOrchestratorException(expectedErrorMessage, 0)).when(client).vnfCommand(action, msoRequestId, vnfId, vserverId, otherPayload, controllerType);
-               
-               //Run method
-               appCAction.runAppCCommand(action, msoRequestId, vnfId, payload, payloadInfo, controllerType);
-               
-               //Verify error
-               assertEquals(expectedErrorMessage, appCAction.getErrorMessage());
-               String expectedErrorCode = "1002";
-               assertEquals(expectedErrorCode, appCAction.getErrorCode());
-       }
-       
+public class ApplicationControllerActionTest extends BaseTest {
+
+    private ApplicationControllerAction appCAction;
+
+    @Mock
+    private ApplicationControllerOrchestrator client;
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+
+        appCAction = new ApplicationControllerAction();
+        appCAction.client = client;
+    }
+
+    @Test
+    public void runAppCCommand_ResumeTraffic_Test()
+            throws ApplicationControllerOrchestratorException, JsonProcessingException {
+        // Prepare method
+        Action action = Action.ResumeTraffic;
+        String msoRequestId = "testMsoRequestId";
+        String vnfId = "testVnfId";
+        Optional<String> payload = Optional.empty();
+        Optional<String> vserverId = Optional.empty();
+        HashMap<String, String> payloadInfo = new HashMap<String, String>();
+        payloadInfo.put("vnfName", "testVnfName");
+        String controllerType = "testControllerType";
+
+        // Prepare mocks
+        Status status = new Status();
+        Optional<String> otherPayload = PayloadClient.resumeTrafficFormat(payloadInfo.get("vnfName"));
+        doReturn(status).when(client).vnfCommand(action, msoRequestId, vnfId, vserverId, otherPayload, controllerType);
+
+        // Run method
+        appCAction.runAppCCommand(action, msoRequestId, vnfId, payload, payloadInfo, controllerType);
+
+        // Verify call
+        verify(client, times(1)).vnfCommand(action, msoRequestId, vnfId, vserverId, otherPayload, controllerType);
+    }
+
+    @Test
+    public void runAppCCommand_Start_Test() throws ApplicationControllerOrchestratorException, JsonProcessingException {
+        runAppCCommand_StartStop_Test(Action.Start);
+    }
+
+    @Test
+    public void runAppCCommand_Stop_Test() throws ApplicationControllerOrchestratorException, JsonProcessingException {
+        runAppCCommand_StartStop_Test(Action.Stop);
+    }
+
+    private void runAppCCommand_StartStop_Test(Action action)
+            throws ApplicationControllerOrchestratorException, JsonProcessingException {
+        // Prepare method
+        String msoRequestId = "testMsoRequestId";
+        String vnfId = "testVnfId";
+        Optional<String> payload = Optional.empty();
+        Optional<String> vserverId = Optional.empty();
+        HashMap<String, String> payloadInfo = new HashMap<String, String>();
+        payloadInfo.put("vnfName", "testVnfName");
+        String controllerType = "testControllerType";
+
+        // Prepare mocks
+        Status status = new Status();
+        Optional<String> otherPayload = PayloadClient.startStopFormat(payloadInfo.get("vnfName"));
+        doReturn(status).when(client).vnfCommand(action, msoRequestId, vnfId, vserverId, otherPayload, controllerType);
+
+        // Run method
+        appCAction.runAppCCommand(action, msoRequestId, vnfId, payload, payloadInfo, controllerType);
+
+        // Verify call
+        verify(client, times(1)).vnfCommand(action, msoRequestId, vnfId, vserverId, otherPayload, controllerType);
+    }
+
+    @Test
+    public void runAppCCommand_Unlock_Test() throws ApplicationControllerOrchestratorException {
+        runAppCCommand_LockUnlock_Test(Action.Unlock);
+    }
+
+    @Test
+    public void runAppCCommand_Lock_Test() throws ApplicationControllerOrchestratorException {
+        runAppCCommand_LockUnlock_Test(Action.Lock);
+    }
+
+    private void runAppCCommand_LockUnlock_Test(Action action) throws ApplicationControllerOrchestratorException {
+        // Prepare method
+        String msoRequestId = "testMsoRequestId";
+        String vnfId = "testVnfId";
+        Optional<String> payload = Optional.empty();
+        Optional<String> vserverId = Optional.empty();
+        HashMap<String, String> payloadInfo = new HashMap<String, String>();
+        String controllerType = "testControllerType";
+
+        // Prepare mocks
+        Status status = new Status();
+        Optional<String> otherPayload = Optional.empty();
+        doReturn(status).when(client).vnfCommand(action, msoRequestId, vnfId, vserverId, otherPayload, controllerType);
+
+        // Run method
+        appCAction.runAppCCommand(action, msoRequestId, vnfId, payload, payloadInfo, controllerType);
+
+        // Verify call
+        verify(client, times(1)).vnfCommand(action, msoRequestId, vnfId, vserverId, otherPayload, controllerType);
+    }
+
+    @Test
+    public void runAppCCommand_QuiesceTraffic_PayloadPresent_Test()
+            throws ApplicationControllerOrchestratorException, JsonProcessingException {
+        // Prepare method
+        Action action = Action.QuiesceTraffic;
+        String msoRequestId = "testMsoRequestId";
+        String vnfId = "testVnfId";
+        Optional<String> payload = Optional.of("testPayload");
+        Optional<String> vserverId = Optional.empty();
+        HashMap<String, String> payloadInfo = new HashMap<String, String>();
+        payloadInfo.put("vnfName", "testVnfName");
+        String controllerType = "testControllerType";
+
+        // Prepare mocks
+        Status status = new Status();
+        Optional<String> modifiedPayload = PayloadClient.quiesceTrafficFormat(payload, payloadInfo.get("vnfName"));
+        doReturn(status).when(client).vnfCommand(action, msoRequestId, vnfId, vserverId, modifiedPayload,
+                controllerType);
+
+        // Run method
+        appCAction.runAppCCommand(action, msoRequestId, vnfId, payload, payloadInfo, controllerType);
+
+        // Verify call
+        verify(client, times(1)).vnfCommand(action, msoRequestId, vnfId, vserverId, modifiedPayload, controllerType);
+    }
+
+    @Test
+    public void runAppCCommand_QuiesceTraffic_NoPayload_Test() throws ApplicationControllerOrchestratorException {
+        // Prepare method
+        Action action = Action.QuiesceTraffic;
+        String msoRequestId = "testMsoRequestId";
+        String vnfId = "testVnfId";
+        Optional<String> payload = Optional.empty();
+        HashMap<String, String> payloadInfo = new HashMap<String, String>();
+        String controllerType = "testControllerType";
+
+        // Run method
+        appCAction.runAppCCommand(action, msoRequestId, vnfId, payload, payloadInfo, controllerType);
+
+        // Verify non call
+        verify(client, times(0)).vnfCommand(any(), any(), any(), any(), any(), any());
+        assertEquals("Payload is not present for " + action.toString(), appCAction.getErrorMessage());
+    }
+
+    @Test
+    public void runAppCCommand_HealthCheck_Test()
+            throws ApplicationControllerOrchestratorException, JsonProcessingException {
+        // Prepare method
+        Action action = Action.HealthCheck;
+        String msoRequestId = "testMsoRequestId";
+        String vnfId = "testVnfId";
+        Optional<String> payload = Optional.empty();
+        Optional<String> vserverId = Optional.empty();
+        HashMap<String, String> payloadInfo = new HashMap<String, String>();
+        payloadInfo.put("vnfName", "testVnfName");
+        payloadInfo.put("vnfHostIpAddress", "testVnfHostIpAddress");
+        String controllerType = "testControllerType";
+
+        // Prepare mocks
+        Status status = new Status();
+        Optional<String> otherPayload =
+                PayloadClient.healthCheckFormat(payloadInfo.get("vnfName"), payloadInfo.get("vnfHostIpAddress"));
+        doReturn(status).when(client).vnfCommand(action, msoRequestId, vnfId, vserverId, otherPayload, controllerType);
+
+        // Run method
+        appCAction.runAppCCommand(action, msoRequestId, vnfId, payload, payloadInfo, controllerType);
+
+        // Verify call
+        verify(client, times(1)).vnfCommand(action, msoRequestId, vnfId, vserverId, otherPayload, controllerType);
+    }
+
+    @Test
+    public void runAppCCommand_Snapshot_Test()
+            throws ApplicationControllerOrchestratorException, JsonProcessingException {
+        // Prepare method
+        Action action = Action.Snapshot;
+        String msoRequestId = "testMsoRequestId";
+        String vnfId = "testVnfId";
+        Optional<String> payload = Optional.empty();
+        HashMap<String, String> payloadInfo = new HashMap<String, String>();
+        payloadInfo.put("identityUrl", "testIdentityUrl");
+        ArrayList<String> vmIdList = new ArrayList<String>();
+        String vmId1 = "testlink:testVmId1";
+        vmIdList.add(vmId1);
+        String vmId2 = "testlink:testVmId2";
+        vmIdList.add(vmId2);
+        JSONObject vmIdListJson = new JSONObject();
+        vmIdListJson.put("vmIds", vmIdList);
+        payloadInfo.put("vmIdList", vmIdListJson.toString());
+        ArrayList<String> vserverIdList = new ArrayList<String>();
+        String vserverId1 = "testVserverId1";
+        Optional<String> vserverIdString1 = Optional.of(vserverId1);
+        vserverIdList.add(vserverId1);
+        String vserverId2 = "testVserverId2";
+        Optional<String> vserverIdString2 = Optional.of(vserverId2);
+        vserverIdList.add(vserverId2);
+
+        JSONObject vserverIdListJson = new JSONObject();
+        vserverIdListJson.put("vserverIds", vserverIdList);
+        payloadInfo.put("vserverIdList", vserverIdListJson.toString());
+        String controllerType = "testControllerType";
+
+        // Prepare mocks
+        Status status = new Status();
+        Optional<String> otherPayloadVm1 = PayloadClient.snapshotFormat(vmId1, payloadInfo.get("identityUrl"));
+        Optional<String> otherPayloadVm2 = PayloadClient.snapshotFormat(vmId2, payloadInfo.get("identityUrl"));
+        doReturn(status).when(client).vnfCommand(action, msoRequestId, vnfId, vserverIdString1, otherPayloadVm1,
+                controllerType);
+        doReturn(status).when(client).vnfCommand(action, msoRequestId, vnfId, vserverIdString2, otherPayloadVm2,
+                controllerType);
+
+        // Run method
+        appCAction.runAppCCommand(action, msoRequestId, vnfId, payload, payloadInfo, controllerType);
+
+        // Verify call
+        verify(client, times(1)).vnfCommand(action, msoRequestId, vnfId, vserverIdString1, otherPayloadVm1,
+                controllerType);
+        verify(client, times(1)).vnfCommand(action, msoRequestId, vnfId, vserverIdString2, otherPayloadVm2,
+                controllerType);
+    }
+
+    @Test
+    public void runAppCCommand_ConfigModify__PayloadPresent_Test() throws ApplicationControllerOrchestratorException {
+        // Prepare method
+        Action action = Action.ConfigModify;
+        String msoRequestId = "testMsoRequestId";
+        String vnfId = "testVnfId";
+        Optional<String> payload = Optional.of("testPayload");
+        Optional<String> vserverId = Optional.empty();
+        HashMap<String, String> payloadInfo = new HashMap<String, String>();
+        String controllerType = "testControllerType";
+
+        // Prepare mocks
+        Status status = new Status();
+        doReturn(status).when(client).vnfCommand(action, msoRequestId, vnfId, vserverId, payload, controllerType);
+
+        // Run method
+        appCAction.runAppCCommand(action, msoRequestId, vnfId, payload, payloadInfo, controllerType);
+
+        // Verify call
+        verify(client, times(1)).vnfCommand(action, msoRequestId, vnfId, vserverId, payload, controllerType);
+    }
+
+    @Test
+    public void runAppCCommand_ConfigModify__NoPayload_Test() throws ApplicationControllerOrchestratorException {
+        // Prepare method
+        Action action = Action.ConfigModify;
+        String msoRequestId = "testMsoRequestId";
+        String vnfId = "testVnfId";
+        Optional<String> payload = Optional.empty();
+        HashMap<String, String> payloadInfo = new HashMap<String, String>();
+        String controllerType = "testControllerType";
+
+        // Run method
+        appCAction.runAppCCommand(action, msoRequestId, vnfId, payload, payloadInfo, controllerType);
+
+        // Verify non call
+        verify(client, times(0)).vnfCommand(any(), any(), any(), any(), any(), any());
+        assertEquals("Payload is not present for " + action.toString(), appCAction.getErrorMessage());
+    }
+
+    @Test
+    public void runAppCCommand_UpgradePreCheck_PayloadPresent_Test()
+            throws ApplicationControllerOrchestratorException, JsonProcessingException {
+        runAppCCommand_Upgrade_PayloadPresent_Test(Action.UpgradePreCheck);
+    }
+
+    @Test
+    public void runAppCCommand_UpgradePostCheck_PayloadPresent_Test()
+            throws ApplicationControllerOrchestratorException, JsonProcessingException {
+        runAppCCommand_Upgrade_PayloadPresent_Test(Action.UpgradePostCheck);
+    }
+
+    @Test
+    public void runAppCCommand_UpgradeSoftware_PayloadPresent_Test()
+            throws ApplicationControllerOrchestratorException, JsonProcessingException {
+        runAppCCommand_Upgrade_PayloadPresent_Test(Action.UpgradeSoftware);
+    }
+
+    @Test
+    public void runAppCCommand_UpgradeBackup_PayloadPresent_Test()
+            throws ApplicationControllerOrchestratorException, JsonProcessingException {
+        runAppCCommand_Upgrade_PayloadPresent_Test(Action.UpgradeBackup);
+    }
+
+    private void runAppCCommand_Upgrade_PayloadPresent_Test(Action action)
+            throws ApplicationControllerOrchestratorException, JsonProcessingException {
+        // Prepare method
+        String msoRequestId = "testMsoRequestId";
+        String vnfId = "testVnfId";
+        Optional<String> payload = Optional.of("testPayload");
+        Optional<String> vserverId = Optional.empty();
+        HashMap<String, String> payloadInfo = new HashMap<String, String>();
+        payloadInfo.put("vnfName", "testVnfName");
+        String controllerType = "testControllerType";
+
+        // Prepare mocks
+        Status status = new Status();
+        Optional<String> modifiedPayload = PayloadClient.upgradeFormat(payload, payloadInfo.get("vnfName"));
+        doReturn(status).when(client).vnfCommand(action, msoRequestId, vnfId, vserverId, modifiedPayload,
+                controllerType);
+
+        // Run method
+        appCAction.runAppCCommand(action, msoRequestId, vnfId, payload, payloadInfo, controllerType);
+
+        // Verify call
+        verify(client, times(1)).vnfCommand(action, msoRequestId, vnfId, vserverId, modifiedPayload, controllerType);
+    }
+
+    @Test
+    public void runAppCCommand_UpgradePreCheck_NoPayload_Test() throws ApplicationControllerOrchestratorException {
+        runAppCCommand_Upgrade_NoPayload_Test(Action.UpgradePreCheck);
+    }
+
+    @Test
+    public void runAppCCommand_UpgradePostCheck_NoPayload_Test() throws ApplicationControllerOrchestratorException {
+        runAppCCommand_Upgrade_NoPayload_Test(Action.UpgradePostCheck);
+    }
+
+    @Test
+    public void runAppCCommand_UpgradeSoftware_NoPayload_Test() throws ApplicationControllerOrchestratorException {
+        runAppCCommand_Upgrade_NoPayload_Test(Action.UpgradeSoftware);
+    }
+
+    @Test
+    public void runAppCCommand_UpgradeBackup_NoPayload_Test() throws ApplicationControllerOrchestratorException {
+        runAppCCommand_Upgrade_NoPayload_Test(Action.UpgradeBackup);
+    }
+
+    private void runAppCCommand_Upgrade_NoPayload_Test(Action action)
+            throws ApplicationControllerOrchestratorException {
+        // Prepare method
+        String msoRequestId = "testMsoRequestId";
+        String vnfId = "testVnfId";
+        Optional<String> payload = Optional.empty();
+        HashMap<String, String> payloadInfo = new HashMap<String, String>();
+        String controllerType = "testControllerType";
+
+        // Run method
+        appCAction.runAppCCommand(action, msoRequestId, vnfId, payload, payloadInfo, controllerType);
+
+        // Verify non call
+        verify(client, times(0)).vnfCommand(any(), any(), any(), any(), any(), any());
+        assertEquals("Payload is not present for " + action.toString(), appCAction.getErrorMessage());
+    }
+
+    @Test
+    public void runAppCCommand_InvalidAppCAction_Test() throws ApplicationControllerOrchestratorException {
+        // Prepare method
+        Action action = Action.ActionStatus;
+        String msoRequestId = "testMsoRequestId";
+        String vnfId = "testVnfId";
+        Optional<String> payload = Optional.empty();
+        HashMap<String, String> payloadInfo = new HashMap<String, String>();
+        String controllerType = "testControllerType";
+
+        // Run method
+        appCAction.runAppCCommand(action, msoRequestId, vnfId, payload, payloadInfo, controllerType);
+
+        // Verify non call
+        verify(client, times(0)).vnfCommand(any(), any(), any(), any(), any(), any());
+        // TODO For original author/architect: it appears that whoever coded this wanted the error message to be "Unable
+        // to idenify Action request for AppCClient" and this is not the case because of the
+        // ApplicationControllerSupport.getCategoryOf(appCStatus) call with a null appCStatus, so this may be something
+        // worth looking into
+    }
+
+    @Test
+    public void runAppCCommand_NormalAppCStatusGetErrorCode_Test()
+            throws ApplicationControllerOrchestratorException, JsonProcessingException {
+        // Prepare method
+        Action action = Action.Start;
+        String msoRequestId = "testMsoRequestId";
+        String vnfId = "testVnfId";
+        Optional<String> payload = Optional.empty();
+        Optional<String> vserverId = Optional.empty();
+        HashMap<String, String> payloadInfo = new HashMap<String, String>();
+        payloadInfo.put("vnfName", "testVnfName");
+        String controllerType = "testControllerType";
+
+        // Prepare mocks
+        Status status = new Status();
+        status.setCode(100);
+        Optional<String> otherPayload = PayloadClient.startStopFormat(payloadInfo.get("vnfName"));
+        doReturn(status).when(client).vnfCommand(action, msoRequestId, vnfId, vserverId, otherPayload, controllerType);
+
+        // Run method
+        appCAction.runAppCCommand(action, msoRequestId, vnfId, payload, payloadInfo, controllerType);
+
+        // Verify call
+        String expectedErrorCode = "0";
+        assertEquals(expectedErrorCode, appCAction.getErrorCode());
+    }
+
+    @Test
+    public void getErrorCode_Test() {
+        String defaultErrorCode = "1002";
+        // Verify default error code
+        assertEquals(defaultErrorCode, appCAction.getErrorCode());
+    }
+
+    @Test
+    public void getErrorMessage_Test() {
+        String defaultErrorMessage = "Unable to reach App C Servers";
+        // Verify default error message
+        assertEquals(defaultErrorMessage, appCAction.getErrorMessage());
+    }
+
+    @Test
+    public void applicationControllerOrchestratorExceptionCaught_Test()
+            throws ApplicationControllerOrchestratorException, JsonProcessingException {
+        // Prepare method
+        Action action = Action.Start;
+        String msoRequestId = "testMsoRequestId";
+        String vnfId = "testVnfId";
+        Optional<String> payload = Optional.empty();
+        Optional<String> vserverId = Optional.empty();
+        HashMap<String, String> payloadInfo = new HashMap<String, String>();
+        payloadInfo.put("vnfName", "testVnfName");
+        String controllerType = "testControllerType";
+
+        // Prepare mocks
+        Optional<String> otherPayload = PayloadClient.startStopFormat(payloadInfo.get("vnfName"));
+        String expectedErrorMessage = "Test appc orchestrator error message";
+        doThrow(new ApplicationControllerOrchestratorException(expectedErrorMessage, 0)).when(client).vnfCommand(action,
+                msoRequestId, vnfId, vserverId, otherPayload, controllerType);
+
+        // Run method
+        appCAction.runAppCCommand(action, msoRequestId, vnfId, payload, payloadInfo, controllerType);
+
+        // Verify error
+        assertEquals(expectedErrorMessage, appCAction.getErrorMessage());
+        String expectedErrorCode = "1002";
+        assertEquals(expectedErrorCode, appCAction.getErrorCode());
+    }
+
 }