@Test
public void testAssignPermissionsWithPropagationWithIndividualAndNoIndividual() throws CatalogException {
Sample sample = new Sample().setId("sample").setIndividual(new Individual().setId("individual"));
catalogManager.getSampleManager().create(studyFqn, sample, QueryOptions.empty(), sessionIdUser);
Sample sample2 = new Sample().setId("sample2");
catalogManager.getSampleManager().create(studyFqn, sample2, QueryOptions.empty(), sessionIdUser);
List<QueryResult<SampleAclEntry>> queryResults = catalogManager.getSampleManager().updateAcl(studyFqn,
Arrays.asList("sample", "sample2"), "user2", new Sample.SampleAclParams("VIEW", AclParams.Action.SET, null, null, null,
true), sessionIdUser);
assertEquals(2, queryResults.size());
assertEquals(1, queryResults.get(0).getNumResults());
assertEquals(1, queryResults.get(0).first().getPermissions().size());
assertTrue(queryResults.get(0).first().getPermissions().contains(SampleAclEntry.SamplePermissions.VIEW));
assertTrue(queryResults.get(1).first().getPermissions().contains(SampleAclEntry.SamplePermissions.VIEW));
List<QueryResult<IndividualAclEntry>> individualAcl = catalogManager.getIndividualManager().getAcls(studyFqn,
Collections.singletonList("individual"), "user2", false, sessionIdUser);
assertEquals(1, individualAcl.size());
assertEquals(1, individualAcl.get(0).getNumResults());
assertEquals(1, individualAcl.get(0).first().getPermissions().size());
assertTrue(individualAcl.get(0).first().getPermissions().contains(IndividualAclEntry.IndividualPermissions.VIEW));
}