@Test
public void updateInputAndOutputFiles() throws Exception {
Job job = new Job()
.setOutDir(new File().setUid(5))
.setStatus(new Job.JobStatus());
long studyId = user3.getProjects().get(0).getStudies().get(0).getUid();
job.setName("jobName1");
QueryResult<Job> insert = catalogJobDBAdaptor.insert(job, studyId, null);
List<File> fileInput = Arrays.asList(
new File().setUid(5L).setName("file1").setStatus(new File.FileStatus()),
new File().setUid(6L).setName("file2").setStatus(new File.FileStatus()),
new File().setUid(7L).setName("file3").setStatus(new File.FileStatus())
);
List<File> fileOutput = Arrays.asList(
new File().setUid(15L).setName("file1").setStatus(new File.FileStatus()),
new File().setUid(16L).setName("file2").setStatus(new File.FileStatus()),
new File().setUid(17L).setName("file3").setStatus(new File.FileStatus())
);
ObjectMap params = new ObjectMap()
.append(JobDBAdaptor.QueryParams.INPUT.key(), fileInput)
.append(JobDBAdaptor.QueryParams.OUTPUT.key(), fileOutput);
QueryResult<Job> update = catalogJobDBAdaptor.update(insert.first().getUid(), params, QueryOptions.empty());
assertEquals(3, update.first().getInput().size());
assertEquals(3, update.first().getOutput().size());
assertTrue(Arrays.asList(5L, 6L, 7L).containsAll(update.first().getInput().stream().map(File::getUid).collect(Collectors.toList())));
assertTrue(Arrays.asList(15L, 16L, 17L)
.containsAll(update.first().getOutput().stream().map(File::getUid).collect(Collectors.toList())));
}