/*
* Copyright 2001-2008 Geert Bevin (gbevin[remove] at uwyn dot com)
* Licensed under the Apache License, Version 2.0 (the "License")
* $Id: TestRoleUserAttributes.java 3918 2008-04-14 17:35:35Z gbevin $
*/
package com.uwyn.rife.authentication.credentialsmanagers;
import com.uwyn.rife.authentication.credentialsmanagers.RoleUserAttributes;
import java.util.ArrayList;
import junit.framework.TestCase;
public class TestRoleUserAttributes extends TestCase
{
public TestRoleUserAttributes(String name)
{
super(name);
}
public void testInstantiation()
{
RoleUserAttributes user_attributes = null;
user_attributes = new RoleUserAttributes("thepassword");
assertNotNull(user_attributes);
assertEquals("thepassword", user_attributes.getPassword());
ArrayList<String> roles = new ArrayList<String>();
roles.add("firstrole");
roles.add("secondrole");
user_attributes = new RoleUserAttributes("thepassword", roles);
assertNotNull(user_attributes);
assertEquals("thepassword", user_attributes.getPassword());
assertEquals(2, user_attributes.getRoles().size());
boolean firstrole = false;
boolean secondrole = false;
for (String role : user_attributes.getRoles())
{
if (role.equals("firstrole"))
{
firstrole = true;
}
else if (role.equals("secondrole"))
{
secondrole = true;
}
}
assertTrue(firstrole && secondrole);
user_attributes = new RoleUserAttributes("thepassword", new String[] {"firstrole", "secondrole"});
assertNotNull(user_attributes);
assertEquals("thepassword", user_attributes.getPassword());
assertEquals(2, user_attributes.getRoles().size());
firstrole = false;
secondrole = false;
for (String role : user_attributes.getRoles())
{
if (role.equals("firstrole"))
{
firstrole = true;
}
else if (role.equals("secondrole"))
{
secondrole = true;
}
}
assertTrue(firstrole && secondrole);
}
public void testEquals()
{
RoleUserAttributes user_attributes1 = new RoleUserAttributes("thepassword");
RoleUserAttributes user_attributes2 = new RoleUserAttributes("thepassword");
RoleUserAttributes user_attributes3 = new RoleUserAttributes("thepassword2");
RoleUserAttributes user_attributes4 = new RoleUserAttributes(12, "thepassword2");
RoleUserAttributes user_attributes5 = new RoleUserAttributes("thepassword", new String[] {"firstrole", "secondrole"});
RoleUserAttributes user_attributes6 = new RoleUserAttributes("thepassword", new String[] {"firstrole", "secondrole"});
RoleUserAttributes user_attributes7 = new RoleUserAttributes("thepassword", new String[] {"firstrole"});
RoleUserAttributes user_attributes8 = new RoleUserAttributes("thepassword", new String[] {"firstrole", "thirdrole"});
RoleUserAttributes user_attributes9 = new RoleUserAttributes(13, "thepassword", new String[] {"firstrole", "secondrole"});
RoleUserAttributes user_attributes10 = new RoleUserAttributes(13, "thepassword", new String[] {"firstrole", "secondrole"});
assertTrue(user_attributes1.equals(user_attributes1));
assertTrue(user_attributes1.equals(user_attributes2));
assertFalse(user_attributes1.equals(user_attributes3));
assertFalse(user_attributes1.equals(user_attributes4));
assertFalse(user_attributes1.equals(user_attributes5));
assertFalse(user_attributes1.equals(user_attributes6));
assertFalse(user_attributes1.equals(user_attributes7));
assertFalse(user_attributes1.equals(user_attributes8));
assertFalse(user_attributes1.equals(user_attributes9));
assertFalse(user_attributes1.equals(user_attributes10));
assertTrue(user_attributes2.equals(user_attributes2));
assertFalse(user_attributes2.equals(user_attributes3));
assertFalse(user_attributes2.equals(user_attributes4));
assertFalse(user_attributes2.equals(user_attributes5));
assertFalse(user_attributes2.equals(user_attributes6));
assertFalse(user_attributes2.equals(user_attributes7));
assertFalse(user_attributes2.equals(user_attributes8));
assertFalse(user_attributes2.equals(user_attributes9));
assertFalse(user_attributes2.equals(user_attributes10));
assertTrue(user_attributes3.equals(user_attributes3));
assertFalse(user_attributes3.equals(user_attributes4));
assertFalse(user_attributes3.equals(user_attributes5));
assertFalse(user_attributes3.equals(user_attributes6));
assertFalse(user_attributes3.equals(user_attributes7));
assertFalse(user_attributes3.equals(user_attributes8));
assertFalse(user_attributes3.equals(user_attributes9));
assertFalse(user_attributes3.equals(user_attributes10));
assertTrue(user_attributes4.equals(user_attributes4));
assertFalse(user_attributes4.equals(user_attributes5));
assertFalse(user_attributes4.equals(user_attributes6));
assertFalse(user_attributes4.equals(user_attributes7));
assertFalse(user_attributes4.equals(user_attributes8));
assertFalse(user_attributes4.equals(user_attributes9));
assertFalse(user_attributes4.equals(user_attributes10));
assertTrue(user_attributes5.equals(user_attributes5));
assertTrue(user_attributes5.equals(user_attributes6));
assertFalse(user_attributes5.equals(user_attributes7));
assertFalse(user_attributes5.equals(user_attributes8));
assertFalse(user_attributes5.equals(user_attributes9));
assertFalse(user_attributes5.equals(user_attributes10));
assertTrue(user_attributes6.equals(user_attributes6));
assertFalse(user_attributes6.equals(user_attributes7));
assertFalse(user_attributes6.equals(user_attributes8));
assertFalse(user_attributes6.equals(user_attributes9));
assertFalse(user_attributes6.equals(user_attributes10));
assertTrue(user_attributes7.equals(user_attributes7));
assertFalse(user_attributes7.equals(user_attributes8));
assertFalse(user_attributes7.equals(user_attributes9));
assertFalse(user_attributes7.equals(user_attributes10));
assertTrue(user_attributes8.equals(user_attributes8));
assertFalse(user_attributes8.equals(user_attributes9));
assertFalse(user_attributes8.equals(user_attributes10));
assertTrue(user_attributes9.equals(user_attributes9));
assertTrue(user_attributes9.equals(user_attributes10));
assertTrue(user_attributes10.equals(user_attributes10));
}
public void testEmptyInitialRoles()
{
RoleUserAttributes user_attributes = new RoleUserAttributes("thepassword");
assertEquals(0, user_attributes.getRoles().size());
}
public void testPopulate()
{
RoleUserAttributes user_attributes = new RoleUserAttributes("thepassword");
ArrayList<String> roles = new ArrayList<String>();
roles.add("firstrole");
roles.add("secondrole");
user_attributes.setRoles(roles);
assertEquals("thepassword", user_attributes.getPassword());
assertEquals(2, user_attributes.getRoles().size());
boolean firstrole = false;
boolean secondrole = false;
for (String role : user_attributes.getRoles())
{
if (role.equals("firstrole"))
{
firstrole = true;
}
else if (role.equals("secondrole"))
{
secondrole = true;
}
}
assertTrue(firstrole && secondrole);
}
public void testIsInRole()
{
RoleUserAttributes user_attributes = new RoleUserAttributes("thepassword");
ArrayList<String> roles = new ArrayList<String>();
roles.add("firstrole");
roles.add("secondrole");
user_attributes.setRoles(roles);
assertTrue(user_attributes.isInRole("firstrole"));
assertTrue(user_attributes.isInRole("secondrole"));
assertTrue(!user_attributes.isInRole("thirdrole"));
}
public void testIsValid()
{
RoleUserAttributes user_attributes = new RoleUserAttributes("thepassword");
ArrayList<String> roles = new ArrayList<String>();
roles.add("firstrole");
roles.add("secondrole");
user_attributes.setRoles(roles);
assertTrue(user_attributes.isValid("thepassword"));
assertTrue(!user_attributes.isValid("anotherpassword"));
assertTrue(user_attributes.isValid("thepassword", "firstrole"));
assertTrue(user_attributes.isValid("thepassword", "secondrole"));
assertTrue(!user_attributes.isValid("anotherpassword", "firstrole"));
assertTrue(!user_attributes.isValid("anotherpassword", "secondrole"));
assertTrue(!user_attributes.isValid("thepassword", "thirdrole"));
assertTrue(!user_attributes.isValid("anotherpassword", "thirdrole"));
}
}