package info.jtrac.domain;
import java.util.HashSet;
import java.util.Set;
import junit.framework.TestCase;
import org.acegisecurity.GrantedAuthority;
public class UserTest extends TestCase {
public void testGetAuthoritiesFromUserSpaceRoles() {
Space s1 = new Space();
s1.setPrefixCode("SPACE-ONE");
User u = new User();
u.setLoginName("test");
u.addSpaceWithRole(s1, "ROLE_ONE-ONE");
u.addSpaceWithRole(s1, "ROLE_ONE-TWO");
u.addSpaceWithRole(null, "ROLE_ADMIN");
u.setId(1);
GrantedAuthority[] gas = u.getAuthorities();
Set<String> set = new HashSet<String>();
for(GrantedAuthority ga : gas) {
set.add(ga.getAuthority());
}
assertEquals(3, gas.length);
assertTrue(set.contains("ROLE_ONE-ONE:SPACE-ONE"));
assertTrue(set.contains("ROLE_ONE-TWO:SPACE-ONE"));
assertTrue(set.contains("ROLE_ADMIN"));
}
public void testCheckIfAdminForAllSpaces() {
User u = new User();
u.setLoginName("test");
u.addSpaceWithRole(null, "ROLE_ADMIN");
assertTrue(u.isSuperUser());
}
}