Search in sources :

Example 6 with Repeat

use of uk.gov.gchq.gaffer.jobtracker.Repeat in project Gaffer by gchq.

the class JobServiceV2IT method shouldNotKeepScheduledJobsRunningAfterRestartWhenUsingInMemoryCache.

@Test
public void shouldNotKeepScheduledJobsRunningAfterRestartWhenUsingInMemoryCache() throws IOException {
    // Given - schedule Job
    final Repeat repeat = new Repeat(1, 2, TimeUnit.SECONDS);
    Job job = new Job(repeat, new OperationChain.Builder().first(new GetAllElements()).build());
    final Response scheduleResponse = client.scheduleJob(job);
    String parentJobId = scheduleResponse.readEntity(new GenericType<JobDetail>() {
    }).getJobId();
    // When - get all JobDetails
    final Response allJobDetailsResponse = client.executeOperation(new GetAllJobDetails());
    List<JobDetail> allJobDetails = allJobDetailsResponse.readEntity(new GenericType<List<JobDetail>>() {
    });
    // then - assert parent is of Scheduled parent
    assertEquals(JobStatus.SCHEDULED_PARENT, allJobDetails.stream().filter(jobDetail -> jobDetail.getJobId().equals(parentJobId)).findFirst().get().getStatus());
    // Restart server to check Job still scheduled
    client.stopServer();
    client.reinitialiseGraph();
    // When - get all JobDetails
    final Response allJobDetailsResponse2 = client.executeOperation(new GetAllJobDetails());
    List<JobDetail> allJobDetails2 = allJobDetailsResponse2.readEntity(new GenericType<List<JobDetail>>() {
    });
    // Then - assert parent job id is not present
    assertTrue(allJobDetails2.stream().noneMatch(jobDetail -> jobDetail.getJobId().equals(parentJobId)));
}
Also used : Job(uk.gov.gchq.gaffer.jobtracker.Job) Assertions.assertNotNull(org.junit.jupiter.api.Assertions.assertNotNull) CancelScheduledJob(uk.gov.gchq.gaffer.operation.impl.job.CancelScheduledJob) JobDetail(uk.gov.gchq.gaffer.jobtracker.JobDetail) IOException(java.io.IOException) JobStatus(uk.gov.gchq.gaffer.jobtracker.JobStatus) Test(org.junit.jupiter.api.Test) GenericType(javax.ws.rs.core.GenericType) TimeUnit(java.util.concurrent.TimeUnit) List(java.util.List) Repeat(uk.gov.gchq.gaffer.jobtracker.Repeat) Response(javax.ws.rs.core.Response) ServiceConstants(uk.gov.gchq.gaffer.rest.ServiceConstants) GetAllJobDetails(uk.gov.gchq.gaffer.operation.impl.job.GetAllJobDetails) Assertions.assertTrue(org.junit.jupiter.api.Assertions.assertTrue) OperationChain(uk.gov.gchq.gaffer.operation.OperationChain) Assertions.assertEquals(org.junit.jupiter.api.Assertions.assertEquals) GetAllElements(uk.gov.gchq.gaffer.operation.impl.get.GetAllElements) GenericType(javax.ws.rs.core.GenericType) Repeat(uk.gov.gchq.gaffer.jobtracker.Repeat) Response(javax.ws.rs.core.Response) GetAllJobDetails(uk.gov.gchq.gaffer.operation.impl.job.GetAllJobDetails) JobDetail(uk.gov.gchq.gaffer.jobtracker.JobDetail) OperationChain(uk.gov.gchq.gaffer.operation.OperationChain) GetAllElements(uk.gov.gchq.gaffer.operation.impl.get.GetAllElements) List(java.util.List) Job(uk.gov.gchq.gaffer.jobtracker.Job) CancelScheduledJob(uk.gov.gchq.gaffer.operation.impl.job.CancelScheduledJob) Test(org.junit.jupiter.api.Test)

Aggregations

Repeat (uk.gov.gchq.gaffer.jobtracker.Repeat)6 Job (uk.gov.gchq.gaffer.jobtracker.Job)5 JobDetail (uk.gov.gchq.gaffer.jobtracker.JobDetail)5 OperationChain (uk.gov.gchq.gaffer.operation.OperationChain)5 Test (org.junit.jupiter.api.Test)4 CancelScheduledJob (uk.gov.gchq.gaffer.operation.impl.job.CancelScheduledJob)4 List (java.util.List)3 GetAllElements (uk.gov.gchq.gaffer.operation.impl.get.GetAllElements)3 GetAllJobDetails (uk.gov.gchq.gaffer.operation.impl.job.GetAllJobDetails)3 ScheduledExecutorService (java.util.concurrent.ScheduledExecutorService)2 Response (javax.ws.rs.core.Response)2 DiscardOutput (uk.gov.gchq.gaffer.operation.impl.DiscardOutput)2 ValidateOperationChain (uk.gov.gchq.gaffer.operation.impl.ValidateOperationChain)2 ScheduledJobRunnable (uk.gov.gchq.gaffer.store.Store.ScheduledJobRunnable)2 IOException (java.io.IOException)1 ArrayList (java.util.ArrayList)1 TimeUnit (java.util.concurrent.TimeUnit)1 GenericType (javax.ws.rs.core.GenericType)1 Test (org.junit.Test)1 Assertions.assertEquals (org.junit.jupiter.api.Assertions.assertEquals)1