##// END OF EJS Templates
merged with beta branch
merged with beta branch

File last commit:

r746:18a3ca35 beta
r857:3d0661b8 merge default
Show More
test_login.py
230 lines | 12.3 KiB | text/x-python | PythonLexer
fixed bug in forms found due to testing,...
r728 # -*- coding: utf-8 -*-
renamed project to rhodecode
r547 from rhodecode.tests import *
from rhodecode.model.db import User
from rhodecode.lib.auth import check_password
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 got %s' % response.status
# Test response...
def test_login_admin_ok(self):
response = self.app.post(url(controller='login', action='index'),
{'username':'test_admin',
'password':'test12'})
assert response.status == '302 Found', 'Wrong response code from login got %s' % response.status
renamed hg_app to rhodecode
r548 assert response.session['rhodecode_user'].username == 'test_admin', 'wrong logged in user'
renamed project to rhodecode
r547 response = response.follow()
Tests rewrite for 1.2 added some globals configs to make tests easier....
r688 assert '%s repository' % HG_REPO in response.body
extended repo creation by repo type. fixed fork creation to maintain repo type.
r659
renamed project to rhodecode
r547 def test_login_regular_ok(self):
response = self.app.post(url(controller='login', action='index'),
{'username':'test_regular',
'password':'test12'})
print response
assert response.status == '302 Found', 'Wrong response code from login got %s' % response.status
renamed hg_app to rhodecode
r548 assert response.session['rhodecode_user'].username == 'test_regular', 'wrong logged in user'
renamed project to rhodecode
r547 response = response.follow()
Tests rewrite for 1.2 added some globals configs to make tests easier....
r688 assert '%s repository' % HG_REPO in response.body
renamed project to rhodecode
r547 assert '<a title="Admin" href="/_admin">' not in response.body
extended repo creation by repo type. fixed fork creation to maintain repo type.
r659
renamed project to rhodecode
r547 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':'test12'})
assert response.status == '302 Found', 'Wrong response code from came from redirection'
response = response.follow()
extended repo creation by repo type. fixed fork creation to maintain repo type.
r659
renamed project to rhodecode
r547 assert response.status == '200 OK', 'Wrong response from login page got %s' % response.status
assert 'Users administration' in response.body, 'No proper title in response'
extended repo creation by repo type. fixed fork creation to maintain repo type.
r659
renamed project to rhodecode
r547 def test_login_short_password(self):
response = self.app.post(url(controller='login', action='index'),
{'username':'error',
'password':'test'})
assert response.status == '200 OK', 'Wrong response from login page'
fixed whoosh failure on new repository...
r567 print response.body
assert 'Enter 6 characters or more' in response.body, 'No error password message in response'
renamed project to rhodecode
r547
def test_login_wrong_username_password(self):
response = self.app.post(url(controller='login', action='index'),
{'username':'error',
'password':'test12'})
assert response.status == '200 OK', 'Wrong response from login page'
extended repo creation by repo type. fixed fork creation to maintain repo type.
r659
renamed project to rhodecode
r547 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'
extended repo creation by repo type. fixed fork creation to maintain repo type.
r659
some tests update
r723 #==========================================================================
# REGISTRATIONS
#==========================================================================
renamed project to rhodecode
r547 def test_register(self):
response = self.app.get(url(controller='login', action='register'))
fixed bug in forms found due to testing,...
r728 assert 'Sign Up to RhodeCode' in response.body, 'wrong page for user registration'
extended repo creation by repo type. fixed fork creation to maintain repo type.
r659
renamed project to rhodecode
r547 def test_register_err_same_username(self):
response = self.app.post(url(controller='login', action='register'),
{'username':'test_admin',
some tests update
r723 'password':'test12',
'password_confirmation':'test12',
renamed project to rhodecode
r547 'email':'goodmail@domain.com',
'name':'test',
'lastname':'test'})
extended repo creation by repo type. fixed fork creation to maintain repo type.
r659
renamed project to rhodecode
r547 assert response.status == '200 OK', 'Wrong response from register page got %s' % response.status
extended repo creation by repo type. fixed fork creation to maintain repo type.
r659 assert 'This username already exists' in response.body
added test for username and email case senstitive validators,...
r745 def test_register_err_same_email(self):
response = self.app.post(url(controller='login', action='register'),
{'username':'test_admin_0',
'password':'test12',
'password_confirmation':'test12',
'email':'test_admin@mail.com',
'name':'test',
'lastname':'test'})
assert response.status == '200 OK', 'Wrong response from register page got %s' % response.status
fixed grammar in taken email error
r746 assert 'This e-mail address is already taken' in response.body
added test for username and email case senstitive validators,...
r745
def test_register_err_same_email_case_sensitive(self):
response = self.app.post(url(controller='login', action='register'),
{'username':'test_admin_1',
'password':'test12',
'password_confirmation':'test12',
'email':'TesT_Admin@mail.COM',
'name':'test',
'lastname':'test'})
assert response.status == '200 OK', 'Wrong response from register page got %s' % response.status
fixed grammar in taken email error
r746 assert 'This e-mail address is already taken' in response.body
added test for username and email case senstitive validators,...
r745
renamed project to rhodecode
r547 def test_register_err_wrong_data(self):
response = self.app.post(url(controller='login', action='register'),
{'username':'xs',
some tests update
r723 'password':'test',
'password_confirmation':'test',
renamed project to rhodecode
r547 'email':'goodmailm',
'name':'test',
'lastname':'test'})
assert response.status == '200 OK', 'Wrong response from register page got %s' % response.status
assert 'An email address must contain a single @' in response.body
fixed bug in forms found due to testing,...
r728 assert 'Enter a value 6 characters long or more' in response.body
extended repo creation by repo type. fixed fork creation to maintain repo type.
r659
added test for username and email case senstitive validators,...
r745 def test_register_err_username(self):
response = self.app.post(url(controller='login', action='register'),
{'username':'error user',
'password':'test12',
'password_confirmation':'test12',
'email':'goodmailm',
'name':'test',
'lastname':'test'})
print response.body
assert response.status == '200 OK', 'Wrong response from register page got %s' % response.status
assert 'An email address must contain a single @' in response.body
assert 'Username may only contain alphanumeric characters underscores or dashes and must begin with alphanumeric character' in response.body
def test_register_err_case_sensitive(self):
response = self.app.post(url(controller='login', action='register'),
{'username':'Test_Admin',
'password':'test12',
'password_confirmation':'test12',
'email':'goodmailm',
'name':'test',
'lastname':'test'})
assert response.status == '200 OK', 'Wrong response from register page got %s' % response.status
assert 'An email address must contain a single @' in response.body
assert 'This username already exists' in response.body
some tests update
r723 def test_register_special_chars(self):
response = self.app.post(url(controller='login', action='register'),
{'username':'xxxaxn',
'password':'ąćźżąśśśś',
'password_confirmation':'ąćźżąśśśś',
fixed bug in forms found due to testing,...
r728 'email':'goodmailm@test.plx',
some tests update
r723 'name':'test',
fixed bug in forms found due to testing,...
r728 'lastname':'test'})
some tests update
r723
fixed bug in forms found due to testing,...
r728 print response.body
some tests update
r723 assert response.status == '200 OK', 'Wrong response from register page got %s' % response.status
assert 'Invalid characters in password' in response.body
def test_register_password_mismatch(self):
response = self.app.post(url(controller='login', action='register'),
{'username':'xs',
'password':'123qwe',
'password_confirmation':'qwe123',
fixed bug in forms found due to testing,...
r728 'email':'goodmailm@test.plxa',
some tests update
r723 'name':'test',
fixed bug in forms found due to testing,...
r728 'lastname':'test'})
some tests update
r723
assert response.status == '200 OK', 'Wrong response from register page got %s' % response.status
fixed bug in forms found due to testing,...
r728 print response.body
some tests update
r723 assert 'Password do not match' in response.body
extended repo creation by repo type. fixed fork creation to maintain repo type.
r659
renamed project to rhodecode
r547 def test_register_ok(self):
username = 'test_regular4'
password = 'qweqwe'
email = 'marcin@test.com'
name = 'testname'
lastname = 'testlastname'
extended repo creation by repo type. fixed fork creation to maintain repo type.
r659
renamed project to rhodecode
r547 response = self.app.post(url(controller='login', action='register'),
{'username':username,
'password':password,
some tests update
r723 'password_confirmation':password,
renamed project to rhodecode
r547 'email':email,
'name':name,
'lastname':lastname})
extended repo creation by repo type. fixed fork creation to maintain repo type.
r659 assert response.status == '302 Found', 'Wrong response from register page got %s' % response.status
more renames for rhode code !!
r549 assert 'You have successfully registered into rhodecode' in response.session['flash'][0], 'No flash message about user registration'
extended repo creation by repo type. fixed fork creation to maintain repo type.
r659
renamed project to rhodecode
r547 ret = self.sa.query(User).filter(User.username == 'test_regular4').one()
assert ret.username == username , 'field mismatch %s %s' % (ret.username, username)
assert check_password(password, ret.password) == True , 'password mismatch'
assert ret.email == email , 'field mismatch %s %s' % (ret.email, email)
assert ret.name == name , 'field mismatch %s %s' % (ret.name, name)
assert ret.lastname == lastname , 'field mismatch %s %s' % (ret.lastname, lastname)
extended repo creation by repo type. fixed fork creation to maintain repo type.
r659
def test_forgot_password_wrong_mail(self):
renamed project to rhodecode
r547 response = self.app.post(url(controller='login', action='password_reset'),
{'email':'marcin@wrongmail.org', })
extended repo creation by repo type. fixed fork creation to maintain repo type.
r659
fixed grammar in taken email error
r746 assert "This e-mail address doesn't exist" in response.body, 'Missing error message about wrong email'
extended repo creation by repo type. fixed fork creation to maintain repo type.
r659
renamed project to rhodecode
r547 def test_forgot_password(self):
response = self.app.get(url(controller='login', action='password_reset'))
assert response.status == '200 OK', 'Wrong response from login page got %s' % response.status
username = 'test_password_reset_1'
password = 'qweqwe'
email = 'marcin@python-works.com'
name = 'passwd'
lastname = 'reset'
extended repo creation by repo type. fixed fork creation to maintain repo type.
r659
renamed project to rhodecode
r547 response = self.app.post(url(controller='login', action='register'),
{'username':username,
'password':password,
fixed bug in forms found due to testing,...
r728 'password_confirmation':password,
renamed project to rhodecode
r547 'email':email,
'name':name,
extended repo creation by repo type. fixed fork creation to maintain repo type.
r659 'lastname':lastname})
renamed project to rhodecode
r547 #register new user for email test
response = self.app.post(url(controller='login', action='password_reset'),
{'email':email, })
print response.session['flash']
more renames for rhode code !!
r549 assert 'You have successfully registered into rhodecode' in response.session['flash'][0], 'No flash message about user registration'
renamed project to rhodecode
r547 assert 'Your new password was sent' in response.session['flash'][1], 'No flash message about password reset'
extended repo creation by repo type. fixed fork creation to maintain repo type.
r659