Search in sources :

Example 6 with SchedulerDBManager

use of org.ow2.proactive.scheduler.core.db.SchedulerDBManager in project scheduling by ow2-proactive.

the class TestInMemorySchedulerDB method sanityTestJobContent.

@Test
public void sanityTestJobContent() throws Exception {
    SchedulerDBManager dbManager = SchedulerDBManager.createInMemorySchedulerDBManager();
    TaskFlowJob jobDef = new TaskFlowJob();
    jobDef.addTask(BaseSchedulerDBTest.createDefaultTask("task1"));
    jobDef.addTask(BaseSchedulerDBTest.createDefaultTask("task2"));
    jobDef.addTask(BaseSchedulerDBTest.createDefaultTask("task3"));
    InternalJob job = InternalJobFactory.createJob(jobDef, BaseSchedulerDBTest.getDefaultCredentials());
    job.setOwner("test");
    dbManager.newJobSubmitted(job);
    Job content = dbManager.loadInitalJobContent(job.getId());
    Assert.assertTrue(content instanceof TaskFlowJob);
    Assert.assertThat(((TaskFlowJob) content).getTasks().size(), is(3));
}
Also used : InternalJob(org.ow2.proactive.scheduler.job.InternalJob) SchedulerDBManager(org.ow2.proactive.scheduler.core.db.SchedulerDBManager) TaskFlowJob(org.ow2.proactive.scheduler.common.job.TaskFlowJob) InternalJob(org.ow2.proactive.scheduler.job.InternalJob) TaskFlowJob(org.ow2.proactive.scheduler.common.job.TaskFlowJob) Job(org.ow2.proactive.scheduler.common.job.Job) Test(org.junit.Test) ProActiveTest(org.ow2.tests.ProActiveTest)

Example 7 with SchedulerDBManager

use of org.ow2.proactive.scheduler.core.db.SchedulerDBManager in project scheduling by ow2-proactive.

the class SchedulingServiceTest method testScheduleJobRemoveShouldUseHousekeepingButAlreadyRemoved.

@Test
public void testScheduleJobRemoveShouldUseHousekeepingButAlreadyRemoved() {
    Mockito.when(schedulerDBManager.loadJobWithTasksIfNotRemoved(any(JobId.class))).thenReturn(Collections.<InternalJob>emptyList());
    JobId jobId = JobIdImpl.makeJobId("42");
    schedulingService.scheduleJobRemove(jobId, 42);
    Mockito.verify(schedulerDBManager).loadJobWithTasksIfNotRemoved(jobId);
}
Also used : JobId(org.ow2.proactive.scheduler.common.job.JobId) Test(org.junit.Test)

Example 8 with SchedulerDBManager

use of org.ow2.proactive.scheduler.core.db.SchedulerDBManager in project scheduling by ow2-proactive.

the class SchedulingServiceTest method testScheduleJobRemoveShouldUseHousekeeping.

@Test
public void testScheduleJobRemoveShouldUseHousekeeping() {
    JobId jobId = JobIdImpl.makeJobId("42");
    InternalJob mockedInternalJob = createMockedInternalJob(jobId);
    Mockito.when(schedulerDBManager.loadJobWithTasksIfNotRemoved(any(JobId.class))).thenReturn(Collections.singletonList(mockedInternalJob));
    schedulingService.scheduleJobRemove(jobId, 42);
    // second case: the job is not null
    Mockito.verify(schedulerDBManager).loadJobWithTasksIfNotRemoved(jobId);
    Mockito.verify(schedulerDBManager).scheduleJobForRemoval(eq(jobId), eq(42L), anyBoolean());
}
Also used : InternalJob(org.ow2.proactive.scheduler.job.InternalJob) JobId(org.ow2.proactive.scheduler.common.job.JobId) Test(org.junit.Test)

Example 9 with SchedulerDBManager

use of org.ow2.proactive.scheduler.core.db.SchedulerDBManager in project scheduling by ow2-proactive.

the class TaskResultCreatorTest method testPausedTasksAreCheckedForATaskId.

