diff --git a/pylons_app/tests/functional/test_login.py b/pylons_app/tests/functional/test_login.py --- a/pylons_app/tests/functional/test_login.py +++ b/pylons_app/tests/functional/test_login.py @@ -4,4 +4,42 @@ class TestLoginController(TestController def test_index(self): response = self.app.get(url(controller='login', action='index')) + assert response.status == '200 OK','Wrong response from login page' # Test response... + + def test_login_admin_ok(self): + response = self.app.post(url(controller='login', action='index'), + {'username':'test_admin', + 'password':'test'}) + assert response.status == '302 Found','Wrong response code from login' + + def test_login_regular_ok(self): + response = self.app.post(url(controller='login', action='index'), + {'username':'test_admin', + 'password':'test'}) + assert response.status == '302 Found','Wrong response code from login' + + + def test_login_ok_came_from(self): + test_came_from = '/_admin/users' + response = self.app.post(url(controller='login', action='index',came_from=test_came_from), + {'username':'test_admin', + 'password':'test'}) + assert response.status == '302 Found','Wrong response code from came from redirection' + response = response.follow() + + assert response.status == '200 OK','Wrong response from login page' + assert 'Users administration' in response.body,'No proper title in response' + + + def test_login_wrong(self): + response = self.app.post(url(controller='login', action='index'), + {'username':'error', + 'password':'test'}) + assert response.status == '200 OK','Wrong response from login page' + + assert 'invalid user name' in response.body,'No error username message in response' + assert 'invalid password' in response.body,'No error password message in response' + + + \ No newline at end of file