comparison rhodecode/tests/functional/test_login.py @ 659:758f64f3fbda beta

extended repo creation by repo type. fixed fork creation to maintain repo type.
author Marcin Kuzminski <marcin@python-works.com>
date Fri, 05 Nov 2010 21:55:30 +0100
parents 80dc0a23edf7
children 8acbfa837180
comparison
equal deleted inserted replaced
658:4ecb2ffcc110 659:758f64f3fbda
15 {'username':'test_admin', 15 {'username':'test_admin',
16 'password':'test12'}) 16 'password':'test12'})
17 assert response.status == '302 Found', 'Wrong response code from login got %s' % response.status 17 assert response.status == '302 Found', 'Wrong response code from login got %s' % response.status
18 assert response.session['rhodecode_user'].username == 'test_admin', 'wrong logged in user' 18 assert response.session['rhodecode_user'].username == 'test_admin', 'wrong logged in user'
19 response = response.follow() 19 response = response.follow()
20 assert 'auto description for vcs_test' in response.body 20 assert 'vcs_test repository' in response.body
21 21
22 def test_login_regular_ok(self): 22 def test_login_regular_ok(self):
23 response = self.app.post(url(controller='login', action='index'), 23 response = self.app.post(url(controller='login', action='index'),
24 {'username':'test_regular', 24 {'username':'test_regular',
25 'password':'test12'}) 25 'password':'test12'})
26 print response 26 print response
27 assert response.status == '302 Found', 'Wrong response code from login got %s' % response.status 27 assert response.status == '302 Found', 'Wrong response code from login got %s' % response.status
28 assert response.session['rhodecode_user'].username == 'test_regular', 'wrong logged in user' 28 assert response.session['rhodecode_user'].username == 'test_regular', 'wrong logged in user'
29 response = response.follow() 29 response = response.follow()
30 assert 'auto description for vcs_test' in response.body 30 assert 'vcs_test repository' in response.body
31 assert '<a title="Admin" href="/_admin">' not in response.body 31 assert '<a title="Admin" href="/_admin">' not in response.body
32 32
33 def test_login_ok_came_from(self): 33 def test_login_ok_came_from(self):
34 test_came_from = '/_admin/users' 34 test_came_from = '/_admin/users'
35 response = self.app.post(url(controller='login', action='index', came_from=test_came_from), 35 response = self.app.post(url(controller='login', action='index', came_from=test_came_from),
36 {'username':'test_admin', 36 {'username':'test_admin',
37 'password':'test12'}) 37 'password':'test12'})
38 assert response.status == '302 Found', 'Wrong response code from came from redirection' 38 assert response.status == '302 Found', 'Wrong response code from came from redirection'
39 response = response.follow() 39 response = response.follow()
40 40
41 assert response.status == '200 OK', 'Wrong response from login page got %s' % response.status 41 assert response.status == '200 OK', 'Wrong response from login page got %s' % response.status
42 assert 'Users administration' in response.body, 'No proper title in response' 42 assert 'Users administration' in response.body, 'No proper title in response'
43 43
44 44
45 def test_login_short_password(self): 45 def test_login_short_password(self):
46 response = self.app.post(url(controller='login', action='index'), 46 response = self.app.post(url(controller='login', action='index'),
47 {'username':'error', 47 {'username':'error',
48 'password':'test'}) 48 'password':'test'})
49 assert response.status == '200 OK', 'Wrong response from login page' 49 assert response.status == '200 OK', 'Wrong response from login page'
53 def test_login_wrong_username_password(self): 53 def test_login_wrong_username_password(self):
54 response = self.app.post(url(controller='login', action='index'), 54 response = self.app.post(url(controller='login', action='index'),
55 {'username':'error', 55 {'username':'error',
56 'password':'test12'}) 56 'password':'test12'})
57 assert response.status == '200 OK', 'Wrong response from login page' 57 assert response.status == '200 OK', 'Wrong response from login page'
58 58
59 assert 'invalid user name' in response.body, 'No error username message in response' 59 assert 'invalid user name' in response.body, 'No error username message in response'
60 assert 'invalid password' in response.body, 'No error password message in response' 60 assert 'invalid password' in response.body, 'No error password message in response'
61 61
62 62
63 def test_register(self): 63 def test_register(self):
64 response = self.app.get(url(controller='login', action='register')) 64 response = self.app.get(url(controller='login', action='register'))
65 assert 'Sign Up to rhodecode' in response.body, 'wrong page for user registration' 65 assert 'Sign Up to rhodecode' in response.body, 'wrong page for user registration'
66 66
67 def test_register_err_same_username(self): 67 def test_register_err_same_username(self):
68 response = self.app.post(url(controller='login', action='register'), 68 response = self.app.post(url(controller='login', action='register'),
69 {'username':'test_admin', 69 {'username':'test_admin',
70 'password':'test', 70 'password':'test',
71 'email':'goodmail@domain.com', 71 'email':'goodmail@domain.com',
72 'name':'test', 72 'name':'test',
73 'lastname':'test'}) 73 'lastname':'test'})
74 74
75 assert response.status == '200 OK', 'Wrong response from register page got %s' % response.status 75 assert response.status == '200 OK', 'Wrong response from register page got %s' % response.status
76 assert 'This username already exists' in response.body 76 assert 'This username already exists' in response.body
77 77
78 def test_register_err_wrong_data(self): 78 def test_register_err_wrong_data(self):
79 response = self.app.post(url(controller='login', action='register'), 79 response = self.app.post(url(controller='login', action='register'),
80 {'username':'xs', 80 {'username':'xs',
81 'password':'', 81 'password':'',
82 'email':'goodmailm', 82 'email':'goodmailm',
83 'name':'test', 83 'name':'test',
84 'lastname':'test'}) 84 'lastname':'test'})
85 85
86 assert response.status == '200 OK', 'Wrong response from register page got %s' % response.status 86 assert response.status == '200 OK', 'Wrong response from register page got %s' % response.status
87 assert 'An email address must contain a single @' in response.body 87 assert 'An email address must contain a single @' in response.body
88 assert 'Please enter a value' in response.body 88 assert 'Please enter a value' in response.body
89 89
90 90
91 91
92 def test_register_ok(self): 92 def test_register_ok(self):
93 username = 'test_regular4' 93 username = 'test_regular4'
94 password = 'qweqwe' 94 password = 'qweqwe'
95 email = 'marcin@test.com' 95 email = 'marcin@test.com'
96 name = 'testname' 96 name = 'testname'
97 lastname = 'testlastname' 97 lastname = 'testlastname'
98 98
99 response = self.app.post(url(controller='login', action='register'), 99 response = self.app.post(url(controller='login', action='register'),
100 {'username':username, 100 {'username':username,
101 'password':password, 101 'password':password,
102 'email':email, 102 'email':email,
103 'name':name, 103 'name':name,
104 'lastname':lastname}) 104 'lastname':lastname})
105 print response.body 105 print response.body
106 assert response.status == '302 Found', 'Wrong response from register page got %s' % response.status 106 assert response.status == '302 Found', 'Wrong response from register page got %s' % response.status
107 assert 'You have successfully registered into rhodecode' in response.session['flash'][0], 'No flash message about user registration' 107 assert 'You have successfully registered into rhodecode' in response.session['flash'][0], 'No flash message about user registration'
108 108
109 ret = self.sa.query(User).filter(User.username == 'test_regular4').one() 109 ret = self.sa.query(User).filter(User.username == 'test_regular4').one()
110 assert ret.username == username , 'field mismatch %s %s' % (ret.username, username) 110 assert ret.username == username , 'field mismatch %s %s' % (ret.username, username)
111 assert check_password(password, ret.password) == True , 'password mismatch' 111 assert check_password(password, ret.password) == True , 'password mismatch'
112 assert ret.email == email , 'field mismatch %s %s' % (ret.email, email) 112 assert ret.email == email , 'field mismatch %s %s' % (ret.email, email)
113 assert ret.name == name , 'field mismatch %s %s' % (ret.name, name) 113 assert ret.name == name , 'field mismatch %s %s' % (ret.name, name)
114 assert ret.lastname == lastname , 'field mismatch %s %s' % (ret.lastname, lastname) 114 assert ret.lastname == lastname , 'field mismatch %s %s' % (ret.lastname, lastname)
115 115
116 116
117 def test_forgot_password_wrong_mail(self): 117 def test_forgot_password_wrong_mail(self):
118 response = self.app.post(url(controller='login', action='password_reset'), 118 response = self.app.post(url(controller='login', action='password_reset'),
119 {'email':'marcin@wrongmail.org', }) 119 {'email':'marcin@wrongmail.org', })
120 120
121 assert "That e-mail address doesn't exist" in response.body, 'Missing error message about wrong email' 121 assert "That e-mail address doesn't exist" in response.body, 'Missing error message about wrong email'
122 122
123 def test_forgot_password(self): 123 def test_forgot_password(self):
124 response = self.app.get(url(controller='login', action='password_reset')) 124 response = self.app.get(url(controller='login', action='password_reset'))
125 assert response.status == '200 OK', 'Wrong response from login page got %s' % response.status 125 assert response.status == '200 OK', 'Wrong response from login page got %s' % response.status
126 126
127 username = 'test_password_reset_1' 127 username = 'test_password_reset_1'
128 password = 'qweqwe' 128 password = 'qweqwe'
129 email = 'marcin@python-works.com' 129 email = 'marcin@python-works.com'
130 name = 'passwd' 130 name = 'passwd'
131 lastname = 'reset' 131 lastname = 'reset'
132 132
133 response = self.app.post(url(controller='login', action='register'), 133 response = self.app.post(url(controller='login', action='register'),
134 {'username':username, 134 {'username':username,
135 'password':password, 135 'password':password,
136 'email':email, 136 'email':email,
137 'name':name, 137 'name':name,
138 'lastname':lastname}) 138 'lastname':lastname})
139 #register new user for email test 139 #register new user for email test
140 response = self.app.post(url(controller='login', action='password_reset'), 140 response = self.app.post(url(controller='login', action='password_reset'),
141 {'email':email, }) 141 {'email':email, })
142 print response.session['flash'] 142 print response.session['flash']
143 assert 'You have successfully registered into rhodecode' in response.session['flash'][0], 'No flash message about user registration' 143 assert 'You have successfully registered into rhodecode' in response.session['flash'][0], 'No flash message about user registration'
144 assert 'Your new password was sent' in response.session['flash'][1], 'No flash message about password reset' 144 assert 'Your new password was sent' in response.session['flash'][1], 'No flash message about password reset'
145 145
146 146
147 147