Skip to content
GroupsManagerTest.java 1.4 KiB
Newer Older
package it.inaf.ia2.gms.manager;

import it.inaf.ia2.gms.exception.UnauthorizedException;
import it.inaf.ia2.gms.persistence.LoggingDAO;
import it.inaf.ia2.gms.persistence.model.GroupEntity;
import it.inaf.ia2.gms.service.GroupsService;
import static org.junit.Assert.assertTrue;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.junit.MockitoJUnitRunner;

@RunWith(MockitoJUnitRunner.class)
public class GroupsManagerTest {

    @Mock
    private GroupsService groupsService;
    @Mock
    private PermissionsManager permissionsManager;
    @Mock
    private LoggingDAO loggingDAO;

    @InjectMocks
    private GroupsManager groupsManager;

    @Test
    public void testRootAlwaysReadable() {

        GroupEntity root = new GroupEntity();
        root.setName("ROOT");
        root.setId(GroupsService.ROOT);
        root.setPath("");

        groupsManager.verifyUserCanReadGroup(root);
    }

    @Test
    public void testVerifyUserCanReadGroupFails() {

        boolean exception = false;

        GroupEntity group = new GroupEntity();
        group.setName("group_name");
        group.setId("group_id");
        group.setPath("group_id");

        try {
            groupsManager.verifyUserCanReadGroup(group);
        } catch (UnauthorizedException ex) {
            exception = true;
        }

        assertTrue(exception);
    }
}