{
UserSearchCriteria criteria = new UserSearchCriteria();
criteria.setOneOfRoleIds(this.getXMLRoles());
criteria.setUserId("pperalez");
User user = searchForSingleUser(criteria, "pperalez", null);
Assert.assertNull(user);
criteria.setUserId("jcoder");
user = searchForSingleUser(criteria, "jcoder", null);
Assert.assertNotNull(user);
Assert.assertEquals("Roles: " + this.toRoleIdSet(user.getRoles()), 4, user.getRoles().size());
// A,B,C,1
Set<String> roleIds = this.toRoleIdSet(user.getRoles());
Assert.assertTrue(roleIds.contains("RoleA"));
Assert.assertTrue(roleIds.contains("RoleB"));
Assert.assertTrue(roleIds.contains("RoleC"));
Assert.assertTrue(roleIds.contains("Role1"));
criteria.setUserId("dknudsen");
user = searchForSingleUser(criteria, "dknudsen", null);
Assert.assertNotNull(user);
Assert.assertEquals(1, user.getRoles().size());
// Role2
roleIds = this.toRoleIdSet(user.getRoles());
Assert.assertTrue(roleIds.contains("Role2"));
criteria.setUserId("cdugas");
user = searchForSingleUser(criteria, "cdugas", null);
Assert.assertNotNull(user);
Assert.assertEquals(3, user.getRoles().size());
// A,B,1
roleIds = this.toRoleIdSet(user.getRoles());
Assert.assertTrue(roleIds.contains("RoleA"));
Assert.assertTrue(roleIds.contains("RoleB"));
Assert.assertTrue(roleIds.contains("Role1"));
}