view pylons_app/tests/functional/test_login.py @ 461:e95621133eb6

made test for login page
author Marcin Kuzminski <marcin@python-works.com>
date Sun, 05 Sep 2010 18:07:37 +0200
parents 8337dd6492a9
children 298546182b41
line wrap: on
line source

from pylons_app.tests import *

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'