/* * Copyright 2015 herd contributors * * 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. */ package org.finra.herd.service.activiti.task; import static org.mockito.Matchers.any; import static org.mockito.Matchers.anyBoolean; import static org.mockito.Matchers.same; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import static org.mockito.MockitoAnnotations.initMocks; import org.activiti.engine.delegate.DelegateExecution; import org.activiti.engine.delegate.Expression; import org.junit.Before; import org.junit.Test; import org.mockito.InjectMocks; import org.mockito.Mock; import org.finra.herd.service.activiti.ActivitiHelper; import org.finra.herd.service.helper.EmrStepHelper; import org.finra.herd.service.helper.EmrStepHelperFactory; public class BaseAddEmrStepTest { @InjectMocks private BaseAddEmrStep baseAddEmrStep; @Mock private EmrStepHelperFactory emrStepHelperFactory; @Mock private ActivitiHelper activitiHelper; @Mock private Expression namespace; @Mock private Expression emrClusterDefinitionName; @Mock private Expression emrClusterName; @Mock private Expression stepName; @Mock private Expression continueOnError; @Mock private Expression scriptLocation; @Mock private Expression scriptArguments; @Mock private Expression emrClusterId; @Before public void before() { baseAddEmrStep = new BaseAddEmrStep() { @Override public void executeImpl(DelegateExecution execution) throws Exception { } }; initMocks(this); } @Test public void populateCommonParamsAssertEmrStepHelperPopulatedCorrectly() { Object request = "request"; DelegateExecution execution = mock(DelegateExecution.class); EmrStepHelper emrStepHelper = mock(EmrStepHelper.class); when(emrStepHelperFactory.getStepHelper(any())).thenReturn(emrStepHelper); String namespaceString = "namespaceString"; when(activitiHelper.getExpressionVariableAsString(same(namespace), any())).thenReturn(namespaceString); String stepNameString = "stepNameString"; when(activitiHelper.getExpressionVariableAsString(same(stepName), any())).thenReturn(stepNameString); Boolean continueOnErrorBoolean = false; when(activitiHelper.getExpressionVariableAsBoolean(same(continueOnError), any(), any(), anyBoolean(), any())).thenReturn(continueOnErrorBoolean); String emrClusterDefinitionNameString = "emrClusterDefinitionNameString"; when(activitiHelper.getExpressionVariableAsString(same(emrClusterDefinitionName), any())).thenReturn(emrClusterDefinitionNameString); String emrClusterNameString = "emrClusterNameString"; when(activitiHelper.getExpressionVariableAsString(same(emrClusterName), any())).thenReturn(emrClusterNameString); String emrClusterIdString = "emrClusterIdString"; when(activitiHelper.getExpressionVariableAsString(same(emrClusterId), any())).thenReturn(emrClusterIdString); baseAddEmrStep.populateCommonParams(request, execution); verify(emrStepHelper).setRequestStepName(request, stepNameString); verify(emrStepHelper).setRequestContinueOnError(request, continueOnErrorBoolean); verify(emrStepHelper).setRequestNamespace(request, namespaceString); verify(emrStepHelper).setRequestEmrClusterDefinitionName(request, emrClusterDefinitionNameString); verify(emrStepHelper).setRequestEmrClusterName(request, emrClusterNameString); verify(emrStepHelper).setRequestEmrClusterId(request, emrClusterIdString); } }