##// END OF EJS Templates
fixed issue with empty APIKEYS on registration #438
marcink -
r2248:72542dc5 beta
parent child Browse files
Show More
@@ -38,6 +38,7 b' fixes'
38 38 - fixed remote-pulling for git remotes remopositories
39 39 - fixed #434: Error when accessing files or changesets of a git repository
40 40 with submodules
41 - fixed issue with empty APIKEYS for users after registration ref. #438
41 42
42 43 1.3.4 (**2012-03-28**)
43 44 ----------------------
@@ -1233,7 +1233,8 b' class Notification(Base, BaseModel):'
1233 1233 @property
1234 1234 def recipients(self):
1235 1235 return [x.user for x in UserNotification.query()\
1236 .filter(UserNotification.notification == self).all()]
1236 .filter(UserNotification.notification == self)\
1237 .order_by(UserNotification.user).all()]
1237 1238
1238 1239 @classmethod
1239 1240 def create(cls, created_by, subject, body, recipients, type_=None):
@@ -225,10 +225,8 b' class UserModel(BaseModel):'
225 225 from rhodecode.model.notification import NotificationModel
226 226
227 227 try:
228 new_user = User()
229 for k, v in form_data.items():
230 if k != 'admin':
231 setattr(new_user, k, v)
228 form_data['admin'] = False
229 new_user = self.create(form_data)
232 230
233 231 self.sa.add(new_user)
234 232 self.sa.flush()
@@ -54,7 +54,6 b' class TestLoginController(TestController'
54 54 self.assertEqual(response.status, '200 OK')
55 55 self.assertTrue('Users administration' in response.body)
56 56
57
58 57 def test_login_short_password(self):
59 58 response = self.app.post(url(controller='login', action='index'),
60 59 {'username':'test_admin',
@@ -101,7 +100,7 b' class TestLoginController(TestController'
101 100 'lastname':'test'})
102 101
103 102 self.assertEqual(response.status , '200 OK')
104 assert 'This e-mail address is already taken' in response.body
103 response.mustcontain('This e-mail address is already taken')
105 104
106 105 def test_register_err_same_email_case_sensitive(self):
107 106 response = self.app.post(url(controller='login', action='register'),
@@ -112,7 +111,7 b' class TestLoginController(TestController'
112 111 'name':'test',
113 112 'lastname':'test'})
114 113 self.assertEqual(response.status , '200 OK')
115 assert 'This e-mail address is already taken' in response.body
114 response.mustcontain('This e-mail address is already taken')
116 115
117 116 def test_register_err_wrong_data(self):
118 117 response = self.app.post(url(controller='login', action='register'),
@@ -123,9 +122,8 b' class TestLoginController(TestController'
123 122 'name':'test',
124 123 'lastname':'test'})
125 124 self.assertEqual(response.status , '200 OK')
126 assert 'An email address must contain a single @' in response.body
127 assert 'Enter a value 6 characters long or more' in response.body
128
125 response.mustcontain('An email address must contain a single @')
126 response.mustcontain('Enter a value 6 characters long or more')
129 127
130 128 def test_register_err_username(self):
131 129 response = self.app.post(url(controller='login', action='register'),
@@ -137,11 +135,11 b' class TestLoginController(TestController'
137 135 'lastname':'test'})
138 136
139 137 self.assertEqual(response.status , '200 OK')
140 assert 'An email address must contain a single @' in response.body
141 assert ('Username may only contain '
138 response.mustcontain('An email address must contain a single @')
139 response.mustcontain('Username may only contain '
142 140 'alphanumeric characters underscores, '
143 141 'periods or dashes and must begin with '
144 'alphanumeric character') in response.body
142 'alphanumeric character')
145 143
146 144 def test_register_err_case_sensitive(self):
147 145 response = self.app.post(url(controller='login', action='register'),
@@ -156,8 +154,6 b' class TestLoginController(TestController'
156 154 self.assertTrue('An email address must contain a single @' in response.body)
157 155 self.assertTrue('This username already exists' in response.body)
158 156
159
160
161 157 def test_register_special_chars(self):
162 158 response = self.app.post(url(controller='login', action='register'),
163 159 {'username':'xxxaxn',
@@ -170,7 +166,6 b' class TestLoginController(TestController'
170 166 self.assertEqual(response.status , '200 OK')
171 167 self.assertTrue('Invalid characters in password' in response.body)
172 168
173
174 169 def test_register_password_mismatch(self):
175 170 response = self.app.post(url(controller='login', action='register'),
176 171 {'username':'xs',
@@ -181,7 +176,7 b' class TestLoginController(TestController'
181 176 'lastname':'test'})
182 177
183 178 self.assertEqual(response.status , '200 OK')
184 assert 'Passwords do not match' in response.body
179 response.mustcontain('Passwords do not match')
185 180
186 181 def test_register_ok(self):
187 182 username = 'test_regular4'
@@ -196,23 +191,27 b' class TestLoginController(TestController'
196 191 'password_confirmation':password,
197 192 'email':email,
198 193 'name':name,
199 'lastname':lastname})
194 'lastname':lastname,
195 'admin':True}) # This should be overriden
200 196 self.assertEqual(response.status , '302 Found')
201 assert 'You have successfully registered into rhodecode' in response.session['flash'][0], 'No flash message about user registration'
197 self.checkSessionFlash(response, 'You have successfully registered into rhodecode')
202 198
203 199 ret = self.Session.query(User).filter(User.username == 'test_regular4').one()
204 assert ret.username == username , 'field mismatch %s %s' % (ret.username, username)
205 assert check_password(password, ret.password) == True , 'password mismatch'
206 assert ret.email == email , 'field mismatch %s %s' % (ret.email, email)
207 assert ret.name == name , 'field mismatch %s %s' % (ret.name, name)
208 assert ret.lastname == lastname , 'field mismatch %s %s' % (ret.lastname, lastname)
209
200 self.assertEqual(ret.username, username)
201 self.assertEqual(check_password(password, ret.password), True)
202 self.assertEqual(ret.email, email)
203 self.assertEqual(ret.name, name)
204 self.assertEqual(ret.lastname, lastname)
205 self.assertNotEqual(ret.api_key, None)
206 self.assertEqual(ret.admin, False)
210 207
211 208 def test_forgot_password_wrong_mail(self):
212 response = self.app.post(url(controller='login', action='password_reset'),
213 {'email':'marcin@wrongmail.org', })
209 response = self.app.post(
210 url(controller='login', action='password_reset'),
211 {'email': 'marcin@wrongmail.org',}
212 )
214 213
215 assert "This e-mail address doesn't exist" in response.body, 'Missing error message about wrong email'
214 response.mustcontain("This e-mail address doesn't exist")
216 215
217 216 def test_forgot_password(self):
218 217 response = self.app.get(url(controller='login',
General Comments 0
You need to be logged in to leave comments. Login now