Search in sources :

Example 1 with Permission

use of org.molgenis.data.security.permission.model.Permission in project molgenis by molgenis.

the class PermissionsControllerTest method testCreatePermission.

@Test
void testCreatePermission() throws Exception {
    when(entityHelper.getObjectIdentity("typeId", "identifier")).thenReturn(objectIdentity);
    String requestJson = "{" + "permissions:[{" + "permission:READ," + "user:test2" + "},{" + "permission:WRITE," + "user:test" + "}]" + "}";
    mockMvc.perform(post(BASE_URI + "/typeId/identifier").contentType(APPLICATION_JSON_UTF8).content(requestJson)).andExpect(status().isCreated());
    Permission permission1 = Permission.create(new ObjectIdentityImpl("typeId", "identifier"), new PrincipalSid("test2"), READ);
    Permission permission2 = Permission.create(new ObjectIdentityImpl("typeId", "identifier"), new PrincipalSid("test"), WRITE);
    verify(permissionsService).createPermissions(Sets.newHashSet(permission1, permission2));
}
Also used : ObjectIdentityImpl(org.springframework.security.acls.domain.ObjectIdentityImpl) Permission(org.molgenis.data.security.permission.model.Permission) LabelledPermission(org.molgenis.data.security.permission.model.LabelledPermission) PrincipalSid(org.springframework.security.acls.domain.PrincipalSid) Test(org.junit.jupiter.api.Test) AbstractMolgenisSpringTest(org.molgenis.data.AbstractMolgenisSpringTest)

Example 2 with Permission

use of org.molgenis.data.security.permission.model.Permission in project molgenis by molgenis.

the class PermissionServiceImpl method updatePermissions.

@Override
@Transactional
public void updatePermissions(Set<Permission> permissions) {
    for (Permission permission : permissions) {
        entityHelper.checkEntityExists(permission.getObjectIdentity());
        updatePermission(permission);
    }
}
Also used : Permission(org.molgenis.data.security.permission.model.Permission) LabelledPermission(org.molgenis.data.security.permission.model.LabelledPermission) Transactional(org.springframework.transaction.annotation.Transactional)

Example 3 with Permission

use of org.molgenis.data.security.permission.model.Permission in project molgenis by molgenis.

the class PermissionServiceDecoratorTest method testUpdatePermissions.

@Test
void testUpdatePermissions() {
    setUser();
    ObjectIdentity objectIdentity = new ObjectIdentityImpl("type", "identifier");
    Sid sid = new PrincipalSid("user");
    MutableAcl acl = mock(MutableAcl.class);
    when(acl.getOwner()).thenReturn(sid);
    when(mutableAclService.readAclById(objectIdentity)).thenReturn(acl);
    when(mutableAclClassService.getAclClassTypes()).thenReturn(singletonList("type"));
    Permission permission = Permission.create(objectIdentity, sid, PermissionSet.WRITE);
    permissionServiceDecorator.updatePermissions(Collections.singleton(permission));
    verify(permissionService).updatePermissions(Collections.singleton(permission));
    resetContext();
}
Also used : ObjectIdentity(org.springframework.security.acls.model.ObjectIdentity) ObjectIdentityImpl(org.springframework.security.acls.domain.ObjectIdentityImpl) Permission(org.molgenis.data.security.permission.model.Permission) MutableAcl(org.springframework.security.acls.model.MutableAcl) PrincipalSid(org.springframework.security.acls.domain.PrincipalSid) Sid(org.springframework.security.acls.model.Sid) PrincipalSid(org.springframework.security.acls.domain.PrincipalSid) Test(org.junit.jupiter.api.Test) AbstractMockitoTest(org.molgenis.test.AbstractMockitoTest)

Example 4 with Permission

use of org.molgenis.data.security.permission.model.Permission in project molgenis by molgenis.

the class PermissionServiceDecoratorTest method testCreatePermission.

