Search in sources :

Example 6 with Group

use of io.gravitee.repository.management.model.Group in project gravitee-management-rest-api by gravitee-io.

the class GroupService_IsUserAuthorizedToAccessTest method shouldNotBeAuthorizedForPublicApiIfMemberOfUnauthorizedGroups.

@Test
public void shouldNotBeAuthorizedForPublicApiIfMemberOfUnauthorizedGroups() throws TechnicalException {
    when(api.getVisibility()).thenReturn(Visibility.PUBLIC);
    when(api.getId()).thenReturn("apiId");
    Group excludedGroup = new Group();
    excludedGroup.setId("excludedGroup");
    RoleEntity apiRole = new RoleEntity();
    apiRole.setScope(RoleScope.API);
    when(membershipService.getRoles(MembershipReferenceType.API, api.getId(), MembershipMemberType.USER, "user")).thenReturn(Collections.emptySet());
    when(membershipService.getRoles(MembershipReferenceType.GROUP, "excludedGroup", MembershipMemberType.USER, "user")).thenReturn(Collections.singleton(apiRole));
    boolean userAuthorizedToAccess = groupService.isUserAuthorizedToAccessApiData(api, Collections.singletonList("excludedGroup"), "user");
    assertFalse(userAuthorizedToAccess);
    verify(membershipService, times(2)).getRoles(any(), any(), any(), any());
    verify(membershipService, times(1)).getRoles(MembershipReferenceType.API, api.getId(), MembershipMemberType.USER, "user");
    verify(membershipService, times(1)).getRoles(MembershipReferenceType.GROUP, "excludedGroup", MembershipMemberType.USER, "user");
    verify(api, never()).getGroups();
}
Also used : Group(io.gravitee.repository.management.model.Group) Test(org.junit.Test)

Aggregations

Group (io.gravitee.repository.management.model.Group)6 Test (org.junit.Test)5 Maps (io.gravitee.common.util.Maps)2 GroupRepository (io.gravitee.repository.management.api.GroupRepository)2 GroupEventRule (io.gravitee.repository.management.model.GroupEventRule)2 GroupEntity (io.gravitee.rest.api.model.GroupEntity)2 JWT (com.auth0.jwt.JWT)1 Algorithm (com.auth0.jwt.algorithms.Algorithm)1 MediaType (io.gravitee.common.http.MediaType)1 TechnicalException (io.gravitee.repository.exceptions.TechnicalException)1 InvalidImageException (io.gravitee.rest.api.exception.InvalidImageException)1 UserDetailRole (io.gravitee.rest.api.idp.api.authentication.UserDetailRole)1 UserDetails (io.gravitee.rest.api.idp.api.authentication.UserDetails)1 PagedResult (io.gravitee.rest.api.management.rest.model.PagedResult)1 TokenEntity (io.gravitee.rest.api.management.rest.model.TokenEntity)1 BEARER (io.gravitee.rest.api.management.rest.model.TokenType.BEARER)1 AbstractResource (io.gravitee.rest.api.management.rest.resource.AbstractResource)1 TokensResource (io.gravitee.rest.api.management.rest.resource.TokensResource)1 io.gravitee.rest.api.model (io.gravitee.rest.api.model)1 MembershipMemberType (io.gravitee.rest.api.model.MembershipMemberType)1