use of org.olat.core.commons.services.taskexecutor.model.PersistentTask in project OpenOLAT by OpenOLAT.
the class PersistentTaskDAOTest method createTask_withResource.
@Test
public void createTask_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);
Assert.assertNotNull(task.getKey());
Assert.assertNotNull(task.getCreationDate());
Assert.assertNotNull(task.getLastModified());
Assert.assertNotNull(task.getTask());
Assert.assertEquals(TaskStatus.newTask, task.getStatus());
Assert.assertEquals(re.getOlatResource(), task.getResource());
Assert.assertEquals("test", task.getResSubPath());
Assert.assertEquals(creator, task.getCreator());
}
use of org.olat.core.commons.services.taskexecutor.model.PersistentTask in project openolat by klemens.
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 klemens.
the class PersistentTaskDAOTest method createTask.
@Test
public void createTask() {
String taskName = "Task 0";
PersistentTask task = persistentTaskDao.createTask(taskName, new DummyTask());
dbInstance.commit();
Assert.assertNotNull(task);
Assert.assertNotNull(task.getKey());
Assert.assertNotNull(task.getCreationDate());
Assert.assertNotNull(task.getLastModified());
Assert.assertNotNull(task.getTask());
Assert.assertEquals(TaskStatus.newTask, task.getStatus());
}
use of org.olat.core.commons.services.taskexecutor.model.PersistentTask in project openolat by klemens.
the class PersistentTaskDAOTest method pickTask.
@Test
public void pickTask() {
String taskName = "Task 1";
PersistentTask task = persistentTaskDao.createTask(taskName, new DummyTask());
dbInstance.commitAndCloseSession();
PersistentTask todo = persistentTaskDao.pickTaskForRun(task.getKey());
Assert.assertNotNull(todo);
Assert.assertEquals(task.getKey(), todo.getKey());
Assert.assertEquals(TaskStatus.inWork, todo.getStatus());
}
use of org.olat.core.commons.services.taskexecutor.model.PersistentTask in project openolat by klemens.
the class PersistentTaskDAOTest method todo_oldTasks.
@Test
public void todo_oldTasks() {
String taskName = UUID.randomUUID().toString();
PersistentTask ctask = persistentTaskDao.createTask(taskName, new DummyTask());
// simulate a task from a previous boot
PersistentTask ptask = new PersistentTask();
ptask.setCreationDate(new Date());
ptask.setLastModified(new Date());
ptask.setName(UUID.randomUUID().toString());
ptask.setStatus(TaskStatus.inWork);
ptask.setExecutorBootId(UUID.randomUUID().toString());
ptask.setExecutorNode(Integer.toString(WebappHelper.getNodeId()));
ptask.setTask(XStreamHelper.createXStreamInstance().toXML(new DummyTask()));
dbInstance.getCurrentEntityManager().persist(ptask);
// simulate a task from an other node
PersistentTask alienTask = new PersistentTask();
alienTask.setCreationDate(new Date());
alienTask.setLastModified(new Date());
alienTask.setName(UUID.randomUUID().toString());
alienTask.setStatus(TaskStatus.inWork);
alienTask.setExecutorBootId(UUID.randomUUID().toString());
alienTask.setExecutorNode(Integer.toString(WebappHelper.getNodeId() + 1));
alienTask.setTask(XStreamHelper.createXStreamInstance().toXML(new DummyTask()));
dbInstance.getCurrentEntityManager().persist(alienTask);
dbInstance.commitAndCloseSession();
List<Long> todos = persistentTaskDao.tasksToDo();
Assert.assertNotNull(todos);
Assert.assertFalse(todos.isEmpty());
Assert.assertTrue(todos.contains(ptask.getKey()));
Assert.assertTrue(todos.contains(ctask.getKey()));
Assert.assertFalse(todos.contains(alienTask.getKey()));
}
Aggregations