Search in sources :

Example 26 with PersistentTask

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());
}
Also used : PersistentTask(org.olat.core.commons.services.taskexecutor.model.PersistentTask) Test(org.junit.Test)

Example 27 with PersistentTask

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));
}
Also used : PersistentTask(org.olat.core.commons.services.taskexecutor.model.PersistentTask) RepositoryEntry(org.olat.repository.RepositoryEntry) Identity(org.olat.core.id.Identity) PersistentTask(org.olat.core.commons.services.taskexecutor.model.PersistentTask) Test(org.junit.Test)

Example 28 with PersistentTask

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());
}
Also used : PersistentTask(org.olat.core.commons.services.taskexecutor.model.PersistentTask) RepositoryEntry(org.olat.repository.RepositoryEntry) Identity(org.olat.core.id.Identity) PersistentTask(org.olat.core.commons.services.taskexecutor.model.PersistentTask) Test(org.junit.Test)

Example 29 with PersistentTask

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()));
}
Also used : PersistentTask(org.olat.core.commons.services.taskexecutor.model.PersistentTask) Test(org.junit.Test)

Example 30 with PersistentTask

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));
}
Also used : RepositoryEntry(org.olat.repository.RepositoryEntry) Identity(org.olat.core.id.Identity) PersistentTask(org.olat.core.commons.services.taskexecutor.model.PersistentTask) Test(org.junit.Test)

Aggregations

PersistentTask (org.olat.core.commons.services.taskexecutor.model.PersistentTask)56 Test (org.junit.Test)36 Identity (org.olat.core.id.Identity)24 RepositoryEntry (org.olat.repository.RepositoryEntry)24 Date (java.util.Date)14 LongRunnable (org.olat.core.commons.services.taskexecutor.LongRunnable)4 Sequential (org.olat.core.commons.services.taskexecutor.Sequential)4 EntityNotFoundException (javax.persistence.EntityNotFoundException)2 Task (org.olat.core.commons.services.taskexecutor.Task)2 TaskAwareRunnable (org.olat.core.commons.services.taskexecutor.TaskAwareRunnable)2 DBSecureRunnable (org.olat.core.commons.services.taskexecutor.model.DBSecureRunnable)2 PersistentTaskModifier (org.olat.core.commons.services.taskexecutor.model.PersistentTaskModifier)2 PersistentTaskRunnable (org.olat.core.commons.services.taskexecutor.model.PersistentTaskRunnable)2 AssertException (org.olat.core.logging.AssertException)2 SchedulerException (org.quartz.SchedulerException)2