use of org.camunda.bpm.qa.upgrade.DescribesScenario in project camunda-bpm-platform by camunda.
the class ParallelMultiInstanceCompensationScenario method defaultHandlerBeforeCompensate.
@DescribesScenario("defaultHandler.beforeCompensate")
@Times(3)
public static ScenarioSetup defaultHandlerBeforeCompensate() {
return new ScenarioSetup() {
public void execute(ProcessEngine engine, String scenarioName) {
engine.getRuntimeService().startProcessInstanceByKey("ParallelMultiInstanceCompensationDefaultHandlerScenario", scenarioName);
// complete all mi tasks
List<Task> miTasks = engine.getTaskService().createTaskQuery().processInstanceBusinessKey(scenarioName).list();
for (Task miTask : miTasks) {
engine.getTaskService().complete(miTask.getId());
}
}
};
}
use of org.camunda.bpm.qa.upgrade.DescribesScenario in project camunda-bpm-platform by camunda.
the class SingleActivityCompensationScenario method instantiate.
@DescribesScenario("init")
@Times(3)
public static ScenarioSetup instantiate() {
return new ScenarioSetup() {
public void execute(ProcessEngine engine, String scenarioName) {
engine.getRuntimeService().startProcessInstanceByKey("SingleActivityCompensationScenario", scenarioName);
// create the compensation event subscription and wait before throwing compensation
Task userTask = engine.getTaskService().createTaskQuery().processInstanceBusinessKey(scenarioName).singleResult();
engine.getTaskService().complete(userTask.getId());
}
};
}
use of org.camunda.bpm.qa.upgrade.DescribesScenario in project camunda-bpm-platform by camunda.
the class SingleActivityCompensationScenario method instantiateAndTriggerCompensation.
@DescribesScenario("init.triggerCompensation")
@ExtendsScenario("init")
@Times(3)
public static ScenarioSetup instantiateAndTriggerCompensation() {
return new ScenarioSetup() {
public void execute(ProcessEngine engine, String scenarioName) {
// throw compensation; the compensation handler for userTask should then be active
Task beforeCompensateTask = engine.getTaskService().createTaskQuery().processInstanceBusinessKey(scenarioName).singleResult();
engine.getTaskService().complete(beforeCompensateTask.getId());
}
};
}
use of org.camunda.bpm.qa.upgrade.DescribesScenario in project camunda-bpm-platform by camunda.
the class JobMigrationScenario method triggerEntryCriterion.
@DescribesScenario("createJob")
public static ScenarioSetup triggerEntryCriterion() {
return new ScenarioSetup() {
public void execute(ProcessEngine engine, final String scenarioName) {
final ProcessEngineConfigurationImpl engineConfiguration = (ProcessEngineConfigurationImpl) engine.getProcessEngineConfiguration();
CommandExecutor commandExecutor = engineConfiguration.getCommandExecutorTxRequired();
// create a job with the scenario name as id and a null suspension state
commandExecutor.execute(new Command<Void>() {
public Void execute(CommandContext commandContext) {
Connection connection = null;
Statement statement = null;
ResultSet rs = null;
try {
SqlSession sqlSession = commandContext.getDbSqlSession().getSqlSession();
connection = sqlSession.getConnection();
statement = connection.createStatement();
statement.executeUpdate("INSERT INTO ACT_RU_JOB(ID_, REV_, RETRIES_, TYPE_, EXCLUSIVE_, HANDLER_TYPE_) " + "VALUES (" + "'" + scenarioName + "'," + "1," + "3," + "'timer'," + DbSqlSessionFactory.databaseSpecificTrueConstant.get(engineConfiguration.getDatabaseType()) + "," + "'" + TimerStartEventJobHandler.TYPE + "'" + ")");
connection.commit();
statement.close();
} catch (SQLException e) {
throw new RuntimeException(e);
} finally {
try {
if (statement != null) {
statement.close();
}
if (rs != null) {
rs.close();
}
if (connection != null) {
connection.close();
}
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
return null;
}
});
}
};
}
use of org.camunda.bpm.qa.upgrade.DescribesScenario in project camunda-bpm-platform by camunda.
the class ProcessWithParallelGatewayScenario method startProcessCompleteTwoUserTask.
@DescribesScenario("init.complete.two")
@Times(1)
public static ScenarioSetup startProcessCompleteTwoUserTask() {
return new ScenarioSetup() {
@Override
public void execute(ProcessEngine engine, String scenarioName) {
ProcessInstance procInst = engine.getRuntimeService().startProcessInstanceByKey(PROCESS_DEF_KEY, scenarioName);
List<Task> tasks = engine.getTaskService().createTaskQuery().processInstanceId(procInst.getId()).list();
for (Task task : tasks) {
engine.getTaskService().complete(task.getId());
}
}
};
}
Aggregations