use of org.molgenis.data.meta.model.EntityType in project molgenis by molgenis.
the class EntityTypeRepositorySecurityDecoratorTest method countQuery.
@WithMockUser(username = USERNAME)
@Test
public void countQuery() {
String entityType0Name = "entity0";
EntityType entityType0 = when(mock(EntityType.class).getId()).thenReturn(entityType0Name).getMock();
String entityType1Name = "entity1";
EntityType entityType1 = when(mock(EntityType.class).getId()).thenReturn(entityType1Name).getMock();
Query q = new QueryImpl<>();
@SuppressWarnings("unchecked") ArgumentCaptor<Query> queryCaptor = forClass(Query.class);
when(delegateRepository.findAll(queryCaptor.capture())).thenReturn(Stream.of(entityType0, entityType1));
doReturn(false).when(permissionService).hasPermission(new EntityTypeIdentity(entityType0Name), EntityTypePermission.COUNT);
doReturn(true).when(permissionService).hasPermission(new EntityTypeIdentity(entityType1Name), EntityTypePermission.COUNT);
assertEquals(repo.count(q), 1L);
assertEquals(queryCaptor.getValue().getOffset(), 0);
assertEquals(queryCaptor.getValue().getPageSize(), Integer.MAX_VALUE);
}
use of org.molgenis.data.meta.model.EntityType in project molgenis by molgenis.
the class EntityTypeRepositorySecurityDecoratorTest method findOneQueryUserPermissionAllowed.
@WithMockUser(username = USERNAME)
@Test
public void findOneQueryUserPermissionAllowed() {
String entityType0Name = "entity0";
EntityType entityType0 = when(mock(EntityType.class).getId()).thenReturn(entityType0Name).getMock();
@SuppressWarnings("unchecked") Query q = mock(Query.class);
when(delegateRepository.findOne(q)).thenReturn(entityType0);
when(permissionService.hasPermission(new EntityTypeIdentity(entityType0Name), EntityTypePermission.COUNT)).thenReturn(true);
assertEquals(repo.findOne(q), entityType0);
}
use of org.molgenis.data.meta.model.EntityType in project molgenis by molgenis.
the class EntityTypeRepositorySecurityDecoratorTest method findOneByIdUserPermissionAllowed.
@WithMockUser(username = USERNAME)
@Test
public void findOneByIdUserPermissionAllowed() {
String entityType0Name = "entity0";
EntityType entityType0 = mock(EntityType.class);
when(delegateRepository.findOneById("entity0")).thenReturn(entityType0);
when(permissionService.hasPermission(new EntityTypeIdentity(entityType0Name), EntityTypePermission.COUNT)).thenReturn(true);
assertEquals(repo.findOneById("entity0"), entityType0);
}
use of org.molgenis.data.meta.model.EntityType in project molgenis by molgenis.
the class EntityTypeRepositorySecurityDecoratorTest method findAllQueryUserOffsetLimit.
@WithMockUser(username = USERNAME)
@Test
public void findAllQueryUserOffsetLimit() {
String entityType0Name = "entity0";
EntityType entityType0 = when(mock(EntityType.class).getId()).thenReturn(entityType0Name).getMock();
String entityType1Name = "entity1";
EntityType entityType1 = when(mock(EntityType.class).getId()).thenReturn(entityType1Name).getMock();
String entityType2Name = "entity2";
EntityType entityType2 = when(mock(EntityType.class).getId()).thenReturn(entityType2Name).getMock();
@SuppressWarnings("unchecked") Query q = mock(Query.class);
when(q.getOffset()).thenReturn(1);
when(q.getPageSize()).thenReturn(1);
@SuppressWarnings("unchecked") ArgumentCaptor<Query<EntityType>> queryCaptor = forClass(Query.class);
when(delegateRepository.findAll(queryCaptor.capture())).thenReturn(Stream.of(entityType0, entityType1, entityType2));
doReturn(true).when(permissionService).hasPermission(new EntityTypeIdentity(entityType0Name), EntityTypePermission.COUNT);
doReturn(false).when(permissionService).hasPermission(new EntityTypeIdentity(entityType1Name), EntityTypePermission.COUNT);
doReturn(true).when(permissionService).hasPermission(new EntityTypeIdentity(entityType2Name), EntityTypePermission.COUNT);
assertEquals(repo.findAll(q).collect(toList()), singletonList(entityType2));
Query<EntityType> decoratedQ = queryCaptor.getValue();
assertEquals(decoratedQ.getOffset(), 0);
assertEquals(decoratedQ.getPageSize(), Integer.MAX_VALUE);
}
use of org.molgenis.data.meta.model.EntityType in project molgenis by molgenis.
the class EntityTypeRepositorySecurityDecoratorTest method delete.
@WithMockUser(username = USERNAME)
@Test
public void delete() {
String entityTypeId = "entityTypeId";
when(permissionService.hasPermission(new EntityTypeIdentity(entityTypeId), EntityTypePermission.WRITEMETA)).thenReturn(true);
EntityType entityType = mock(EntityType.class);
when(entityType.getId()).thenReturn("entityTypeId").getMock();
repo.delete(entityType);
verify(mutableAclService).deleteAcl(new EntityTypeIdentity(entityTypeId), true);
verify(mutableAclClassService).deleteAclClass("entity-" + entityTypeId);
verify(delegateRepository).delete(entityType);
}
Aggregations