package info.jtrac.domain; import info.jtrac.util.XmlUtils; import junit.framework.TestCase; import org.dom4j.Document; public class RoleTest extends TestCase { public void testConstructFromXml() { Document d = XmlUtils.parse("<role name='TESTER'>" + "<state status='1'>" + "<transition status='2'/>" + "<transition status='3'/>" + "<field name='cusInt01' mask='1'/>" + "<field name='cusInt02' mask='2'/>" + "</state>" + "<state status='2'>" + "<transition status='3'/>" + "<field name='cusInt03' mask='1'/>" + "<field name='cusInt04' mask='2'/>" + "</state></role>"); Role role = new Role(d.getRootElement()); assertEquals("TESTER", role.getName()); assertEquals(2, role.getStates().size()); State s1 = role.getStates().get(1); assertEquals(2, s1.getTransitions().size()); assertTrue(s1.getTransitions().contains(2)); assertTrue(s1.getTransitions().contains(3)); assertEquals(2 , s1.getFields().size()); assertEquals(new Integer(1), s1.getFields().get(Field.Name.CUS_INT_01)); assertEquals(new Integer(2), s1.getFields().get(Field.Name.CUS_INT_02)); } public void testForReservedRoleNames() { assertTrue(Role.isReservedRoleKey("ROLE_ADMIN")); assertTrue(Role.isReservedRoleKey("ROLE_GUEST")); assertFalse(Role.isReservedRoleKey("ROLE_FOO")); } }