use of org.olat.core.commons.services.taskexecutor.model.PersistentTask in project openolat by klemens.
the class PersistentTaskDAOTest method todo_workflow.
@Test
public void todo_workflow() {
String taskName = UUID.randomUUID().toString();
persistentTaskDao.createTask(taskName, new DummyTask());
dbInstance.commitAndCloseSession();
int count = 0;
List<Long> todos = persistentTaskDao.tasksToDo();
for (Long todo : todos) {
PersistentTask taskToDo = persistentTaskDao.pickTaskForRun(todo);
persistentTaskDao.taskDone(taskToDo);
count++;
}
dbInstance.commitAndCloseSession();
Assert.assertTrue(count > 0);
List<Long> nothingTodos = persistentTaskDao.tasksToDo();
Assert.assertNotNull(nothingTodos);
Assert.assertTrue(nothingTodos.isEmpty());
}
use of org.olat.core.commons.services.taskexecutor.model.PersistentTask in project openolat by klemens.
the class PersistentTaskDAOTest method deletedTask_byResource.
@Test
public void deletedTask_byResource() {
RepositoryEntry re = JunitTestHelper.createAndPersistRepositoryEntry();
RepositoryEntry reMark = JunitTestHelper.createAndPersistRepositoryEntry();
Identity creator = JunitTestHelper.createAndPersistIdentityAsUser("extask-8-" + UUID.randomUUID().toString());
String taskName = UUID.randomUUID().toString();
PersistentTask task1 = persistentTaskDao.createTask(taskName, new DummyTask(), creator, re.getOlatResource(), "byResource", null);
PersistentTask task2 = persistentTaskDao.createTask(taskName, new DummyTask(), creator, re.getOlatResource(), "byResource", null);
PersistentTask taskMark = persistentTaskDao.createTask(taskName, new DummyTask(), creator, reMark.getOlatResource(), "byResourcemarker", null);
Assert.assertNotNull(task1);
Assert.assertNotNull(task2);
Assert.assertNotNull(taskMark);
dbInstance.commitAndCloseSession();
// delete tasks 1 and 2
persistentTaskDao.delete(re.getOlatResource());
dbInstance.commitAndCloseSession();
// check if the tasks are deleted
List<Task> deletedTasks = persistentTaskDao.findTasks(re.getOlatResource());
Assert.assertNotNull(deletedTasks);
Assert.assertTrue(deletedTasks.isEmpty());
// check if the marker is there
List<Task> notDeletedTasks = persistentTaskDao.findTasks(reMark.getOlatResource());
Assert.assertNotNull(notDeletedTasks);
Assert.assertFalse(notDeletedTasks.isEmpty());
Assert.assertTrue(notDeletedTasks.contains(taskMark));
}
use of org.olat.core.commons.services.taskexecutor.model.PersistentTask in project openolat by klemens.
the class PersistentTaskDAOTest method findTask_withResource.
@Test
public void findTask_withResource() {
RepositoryEntry re = JunitTestHelper.createAndPersistRepositoryEntry();
Identity creator = JunitTestHelper.createAndPersistIdentityAsUser("extask-1-" + UUID.randomUUID().toString());
dbInstance.commitAndCloseSession();
String taskName = UUID.randomUUID().toString();
PersistentTask task = persistentTaskDao.createTask(taskName, new DummyTask(), creator, re.getOlatResource(), "test", null);
Assert.assertNotNull(task);
dbInstance.commitAndCloseSession();
List<Task> tasks = persistentTaskDao.findTasks(re.getOlatResource());
Assert.assertNotNull(tasks);
Assert.assertEquals(1, tasks.size());
Assert.assertTrue(tasks.get(0) instanceof PersistentTask);
// check reloaded task
PersistentTask ptask = (PersistentTask) tasks.get(0);
Assert.assertEquals(task, ptask);
Assert.assertEquals(task.getKey(), ptask.getKey());
Assert.assertNotNull(ptask.getCreationDate());
Assert.assertNotNull(ptask.getLastModified());
Assert.assertNotNull(ptask.getTask());
Assert.assertEquals(TaskStatus.newTask, ptask.getStatus());
Assert.assertEquals(re.getOlatResource(), ptask.getResource());
Assert.assertEquals("test", ptask.getResSubPath());
Assert.assertEquals(creator, ptask.getCreator());
}
use of org.olat.core.commons.services.taskexecutor.model.PersistentTask in project openolat by klemens.
the class PersistentTaskDAOTest method todo.
@Test
public void todo() {
String taskname = UUID.randomUUID().toString();
PersistentTask task = persistentTaskDao.createTask(taskname, new DummyTask());
dbInstance.commitAndCloseSession();
List<Long> todos = persistentTaskDao.tasksToDo();
Assert.assertNotNull(todos);
Assert.assertTrue(todos.contains(task.getKey()));
}
use of org.olat.core.commons.services.taskexecutor.model.PersistentTask in project openolat by klemens.
the class PersistentTaskDAOTest method todo_workflow_withModifiers.
@Test
public void todo_workflow_withModifiers() {
String tname = UUID.randomUUID().toString();
persistentTaskDao.createTask(tname, new DummyTask());
dbInstance.commitAndCloseSession();
RepositoryEntry re = JunitTestHelper.createAndPersistRepositoryEntry();
Identity creator = JunitTestHelper.createAndPersistIdentityAsUser("extask-12-" + UUID.randomUUID().toString());
Identity modifier1 = JunitTestHelper.createAndPersistIdentityAsUser("extask-13-" + UUID.randomUUID().toString());
Identity modifier2 = JunitTestHelper.createAndPersistIdentityAsUser("extask-14-" + UUID.randomUUID().toString());
Identity modifier3 = JunitTestHelper.createAndPersistIdentityAsUser("extask-15-" + UUID.randomUUID().toString());
String taskName = UUID.randomUUID().toString();
PersistentTask task = persistentTaskDao.createTask(taskName, new DummyTask(), creator, re.getOlatResource(), "test", null);
Assert.assertNotNull(task);
dbInstance.commitAndCloseSession();
// updates
persistentTaskDao.updateTask(task, new DummyTask(), modifier1, null);
dbInstance.commitAndCloseSession();
persistentTaskDao.updateTask(task, new DummyTask(), modifier2, null);
dbInstance.commitAndCloseSession();
persistentTaskDao.updateTask(task, new DummyTask(), modifier3, null);
dbInstance.commitAndCloseSession();
persistentTaskDao.updateTask(task, new DummyTask(), modifier1, null);
dbInstance.commitAndCloseSession();
int count = 0;
List<Long> todos = persistentTaskDao.tasksToDo();
for (Long todo : todos) {
PersistentTask taskToDo = persistentTaskDao.pickTaskForRun(todo);
persistentTaskDao.taskDone(taskToDo);
count++;
}
dbInstance.commitAndCloseSession();
Assert.assertTrue(count > 0);
List<Long> nothingTodos = persistentTaskDao.tasksToDo();
Assert.assertNotNull(nothingTodos);
Assert.assertFalse(nothingTodos.contains(task));
}
Aggregations