Files @ 298546182b41
Branch filter:

Location: kallithea/pylons_app/tests/functional/test_login.py

Marcin Kuzminski
more test suites on login, fixed strange detached instance bug found during in tests.
on __repr__ function
fixed timerproxy query formatting
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'
        assert response.session['hg_app_user'].username =='test_admin','wrong logged in user'
        response = response.follow()
        assert 'auto description for vcs_test' in response.body
    
    def test_login_regular_ok(self):
        response = self.app.post(url(controller='login', action='index'),
                                 {'username':'test_regular',
                                  'password':'test'})
        assert response.status == '302 Found','Wrong response code from login'
        assert response.session['hg_app_user'].username =='test_regular','wrong logged in user'
        response = response.follow()
        assert 'auto description for vcs_test' in response.body
        assert '<a title="Admin" href="/_admin">' not in response.body
    
    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'