public void testAddUser()
throws Exception
{
UserManager userManager = this.getUserManager();
User user = new DefaultUser();
user.setUserId("testCreateUser");
user.setName(user.getUserId() + "-name");
user.setSource(user.getUserId() + "default");
user.setEmailAddress("email@email");
user.setStatus(UserStatus.active);
user.addRole(new RoleIdentifier("default", "role1"));
user.addRole(new RoleIdentifier("default", "role3"));
userManager.addUser(user, "my-password");
ConfigurationManager config = this.getConfigurationManager();
CUser secUser = config.readUser(user.getUserId());
Assert.assertEquals(secUser.getId(), user.getUserId());
Assert.assertEquals(secUser.getEmail(), user.getEmailAddress());
Assert.assertEquals(secUser.getFirstName(), user.getFirstName());
Assert.assertEquals(secUser.getLastName(), user.getLastName());
assertThat(this.passwordService.passwordsMatch("my-password", secUser.getPassword()), is(true));
Assert.assertEquals(secUser.getStatus(), user.getStatus().name());
CUserRoleMapping roleMapping = config.readUserRoleMapping("testCreateUser", "default");
Assert.assertTrue(roleMapping.getRoles().contains("role1"));
Assert.assertTrue(roleMapping.getRoles().contains("role3"));