@Test
void testCreatePermission() {
    setSu();
    ObjectIdentity objectIdentity = new ObjectIdentityImpl("type", "identifier");
    Sid sid = new PrincipalSid("user");
    MutableAcl acl = mock(MutableAcl.class);
    when(acl.getOwner()).thenReturn(sid);
    when(mutableAclService.readAclById(objectIdentity)).thenReturn(acl);
    Permission permission = Permission.create(objectIdentity, sid, PermissionSet.WRITE);
    when(mutableAclClassService.getAclClassTypes()).thenReturn(singletonList("type"));
    permissionServiceDecorator.createPermission(permission);
    verify(permissionService).createPermission(permission);
    resetContext();
}
Also used : ObjectIdentity(org.springframework.security.acls.model.ObjectIdentity) ObjectIdentityImpl(org.springframework.security.acls.domain.ObjectIdentityImpl) Permission(org.molgenis.data.security.permission.model.Permission) MutableAcl(org.springframework.security.acls.model.MutableAcl) PrincipalSid(org.springframework.security.acls.domain.PrincipalSid) Sid(org.springframework.security.acls.model.Sid) PrincipalSid(org.springframework.security.acls.domain.PrincipalSid) Test(org.junit.jupiter.api.Test) AbstractMockitoTest(org.molgenis.test.AbstractMockitoTest)

Example 5 with Permission

use of org.molgenis.data.security.permission.model.Permission in project molgenis by molgenis.

the class PermissionServiceDecoratorTest method testCreatePermissions.

@Test
void testCreatePermissions() {
    setSu();
    ObjectIdentity objectIdentity = new ObjectIdentityImpl("type", "identifier");
    Sid sid = new PrincipalSid("user");
    MutableAcl acl = mock(MutableAcl.class);
    when(acl.getOwner()).thenReturn(sid);
    when(mutableAclService.readAclById(objectIdentity)).thenReturn(acl);
    when(mutableAclClassService.getAclClassTypes()).thenReturn(singletonList("type"));
    Permission permission = Permission.create(objectIdentity, sid, PermissionSet.WRITE);
    permissionServiceDecorator.createPermissions(Collections.singleton(permission));
    verify(permissionService).createPermissions(Collections.singleton(permission));
    resetContext();
}
Also used : ObjectIdentity(org.springframework.security.acls.model.ObjectIdentity) ObjectIdentityImpl(org.springframework.security.acls.domain.ObjectIdentityImpl) Permission(org.molgenis.data.security.permission.model.Permission) MutableAcl(org.springframework.security.acls.model.MutableAcl) PrincipalSid(org.springframework.security.acls.domain.PrincipalSid) Sid(org.springframework.security.acls.model.Sid) PrincipalSid(org.springframework.security.acls.domain.PrincipalSid) Test(org.junit.jupiter.api.Test) AbstractMockitoTest(org.molgenis.test.AbstractMockitoTest)

Aggregations

Permission (org.molgenis.data.security.permission.model.Permission)12 Test (org.junit.jupiter.api.Test)9 ObjectIdentityImpl (org.springframework.security.acls.domain.ObjectIdentityImpl)9 LabelledPermission (org.molgenis.data.security.permission.model.LabelledPermission)8 PrincipalSid (org.springframework.security.acls.domain.PrincipalSid)7 ObjectIdentity (org.springframework.security.acls.model.ObjectIdentity)6 AbstractMockitoTest (org.molgenis.test.AbstractMockitoTest)5 MutableAcl (org.springframework.security.acls.model.MutableAcl)5 Sid (org.springframework.security.acls.model.Sid)5 AbstractMolgenisSpringTest (org.molgenis.data.AbstractMolgenisSpringTest)4 GrantedAuthoritySid (org.springframework.security.acls.domain.GrantedAuthoritySid)3 LabelledObjectIdentity (org.molgenis.data.security.permission.model.LabelledObjectIdentity)2 Transactional (org.springframework.transaction.annotation.Transactional)1