@Test
public void testPausedTasksAreCheckedForATaskId() throws UnknownTaskException {
    TaskResultCreator taskResultCreator = new TaskResultCreator();
    TaskResultImpl mockedTaskResultImpl = mock(TaskResultImpl.class);
    Map<TaskId, TaskResult> loadTaskResultsValue = new HashMap<>();
    loadTaskResultsValue.put(this.createTaskID(), mockedTaskResultImpl);
    SchedulerDBManager mockedschedulerDbManager = mock(SchedulerDBManager.class);
    when(mockedschedulerDbManager.loadTasksResults(any(JobId.class), any(List.class))).thenReturn(loadTaskResultsValue);
    JobDescriptorImpl mockedJobDescriptorHasPausedTask = this.getMockedJobDescriptorWithPausedTask();
    taskResultCreator.getTaskResult(mockedschedulerDbManager, this.getMockedInternalJob(mockedJobDescriptorHasPausedTask), this.getMockedInternalTask());
    verify(mockedJobDescriptorHasPausedTask, atLeastOnce()).getPausedTasks();
}
Also used : TaskId(org.ow2.proactive.scheduler.common.task.TaskId) TaskResultImpl(org.ow2.proactive.scheduler.task.TaskResultImpl) HashMap(java.util.HashMap) SchedulerDBManager(org.ow2.proactive.scheduler.core.db.SchedulerDBManager) TaskResult(org.ow2.proactive.scheduler.common.task.TaskResult) List(java.util.List) JobDescriptorImpl(org.ow2.proactive.scheduler.descriptor.JobDescriptorImpl) JobId(org.ow2.proactive.scheduler.common.job.JobId) Test(org.junit.Test)

Example 10 with SchedulerDBManager

use of org.ow2.proactive.scheduler.core.db.SchedulerDBManager in project scheduling by ow2-proactive.

the class TaskResultCreatorTest method testThatNotFoundTaskResultIsHandled.

@Test
public void testThatNotFoundTaskResultIsHandled() throws UnknownTaskException {
    TaskResultCreator taskResultCreator = new TaskResultCreator();
    TaskResultImpl mockedTaskResultImpl = mock(TaskResultImpl.class);
    Map<TaskId, TaskResult> loadTaskResultsValue = new HashMap<>();
    loadTaskResultsValue.put(this.createTaskID(), mockedTaskResultImpl);
    SchedulerDBManager mockedschedulerDbManager = mock(SchedulerDBManager.class);
    when(mockedschedulerDbManager.loadTasksResults(any(JobId.class), any(List.class))).thenThrow(DatabaseManagerException.class);
    taskResultCreator.getTaskResult(mockedschedulerDbManager, this.getMockedInternalJob(this.getMockedJobDescriptorWithPausedTask()), this.getMockedInternalTask());
}
Also used : TaskId(org.ow2.proactive.scheduler.common.task.TaskId) TaskResultImpl(org.ow2.proactive.scheduler.task.TaskResultImpl) HashMap(java.util.HashMap) SchedulerDBManager(org.ow2.proactive.scheduler.core.db.SchedulerDBManager) TaskResult(org.ow2.proactive.scheduler.common.task.TaskResult) List(java.util.List) JobId(org.ow2.proactive.scheduler.common.job.JobId) Test(org.junit.Test)

Aggregations

SchedulerDBManager (org.ow2.proactive.scheduler.core.db.SchedulerDBManager)18 Test (org.junit.Test)14 HashMap (java.util.HashMap)9 JobId (org.ow2.proactive.scheduler.common.job.JobId)9 TaskResult (org.ow2.proactive.scheduler.common.task.TaskResult)9 TaskId (org.ow2.proactive.scheduler.common.task.TaskId)8 InternalJob (org.ow2.proactive.scheduler.job.InternalJob)8 TaskResultImpl (org.ow2.proactive.scheduler.task.TaskResultImpl)8 List (java.util.List)7 TaskFlowJob (org.ow2.proactive.scheduler.common.job.TaskFlowJob)3 ProActiveTest (org.ow2.tests.ProActiveTest)3 File (java.io.File)2 Map (java.util.Map)2 Configuration (org.hibernate.cfg.Configuration)2 Before (org.junit.Before)2 SchedulerStateRecoverHelper (org.ow2.proactive.scheduler.core.db.SchedulerStateRecoverHelper)2 JobDescriptorImpl (org.ow2.proactive.scheduler.descriptor.JobDescriptorImpl)2 InternalTask (org.ow2.proactive.scheduler.task.internal.InternalTask)2 ImmutableList (com.google.common.collect.ImmutableList)1 KeyException (java.security.KeyException)1