Search in sources :

Example 21 with PersistentTask

use of org.olat.core.commons.services.taskexecutor.model.PersistentTask in project openolat by klemens.

the class PersistentTaskDAOTest method updateTask_withResource.

@Test
public void updateTask_withResource() {
    RepositoryEntry re = JunitTestHelper.createAndPersistRepositoryEntry();
    Identity creator = JunitTestHelper.createAndPersistIdentityAsUser("extask-2-" + UUID.randomUUID().toString());
    Identity modifier = JunitTestHelper.createAndPersistIdentityAsUser("extask-3-" + 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();
    // update
    PersistentTask updatedTask = persistentTaskDao.updateTask(task, new DummyTask(), modifier, new Date());
    Assert.assertNotNull(updatedTask);
    Assert.assertEquals(task, updatedTask);
    dbInstance.commitAndCloseSession();
}
Also used : RepositoryEntry(org.olat.repository.RepositoryEntry) Identity(org.olat.core.id.Identity) PersistentTask(org.olat.core.commons.services.taskexecutor.model.PersistentTask) Date(java.util.Date) Test(org.junit.Test)

Example 22 with PersistentTask

use of org.olat.core.commons.services.taskexecutor.model.PersistentTask in project openolat by klemens.

the class PersistentTaskDAOTest method updateTask.

@Test
public void updateTask() {
    // create
    String taskName = "Task to update";
    PersistentTask task = persistentTaskDao.createTask(taskName, new DummyTask());
    dbInstance.commitAndCloseSession();
    // update
    PersistentTask todo = persistentTaskDao.pickTaskForRun(task.getKey());
    DummyTask taskToUpdate = new DummyTask();
    taskToUpdate.setMarkerValue("new marker");
    persistentTaskDao.updateTask(todo, taskToUpdate, null, null);
    dbInstance.commitAndCloseSession();
    // reload and check
    PersistentTask loadedTask = persistentTaskDao.loadTaskById(task.getKey());
    Runnable runnable = persistentTaskDao.deserializeTask(loadedTask);
    Assert.assertNotNull(runnable);
    Assert.assertTrue(runnable instanceof DummyTask);
    DummyTask dummyRunnable = (DummyTask) runnable;
    Assert.assertEquals("new marker", dummyRunnable.getMarkerValue());
}
Also used : PersistentTask(org.olat.core.commons.services.taskexecutor.model.PersistentTask) Test(org.junit.Test)

Example 23 with PersistentTask

use of org.olat.core.commons.services.taskexecutor.model.PersistentTask in project openolat by klemens.

the class PersistentTaskDAOTest method loadTask_byId.

@Test
public void loadTask_byId() {
    RepositoryEntry re = JunitTestHelper.createAndPersistRepositoryEntry();
    Identity creator = JunitTestHelper.createAndPersistIdentityAsUser("extask-21-" + UUID.randomUUID().toString());
    PersistentTask task = persistentTaskDao.createTask("task-21", new DummyTask(), creator, re.getOlatResource(), "test", null);
    dbInstance.commitAndCloseSession();
    // load
    PersistentTask loadedTask = persistentTaskDao.loadTaskById(task.getKey());
    Assert.assertNotNull(loadedTask);
    Assert.assertEquals(task, loadedTask);
    // check return null if id doesn't exists
    PersistentTask unkownTask = persistentTaskDao.loadTaskById(1l);
    Assert.assertNull(unkownTask);
}
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)

Example 24 with PersistentTask

use of org.olat.core.commons.services.taskexecutor.model.PersistentTask in project openolat by klemens.

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

Example 25 with PersistentTask

use of org.olat.core.commons.services.taskexecutor.model.PersistentTask in project openolat by klemens.

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