@Test
public void testPermissionRulesPlusManualPermissions() throws CatalogException {
Sample s2 = dbAdaptorFactory.getCatalogSampleDBAdaptor().insert(studyId, new Sample("s2", "", new Individual(), null, null,
1, 1, "", "", false, Collections.emptyList(), new ArrayList<>(), Collections.emptyMap()), QueryOptions.empty()).first();
PermissionRule pr = new PermissionRule("myPermissionRule", new Query(), Arrays.asList(user3.getId()),
Arrays.asList(SampleAclEntry.SamplePermissions.VIEW.name()));
dbAdaptorFactory.getCatalogStudyDBAdaptor().createPermissionRule(studyId, Study.Entity.SAMPLES, pr);
aclDBAdaptor.applyPermissionRules(studyId, pr, Study.Entity.SAMPLES);
List<QueryResult<AbstractAclEntry>> queryResults = aclDBAdaptor.get(Arrays.asList(s1.getUid(), s2.getUid()),
Arrays.asList(user3.getId()), Entity.SAMPLE);
for (QueryResult<AbstractAclEntry> queryResult : queryResults) {
assertEquals(1, queryResult.first().getPermissions().size());
assertTrue(queryResult.first().getPermissions().contains(SampleAclEntry.SamplePermissions.VIEW));
}
aclDBAdaptor.addToMembers(Arrays.asList(s2.getUid()), Arrays.asList(user3.getId()),
Arrays.asList(SampleAclEntry.SamplePermissions.DELETE.name()), Entity.SAMPLE);
}