use of org.molgenis.data.security.EntityTypeIdentity in project molgenis by molgenis.
the class EntityTypeRepositorySecurityDecoratorTest method count.
@WithMockUser(username = USERNAME)
@Test
public void count() {
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();
when(delegateRepository.findAll(new QueryImpl<>().setOffset(0).setPageSize(Integer.MAX_VALUE))).thenReturn(asList(entityType0, entityType1).stream());
doReturn(false).when(permissionService).hasPermission(new EntityTypeIdentity(entityType0Name), EntityTypePermission.COUNT);
doReturn(true).when(permissionService).hasPermission(new EntityTypeIdentity(entityType1Name), EntityTypePermission.COUNT);
assertEquals(repo.count(), 1L);
}
use of org.molgenis.data.security.EntityTypeIdentity in project molgenis by molgenis.
the class EntityTypeRepositorySecurityDecoratorTest method findAllQueryUser.
@WithMockUser(username = USERNAME)
@Test
public void findAllQueryUser() {
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);
@SuppressWarnings("unchecked") ArgumentCaptor<Query> 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()), asList(entityType0, entityType2));
Query<EntityType> decoratedQ = queryCaptor.getValue();
assertEquals(decoratedQ.getOffset(), 0);
assertEquals(decoratedQ.getPageSize(), Integer.MAX_VALUE);
}
use of org.molgenis.data.security.EntityTypeIdentity in project molgenis by molgenis.
the class EntityTypeRepositorySecurityDecoratorTest method deleteSystemEntityType.
@WithMockUser(username = USERNAME)
@Test(expectedExceptions = MolgenisDataException.class, expectedExceptionsMessageRegExp = "No \\[WRITEMETA\\] permission on EntityType \\[entityTypeId\\]")
public void deleteSystemEntityType() {
String entityTypeId = "entityTypeId";
when(systemEntityTypeRegistry.hasSystemEntityType("entityTypeId")).thenReturn(true);
when(permissionService.hasPermission(new EntityTypeIdentity(entityTypeId), EntityTypePermission.WRITEMETA)).thenReturn(true);
EntityType entityType = mock(EntityType.class);
when(entityType.getId()).thenReturn("entityTypeId").getMock();
repo.delete(entityType);
}
use of org.molgenis.data.security.EntityTypeIdentity in project molgenis by molgenis.
the class EntityTypeRepositorySecurityDecoratorTest method add.
@WithMockUser(username = USERNAME)
@Test
public void add() {
String entityTypeId = "entityTypeId";
EntityType entityType = mock(EntityType.class);
when(entityType.getId()).thenReturn(entityTypeId).getMock();
repo.add(entityType);
verify(delegateRepository).add(entityType);
verify(mutableAclService).createAcl(new EntityTypeIdentity(entityTypeId));
}
use of org.molgenis.data.security.EntityTypeIdentity in project molgenis by molgenis.
the class EntityTypeRepositorySecurityDecoratorTest method updateSystemEntityType.
@WithMockUser(username = USERNAME)
@Test(expectedExceptions = MolgenisDataException.class, expectedExceptionsMessageRegExp = "No \\[WRITEMETA\\] permission on EntityType \\[entityTypeId\\]")
public void updateSystemEntityType() {
String entityTypeId = "entityTypeId";
when(systemEntityTypeRegistry.hasSystemEntityType(entityTypeId)).thenReturn(true);
when(permissionService.hasPermission(new EntityTypeIdentity(entityTypeId), EntityTypePermission.WRITEMETA)).thenReturn(true);
EntityType entityType = mock(EntityType.class);
when(entityType.getId()).thenReturn(entityTypeId).getMock();
repo.update(entityType);
}
Aggregations