@Test
public void testCreateJob() throws CatalogException, IOException {
Query query = new Query(StudyDBAdaptor.QueryParams.OWNER.key(), "user");
String studyId = catalogManager.getStudyManager().get(query, null, sessionIdUser).first().getId();
File outDir = catalogManager.getFileManager().createFolder(studyId, Paths.get("jobs", "myJob").toString(),
null, true, null, QueryOptions.empty(), sessionIdUser).first();
catalogManager.getJobManager().create(studyId,new Job().setId("myJob").setToolId("samtool").setDescription("description")
.setOutDir(outDir).setExecution("echo \"Hello world!\"").setStatus(new Job.JobStatus(Job.JobStatus.PREPARED)),
null, sessionIdUser);
catalogManager.getJobManager().create(studyId, new Job().setId("myReadyJob").setToolId("samtool").setDescription("description")
.setOutDir(outDir).setExecution("echo \"Hello world!\"").setStatus(new Job.JobStatus(Job.JobStatus.READY)), null,
sessionIdUser);
catalogManager.getJobManager().create(studyId, new Job().setId("myQueuedJob").setToolId("samtool").setDescription("description")
.setOutDir(outDir).setExecution("echo \"Hello world!\"").setStatus(new Job.JobStatus(Job.JobStatus.QUEUED)), null,
sessionIdUser);
catalogManager.getJobManager().create(studyId, new Job().setId("myErrorJob").setToolId("samtool").setDescription("description")
.setOutDir(outDir).setExecution("echo \"Hello world!\"").setStatus(new Job.JobStatus(Job.JobStatus.ERROR)), null,
sessionIdUser);
query = new Query()
.append(JobDBAdaptor.QueryParams.STATUS_NAME.key(), Arrays.asList(Job.JobStatus.PREPARED, Job.JobStatus.QUEUED,
Job.JobStatus.RUNNING, Job.JobStatus.DONE));
QueryResult<Job> unfinishedJobs = catalogManager.getJobManager().get(String.valueOf(studyId), query, null, sessionIdUser);
assertEquals(2, unfinishedJobs.getNumResults());
QueryResult<Job> allJobs = catalogManager.getJobManager().get(String.valueOf(studyId), (Query) null, null, sessionIdUser);
assertEquals(4, allJobs.getNumResults());
}