Changeset - 298546182b41
[Not reviewed]
default
0 4 1
Marcin Kuzminski - 15 years ago 2010-09-05 23:40:08
marcin@python-works.com
more test suites on login, fixed strange detached instance bug found during in tests.
on __repr__ function
fixed timerproxy query formatting
5 files changed with 20 insertions and 3 deletions:
0 comments (0 inline, 0 general)
MANIFEST.in
Show inline comments
 
include COPYING
 
include README.rst
 
include pylons_app/config/deployment.ini_tmpl
 

	
 
include hg_app_daemon
 
include hg_app_daemon2
 

	
 
recursive-include pylons_app/public/css *
 
recursive-include pylons_app/public/images *
 

	
 
include pylons_app/public/js/yui2.js
 
include pylons_app/public/js/excanvas.min.js
 
include pylons_app/public/js/yui.flot.js
 

	
pylons_app/lib/timerproxy.py
Show inline comments
 
@@ -13,24 +13,25 @@ def color_sql(sql):
 
def one_space_trim(s):
 
    if s.find("  ") == -1:
 
        return s
 
    else:
 
        s = s.replace('  ', ' ')
 
        return one_space_trim(s)
 
    
 
def format_sql(sql):
 
    sql = color_sql(sql)
 
    sql = sql.replace('\n', '')
 
    sql = one_space_trim(sql)
 
    sql = sql\
 
        .replace(',',',\n\t')\
 
        .replace('SELECT', '\n\tSELECT \n\t')\
 
        .replace('UPDATE', '\n\tUPDATE \n\t')\
 
        .replace('DELETE', '\n\tDELETE \n\t')\
 
        .replace('FROM', '\n\tFROM')\
 
        .replace('ORDER BY', '\n\tORDER BY')\
 
        .replace('LIMIT', '\n\tLIMIT')\
 
        .replace('WHERE', '\n\tWHERE')\
 
        .replace('AND', '\n\tAND')\
 
        .replace('LEFT', '\n\tLEFT')\
 
        .replace('INNER', '\n\tINNER')\
 
        .replace('INSERT', '\n\tINSERT')\
 
        .replace('DELETE', '\n\tDELETE')
pylons_app/model/db.py
Show inline comments
 
@@ -47,25 +47,25 @@ class User(Base):
 
    def __repr__(self):
 
        return "<User('id:%s:%s')>" % (self.user_id, self.username)
 
    
 
    def update_lastlogin(self):
 
        """Update user lastlogin"""
 
        import datetime
 
        
 
        try:
 
            session = Session.object_session(self)
 
            self.last_login = datetime.datetime.now()
 
            session.add(self)
 
            session.commit()
 
            log.debug('updated user %s lastlogin',self)
 
            log.debug('updated user %s lastlogin',self.username)
 
        except Exception:
 
            session.rollback()        
 
    
 
      
 
class UserLog(Base): 
 
    __tablename__ = 'user_logs'
 
    __table_args__ = {'useexisting':True}
 
    user_log_id = Column("user_log_id", INTEGER(), nullable=False, unique=True, default=None, primary_key=True)
 
    user_id = Column("user_id", INTEGER(), ForeignKey(u'users.user_id'), nullable=False, unique=None, default=None)
 
    user_ip = Column("user_ip", TEXT(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) 
 
    repository = Column("repository", TEXT(length=None, convert_unicode=False, assert_unicode=None), ForeignKey(u'repositories.repo_name'), nullable=False, unique=None, default=None)
 
    action = Column("action", TEXT(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None)
pylons_app/tests/functional/test_hg.py
Show inline comments
 
new file 100644
 
from pylons_app.tests import *
 

	
 
class TestAdminController(TestController):
 

	
 
    def test_index(self):
 
                
 
        response = self.app.get(url(controller='hg', action='index'))
 
        # Test response...
 
\ No newline at end of file
pylons_app/tests/functional/test_login.py
Show inline comments
 
@@ -3,31 +3,37 @@ 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_admin',
 
                                 {'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'
 
        
0 comments (0 inline, 0 general)