use of org.folio.rest.jaxrs.model.JobExecution.SubordinationType.CHILD in project mod-source-record-manager by folio-org.
the class MetadataProviderJobExecutionAPITest method shouldReturnSortedCollectionByMultipleFieldsOnGet.
@Test
public void shouldReturnSortedCollectionByMultipleFieldsOnGet() {
List<JobExecution> createdJobExecution = constructAndPostInitJobExecutionRqDto(4).getJobExecutions();
List<JobExecution> childJobsToUpdate = createdJobExecution.stream().filter(jobExecution -> jobExecution.getSubordinationType().equals(CHILD)).collect(Collectors.toList());
for (int i = 0; i < childJobsToUpdate.size(); i++) {
putJobExecution(createdJobExecution.get(i).withRunBy(new RunBy().withFirstName("John").withLastName("Doe-" + i)));
}
// We do not expect to get JobExecution with subordinationType=PARENT_MULTIPLE
int expectedJobExecutionsNumber = childJobsToUpdate.size();
JobExecutionDtoCollection jobExecutionCollection = RestAssured.given().spec(spec).when().queryParam("sortBy", "job_user_first_name,asc").queryParam("sortBy", "job_user_last_name,desc").get(GET_JOB_EXECUTIONS_PATH).then().statusCode(HttpStatus.SC_OK).extract().response().body().as(JobExecutionDtoCollection.class);
List<JobExecutionDto> jobExecutions = jobExecutionCollection.getJobExecutions();
Assert.assertEquals(expectedJobExecutionsNumber, jobExecutions.size());
assertThat(jobExecutions.get(0).getRunBy().getLastName(), greaterThan(jobExecutions.get(1).getRunBy().getLastName()));
assertThat(jobExecutions.get(1).getRunBy().getLastName(), greaterThan(jobExecutions.get(2).getRunBy().getLastName()));
assertThat(jobExecutions.get(2).getRunBy().getLastName(), greaterThan(jobExecutions.get(3).getRunBy().getLastName()));
}
use of org.folio.rest.jaxrs.model.JobExecution.SubordinationType.CHILD in project mod-source-record-manager by folio-org.
the class MetadataProviderJobExecutionAPITest method shouldReturnUsersInfoCollection.
@Test
public void shouldReturnUsersInfoCollection() {
int uniqueJobProfilesAmount = 5;
List<JobExecution> createdJobExecution = constructAndPostInitJobExecutionRqDto(uniqueJobProfilesAmount).getJobExecutions();
getBeanFromSpringContext(vertx, JobExecutionsCache.class).evictCache();
List<JobExecution> children = createdJobExecution.stream().filter(jobExec -> jobExec.getSubordinationType().equals(CHILD)).collect(Collectors.toList());
for (JobExecution jobExecution : children) {
jobExecution.setJobProfileInfo(new JobProfileInfo().withId(UUID.randomUUID().toString()).withName("Marc jobs profile"));
RestAssured.given().spec(spec).body(JsonObject.mapFrom(jobExecution).toString()).when().put(JOB_EXECUTION_PATH + jobExecution.getId()).then().statusCode(HttpStatus.SC_OK).body("id", is(jobExecution.getId()));
}
RestAssured.given().spec(spec).when().get(GET_UNIQUE_USERS_INFO).then().statusCode(HttpStatus.SC_OK).body("jobExecutionUsersInfo[0].userId", notNullValue()).body("jobExecutionUsersInfo[0].jobUserFirstName", is("DIKU")).body("jobExecutionUsersInfo[0].jobUserLastName", is("ADMINISTRATOR")).body("totalRecords", is(1));
}
use of org.folio.rest.jaxrs.model.JobExecution.SubordinationType.CHILD in project mod-source-record-manager by folio-org.
the class MetadataProviderJobExecutionAPITest method shouldReturnSortedJobExecutionsByTotalProgressOnGet.
@Test
public void shouldReturnSortedJobExecutionsByTotalProgressOnGet() {
List<JobExecution> createdJobExecution = constructAndPostInitJobExecutionRqDto(4).getJobExecutions();
List<JobExecution> childJobsToUpdate = createdJobExecution.stream().filter(jobExecution -> jobExecution.getSubordinationType().equals(CHILD)).collect(Collectors.toList());
for (int i = 0; i < childJobsToUpdate.size(); i++) {
putJobExecution(createdJobExecution.get(i).withProgress(new Progress().withTotal(i * 5)));
}
// We do not expect to get JobExecution with subordinationType=PARENT_MULTIPLE
int expectedJobExecutionsNumber = childJobsToUpdate.size();
JobExecutionDtoCollection jobExecutionCollection = RestAssured.given().spec(spec).when().queryParam("sortBy", "progress_total,desc").get(GET_JOB_EXECUTIONS_PATH).then().statusCode(HttpStatus.SC_OK).extract().response().body().as(JobExecutionDtoCollection.class);
List<JobExecutionDto> jobExecutions = jobExecutionCollection.getJobExecutions();
Assert.assertEquals(expectedJobExecutionsNumber, jobExecutions.size());
assertThat(jobExecutions.get(0).getProgress().getTotal(), greaterThan(jobExecutions.get(1).getProgress().getTotal()));
assertThat(jobExecutions.get(1).getProgress().getTotal(), greaterThan(jobExecutions.get(2).getProgress().getTotal()));
assertThat(jobExecutions.get(2).getProgress().getTotal(), greaterThan(jobExecutions.get(3).getProgress().getTotal()));
}
use of org.folio.rest.jaxrs.model.JobExecution.SubordinationType.CHILD in project mod-source-record-manager by folio-org.
the class MetadataProviderJobExecutionAPITest method shouldNotReturnDiscardedInCollection.
@Test
public void shouldNotReturnDiscardedInCollection() {
int numberOfFiles = 5;
int expectedNotDiscardedNumber = 2;
List<JobExecution> createdJobExecutions = constructAndPostInitJobExecutionRqDto(numberOfFiles).getJobExecutions();
List<JobExecution> children = createdJobExecutions.stream().filter(jobExec -> jobExec.getSubordinationType().equals(CHILD)).collect(Collectors.toList());
StatusDto discardedStatus = new StatusDto().withStatus(StatusDto.Status.DISCARDED);
for (int i = 0; i < children.size() - expectedNotDiscardedNumber; i++) {
updateJobExecutionStatus(children.get(i), discardedStatus).then().statusCode(HttpStatus.SC_OK);
}
RestAssured.given().spec(spec).when().queryParam("statusNot", Status.DISCARDED).get(GET_JOB_EXECUTIONS_PATH).then().statusCode(HttpStatus.SC_OK).body("jobExecutions.size()", is(expectedNotDiscardedNumber)).body("jobExecutions*.status", not(StatusDto.Status.DISCARDED.name())).body("totalRecords", is(expectedNotDiscardedNumber));
}
use of org.folio.rest.jaxrs.model.JobExecution.SubordinationType.CHILD in project mod-source-record-manager by folio-org.
the class MetadataProviderJobExecutionAPITest method shouldReturnLimitedRelatedProfilesCollectionOnGetWithLimit.
@Test
public void shouldReturnLimitedRelatedProfilesCollectionOnGetWithLimit() {
int uniqueJobProfilesAmount = 5;
int limitNumber = 3;
List<JobExecution> createdJobExecution = constructAndPostInitJobExecutionRqDto(uniqueJobProfilesAmount).getJobExecutions();
getBeanFromSpringContext(vertx, JobExecutionsCache.class).evictCache();
List<JobExecution> children = createdJobExecution.stream().filter(jobExec -> jobExec.getSubordinationType().equals(CHILD)).collect(Collectors.toList());
for (JobExecution jobExecution : children) {
jobExecution.setJobProfileInfo(new JobProfileInfo().withId(UUID.randomUUID().toString()).withName("Marc jobs profile"));
RestAssured.given().spec(spec).body(JsonObject.mapFrom(jobExecution).toString()).when().put(JOB_EXECUTION_PATH + jobExecution.getId()).then().statusCode(HttpStatus.SC_OK).body("id", is(jobExecution.getId()));
}
RestAssured.given().spec(spec).param("limit", limitNumber).when().get(GET_JOB_EXECUTION_JOB_PROFILES_PATH).then().statusCode(HttpStatus.SC_OK).body("jobProfilesInfo", hasSize(limitNumber)).body("totalRecords", is(uniqueJobProfilesAmount));
}
Aggregations