use of org.olat.core.commons.services.taskexecutor.model.PersistentTask in project OpenOLAT by OpenOLAT.
the class PersistentTaskDAOTest method deletedTask_byResourceAndSubpath.
@Test
public void deletedTask_byResourceAndSubpath() {
RepositoryEntry re = JunitTestHelper.createAndPersistRepositoryEntry();
Identity creator = JunitTestHelper.createAndPersistIdentityAsUser("extask-9-" + 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, re.getOlatResource(), "byResourceMarker", null);
Assert.assertNotNull(task1);
Assert.assertNotNull(task2);
Assert.assertNotNull(taskMark);
dbInstance.commitAndCloseSession();
// delete tasks 1 and 2
persistentTaskDao.delete(re.getOlatResource(), "byResource");
dbInstance.commitAndCloseSession();
// check if the tasks are deleted
List<Task> tasks = persistentTaskDao.findTasks(re.getOlatResource());
Assert.assertNotNull(tasks);
Assert.assertFalse(tasks.isEmpty());
Assert.assertTrue(tasks.contains(taskMark));
}
use of org.olat.core.commons.services.taskexecutor.model.PersistentTask in project OpenOLAT by OpenOLAT.
the class PersistentTaskDAOTest method deletedTask_modifiers.
@Test
public void deletedTask_modifiers() {
RepositoryEntry re = JunitTestHelper.createAndPersistRepositoryEntry();
Identity creator = JunitTestHelper.createAndPersistIdentityAsUser("extask-8-" + UUID.randomUUID().toString());
Identity modifier1 = JunitTestHelper.createAndPersistIdentityAsUser("extask-9-" + UUID.randomUUID().toString());
Identity modifier2 = JunitTestHelper.createAndPersistIdentityAsUser("extask-10-" + UUID.randomUUID().toString());
Identity modifier3 = JunitTestHelper.createAndPersistIdentityAsUser("extask-11-" + 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, new Date());
dbInstance.commitAndCloseSession();
persistentTaskDao.updateTask(task, new DummyTask(), modifier2, new Date());
dbInstance.commitAndCloseSession();
persistentTaskDao.updateTask(task, new DummyTask(), modifier3, new Date());
dbInstance.commitAndCloseSession();
persistentTaskDao.updateTask(task, new DummyTask(), modifier1, new Date());
dbInstance.commitAndCloseSession();
// delete task and modifiers mofifiers
persistentTaskDao.delete(task);
dbInstance.commitAndCloseSession();
// check modifiers
List<Identity> modifiers = persistentTaskDao.getModifiers(task);
Assert.assertNotNull(modifiers);
Assert.assertTrue(modifiers.isEmpty());
}
use of org.olat.core.commons.services.taskexecutor.model.PersistentTask in project OpenOLAT by OpenOLAT.
the class PersistentTaskDAOTest method deleteTask_withResource.
@Test
public void deleteTask_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();
PersistentTask reloaded = dbInstance.getCurrentEntityManager().find(PersistentTask.class, task.getKey());
Assert.assertEquals(task, reloaded);
dbInstance.commitAndCloseSession();
boolean deleted = persistentTaskDao.delete(task);
Assert.assertTrue(deleted);
dbInstance.commitAndCloseSession();
boolean found = true;
try {
PersistentTask deletedTask = dbInstance.getCurrentEntityManager().find(PersistentTask.class, task.getKey());
if (deletedTask == null) {
found = false;
}
} catch (EntityNotFoundException e) {
found = false;
}
Assert.assertFalse(found);
}
use of org.olat.core.commons.services.taskexecutor.model.PersistentTask in project OpenOLAT by OpenOLAT.
the class PersistentTaskDAOTest method updateTask_modifiers.
@Test
public void updateTask_modifiers() {
RepositoryEntry re = JunitTestHelper.createAndPersistRepositoryEntry();
Identity creator = JunitTestHelper.createAndPersistIdentityAsUser("extask-4-" + UUID.randomUUID().toString());
Identity modifier1 = JunitTestHelper.createAndPersistIdentityAsUser("extask-5-" + UUID.randomUUID().toString());
Identity modifier2 = JunitTestHelper.createAndPersistIdentityAsUser("extask-6-" + UUID.randomUUID().toString());
Identity modifier3 = JunitTestHelper.createAndPersistIdentityAsUser("extask-7-" + 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, new Date());
dbInstance.commitAndCloseSession();
persistentTaskDao.updateTask(task, new DummyTask(), modifier2, new Date());
dbInstance.commitAndCloseSession();
persistentTaskDao.updateTask(task, new DummyTask(), modifier3, new Date());
dbInstance.commitAndCloseSession();
persistentTaskDao.updateTask(task, new DummyTask(), modifier1, new Date());
dbInstance.commitAndCloseSession();
// load mofifiers
List<Identity> modifiers = persistentTaskDao.getModifiers(task);
Assert.assertNotNull(modifiers);
Assert.assertEquals(3, modifiers.size());
}
use of org.olat.core.commons.services.taskexecutor.model.PersistentTask in project OpenOLAT by OpenOLAT.
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());
}
Aggregations