@Test
public void testDeleteCohort() throws CatalogException, IOException {
String studyId = "user@1000G:phase1";
Sample sampleId1 = catalogManager.getSampleManager().create(studyId, new Sample().setId("SAMPLE_1"), new QueryOptions(),
sessionIdUser).first();
Sample sampleId2 = catalogManager.getSampleManager().create(studyId, new Sample().setId("SAMPLE_2"), new QueryOptions(),
sessionIdUser).first();
Sample sampleId3 = catalogManager.getSampleManager().create(studyId, new Sample().setId("SAMPLE_3"), new QueryOptions(),
sessionIdUser).first();
Cohort myCohort = catalogManager.getCohortManager().create(studyId, new Cohort().setId("MyCohort").setType(Study.Type.FAMILY)
.setSamples(Arrays.asList(sampleId1, sampleId2, sampleId3)), null, sessionIdUser).first();
assertEquals("MyCohort", myCohort.getId());
assertEquals(3, myCohort.getSamples().size());
assertTrue(myCohort.getSamples().stream().map(Sample::getUid).collect(Collectors.toList()).contains(sampleId1.getUid()));
assertTrue(myCohort.getSamples().stream().map(Sample::getUid).collect(Collectors.toList()).contains(sampleId2.getUid()));
assertTrue(myCohort.getSamples().stream().map(Sample::getUid).collect(Collectors.toList()).contains(sampleId3.getUid()));
WriteResult deleteResult = catalogManager.getCohortManager().delete(studyId,
new Query(CohortDBAdaptor.QueryParams.UID.key(), myCohort.getUid()), null, sessionIdUser);
assertEquals(1, deleteResult.getNumModified());
Query query = new Query()
.append(CohortDBAdaptor.QueryParams.UID.key(), myCohort.getUid())
.append(CohortDBAdaptor.QueryParams.STATUS_NAME.key(), "!=" + Cohort.CohortStatus.READY);
Cohort cohort = catalogManager.getCohortManager().get(studyId, query, null, sessionIdUser).first();
assertEquals(Status.DELETED, cohort.getStatus().getName());
}