package com.tyndalehouse.step.core.service.impl; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import java.io.StringWriter; import java.util.HashSet; import java.util.Set; import org.junit.Test; /** * Checks a user is valid * * @author chrisburrell * */ public class UserServiceImplTest { /** * tests an existing user is found, and an invalid one is not */ @Test public void testExistingUser() { final UserServiceImpl usi = new UserServiceImpl(false, true, "random"); final Set<String> users = new HashSet<String>(); users.add("chris@chris.com"); usi.setUsers(users); assertTrue(usi.checkUserIdentity("ChrIs@chris.com", "Chris")); assertFalse(usi.checkUserIdentity("Charlie@chris.com", "Charlie")); } /** * tests an existing user is created when auto register is on */ @Test public void testUserIsCreated() { final UserServiceImpl usi = new UserServiceImpl(true, true, "random"); final StringWriter userWriter = new StringWriter(16); usi.setUserWriter(userWriter); usi.setUsers(new HashSet<String>()); usi.checkUserIdentity("Charlie@chris.com", "Charlie"); assertTrue(userWriter.toString().startsWith("charlie@chris.com,Charlie")); } /** * tests an existing user is not created when auto register is off */ @Test public void testUserIsNotCreated() { final UserServiceImpl usi = new UserServiceImpl(true, false, "random"); final StringWriter userWriter = new StringWriter(16); usi.setUserWriter(userWriter); usi.setUsers(new HashSet<String>()); usi.checkUserIdentity("Charlie@chris.com", "Charlie"); assertEquals(0, userWriter.toString().length()); } }