package edu.harvard.iq.dataverse.authorization.groups;
import edu.harvard.iq.dataverse.authorization.groups.impl.builtin.AllUsers;
import edu.harvard.iq.dataverse.authorization.groups.impl.builtin.AuthenticatedUsers;
import edu.harvard.iq.dataverse.authorization.users.AuthenticatedUser;
import java.util.LinkedHashSet;
import java.util.Set;
import static org.junit.Assert.assertEquals;
import org.junit.Test;
public class GroupUtilTest {
@Test
public void testGetAllIdentifiersForUserWithGroups() {
AuthenticatedUser authenticatedUser = new AuthenticatedUser();
authenticatedUser.setUserIdentifier("pete");
Set<Group> groups = new LinkedHashSet<>();
groups.add(AuthenticatedUsers.get());
groups.add(AllUsers.get());
String expected = "'@pete', ':authenticated-users', ':AllUsers'";
String actual = GroupUtil.getAllIdentifiersForUser(authenticatedUser, groups);
assertEquals(expected, actual);
}
@Test
public void testGetAllIdentifiersForUserWithNoGroups() {
AuthenticatedUser authenticatedUser = new AuthenticatedUser();
authenticatedUser.setUserIdentifier("pete");
Set<Group> groups = new LinkedHashSet<>();
String expected = "'@pete'";
String actual = GroupUtil.getAllIdentifiersForUser(authenticatedUser, groups);
assertEquals(expected, actual);
}
@Test
public void testGetAllIdentifiersForUserNulls() {
new GroupUtil(); // just boosting our coverage :)
AuthenticatedUser authenticatedUser = new AuthenticatedUser();
authenticatedUser.setUserIdentifier("pete");
assertEquals(null, GroupUtil.getAllIdentifiersForUser(null, null));
assertEquals("'@pete'", GroupUtil.getAllIdentifiersForUser(authenticatedUser, null));
}
}