diff options
Diffstat (limited to 'mso-api-handlers/mso-api-handler-infra/src/test/java/org/openecomp/mso/apihandlerinfra/tenantisolation/process')
5 files changed, 1206 insertions, 0 deletions
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/java/org/openecomp/mso/apihandlerinfra/tenantisolation/process/ActivateVnfOperationalEnvironmentTest.java b/mso-api-handlers/mso-api-handler-infra/src/test/java/org/openecomp/mso/apihandlerinfra/tenantisolation/process/ActivateVnfOperationalEnvironmentTest.java new file mode 100644 index 0000000000..49fea2a8d9 --- /dev/null +++ b/mso-api-handlers/mso-api-handler-infra/src/test/java/org/openecomp/mso/apihandlerinfra/tenantisolation/process/ActivateVnfOperationalEnvironmentTest.java @@ -0,0 +1,249 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP - SO + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.openecomp.mso.apihandlerinfra.tenantisolation.process;
+
+import static org.mockito.Matchers.any;
+import static org.mockito.Mockito.doNothing;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.json.JSONObject;
+import org.junit.After;
+import org.junit.Assert;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.mockito.Mockito;
+import org.openecomp.mso.apihandlerinfra.Constants;
+import org.openecomp.mso.apihandlerinfra.MsoPropertiesUtils;
+import org.openecomp.mso.apihandlerinfra.tenantisolation.CloudOrchestrationRequest;
+import org.openecomp.mso.apihandlerinfra.tenantisolation.helpers.AAIClientHelper;
+import org.openecomp.mso.apihandlerinfra.tenantisolation.helpers.AsdcClientHelper;
+import org.openecomp.mso.apihandlerinfra.tenantisolationbeans.Manifest;
+import org.openecomp.mso.apihandlerinfra.tenantisolationbeans.RecoveryAction;
+import org.openecomp.mso.apihandlerinfra.tenantisolationbeans.RequestDetails;
+import org.openecomp.mso.apihandlerinfra.tenantisolationbeans.RequestParameters;
+import org.openecomp.mso.apihandlerinfra.tenantisolationbeans.ServiceModelList;
+import org.openecomp.mso.client.aai.entities.AAIResultWrapper;
+import org.openecomp.mso.properties.MsoJavaProperties;
+import org.openecomp.mso.properties.MsoPropertiesFactory;
+import org.openecomp.mso.requestsdb.OperationalEnvDistributionStatusDb;
+import org.openecomp.mso.requestsdb.OperationalEnvServiceModelStatusDb;
+import org.openecomp.mso.requestsdb.RequestsDBHelper;
+import org.openecomp.mso.rest.APIResponse;
+import org.openecomp.mso.rest.RESTClient;
+import org.openecomp.mso.rest.RESTConfig;
+
+public class ActivateVnfOperationalEnvironmentTest {
+
+ MsoJavaProperties properties = MsoPropertiesUtils.loadMsoProperties();
+ AsdcClientHelper asdcClientUtils = new AsdcClientHelper(properties);
+
+ String requestId = "TEST_requestId";
+ String operationalEnvironmentId = "TEST_operationalEnvironmentId";
+ CloudOrchestrationRequest request = new CloudOrchestrationRequest();
+ String workloadContext = "TEST_workloadContext";
+ String recoveryAction = "RETRY";
+ String serviceModelVersionId = "TEST_serviceModelVersionId";
+ int retryCount = 3;
+ String distributionId = "TEST_distributionId";
+
+ @BeforeClass
+ public static void setUp() throws Exception {
+ MsoPropertiesFactory msoPropertiesFactory = new MsoPropertiesFactory();
+ msoPropertiesFactory.removeAllMsoProperties();
+ msoPropertiesFactory.initializeMsoProperties(Constants.MSO_PROP_APIHANDLER_INFRA, "src/test/resources/mso.apihandler-infra.properties");
+ }
+
+ @After
+ public void tearDown() throws Exception {
+
+ }
+
+ @Test
+ public void getAAIClientHelperTest() throws Exception {
+
+ request.setOperationalEnvironmentId(operationalEnvironmentId);
+ ActivateVnfOperationalEnvironment activateVnf = new ActivateVnfOperationalEnvironment(request, requestId);
+ AAIClientHelper aaiHelper = activateVnf.getAaiHelper();
+
+ Assert.assertNotNull(aaiHelper);
+
+ }
+
+ @Test
+ public void getAAIOperationalEnvironmentTest() throws Exception {
+
+ // prepare return data
+ JSONObject aaiJsonResponse = new JSONObject();
+ aaiJsonResponse.put("operational-environment-id", "testASDCDistributionId");
+ aaiJsonResponse.put("operational-environment-name", "testASDCDistributionIName");
+ aaiJsonResponse.put("operational-environment-type", "VNF");
+ aaiJsonResponse.put("operational-environment-status", "ACTIVE");
+ aaiJsonResponse.put("tenant-context", "Test");
+ aaiJsonResponse.put("workload-context", "PVT");
+ aaiJsonResponse.put("resource-version", "1505228226913");
+ String mockGetResponseJson = aaiJsonResponse.toString();
+
+ AAIResultWrapper aaiREsultWrapperObj = new AAIResultWrapper(mockGetResponseJson);
+
+ request.setOperationalEnvironmentId(operationalEnvironmentId);
+ AAIClientHelper aaiClientHelperMock = Mockito.mock(AAIClientHelper.class);
+
+ ActivateVnfOperationalEnvironment activateVnfMock = Mockito.mock(ActivateVnfOperationalEnvironment.class);
+ ActivateVnfOperationalEnvironment activateVnf = new ActivateVnfOperationalEnvironment(request, requestId);
+
+ Mockito.when(aaiClientHelperMock.getAaiOperationalEnvironment(operationalEnvironmentId)).thenReturn(aaiREsultWrapperObj);
+
+ activateVnfMock = spy(activateVnf);
+ activateVnfMock.setAaiHelper(aaiClientHelperMock);
+ activateVnfMock.getAAIOperationalEnvironment(operationalEnvironmentId);
+
+ verify(activateVnfMock, times(1)).getAaiHelper();
+ verify(aaiClientHelperMock, times(1)).getAaiOperationalEnvironment( any(String.class) );
+
+ }
+
+ @Test
+ public void processActivateASDCRequestTest() throws Exception {
+
+ String jsonPayload = asdcClientUtils.buildJsonWorkloadContext(workloadContext);
+ String distributionId = "TEST_distributionId";
+
+ JSONObject jsonObject = new JSONObject();
+ jsonObject.put("statusCode", "202");
+ jsonObject.put("message", "Success");
+ jsonObject.put("distributionId", distributionId);
+
+ List<ServiceModelList> serviceModelVersionIdList = new ArrayList<ServiceModelList>();
+ ServiceModelList serviceModelList1 = new ServiceModelList();
+ serviceModelList1.setRecoveryAction(RecoveryAction.retry);
+ serviceModelList1.setServiceModelVersionId(serviceModelVersionId);
+ serviceModelVersionIdList.add(serviceModelList1);
+
+ ActivateVnfOperationalEnvironment activate = new ActivateVnfOperationalEnvironment(request, requestId);
+ ActivateVnfOperationalEnvironment activateVnfMock = spy(activate);
+
+ // Mockito mock
+ OperationalEnvDistributionStatusDb distributionDb = Mockito.mock(OperationalEnvDistributionStatusDb.class);
+ OperationalEnvServiceModelStatusDb serviceModelDb = Mockito.mock(OperationalEnvServiceModelStatusDb.class);
+ AsdcClientHelper asdcClientHelperMock = Mockito.mock(AsdcClientHelper.class);
+ RESTConfig configMock = Mockito.mock(RESTConfig.class);
+ RESTClient clientMock = Mockito.mock(RESTClient.class);
+ APIResponse apiResponseMock = Mockito.mock(APIResponse.class);
+
+ activateVnfMock.setOperationalEnvDistributionStatusDb(distributionDb);
+ activateVnfMock.setOperationalEnvServiceModelStatusDb(serviceModelDb);
+ activateVnfMock.setAsdcClientHelper(asdcClientHelperMock);
+
+ Mockito.when(asdcClientHelperMock.setRestClient(configMock)).thenReturn(clientMock);
+ Mockito.when(asdcClientHelperMock.setHttpPostResponse(clientMock, jsonPayload)).thenReturn(apiResponseMock);
+ Mockito.when(asdcClientHelperMock.enhanceJsonResponse(jsonObject, 202)).thenReturn(jsonObject);
+ Mockito.when(asdcClientHelperMock.postActivateOperationalEnvironment(serviceModelVersionId, operationalEnvironmentId, workloadContext)).thenReturn(jsonObject);
+
+ activateVnfMock.processActivateASDCRequest(requestId, operationalEnvironmentId, serviceModelVersionIdList, workloadContext);
+
+ verify(serviceModelDb, times(1)).insertOperationalEnvServiceModelStatus(requestId, operationalEnvironmentId, serviceModelVersionId, "SENT", "RETRY", retryCount, workloadContext);
+
+ }
+
+ @Test
+ public void executionTest() throws Exception {
+
+ // prepare request detail
+ List<ServiceModelList> serviceModelVersionIdList = new ArrayList<ServiceModelList>();
+ ServiceModelList serviceModelList1 = new ServiceModelList();
+ serviceModelList1.setRecoveryAction(RecoveryAction.retry);
+ serviceModelList1.setServiceModelVersionId(serviceModelVersionId);
+ serviceModelVersionIdList.add(serviceModelList1);
+
+ RequestDetails requestDetails = new RequestDetails();
+ RequestParameters requestParameters = new RequestParameters();
+ Manifest manifest = new Manifest();
+ manifest.setServiceModelList(serviceModelVersionIdList);
+ requestParameters.setManifest(manifest);
+ requestParameters.setWorkloadContext(workloadContext);
+ requestDetails.setRequestParameters(requestParameters);
+
+ // prepare aai return data
+ JSONObject aaiJsonResponse = new JSONObject();
+ aaiJsonResponse.put("operational-environment-id", "testASDCDistributionId");
+ aaiJsonResponse.put("operational-environment-name", "testASDCDistributionIName");
+ aaiJsonResponse.put("operational-environment-type", "VNF");
+ aaiJsonResponse.put("operational-environment-status", "ACTIVE");
+ aaiJsonResponse.put("tenant-context", "Test");
+ aaiJsonResponse.put("workload-context", workloadContext);
+ aaiJsonResponse.put("resource-version", "1505228226913");
+ String mockGetResponseJson = aaiJsonResponse.toString();
+ AAIResultWrapper aaiREsultWrapperObj = new AAIResultWrapper(mockGetResponseJson);
+
+ // prepare asdc return data
+ String jsonPayload = asdcClientUtils.buildJsonWorkloadContext(workloadContext);
+
+ JSONObject jsonObject = new JSONObject();
+ jsonObject.put("statusCode", "202");
+ jsonObject.put("message", "Success");
+ jsonObject.put("distributionId", distributionId);
+
+ // Mockito mock
+ OperationalEnvDistributionStatusDb distributionDb = Mockito.mock(OperationalEnvDistributionStatusDb.class);
+ OperationalEnvServiceModelStatusDb serviceModelDb = Mockito.mock(OperationalEnvServiceModelStatusDb.class);
+ RequestsDBHelper dbUtils = mock(RequestsDBHelper.class);
+ AsdcClientHelper asdcClientHelperMock = Mockito.mock(AsdcClientHelper.class);
+ RESTConfig configMock = Mockito.mock(RESTConfig.class);
+ RESTClient clientMock = Mockito.mock(RESTClient.class);
+ APIResponse apiResponseMock = Mockito.mock(APIResponse.class);
+
+ Mockito.when(asdcClientHelperMock.setRestClient(configMock)).thenReturn(clientMock);
+ Mockito.when(asdcClientHelperMock.setHttpPostResponse(clientMock, jsonPayload)).thenReturn(apiResponseMock);
+ Mockito.when(asdcClientHelperMock.enhanceJsonResponse(jsonObject, 202)).thenReturn(jsonObject);
+
+ AAIClientHelper aaiClientHelperMock = Mockito.mock(AAIClientHelper.class);
+ Mockito.when(aaiClientHelperMock.getAaiOperationalEnvironment(operationalEnvironmentId)).thenReturn(aaiREsultWrapperObj);
+ Mockito.when(asdcClientHelperMock.postActivateOperationalEnvironment(serviceModelVersionId, operationalEnvironmentId, workloadContext)).thenReturn(jsonObject);
+
+ doNothing().when(serviceModelDb).insertOperationalEnvServiceModelStatus(requestId, operationalEnvironmentId, serviceModelVersionId, "SENT", recoveryAction, retryCount, workloadContext);
+ doNothing().when(distributionDb).insertOperationalEnvDistributionStatus(distributionId, operationalEnvironmentId, serviceModelVersionId, "SENT", requestId);
+
+ request.setOperationalEnvironmentId(operationalEnvironmentId);
+ request.setRequestDetails(requestDetails);
+ ActivateVnfOperationalEnvironment activate = new ActivateVnfOperationalEnvironment(request, requestId);
+ ActivateVnfOperationalEnvironment activateVnfMock = spy(activate);
+ activateVnfMock.setOperationalEnvDistributionStatusDb(distributionDb);
+ activateVnfMock.setOperationalEnvServiceModelStatusDb(serviceModelDb);
+ activateVnfMock.setRequestsDBHelper(dbUtils);
+ activateVnfMock.setAsdcClientHelper(asdcClientHelperMock);
+ activateVnfMock.setAaiHelper(aaiClientHelperMock);
+
+ activateVnfMock.execute();
+
+ verify(serviceModelDb, times(1)).insertOperationalEnvServiceModelStatus(requestId, operationalEnvironmentId, serviceModelVersionId, "SENT", recoveryAction, retryCount, workloadContext);
+ verify(distributionDb, times(1)).insertOperationalEnvDistributionStatus(distributionId, operationalEnvironmentId, serviceModelVersionId, "SENT", requestId);
+
+
+ }
+
+
+}
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/java/org/openecomp/mso/apihandlerinfra/tenantisolation/process/ActivateVnfStatusOperationalEnvironmentTest.java b/mso-api-handlers/mso-api-handler-infra/src/test/java/org/openecomp/mso/apihandlerinfra/tenantisolation/process/ActivateVnfStatusOperationalEnvironmentTest.java new file mode 100644 index 0000000000..535d67e776 --- /dev/null +++ b/mso-api-handlers/mso-api-handler-infra/src/test/java/org/openecomp/mso/apihandlerinfra/tenantisolation/process/ActivateVnfStatusOperationalEnvironmentTest.java @@ -0,0 +1,670 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP - SO + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.openecomp.mso.apihandlerinfra.tenantisolation.process;
+
+import static org.junit.Assert.assertEquals;
+import static org.mockito.Matchers.any;
+import static org.mockito.Mockito.doNothing;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.json.JSONObject;
+import org.junit.After;
+import org.junit.BeforeClass;
+import org.junit.Ignore; +import org.junit.Test;
+import org.mockito.Mockito;
+import org.openecomp.mso.apihandlerinfra.Constants;
+import org.openecomp.mso.apihandlerinfra.MsoPropertiesUtils;
+import org.openecomp.mso.apihandlerinfra.tenantisolation.CloudOrchestrationRequest;
+import org.openecomp.mso.apihandlerinfra.tenantisolation.helpers.AsdcClientHelper;
+import org.openecomp.mso.apihandlerinfra.tenantisolationbeans.Distribution;
+import org.openecomp.mso.apihandlerinfra.tenantisolationbeans.DistributionStatus;
+import org.openecomp.mso.apihandlerinfra.tenantisolationbeans.Status;
+import org.openecomp.mso.properties.MsoJavaProperties;
+import org.openecomp.mso.properties.MsoPropertiesFactory;
+import org.openecomp.mso.requestsdb.OperationalEnvDistributionStatus;
+import org.openecomp.mso.requestsdb.OperationalEnvDistributionStatusDb;
+import org.openecomp.mso.requestsdb.OperationalEnvServiceModelStatus;
+import org.openecomp.mso.requestsdb.OperationalEnvServiceModelStatusDb;
+import org.openecomp.mso.requestsdb.RequestsDBHelper;
+import org.openecomp.mso.rest.APIResponse;
+import org.openecomp.mso.rest.RESTClient;
+import org.openecomp.mso.rest.RESTConfig;
+
+public class ActivateVnfStatusOperationalEnvironmentTest {
+
+ MsoJavaProperties properties = MsoPropertiesUtils.loadMsoProperties();
+ AsdcClientHelper asdcClientUtils = new AsdcClientHelper(properties);
+
+ String requestId = "TEST_requestId";
+ String operationalEnvironmentId = "TEST_operationalEnvironmentId";
+ CloudOrchestrationRequest request = new CloudOrchestrationRequest();
+ String workloadContext = "TEST_workloadContext";
+ String recoveryAction = "RETRY";
+ String serviceModelVersionId = "TEST_serviceModelVersionId";
+ int retryCount = 3;
+ String asdcDistributionId = "TEST_distributionId";
+
+ @BeforeClass
+ public static void setUp() throws Exception {
+ MsoPropertiesFactory msoPropertiesFactory = new MsoPropertiesFactory();
+ msoPropertiesFactory.removeAllMsoProperties();
+ msoPropertiesFactory.initializeMsoProperties(Constants.MSO_PROP_APIHANDLER_INFRA, "src/test/resources/mso.apihandler-infra.properties");
+ }
+
+ @After
+ public void tearDown() throws Exception {
+
+ }
+
+
+ @Ignore // 1802 merge + @Test
+ public void checkOrUpdateOverallStatusTest_Ok() throws Exception {
+
+ int retryCount = 0;
+
+ ActivateVnfStatusOperationalEnvironment activateVnfStatus = spy(new ActivateVnfStatusOperationalEnvironment(request, requestId));
+
+ // Mockito mock
+ OperationalEnvDistributionStatusDb distributionDb = Mockito.mock(OperationalEnvDistributionStatusDb.class);
+ OperationalEnvServiceModelStatusDb serviceModelDb = Mockito.mock(OperationalEnvServiceModelStatusDb.class);
+ RequestsDBHelper requestDb = mock(RequestsDBHelper.class);
+
+ // Prepare data
+ OperationalEnvServiceModelStatus modelStatus = new OperationalEnvServiceModelStatus();
+ modelStatus.setWorkloadContext(workloadContext);
+ modelStatus.setRecoveryAction(recoveryAction);
+ modelStatus.setOperationalEnvId(operationalEnvironmentId);
+ modelStatus.setRetryCount(retryCount);
+ modelStatus.setServiceModelVersionDistrStatus(DistributionStatus.DISTRIBUTION_COMPLETE_OK.toString());
+
+ OperationalEnvServiceModelStatus modelStatus1 = new OperationalEnvServiceModelStatus();
+ modelStatus1.setWorkloadContext(workloadContext);
+ modelStatus1.setRecoveryAction(recoveryAction);
+ modelStatus1.setOperationalEnvId(operationalEnvironmentId);
+ modelStatus1.setRetryCount(retryCount);
+ modelStatus1.setServiceModelVersionDistrStatus(DistributionStatus.DISTRIBUTION_COMPLETE_OK.toString());
+
+ List<OperationalEnvServiceModelStatus> queryServiceModelResponseList = new ArrayList<OperationalEnvServiceModelStatus>();
+ queryServiceModelResponseList.add(modelStatus);
+ queryServiceModelResponseList.add(modelStatus1);
+
+ Mockito.when(serviceModelDb.getOperationalEnvIdStatus(operationalEnvironmentId, requestId)).thenReturn(queryServiceModelResponseList);
+ doNothing().when(requestDb).updateInfraSuccessCompletion(any(String.class), any(String.class), any(String.class));
+
+ activateVnfStatus.setOperationalEnvDistributionStatusDb(distributionDb);
+ activateVnfStatus.setOperationalEnvServiceModelStatusDb(serviceModelDb);
+ activateVnfStatus.setRequestsDBHelper(requestDb);
+ activateVnfStatus.checkOrUpdateOverallStatus(requestId, operationalEnvironmentId);
+
+ verify(requestDb, times(0)).updateInfraFailureCompletion(any(String.class), any(String.class), any(String.class));
+ verify(requestDb, times(1)).updateInfraSuccessCompletion(any(String.class), any(String.class), any(String.class));
+
+ }
+
+ @Test
+ public void checkOrUpdateOverallStatusTest_Error() throws Exception {
+
+
+ int retryCount = 0; // no more retry
+
+ ActivateVnfStatusOperationalEnvironment activateVnfStatus = spy(new ActivateVnfStatusOperationalEnvironment(request, requestId));
+
+ // Mockito mock
+ OperationalEnvDistributionStatusDb distributionDb = Mockito.mock(OperationalEnvDistributionStatusDb.class);
+ OperationalEnvServiceModelStatusDb serviceModelDb = Mockito.mock(OperationalEnvServiceModelStatusDb.class);
+ RequestsDBHelper requestDb = mock(RequestsDBHelper.class);
+
+ // Prepare data
+ OperationalEnvServiceModelStatus modelStatus = new OperationalEnvServiceModelStatus();
+ modelStatus.setWorkloadContext(workloadContext);
+ modelStatus.setRecoveryAction(recoveryAction);
+ modelStatus.setOperationalEnvId(operationalEnvironmentId);
+ modelStatus.setRetryCount(retryCount);
+ modelStatus.setServiceModelVersionDistrStatus(DistributionStatus.DISTRIBUTION_COMPLETE_ERROR.toString());
+
+ OperationalEnvServiceModelStatus modelStatus1 = new OperationalEnvServiceModelStatus();
+ modelStatus1.setWorkloadContext(workloadContext);
+ modelStatus1.setRecoveryAction(recoveryAction);
+ modelStatus1.setOperationalEnvId(operationalEnvironmentId);
+ modelStatus1.setRetryCount(retryCount);
+ modelStatus1.setServiceModelVersionDistrStatus(DistributionStatus.DISTRIBUTION_COMPLETE_OK.toString());
+
+ List<OperationalEnvServiceModelStatus> queryServiceModelResponseList = new ArrayList<OperationalEnvServiceModelStatus>();
+ queryServiceModelResponseList.add(modelStatus);
+ queryServiceModelResponseList.add(modelStatus1);
+
+ Mockito.when(serviceModelDb.getOperationalEnvIdStatus(operationalEnvironmentId, requestId)).thenReturn(queryServiceModelResponseList);
+ doNothing().when(requestDb).updateInfraSuccessCompletion(any(String.class), any(String.class), any(String.class));
+
+ activateVnfStatus.setOperationalEnvDistributionStatusDb(distributionDb);
+ activateVnfStatus.setOperationalEnvServiceModelStatusDb(serviceModelDb);
+ activateVnfStatus.setRequestsDBHelper(requestDb);
+ activateVnfStatus.checkOrUpdateOverallStatus(requestId, operationalEnvironmentId);
+
+ verify(requestDb, times(0)).updateInfraSuccessCompletion(any(String.class), any(String.class), any(String.class));
+ verify(requestDb, times(1)).updateInfraFailureCompletion(any(String.class), any(String.class), any(String.class));
+
+ }
+
+ @Test
+ public void checkOrUpdateOverallStatusTest_Waiting() throws Exception {
+
+ int retryCount = 2; // 2 more retry
+
+ ActivateVnfStatusOperationalEnvironment activateVnfStatus = spy(new ActivateVnfStatusOperationalEnvironment(request, requestId));
+
+ // Mockito mock
+ OperationalEnvDistributionStatusDb distributionDb = Mockito.mock(OperationalEnvDistributionStatusDb.class);
+ OperationalEnvServiceModelStatusDb serviceModelDb = Mockito.mock(OperationalEnvServiceModelStatusDb.class);
+ RequestsDBHelper requestDb = mock(RequestsDBHelper.class);
+
+ OperationalEnvServiceModelStatus modelStatus1 = spy(new OperationalEnvServiceModelStatus());
+ modelStatus1.setWorkloadContext(workloadContext);
+ modelStatus1.setRecoveryAction(recoveryAction);
+ modelStatus1.setOperationalEnvId(operationalEnvironmentId);
+ modelStatus1.setRetryCount(0);
+ modelStatus1.setServiceModelVersionDistrStatus(DistributionStatus.DISTRIBUTION_COMPLETE_OK.toString());
+
+ OperationalEnvServiceModelStatus modelStatus2 = spy(new OperationalEnvServiceModelStatus());
+ modelStatus2.setWorkloadContext(workloadContext);
+ modelStatus2.setRecoveryAction(recoveryAction);
+ modelStatus2.setOperationalEnvId(operationalEnvironmentId);
+ modelStatus2.setRetryCount(retryCount);
+ modelStatus2.setServiceModelVersionDistrStatus(DistributionStatus.DISTRIBUTION_COMPLETE_ERROR.toString());
+ List<OperationalEnvServiceModelStatus> queryServiceModelResponseList = new ArrayList<OperationalEnvServiceModelStatus>();
+ queryServiceModelResponseList.add(modelStatus1);
+ queryServiceModelResponseList.add(modelStatus2);
+
+ Mockito.when(serviceModelDb.getOperationalEnvIdStatus(operationalEnvironmentId, requestId)).thenReturn(queryServiceModelResponseList);
+ doNothing().when(requestDb).updateInfraSuccessCompletion(any(String.class), any(String.class), any(String.class));
+
+ activateVnfStatus.setOperationalEnvDistributionStatusDb(distributionDb);
+ activateVnfStatus.setOperationalEnvServiceModelStatusDb(serviceModelDb);
+ activateVnfStatus.setRequestsDBHelper(requestDb);
+ activateVnfStatus.checkOrUpdateOverallStatus(requestId, operationalEnvironmentId);
+
+ verify(requestDb, times(0)).updateInfraSuccessCompletion(any(String.class), any(String.class), any(String.class));
+ verify(requestDb, times(0)).updateInfraFailureCompletion(any(String.class), any(String.class), any(String.class));
+
+ }
+
+ @Test
+ public void executionTest() throws Exception {
+
+ // Prepare db query mock response data
+ OperationalEnvDistributionStatus operEnvDistStatusObj = new OperationalEnvDistributionStatus();
+ operEnvDistStatusObj.setServiceModelVersionId(serviceModelVersionId);
+ operEnvDistStatusObj.setDistributionId(asdcDistributionId);
+ operEnvDistStatusObj.setOperationalEnvId( operationalEnvironmentId);
+ operEnvDistStatusObj.setDistributionIdStatus(DistributionStatus.DISTRIBUTION_COMPLETE_OK.toString());
+ operEnvDistStatusObj.setRequestId(requestId);
+
+ // ServiceModelStatus - getOperationalEnvServiceModelStatus
+ OperationalEnvServiceModelStatus operEnvServiceModelStatusObj = new OperationalEnvServiceModelStatus();
+ operEnvServiceModelStatusObj.setRequestId(requestId);
+ operEnvServiceModelStatusObj.setOperationalEnvId(operationalEnvironmentId);
+ operEnvServiceModelStatusObj.setServiceModelVersionDistrStatus(DistributionStatus.DISTRIBUTION_COMPLETE_OK.toString());
+ operEnvServiceModelStatusObj.setRecoveryAction(recoveryAction);
+ operEnvServiceModelStatusObj.setRetryCount(retryCount);
+ operEnvServiceModelStatusObj.setWorkloadContext(workloadContext);
+ operEnvServiceModelStatusObj.setServiceModelVersionId(serviceModelVersionId);
+ List<OperationalEnvServiceModelStatus> queryServiceModelResponseList = new ArrayList<OperationalEnvServiceModelStatus>();
+ queryServiceModelResponseList.add(operEnvServiceModelStatusObj);
+
+ // prepare distribution obj
+ Distribution distribution = new Distribution();
+ distribution.setStatus(Status.DISTRIBUTION_COMPLETE_OK);
+ request.setDistribution(distribution);
+ request.setDistributionId(asdcDistributionId);
+
+ // prepare asdc return data
+ String jsonPayload = asdcClientUtils.buildJsonWorkloadContext(workloadContext);
+
+ JSONObject jsonObject = new JSONObject();
+ jsonObject.put("statusCode", "202");
+ jsonObject.put("message", "Success");
+ jsonObject.put("distributionId", asdcDistributionId);
+
+ // Mockito mock
+ OperationalEnvDistributionStatusDb distributionDb = Mockito.mock(OperationalEnvDistributionStatusDb.class);
+ OperationalEnvServiceModelStatusDb serviceModelDb = Mockito.mock(OperationalEnvServiceModelStatusDb.class);
+ RequestsDBHelper dbUtils = mock(RequestsDBHelper.class);
+ AsdcClientHelper asdcClientHelperMock = Mockito.mock(AsdcClientHelper.class);
+ RESTConfig configMock = Mockito.mock(RESTConfig.class);
+ RESTClient clientMock = Mockito.mock(RESTClient.class);
+ APIResponse apiResponseMock = Mockito.mock(APIResponse.class);
+
+ Mockito.when(asdcClientHelperMock.setRestClient(configMock)).thenReturn(clientMock);
+ Mockito.when(asdcClientHelperMock.setHttpPostResponse(clientMock, jsonPayload)).thenReturn(apiResponseMock);
+ Mockito.when(asdcClientHelperMock.enhanceJsonResponse(jsonObject, 202)).thenReturn(jsonObject);
+ Mockito.when(asdcClientHelperMock.postActivateOperationalEnvironment(serviceModelVersionId, operationalEnvironmentId, workloadContext)).thenReturn(jsonObject);
+
+ Mockito.when(distributionDb.getOperationalEnvDistributionStatus(asdcDistributionId)).thenReturn(operEnvDistStatusObj);
+ Mockito.when(serviceModelDb.getOperationalEnvServiceModelStatus(operationalEnvironmentId, serviceModelVersionId)).thenReturn(operEnvServiceModelStatusObj);
+ Mockito.when(serviceModelDb.getOperationalEnvIdStatus(operationalEnvironmentId, requestId)).thenReturn(queryServiceModelResponseList);
+
+ int row = 1;
+ Mockito.when(distributionDb.updateOperationalEnvDistributionStatus(distribution.getStatus().toString(), asdcDistributionId, operationalEnvironmentId, serviceModelVersionId)).thenReturn(row);
+ Mockito.when(serviceModelDb.updateOperationalEnvRetryCountStatus(operationalEnvironmentId, serviceModelVersionId, distribution.getStatus().toString(), 0)).thenReturn(row);
+
+ doNothing().when(dbUtils).updateInfraSuccessCompletion(any(String.class), any(String.class), any(String.class));
+
+ request.setOperationalEnvironmentId(operationalEnvironmentId);
+ ActivateVnfStatusOperationalEnvironment activateVnfStatus = new ActivateVnfStatusOperationalEnvironment(request, requestId);
+ ActivateVnfStatusOperationalEnvironment activateVnfStatusMock = spy(activateVnfStatus);
+ activateVnfStatusMock.setOperationalEnvDistributionStatusDb(distributionDb);
+ activateVnfStatusMock.setOperationalEnvServiceModelStatusDb(serviceModelDb);
+ activateVnfStatusMock.setRequestsDBHelper(dbUtils);
+ activateVnfStatusMock.setAsdcClientHelper(asdcClientHelperMock);
+
+ activateVnfStatusMock.execute();
+
+ verify(distributionDb, times(1)).updateOperationalEnvDistributionStatus(distribution.getStatus().toString(), asdcDistributionId, operationalEnvironmentId, serviceModelVersionId);
+ verify(serviceModelDb, times(1)).updateOperationalEnvRetryCountStatus(operationalEnvironmentId, serviceModelVersionId, distribution.getStatus().toString(), 0);
+
+
+ }
+
+ @Test
+ public void executionTest_ERROR_Status_And_RETRY() throws Exception {
+
+ int retryCnt = 3;
+ String distributionStatus = DistributionStatus.DISTRIBUTION_COMPLETE_ERROR.toString();
+ String recoverAction = "RETRY";
+
+ // Prepare db query mock response data
+ OperationalEnvDistributionStatus operEnvDistStatusObj = new OperationalEnvDistributionStatus();
+ operEnvDistStatusObj.setServiceModelVersionId(serviceModelVersionId);
+ operEnvDistStatusObj.setDistributionId(asdcDistributionId);
+ operEnvDistStatusObj.setOperationalEnvId(operationalEnvironmentId);
+ operEnvDistStatusObj.setDistributionIdStatus(distributionStatus);
+ operEnvDistStatusObj.setRequestId(requestId);
+
+ // ServiceModelStatus - getOperationalEnvServiceModelStatus
+ OperationalEnvServiceModelStatus operEnvServiceModelStatusObj = new OperationalEnvServiceModelStatus();
+ operEnvServiceModelStatusObj.setRequestId(requestId);
+ operEnvServiceModelStatusObj.setOperationalEnvId(operationalEnvironmentId);
+ operEnvServiceModelStatusObj.setServiceModelVersionDistrStatus(distributionStatus);
+ operEnvServiceModelStatusObj.setRecoveryAction(recoverAction);
+ operEnvServiceModelStatusObj.setRetryCount(retryCnt);
+ operEnvServiceModelStatusObj.setWorkloadContext(workloadContext);
+ operEnvServiceModelStatusObj.setServiceModelVersionId(serviceModelVersionId);
+ List<OperationalEnvServiceModelStatus> queryServiceModelResponseList = new ArrayList<OperationalEnvServiceModelStatus>();
+ queryServiceModelResponseList.add(operEnvServiceModelStatusObj);
+
+ // prepare distribution obj
+ Distribution distribution = new Distribution();
+ distribution.setStatus(Status.DISTRIBUTION_COMPLETE_ERROR);
+ request.setDistribution(distribution);
+ request.setDistributionId(asdcDistributionId);
+
+ // prepare asdc return data
+ String jsonPayload = asdcClientUtils.buildJsonWorkloadContext(workloadContext);
+
+ JSONObject jsonObject = new JSONObject();
+ jsonObject.put("statusCode", "202");
+ jsonObject.put("message", "Success");
+ jsonObject.put("distributionId", asdcDistributionId);
+
+ // Mockito mock
+ OperationalEnvDistributionStatusDb distributionDb = Mockito.mock(OperationalEnvDistributionStatusDb.class);
+ OperationalEnvServiceModelStatusDb serviceModelDb = Mockito.mock(OperationalEnvServiceModelStatusDb.class);
+ RequestsDBHelper dbUtils = mock(RequestsDBHelper.class);
+ AsdcClientHelper asdcClientHelperMock = Mockito.mock(AsdcClientHelper.class);
+ RESTConfig configMock = Mockito.mock(RESTConfig.class);
+ RESTClient clientMock = Mockito.mock(RESTClient.class);
+ APIResponse apiResponseMock = Mockito.mock(APIResponse.class);
+
+ Mockito.when(asdcClientHelperMock.setRestClient(configMock)).thenReturn(clientMock);
+ Mockito.when(asdcClientHelperMock.setHttpPostResponse(clientMock, jsonPayload)).thenReturn(apiResponseMock);
+ Mockito.when(asdcClientHelperMock.enhanceJsonResponse(jsonObject, 202)).thenReturn(jsonObject);
+ Mockito.when(asdcClientHelperMock.postActivateOperationalEnvironment(serviceModelVersionId, operationalEnvironmentId, workloadContext)).thenReturn(jsonObject);
+
+ Mockito.when(distributionDb.getOperationalEnvDistributionStatus(asdcDistributionId)).thenReturn(operEnvDistStatusObj);
+ Mockito.when(serviceModelDb.getOperationalEnvServiceModelStatus(operationalEnvironmentId, serviceModelVersionId)).thenReturn(operEnvServiceModelStatusObj);
+ Mockito.when(serviceModelDb.getOperationalEnvIdStatus(operationalEnvironmentId, requestId)).thenReturn(queryServiceModelResponseList);
+
+ int row = 1;
+ Mockito.when(distributionDb.updateOperationalEnvDistributionStatus(distribution.getStatus().toString(), asdcDistributionId, operationalEnvironmentId, serviceModelVersionId)).thenReturn(row);
+ Mockito.when(serviceModelDb.updateOperationalEnvRetryCountStatus(operationalEnvironmentId, serviceModelVersionId, distribution.getStatus().toString(), 0)).thenReturn(row);
+
+ doNothing().when(dbUtils).updateInfraSuccessCompletion(any(String.class), any(String.class), any(String.class));
+
+ request.setOperationalEnvironmentId(operationalEnvironmentId);
+ ActivateVnfStatusOperationalEnvironment activateVnfStatus = new ActivateVnfStatusOperationalEnvironment(request, requestId);
+ ActivateVnfStatusOperationalEnvironment activateVnfStatusMock = spy(activateVnfStatus);
+ activateVnfStatusMock.setOperationalEnvDistributionStatusDb(distributionDb);
+ activateVnfStatusMock.setOperationalEnvServiceModelStatusDb(serviceModelDb);
+ activateVnfStatusMock.setRequestsDBHelper(dbUtils);
+ activateVnfStatusMock.setAsdcClientHelper(asdcClientHelperMock);
+
+ activateVnfStatusMock.execute();
+
+ // waiting
+ verify(dbUtils, times(0)).updateInfraSuccessCompletion(any(String.class), any(String.class), any(String.class));
+ verify(dbUtils, times(0)).updateInfraFailureCompletion(any(String.class), any(String.class), any(String.class));
+ assertEquals(false, activateVnfStatusMock.isSuccess());
+
+ }
+
+ @Test
+ public void executionTest_ERROR_Status_And_RETRY_And_RetryZero() throws Exception {
+
+ int retryCnt = 0;
+ String distributionStatus = DistributionStatus.DISTRIBUTION_COMPLETE_ERROR.toString();
+ String recoverAction = "RETRY";
+
+ // Prepare db query mock response data
+ OperationalEnvDistributionStatus operEnvDistStatusObj = new OperationalEnvDistributionStatus();
+ operEnvDistStatusObj.setServiceModelVersionId(serviceModelVersionId);
+ operEnvDistStatusObj.setDistributionId(asdcDistributionId);
+ operEnvDistStatusObj.setOperationalEnvId(operationalEnvironmentId);
+ operEnvDistStatusObj.setDistributionIdStatus(distributionStatus);
+ operEnvDistStatusObj.setRequestId(requestId);
+
+ // ServiceModelStatus - getOperationalEnvServiceModelStatus
+ OperationalEnvServiceModelStatus operEnvServiceModelStatusObj = new OperationalEnvServiceModelStatus();
+ operEnvServiceModelStatusObj.setRequestId(requestId);
+ operEnvServiceModelStatusObj.setOperationalEnvId(operationalEnvironmentId);
+ operEnvServiceModelStatusObj.setServiceModelVersionDistrStatus(distributionStatus);
+ operEnvServiceModelStatusObj.setRecoveryAction(recoverAction);
+ operEnvServiceModelStatusObj.setRetryCount(retryCnt);
+ operEnvServiceModelStatusObj.setWorkloadContext(workloadContext);
+ operEnvServiceModelStatusObj.setServiceModelVersionId(serviceModelVersionId);
+ List<OperationalEnvServiceModelStatus> queryServiceModelResponseList = new ArrayList<OperationalEnvServiceModelStatus>();
+ queryServiceModelResponseList.add(operEnvServiceModelStatusObj);
+
+ // prepare distribution obj
+ Distribution distribution = new Distribution();
+ distribution.setStatus(Status.DISTRIBUTION_COMPLETE_ERROR);
+ request.setDistribution(distribution);
+ request.setDistributionId(asdcDistributionId);
+
+ // prepare asdc return data
+ String jsonPayload = asdcClientUtils.buildJsonWorkloadContext(workloadContext);
+
+ JSONObject jsonObject = new JSONObject();
+ jsonObject.put("statusCode", "202");
+ jsonObject.put("message", "Success");
+ jsonObject.put("distributionId", asdcDistributionId);
+
+ // Mockito mock
+ OperationalEnvDistributionStatusDb distributionDb = Mockito.mock(OperationalEnvDistributionStatusDb.class);
+ OperationalEnvServiceModelStatusDb serviceModelDb = Mockito.mock(OperationalEnvServiceModelStatusDb.class);
+ RequestsDBHelper dbUtils = mock(RequestsDBHelper.class);
+ AsdcClientHelper asdcClientHelperMock = Mockito.mock(AsdcClientHelper.class);
+ RESTConfig configMock = Mockito.mock(RESTConfig.class);
+ RESTClient clientMock = Mockito.mock(RESTClient.class);
+ APIResponse apiResponseMock = Mockito.mock(APIResponse.class);
+
+ Mockito.when(asdcClientHelperMock.setRestClient(configMock)).thenReturn(clientMock);
+ Mockito.when(asdcClientHelperMock.setHttpPostResponse(clientMock, jsonPayload)).thenReturn(apiResponseMock);
+ Mockito.when(asdcClientHelperMock.enhanceJsonResponse(jsonObject, 202)).thenReturn(jsonObject);
+ Mockito.when(asdcClientHelperMock.postActivateOperationalEnvironment(serviceModelVersionId, operationalEnvironmentId, workloadContext)).thenReturn(jsonObject);
+
+ Mockito.when(distributionDb.getOperationalEnvDistributionStatus(asdcDistributionId)).thenReturn(operEnvDistStatusObj);
+ Mockito.when(serviceModelDb.getOperationalEnvServiceModelStatus(operationalEnvironmentId, serviceModelVersionId)).thenReturn(operEnvServiceModelStatusObj);
+ Mockito.when(serviceModelDb.getOperationalEnvIdStatus(operationalEnvironmentId, requestId)).thenReturn(queryServiceModelResponseList);
+
+ int row = 1;
+ Mockito.when(distributionDb.updateOperationalEnvDistributionStatus(distribution.getStatus().toString(), asdcDistributionId, operationalEnvironmentId, serviceModelVersionId)).thenReturn(row);
+ Mockito.when(serviceModelDb.updateOperationalEnvRetryCountStatus(operationalEnvironmentId, serviceModelVersionId, distribution.getStatus().toString(), 0)).thenReturn(row);
+
+ doNothing().when(dbUtils).updateInfraSuccessCompletion(any(String.class), any(String.class), any(String.class));
+
+ request.setOperationalEnvironmentId(operationalEnvironmentId);
+ ActivateVnfStatusOperationalEnvironment activateVnfStatus = new ActivateVnfStatusOperationalEnvironment(request, requestId);
+ ActivateVnfStatusOperationalEnvironment activateVnfStatusMock = spy(activateVnfStatus);
+ activateVnfStatusMock.setOperationalEnvDistributionStatusDb(distributionDb);
+ activateVnfStatusMock.setOperationalEnvServiceModelStatusDb(serviceModelDb);
+ activateVnfStatusMock.setRequestsDBHelper(dbUtils);
+ activateVnfStatusMock.setAsdcClientHelper(asdcClientHelperMock);
+
+ activateVnfStatusMock.execute();
+
+ // waiting
+ verify(dbUtils, times(0)).updateInfraSuccessCompletion(any(String.class), any(String.class), any(String.class));
+ verify(dbUtils, times(1)).updateInfraFailureCompletion(any(String.class), any(String.class), any(String.class));
+ assertEquals(false, activateVnfStatusMock.isSuccess());
+
+ }
+
+ @Test
+ public void executionTest_ERROR_Status_And_RETRY_And_ErrorAsdc() throws Exception {
+
+ int retryCnt = 3;
+ String distributionStatus = DistributionStatus.DISTRIBUTION_COMPLETE_ERROR.toString();
+ String recoverAction = "RETRY";
+
+ // Prepare db query mock response data
+ OperationalEnvDistributionStatus operEnvDistStatusObj = new OperationalEnvDistributionStatus();
+ operEnvDistStatusObj.setServiceModelVersionId(serviceModelVersionId);
+ operEnvDistStatusObj.setDistributionId(asdcDistributionId);
+ operEnvDistStatusObj.setOperationalEnvId(operationalEnvironmentId);
+ operEnvDistStatusObj.setDistributionIdStatus(distributionStatus);
+ operEnvDistStatusObj.setRequestId(requestId);
+
+ // ServiceModelStatus - getOperationalEnvServiceModelStatus
+ OperationalEnvServiceModelStatus operEnvServiceModelStatusObj = new OperationalEnvServiceModelStatus();
+ operEnvServiceModelStatusObj.setRequestId(requestId);
+ operEnvServiceModelStatusObj.setOperationalEnvId(operationalEnvironmentId);
+ operEnvServiceModelStatusObj.setServiceModelVersionDistrStatus(distributionStatus);
+ operEnvServiceModelStatusObj.setRecoveryAction(recoverAction);
+ operEnvServiceModelStatusObj.setRetryCount(retryCnt);
+ operEnvServiceModelStatusObj.setWorkloadContext(workloadContext);
+ operEnvServiceModelStatusObj.setServiceModelVersionId(serviceModelVersionId);
+ List<OperationalEnvServiceModelStatus> queryServiceModelResponseList = new ArrayList<OperationalEnvServiceModelStatus>();
+ queryServiceModelResponseList.add(operEnvServiceModelStatusObj);
+
+ // prepare distribution obj
+ Distribution distribution = new Distribution();
+ distribution.setStatus(Status.DISTRIBUTION_COMPLETE_ERROR);
+ request.setDistribution(distribution);
+ request.setDistributionId(asdcDistributionId);
+
+ // prepare asdc return data
+ String jsonPayload = asdcClientUtils.buildJsonWorkloadContext(workloadContext);
+
+ // ERROR in asdc
+ JSONObject jsonMessages = new JSONObject();
+ jsonMessages.put("statusCode", "409");
+ jsonMessages.put("message", "Undefined Error Message!");
+ jsonMessages.put("messageId", "SVC4675");
+ jsonMessages.put("text", "Error: Service state is invalid for this action.");
+ JSONObject jsonServException = new JSONObject();
+ jsonServException.put("serviceException", jsonMessages);
+ JSONObject jsonErrorRequest = new JSONObject();
+ jsonErrorRequest.put("requestError", jsonServException);
+
+ // Mockito mock
+ OperationalEnvDistributionStatusDb distributionDb = Mockito.mock(OperationalEnvDistributionStatusDb.class);
+ OperationalEnvServiceModelStatusDb serviceModelDb = Mockito.mock(OperationalEnvServiceModelStatusDb.class);
+ RequestsDBHelper dbUtils = mock(RequestsDBHelper.class);
+ AsdcClientHelper asdcClientHelperMock = Mockito.mock(AsdcClientHelper.class);
+ RESTConfig configMock = Mockito.mock(RESTConfig.class);
+ RESTClient clientMock = Mockito.mock(RESTClient.class);
+ APIResponse apiResponseMock = Mockito.mock(APIResponse.class);
+
+ Mockito.when(asdcClientHelperMock.setRestClient(configMock)).thenReturn(clientMock);
+ Mockito.when(asdcClientHelperMock.setHttpPostResponse(clientMock, jsonPayload)).thenReturn(apiResponseMock);
+ Mockito.when(asdcClientHelperMock.enhanceJsonResponse(jsonMessages, 202)).thenReturn(jsonMessages);
+ Mockito.when(asdcClientHelperMock.postActivateOperationalEnvironment(serviceModelVersionId, operationalEnvironmentId, workloadContext)).thenReturn(jsonMessages);
+
+ Mockito.when(distributionDb.getOperationalEnvDistributionStatus(asdcDistributionId)).thenReturn(operEnvDistStatusObj);
+ Mockito.when(serviceModelDb.getOperationalEnvServiceModelStatus(operationalEnvironmentId, serviceModelVersionId)).thenReturn(operEnvServiceModelStatusObj);
+ Mockito.when(serviceModelDb.getOperationalEnvIdStatus(operationalEnvironmentId, requestId)).thenReturn(queryServiceModelResponseList);
+
+ int row = 1;
+ Mockito.when(distributionDb.updateOperationalEnvDistributionStatus(distribution.getStatus().toString(), asdcDistributionId, operationalEnvironmentId, serviceModelVersionId)).thenReturn(row);
+ Mockito.when(serviceModelDb.updateOperationalEnvRetryCountStatus(operationalEnvironmentId, serviceModelVersionId, distribution.getStatus().toString(), 0)).thenReturn(row);
+
+ doNothing().when(dbUtils).updateInfraSuccessCompletion(any(String.class), any(String.class), any(String.class));
+
+ request.setOperationalEnvironmentId(operationalEnvironmentId);
+ ActivateVnfStatusOperationalEnvironment activateVnfStatus = new ActivateVnfStatusOperationalEnvironment(request, requestId);
+ ActivateVnfStatusOperationalEnvironment activateVnfStatusMock = spy(activateVnfStatus);
+ activateVnfStatusMock.setOperationalEnvDistributionStatusDb(distributionDb);
+ activateVnfStatusMock.setOperationalEnvServiceModelStatusDb(serviceModelDb);
+ activateVnfStatusMock.setRequestsDBHelper(dbUtils);
+ activateVnfStatusMock.setAsdcClientHelper(asdcClientHelperMock);
+
+ activateVnfStatusMock.execute();
+
+ // waiting
+ verify(dbUtils, times(0)).updateInfraSuccessCompletion(any(String.class), any(String.class), any(String.class));
+ verify(dbUtils, times(1)).updateInfraFailureCompletion(any(String.class), any(String.class), any(String.class));
+ assertEquals(false, activateVnfStatusMock.isSuccess());
+
+ }
+
+ @Test
+ public void executionTest_ERROR_Status_And_SKIP() throws Exception {
+
+ int retryCnt = 3;
+ String distributionStatus = DistributionStatus.DISTRIBUTION_COMPLETE_ERROR.toString();
+ String recoverAction = "SKIP";
+
+ // Prepare db query mock response data
+ OperationalEnvDistributionStatus operEnvDistStatusObj = new OperationalEnvDistributionStatus();
+ operEnvDistStatusObj.setServiceModelVersionId(serviceModelVersionId);
+ operEnvDistStatusObj.setDistributionId(asdcDistributionId);
+ operEnvDistStatusObj.setOperationalEnvId( operationalEnvironmentId);
+ operEnvDistStatusObj.setDistributionIdStatus(distributionStatus);
+ operEnvDistStatusObj.setRequestId(requestId);
+
+ // ServiceModelStatus - getOperationalEnvServiceModelStatus
+ OperationalEnvServiceModelStatus operEnvServiceModelStatusObj = new OperationalEnvServiceModelStatus();
+ operEnvServiceModelStatusObj.setRequestId(requestId);
+ operEnvServiceModelStatusObj.setOperationalEnvId(operationalEnvironmentId);
+ operEnvServiceModelStatusObj.setServiceModelVersionDistrStatus(distributionStatus);
+ operEnvServiceModelStatusObj.setRecoveryAction(recoverAction);
+ operEnvServiceModelStatusObj.setRetryCount(retryCnt);
+ operEnvServiceModelStatusObj.setWorkloadContext(workloadContext);
+ operEnvServiceModelStatusObj.setServiceModelVersionId(serviceModelVersionId);
+ List<OperationalEnvServiceModelStatus> queryServiceModelResponseList = new ArrayList<OperationalEnvServiceModelStatus>();
+ queryServiceModelResponseList.add(operEnvServiceModelStatusObj);
+
+ // prepare distribution obj
+ Distribution distribution = new Distribution();
+ distribution.setStatus(Status.DISTRIBUTION_COMPLETE_ERROR);
+ request.setDistribution(distribution);
+ request.setDistributionId(asdcDistributionId);
+
+ // Mockito mock
+ OperationalEnvDistributionStatusDb distributionDb = Mockito.mock(OperationalEnvDistributionStatusDb.class);
+ OperationalEnvServiceModelStatusDb serviceModelDb = Mockito.mock(OperationalEnvServiceModelStatusDb.class);
+ RequestsDBHelper dbUtils = mock(RequestsDBHelper.class);
+
+ Mockito.when(distributionDb.getOperationalEnvDistributionStatus(asdcDistributionId)).thenReturn(operEnvDistStatusObj);
+ Mockito.when(serviceModelDb.getOperationalEnvServiceModelStatus(operationalEnvironmentId, serviceModelVersionId)).thenReturn(operEnvServiceModelStatusObj);
+ Mockito.when(serviceModelDb.getOperationalEnvIdStatus(operationalEnvironmentId, requestId)).thenReturn(queryServiceModelResponseList);
+
+ int row = 1;
+ Mockito.when(distributionDb.updateOperationalEnvDistributionStatus(distribution.getStatus().toString(), asdcDistributionId, operationalEnvironmentId, serviceModelVersionId)).thenReturn(row);
+ Mockito.when(serviceModelDb.updateOperationalEnvRetryCountStatus(operationalEnvironmentId, serviceModelVersionId, distribution.getStatus().toString(), 0)).thenReturn(row);
+
+ doNothing().when(dbUtils).updateInfraSuccessCompletion(any(String.class), any(String.class), any(String.class));
+
+ request.setOperationalEnvironmentId(operationalEnvironmentId);
+ ActivateVnfStatusOperationalEnvironment activateVnfStatus = new ActivateVnfStatusOperationalEnvironment(request, requestId);
+ ActivateVnfStatusOperationalEnvironment activateVnfStatusMock = spy(activateVnfStatus);
+ activateVnfStatusMock.setOperationalEnvDistributionStatusDb(distributionDb);
+ activateVnfStatusMock.setOperationalEnvServiceModelStatusDb(serviceModelDb);
+ activateVnfStatusMock.setRequestsDBHelper(dbUtils);
+
+ activateVnfStatusMock.execute();
+
+ // waiting
+ verify(dbUtils, times(0)).updateInfraSuccessCompletion(any(String.class), any(String.class), any(String.class));
+ verify(dbUtils, times(0)).updateInfraFailureCompletion(any(String.class), any(String.class), any(String.class));
+ assertEquals(false, activateVnfStatusMock.isSuccess());
+
+ }
+
+ @Test
+ public void executionTest_ERROR_Status_And_ABORT() throws Exception {
+
+ int retryCnt = 3;
+ String distributionStatus = DistributionStatus.DISTRIBUTION_COMPLETE_ERROR.toString();
+ String recoverAction = "ABORT";
+
+ // Prepare db query mock response data
+ OperationalEnvDistributionStatus operEnvDistStatusObj = new OperationalEnvDistributionStatus();
+ operEnvDistStatusObj.setServiceModelVersionId(serviceModelVersionId);
+ operEnvDistStatusObj.setDistributionId(asdcDistributionId);
+ operEnvDistStatusObj.setOperationalEnvId( operationalEnvironmentId);
+ operEnvDistStatusObj.setDistributionIdStatus(distributionStatus);
+ operEnvDistStatusObj.setRequestId(requestId);
+
+ // ServiceModelStatus - getOperationalEnvServiceModelStatus
+ OperationalEnvServiceModelStatus operEnvServiceModelStatusObj = new OperationalEnvServiceModelStatus();
+ operEnvServiceModelStatusObj.setRequestId(requestId);
+ operEnvServiceModelStatusObj.setOperationalEnvId(operationalEnvironmentId);
+ operEnvServiceModelStatusObj.setServiceModelVersionDistrStatus(distributionStatus);
+ operEnvServiceModelStatusObj.setRecoveryAction(recoverAction);
+ operEnvServiceModelStatusObj.setRetryCount(retryCnt);
+ operEnvServiceModelStatusObj.setWorkloadContext(workloadContext);
+ operEnvServiceModelStatusObj.setServiceModelVersionId(serviceModelVersionId);
+ List<OperationalEnvServiceModelStatus> queryServiceModelResponseList = new ArrayList<OperationalEnvServiceModelStatus>();
+ queryServiceModelResponseList.add(operEnvServiceModelStatusObj);
+
+ // prepare distribution obj
+ Distribution distribution = new Distribution();
+ distribution.setStatus(Status.DISTRIBUTION_COMPLETE_ERROR);
+ request.setDistribution(distribution);
+ request.setDistributionId(asdcDistributionId);
+
+ // Mockito mock
+ OperationalEnvDistributionStatusDb distributionDb = Mockito.mock(OperationalEnvDistributionStatusDb.class);
+ OperationalEnvServiceModelStatusDb serviceModelDb = Mockito.mock(OperationalEnvServiceModelStatusDb.class);
+ RequestsDBHelper dbUtils = mock(RequestsDBHelper.class);
+
+ Mockito.when(distributionDb.getOperationalEnvDistributionStatus(asdcDistributionId)).thenReturn(operEnvDistStatusObj);
+ Mockito.when(serviceModelDb.getOperationalEnvServiceModelStatus(operationalEnvironmentId, serviceModelVersionId)).thenReturn(operEnvServiceModelStatusObj);
+ Mockito.when(serviceModelDb.getOperationalEnvIdStatus(operationalEnvironmentId, requestId)).thenReturn(queryServiceModelResponseList);
+
+ int row = 1;
+ Mockito.when(distributionDb.updateOperationalEnvDistributionStatus(distribution.getStatus().toString(), asdcDistributionId, operationalEnvironmentId, serviceModelVersionId)).thenReturn(row);
+ Mockito.when(serviceModelDb.updateOperationalEnvRetryCountStatus(operationalEnvironmentId, serviceModelVersionId, distribution.getStatus().toString(), 0)).thenReturn(row);
+
+ doNothing().when(dbUtils).updateInfraSuccessCompletion(any(String.class), any(String.class), any(String.class));
+
+ request.setOperationalEnvironmentId(operationalEnvironmentId);
+ ActivateVnfStatusOperationalEnvironment activateVnfStatus = new ActivateVnfStatusOperationalEnvironment(request, requestId);
+ ActivateVnfStatusOperationalEnvironment activateVnfStatusMock = spy(activateVnfStatus);
+ activateVnfStatusMock.setOperationalEnvDistributionStatusDb(distributionDb);
+ activateVnfStatusMock.setOperationalEnvServiceModelStatusDb(serviceModelDb);
+ activateVnfStatusMock.setRequestsDBHelper(dbUtils);
+ activateVnfStatusMock.execute();
+
+ assertEquals(false, activateVnfStatusMock.isSuccess());
+
+ }
+
+}
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/java/org/openecomp/mso/apihandlerinfra/tenantisolation/process/CreateEcompOperationalEnvironmentTest.java b/mso-api-handlers/mso-api-handler-infra/src/test/java/org/openecomp/mso/apihandlerinfra/tenantisolation/process/CreateEcompOperationalEnvironmentTest.java new file mode 100644 index 0000000000..e7b9db0657 --- /dev/null +++ b/mso-api-handlers/mso-api-handler-infra/src/test/java/org/openecomp/mso/apihandlerinfra/tenantisolation/process/CreateEcompOperationalEnvironmentTest.java @@ -0,0 +1,90 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP - SO + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.openecomp.mso.apihandlerinfra.tenantisolation.process; + +import static org.mockito.Matchers.any; +import static org.mockito.Mockito.spy; +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; + +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.openecomp.mso.apihandlerinfra.tenantisolation.CloudOrchestrationRequest; +import org.openecomp.mso.apihandlerinfra.tenantisolation.dmaap.DmaapOperationalEnvClient; +import org.openecomp.mso.apihandlerinfra.tenantisolation.helpers.AAIClientHelper; +import org.openecomp.mso.apihandlerinfra.tenantisolationbeans.OperationalEnvironment; +import org.openecomp.mso.apihandlerinfra.tenantisolationbeans.RequestDetails; +import org.openecomp.mso.apihandlerinfra.tenantisolationbeans.RequestInfo; +import org.openecomp.mso.apihandlerinfra.tenantisolationbeans.RequestParameters; +import org.openecomp.mso.client.aai.objects.AAIOperationalEnvironment; +import org.openecomp.mso.requestsdb.RequestsDBHelper; + +public class CreateEcompOperationalEnvironmentTest { + + @Mock private AAIClientHelper mockAaiClientHelper; + @Mock private DmaapOperationalEnvClient mockDmaapClient; + @Mock private RequestsDBHelper mockRequestsDBHelper; + + private CloudOrchestrationRequest request; + private CreateEcompOperationalEnvironment spyProcess; + + public CreateEcompOperationalEnvironmentTest() { + super(); + } + + @Before + public void testSetUp() { + MockitoAnnotations.initMocks(this); + request = getCloudOrchestrationRequest(); + CreateEcompOperationalEnvironment process = new CreateEcompOperationalEnvironment(request, "123"); + spyProcess = spy(process); + when(spyProcess.getAaiHelper()).thenReturn(mockAaiClientHelper); + when(spyProcess.getDmaapClient()).thenReturn(mockDmaapClient); + when(spyProcess.getRequestDb()).thenReturn(mockRequestsDBHelper); + } + + public CloudOrchestrationRequest getCloudOrchestrationRequest() { + CloudOrchestrationRequest cor = new CloudOrchestrationRequest(); + RequestDetails reqDetails = new RequestDetails(); + RequestInfo reqInfo = new RequestInfo(); + RequestParameters reqParams = new RequestParameters(); + reqParams.setTenantContext("TEST"); + reqParams.setWorkloadContext("ECOMP_TEST"); + reqParams.setOperationalEnvironmentType(OperationalEnvironment.ECOMP); + reqInfo.setInstanceName("TEST_ECOMP_ENVIRONMENT"); + reqDetails.setRequestInfo(reqInfo); + reqDetails.setRequestParameters(reqParams); + cor.setRequestDetails(reqDetails); + return cor; + } + + @Test + public void testProcess() throws Exception { + spyProcess.execute(); + verify(mockAaiClientHelper, times(1)).createOperationalEnvironment(any(AAIOperationalEnvironment.class)); + verify(mockDmaapClient, times(1)).dmaapPublishOperationalEnvRequest(any(String.class), any(String.class), any(String.class), any(String.class), any(String.class), any(String.class) ); + verify(mockRequestsDBHelper, times(1)).updateInfraSuccessCompletion(any(String.class), any(String.class), any(String.class)); + } + +} diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/java/org/openecomp/mso/apihandlerinfra/tenantisolation/process/CreateVnfOperationalEnvironmentTest.java b/mso-api-handlers/mso-api-handler-infra/src/test/java/org/openecomp/mso/apihandlerinfra/tenantisolation/process/CreateVnfOperationalEnvironmentTest.java new file mode 100644 index 0000000000..ad8a5ba245 --- /dev/null +++ b/mso-api-handlers/mso-api-handler-infra/src/test/java/org/openecomp/mso/apihandlerinfra/tenantisolation/process/CreateVnfOperationalEnvironmentTest.java @@ -0,0 +1,106 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP - SO + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.openecomp.mso.apihandlerinfra.tenantisolation.process; + +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.spy; +import static org.mockito.Mockito.when; + +import java.io.File; +import java.nio.file.Files; +import java.util.List; + +import org.junit.Before; +import org.junit.Test; +import org.mockito.MockitoAnnotations; +import org.openecomp.mso.apihandlerinfra.tenantisolation.CloudOrchestrationRequest; +import org.openecomp.mso.client.aai.objects.AAIOperationalEnvironment; +import org.openecomp.mso.client.grm.beans.Property; +import org.openecomp.mso.client.grm.beans.ServiceEndPointList; + +import com.fasterxml.jackson.databind.ObjectMapper; + +public class CreateVnfOperationalEnvironmentTest { + + private ObjectMapper mapper = new ObjectMapper(); + private CloudOrchestrationRequest request; + private ServiceEndPointList serviceEndpoints; + private CreateVnfOperationalEnvironment spyProcess; + + @Before + public void testSetUp() throws Exception { + MockitoAnnotations.initMocks(this); + String jsonRequest = getFileContentsAsString("__files/vnfoperenv/createVnfOperationalEnvironmentRequest.json"); + request = mapper.readValue(jsonRequest, CloudOrchestrationRequest.class); + String jsonServiceEndpoints = getFileContentsAsString("__files/vnfoperenv/endpoints.json"); + serviceEndpoints = mapper.readValue(jsonServiceEndpoints, ServiceEndPointList.class); + CreateVnfOperationalEnvironment process = new CreateVnfOperationalEnvironment(request, "9876543210"); + spyProcess = spy(process); + } + + + @Test + public void testGetEcompManagingEnvironmentId() throws Exception { + when(spyProcess.getRequest()).thenReturn(request); + assertEquals("ff305d54-75b4-431b-adb2-eb6b9e5ff000", spyProcess.getEcompManagingEnvironmentId()); + } + + @Test + public void testGetTenantContext() throws Exception { + when(spyProcess.getRequest()).thenReturn(request); + assertEquals("Test", spyProcess.getTenantContext()); + } + + @Test + public void testGetEnvironmentName() throws Exception { + List<Property> props = serviceEndpoints.getServiceEndPointList().get(0).getProperties(); + assertEquals("DEV", spyProcess.getEnvironmentName(props)); + } + + @Test + public void testBuildServiceNameForVnf() throws Exception { + when(spyProcess.getRequest()).thenReturn(request); + assertEquals("Test.VNF_E2E-IST.Inventory", spyProcess.buildServiceNameForVnf("TEST.ECOMP_PSL.Inventory")); + } + + @Test + public void testGetSearchKey() { + AAIOperationalEnvironment ecompEnv = new AAIOperationalEnvironment(); + ecompEnv.setTenantContext("Test"); + ecompEnv.setWorkloadContext("ECOMPL_PSL"); + assertEquals("Test.ECOMPL_PSL.*", spyProcess.getSearchKey(ecompEnv)); + } + + public String getFileContentsAsString(String fileName) { + String content = ""; + try { + ClassLoader classLoader = this.getClass().getClassLoader(); + File file = new File(classLoader.getResource(fileName).getFile()); + content = new String(Files.readAllBytes(file.toPath())); + } + catch(Exception e) { + e.printStackTrace(); + System.out.println("Exception encountered reading " + fileName + ". Error: " + e.getMessage()); + } + return content; + } + +} diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/java/org/openecomp/mso/apihandlerinfra/tenantisolation/process/DeactivateVnfOperationalEnvironmentTest.java b/mso-api-handlers/mso-api-handler-infra/src/test/java/org/openecomp/mso/apihandlerinfra/tenantisolation/process/DeactivateVnfOperationalEnvironmentTest.java new file mode 100644 index 0000000000..ee07a53f74 --- /dev/null +++ b/mso-api-handlers/mso-api-handler-infra/src/test/java/org/openecomp/mso/apihandlerinfra/tenantisolation/process/DeactivateVnfOperationalEnvironmentTest.java @@ -0,0 +1,91 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP - SO + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.openecomp.mso.apihandlerinfra.tenantisolation.process;
+
+import static org.mockito.Matchers.any;
+import static org.mockito.Mockito.doNothing;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import java.util.Optional;
+
+import org.junit.Test;
+import org.openecomp.mso.apihandlerinfra.tenantisolation.CloudOrchestrationRequest;
+import org.openecomp.mso.apihandlerinfra.tenantisolation.helpers.AAIClientHelper;
+import org.openecomp.mso.client.aai.entities.AAIResultWrapper;
+import org.openecomp.mso.client.aai.objects.AAIOperationalEnvironment;
+import org.openecomp.mso.requestsdb.RequestsDBHelper;
+
+public class DeactivateVnfOperationalEnvironmentTest {
+
+ @Test
+ public void testDeactivateOperationalEnvironment() throws Exception {
+ String operationlEnvironmentId = "ff3514e3-5a33-55df-13ab-12abad84e7ff";
+ CloudOrchestrationRequest request = new CloudOrchestrationRequest();
+ request.setOperationalEnvironmentId(operationlEnvironmentId);
+ request.setRequestDetails(null);
+
+ DeactivateVnfOperationalEnvironment deactivate = spy(new DeactivateVnfOperationalEnvironment(request, "ff3514e3-5a33-55df-13ab-12abad84e7fe"));
+ RequestsDBHelper dbUtils = mock(RequestsDBHelper.class);
+ AAIClientHelper helper = mock(AAIClientHelper.class);
+ AAIResultWrapper wrapper = mock(AAIResultWrapper.class);
+ AAIOperationalEnvironment operationalEnv = new AAIOperationalEnvironment();
+ operationalEnv.setOperationalEnvironmentStatus("ACTIVE");
+
+ doNothing().when(dbUtils).updateInfraSuccessCompletion(any(String.class), any(String.class), any(String.class));
+ when(helper.getAaiOperationalEnvironment(any(String.class))).thenReturn(wrapper);
+ when(wrapper.asBean(AAIOperationalEnvironment.class)).thenReturn(Optional.of((AAIOperationalEnvironment)operationalEnv));
+
+ deactivate.setRequestsDBHelper(dbUtils);
+ deactivate.setAaiHelper(helper);
+ deactivate.execute();
+
+ verify(dbUtils, times(1)).updateInfraSuccessCompletion(any(String.class), any(String.class), any(String.class));
+ }
+
+ @Test
+ public void testDeactivateInvalidStatus() throws Exception {
+ String operationlEnvironmentId = "ff3514e3-5a33-55df-13ab-12abad84e7ff";
+ CloudOrchestrationRequest request = new CloudOrchestrationRequest();
+ request.setOperationalEnvironmentId(operationlEnvironmentId);
+ request.setRequestDetails(null);
+
+ DeactivateVnfOperationalEnvironment deactivate = spy(new DeactivateVnfOperationalEnvironment(request, "ff3514e3-5a33-55df-13ab-12abad84e7fe"));
+ RequestsDBHelper dbUtils = mock(RequestsDBHelper.class);
+ AAIClientHelper helper = mock(AAIClientHelper.class);
+ AAIResultWrapper wrapper = mock(AAIResultWrapper.class);
+ AAIOperationalEnvironment operationalEnv = new AAIOperationalEnvironment();
+ operationalEnv.setOperationalEnvironmentStatus("SUCCESS");
+
+ doNothing().when(dbUtils).updateInfraSuccessCompletion(any(String.class), any(String.class), any(String.class));
+ when(helper.getAaiOperationalEnvironment(any(String.class))).thenReturn(wrapper);
+ when(wrapper.asBean(AAIOperationalEnvironment.class)).thenReturn(Optional.of((AAIOperationalEnvironment)operationalEnv));
+
+ deactivate.setRequestsDBHelper(dbUtils);
+ deactivate.setAaiHelper(helper);
+ deactivate.execute();
+
+ verify(dbUtils, times(1)).updateInfraFailureCompletion(any(String.class), any(String.class), any(String.class));
+ }
+}
\ No newline at end of file |