package org.camunda.bpm.extension.mockito.delegate; import org.camunda.bpm.engine.ProcessEngineServices; import org.camunda.bpm.engine.delegate.DelegateExecution; import org.camunda.bpm.model.bpmn.BpmnModelInstance; import org.camunda.bpm.model.bpmn.instance.FlowElement; /** * Fake delegateExecution to test simple delegates/listeners without mocking. * <p> * Not all operations are support, extend if needed. */ public class DelegateExecutionFake extends VariableScopeFake<DelegateExecutionFake> implements DelegateExecution { private String processInstanceId; private ProcessEngineServices processEngineServices; private String processBusinessKey; private String processDefinitionId; private String parentId; private String currentActivityId; private String currentActivityName; private String activityInstanceId; private String parentActivityInstanceId; private String currentTransitionId; private DelegateExecution processInstance; private DelegateExecution superExecution; private boolean canceled; private String tenantId; private String id; private String eventName; private String businessKey; @Override public String getProcessInstanceId() { return processInstanceId; } public DelegateExecutionFake withProcessInstanceId(String processInstanceId) { this.processInstanceId = processInstanceId; return this; } @Override public String getProcessBusinessKey() { return processBusinessKey; } public DelegateExecutionFake withProcessBusinessKey(String processBusinessKey) { this.processBusinessKey = processBusinessKey; return this; } @Override public String getProcessDefinitionId() { return processDefinitionId; } public DelegateExecutionFake withProcessDefinitionId(String processDefinitionId) { this.processDefinitionId = processDefinitionId; return this; } @Override public String getParentId() { return parentId; } public DelegateExecutionFake withParentId(String parentId) { this.parentId = parentId; return this; } @Override public String getCurrentActivityId() { return currentActivityId; } public DelegateExecutionFake withCurrentActivityId(String currentActivityId) { this.currentActivityId = currentActivityId; return this; } @Override public String getCurrentActivityName() { return currentActivityName; } public DelegateExecutionFake withCurrentActivityName(String currentActivityName) { this.currentActivityName = currentActivityName; return this; } @Override public String getActivityInstanceId() { return activityInstanceId; } public DelegateExecutionFake withActivityInstanceId(String activityInstanceId) { this.activityInstanceId = activityInstanceId; return this; } @Override public String getParentActivityInstanceId() { return parentActivityInstanceId; } public DelegateExecutionFake withParentActivityInstanceId(String parentActivityInstanceId) { this.parentActivityInstanceId = parentActivityInstanceId; return this; } @Override public String getCurrentTransitionId() { return currentTransitionId; } public DelegateExecutionFake withCurrentTransitionId(String currentTransitionId) { this.currentTransitionId = currentTransitionId; return this; } @Override public DelegateExecution getProcessInstance() { return processInstance; } public DelegateExecutionFake withProcessInstance(DelegateExecution processInstance) { this.processInstance = processInstance; return this; } @Override public DelegateExecution getSuperExecution() { return superExecution; } public DelegateExecutionFake withSuperExecution(DelegateExecution superExecution) { this.superExecution = superExecution; return this; } @Override public boolean isCanceled() { return canceled; } public DelegateExecutionFake withCanceled(boolean canceled) { this.canceled = canceled; return this; } @Override public String getTenantId() { return tenantId; } public DelegateExecutionFake withTenantId(String tenantId) { this.tenantId = tenantId; return this; } @Override public void setVariable(String variableName, Object value, String activityId) { setVariable(variableName, value); } @Override public String getId() { return id; } public DelegateExecutionFake withId(String id) { this.id = id; return this; } @Override public String getEventName() { return eventName; } public DelegateExecutionFake withEventName(String eventName) { this.eventName = eventName; return this; } @Override public String getBusinessKey() { return businessKey; } public DelegateExecutionFake withBusinessKey(String businessKey) { this.businessKey = businessKey; return this; } @Override public BpmnModelInstance getBpmnModelInstance() { throw new UnsupportedOperationException("not implemented"); } @Override public FlowElement getBpmnModelElementInstance() { throw new UnsupportedOperationException("not implemented"); } @Override public ProcessEngineServices getProcessEngineServices() { return processEngineServices; } public DelegateExecutionFake withProcessEngineServices(ProcessEngineServices processEngineServices) { this.processEngineServices = processEngineServices; return this; } public static class ProcessInstanceNotSetException extends IllegalStateException { // empty } }