package org.activiti.examples.bpmn.servicetask;
import java.util.HashMap;
import java.util.Map;
import org.activiti.engine.impl.test.PluggableActivitiTestCase;
import org.activiti.engine.runtime.ProcessInstance;
import org.activiti.engine.test.Deployment;
/**
* @author Christian Stettler
*/
public class ExpressionServiceTaskTest extends PluggableActivitiTestCase {
@Deployment
public void testSetServiceResultToProcessVariables() {
Map<String,Object> variables = new HashMap<String, Object>();
variables.put("bean", new ValueBean("ok"));
ProcessInstance pi = runtimeService.startProcessInstanceByKey("setServiceResultToProcessVariables", variables);
assertEquals("ok", runtimeService.getVariable(pi.getId(), "result"));
}
@Deployment
public void testSetServiceResultToProcessVariablesWithSkipExpression() {
Map<String,Object> variables = new HashMap<String, Object>();
variables.put("bean", new ValueBean("ok"));
variables.put("_ACTIVITI_SKIP_EXPRESSION_ENABLED", true);
variables.put("skip", false);
ProcessInstance pi = runtimeService.startProcessInstanceByKey("setServiceResultToProcessVariablesWithSkipExpression", variables);
assertEquals("ok", runtimeService.getVariable(pi.getId(), "result"));
Map<String,Object> variables2 = new HashMap<String, Object>();
variables2.put("bean", new ValueBean("ok"));
variables2.put("_ACTIVITI_SKIP_EXPRESSION_ENABLED", true);
variables2.put("skip", true);
ProcessInstance pi2 = runtimeService.startProcessInstanceByKey("setServiceResultToProcessVariablesWithSkipExpression", variables2);
assertEquals(null, runtimeService.getVariable(pi2.getId(), "result"));
Map<String,Object> variables3 = new HashMap<String, Object>();
variables3.put("bean", new ValueBean("ok"));
variables3.put("_ACTIVITI_SKIP_EXPRESSION_ENABLED", true);
ProcessInstance pi3 = runtimeService.startProcessInstanceByKey("setServiceResultToProcessVariablesWithSkipExpression", variables2);
assertEquals(null, runtimeService.getVariable(pi3.getId(), "result"));
}
@Deployment
public void testBackwardsCompatibleExpression() {
Map<String,Object> variables = new HashMap<String, Object>();
variables.put("var", "---");
ProcessInstance pi = runtimeService.startProcessInstanceByKey("BackwardsCompatibleExpressionProcess", variables);
assertEquals("...---...", runtimeService.getVariable(pi.getId(), "result"));
}
}