Beispiel #1
0
class LoginViewTest(Test):

    def setUp(self):
        self.feature = LoginFeature()
        self.client = app.test_client()
        self.user = RegisterUserFeature().register_user('*****@*****.**', '123456')

    def tearDown(self):
        Session.delete().execute()
        User.delete().execute()

    def test_login_is_reachable(self):
        response = self.client.get('/login')
        self.assertEquals(response.status_code, 200)

    def test_user_can_login(self):
        response = self.client.post('/login', data={
            'email': self.user.email,
            'password': '******',
        })
        self.assertEquals(response.status_code, 302)
        session = Session.select().where(Session.user == self.user).first()
        self.assertTrue(self.feature.is_logged(session.token))

    def test_user_can_logout(self):
        response = self.client.post('/login', data={
            'email': self.user.email,
            'password': '******',
        })
        self.assertEquals(response.status_code, 302)
        session = Session.select().where(Session.user == self.user).first()
        self.feature.logout(session.token)
        self.assertFalse(self.feature.is_logged(session.token))
Beispiel #2
0
class LoginViewTest(Test):
    def setUp(self):
        self.feature = LoginFeature()
        self.client = app.test_client()
        self.user = RegisterUserFeature().register_user("*****@*****.**", "123456")

    def tearDown(self):
        Session.delete().execute()
        User.delete().execute()

    def test_login_is_reachable(self):
        response = self.client.get("/login")
        self.assertEquals(response.status_code, 200)

    def test_user_can_login(self):
        response = self.client.post("/login", data={"email": self.user.email, "password": "******"})
        self.assertEquals(response.status_code, 302)
        session = Session.select().where(Session.user == self.user).first()
        self.assertTrue(self.feature.is_logged(session.token))

    def test_user_can_logout(self):
        response = self.client.post("/login", data={"email": self.user.email, "password": "******"})
        self.assertEquals(response.status_code, 302)
        session = Session.select().where(Session.user == self.user).first()
        self.feature.logout(session.token)
        self.assertFalse(self.feature.is_logged(session.token))
Beispiel #3
0
class LoginFeatureTest(Test):

    def setUp(self):
        self.feature = LoginFeature()

    def tearDown(self):
        Session.delete().execute()
        User.delete().execute()

    def register_example_user(self):
        RegisterUserFeature().register_user('*****@*****.**', '123456')

    def test_can_login_with_valid_credentials(self):
        self.register_example_user()
        token = self.feature.login('*****@*****.**', '123456')
        self.assertTrue(self.feature.is_logged(token))

    def test_cannot_login_with_inexistent_user(self):
        with self.assertRaises(LoginFeature.UserDoesNotExist):
            self.feature.login('*****@*****.**', '123456')

    def test_cannot_login_with_invalid_password(self):
        self.register_example_user()
        with self.assertRaises(LoginFeature.InvalidPassword):
            self.feature.login('*****@*****.**', '1234567')

    def test_can_get_current_user(self):
        self.register_example_user()
        token = self.feature.login('*****@*****.**', '123456')
        user = self.feature.get_current_user(token)
        self.assertEquals(user.email, '*****@*****.**')

    def test_cannot_get_current_user_without_login(self):
        self.register_example_user()
        user = self.feature.get_current_user('invalid_token')
        self.assertIsNone(user)

    def test_can_logout(self):
        self.register_example_user()
        token = self.feature.login('*****@*****.**', '123456')
        self.feature.logout(token)
        self.assertFalse(self.feature.is_logged(token))
        self.assertIsNone(self.feature.get_current_user(token))

    def test_can_login_with_case_changed_email(self):
        self.register_example_user()
        token = self.feature.login('*****@*****.**', '123456')
        self.assertTrue(self.feature.is_logged(token))