UsersFileRepository repos = (UsersFileRepository) getUsersRepository();
repos.setEnableAliases(true);
repos.setEnableForwarding(true);
repos.addUser(username,password);
JamesUser user = (JamesUser)repos.getUserByName(username);
user.setAlias(alias);
repos.updateUser(user);
Collection<String> map = ((VirtualUserTable) repos).getMappings(username, domain);
assertNull("No mapping", map);
user.setAliasing(true);
repos.updateUser(user);
map = ((VirtualUserTable) repos).getMappings(username, domain);
assertEquals("One mapping", 1, map.size());
assertEquals("Alias found", map.iterator().next().toString(), alias + "@" + domain);
user.setForwardingDestination(new MailAddress(forward));
repos.updateUser(user);
map = ((VirtualUserTable) repos).getMappings(username, domain);
assertTrue("One mapping", map.size() == 1);
assertEquals("Alias found", map.iterator().next().toString(), alias + "@" + domain);
user.setForwarding(true);
repos.updateUser(user);
map = ((VirtualUserTable) repos).getMappings(username, domain);
Iterator<String> mappings = map.iterator();
assertTrue("Two mapping",map.size() == 2);
assertEquals("Alias found", mappings.next().toString(), alias + "@" + domain);