package at.intelligentminds.client; import static org.junit.Assert.*; import org.junit.After; import org.junit.Before; import org.junit.Test; import at.intelligentminds.client.ConnectionProvider.RegisterResponse; public class TestRegister { private ConnectionProvider provider; private String user1; private String user2; private String user3; private String pw1; @Before public void setUp() throws Exception { user1 = "usermustermann@bla.com"; user2 = "user0816@bla.com"; user3 = "user0817@bla.com"; pw1 = "Passw0rd"; provider = ConnectionProvider.getInstance(); } @Test /** * should succeed */ public void testRegisterSucceed() { RegisterResponse response = provider.register(user1, pw1, "male", "user", "mustermann"); assertNotNull(response); assertEquals(RegisterResponse.SUCCESS, response); } @Test /** * test username already exists */ public void testRegisterUsernameExists() { RegisterResponse response = provider.register(user3, pw1, "male", "user", "mustermann"); RegisterResponse response2 = provider.register(user3, pw1, "male", "user", "mustermann"); assertNotNull(response); assertNotNull(response2); assertEquals(RegisterResponse.SUCCESS, response); assertEquals(RegisterResponse.USER_EXISTS, response2); } @Test /** * test username already exists */ public void testRegisterDeleteRegisterWithoutLogin() { //Register RegisterResponse response = provider.register(user2, pw1, "male", "user", "mustermann"); assertNotNull(response); assertEquals(RegisterResponse.SUCCESS, response); //Delete provider.deleteAccount(user2, pw1, provider.performLogin(user2, pw1)); //Reregister response = provider.register(user2, pw1, "male", "user", "mustermann"); assertNotEquals(RegisterResponse.USER_EXISTS, response); } @Test /** * test using weak password */ public void testRegisterWeakPassword() { RegisterResponse response = provider.register(user3, "testfere", "male", "max", "mustermann"); assertNotNull(response); assertEquals(RegisterResponse.PASSWORD, response); response = provider.register(user3, "test1234", "male", "user", "mustermann"); assertNotNull(response); assertEquals(RegisterResponse.PASSWORD, response); response = provider.register(user3, "test13T", "male", "user", "mustermann"); assertNotNull(response); assertEquals(RegisterResponse.PASSWORD, response); response = provider.register(user3, "ERRRWWQQT", "male", "user", "mustermann"); assertNotNull(response); assertEquals(RegisterResponse.PASSWORD, response); } @Test /** * wrong email */ public void testRegisterEmailfail() { RegisterResponse response = provider.register("wrongEmail", pw1, "male", "user", "mustermann"); assertNotNull(response); assertEquals(RegisterResponse.EMAIL, response); } @Test /** * wrong name */ public void testRegisterNamefail() { RegisterResponse response = provider.register(user3, pw1, "male", "12345weird name", "mustermann"); assertNotNull(response); assertEquals(RegisterResponse.NAME, response); } @Test /** * wrong gender */ public void testRegisterGenderfail() { RegisterResponse response = provider.register(user3, pw1, "unknown", "user", "mustermann"); assertNotNull(response); assertEquals(RegisterResponse.MISC_ERROR, response); } @After public void tearDown() { provider.deleteAccount(user1, pw1, provider.performLogin(user1, pw1)); provider.deleteAccount(user2, pw1, provider.performLogin(user2, pw1)); provider.deleteAccount(user3, pw1, provider.performLogin(user3, pw1)); } }