package at.intelligentminds.client;
import static org.junit.Assert.*;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
public class TestLogin {
private ConnectionProvider provider;
private String userEmail1;
private String userEmail2;
private String pw;
@Before
public void setUp() throws Exception {
provider = ConnectionProvider.getInstance();
userEmail1 = "test@test.at";
userEmail2 = "demo@demo.at";
pw = "p@$$w0rD";
provider.register(userEmail1, pw, "male", "first", "last");
provider.register(userEmail2, pw, "male", "first", "last");
}
@Test
/**
* should succeed
*/
public void testLoginSuccess() {
String loginSucceeded = provider.performLogin(userEmail1, pw);
assertNotNull(loginSucceeded);
assertNotEquals("", loginSucceeded);
}
@Test
/**
* should fail
* wrong user
*/
public void testLoginFails() {
String loginFails = provider.performLogin("testNotAllowed", "p@$$w0rd");
assertNotNull(loginFails);
assertEquals("", loginFails);
}
@Test
/**
* should fail
* wrong password
*/
public void testLoginFailsWrongPassword() {
String loginFails = provider.performLogin(userEmail1, "ups");
assertNotNull(loginFails);
assertEquals("", loginFails);
}
@Test
/**
* Tests if login is remembered
*/
public void testLoginRemembered()
{
String token_user_a = provider.performLogin(userEmail1, pw);
String token_user_b = provider.performLogin(userEmail2, pw);
assertNotNull(token_user_a);
assertNotNull(token_user_b);
assertNotEquals(token_user_a, "");
assertNotEquals(token_user_b, "");
boolean a_still_logged_in = provider.validateLogin(token_user_a);
boolean b_still_logged_in = provider.validateLogin(token_user_b);
boolean c_still_logged_in = provider.validateLogin("somegarbagetoken");
assertTrue(a_still_logged_in);
assertTrue(b_still_logged_in);
assertFalse(c_still_logged_in);
}
@After
public void tearDown() {
provider.deleteAccount(userEmail1, pw, provider.performLogin(userEmail1, pw));
provider.deleteAccount(userEmail2, pw, provider.performLogin(userEmail2, pw));
}
}