/* 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.activiti.upgrade.test;
import java.util.HashMap;
import java.util.Map;
import org.activiti.engine.task.Task;
/**
* @author Tom Baeyens
*/
public class UserTaskAfterTest extends UpgradeTestCase {
public void testSimplestTask() {
Task task = taskService
.createTaskQuery()
.taskName("simpleTask2")
.singleResult();
String processInstanceId = task.getProcessInstanceId();
long expectedHistoryTaskInstances = -1;
String schemaHistory = managementService.getProperties().get("schema.history");
if (schemaHistory.startsWith("create(5.0)")) {
expectedHistoryTaskInstances = 0;
} else {
expectedHistoryTaskInstances = 2;
}
assertEquals(expectedHistoryTaskInstances,
historyService.createHistoricTaskInstanceQuery()
.processInstanceId(processInstanceId)
.orderByTaskName().asc()
.count());
taskService.complete(task.getId());
assertEquals(1, runtimeService
.createExecutionQuery()
.processInstanceId(processInstanceId)
.list()
.size());
assertEquals(expectedHistoryTaskInstances+1,
historyService.createHistoricTaskInstanceQuery()
.processInstanceId(processInstanceId)
.orderByTaskName().asc()
.count());
task = taskService
.createTaskQuery()
.taskName("simpleTask3")
.singleResult();
taskService.complete(task.getId());
assertEquals(0, runtimeService
.createExecutionQuery()
.processInstanceId(processInstanceId)
.list()
.size());
assertEquals(expectedHistoryTaskInstances+1,
historyService.createHistoricTaskInstanceQuery()
.processInstanceId(processInstanceId)
.orderByTaskName().asc()
.count());
}
public void testTaskWithExecutionVariables() {
Task task = taskService
.createTaskQuery()
.taskName("taskWithExecutionVariables")
.singleResult();
String taskId = task.getId();
assertNotNull(task);
String processInstanceId = task.getProcessInstanceId();
Map<String, Object> expectedVariables = new HashMap<String, Object>();
assertEquals(expectedVariables, taskService.getVariablesLocal(taskId));
expectedVariables.put("instrument", "trumpet");
expectedVariables.put("player", "gonzo");
assertEquals(expectedVariables, taskService.getVariables(taskId));
taskService.complete(taskId);
assertEquals(0, runtimeService
.createExecutionQuery()
.processInstanceId(processInstanceId)
.list()
.size());
}
}