def test_resetpassword_form_unknown_passcode(self): from ptahcrowd.resetpassword import ResetPasswordForm request = self.make_request(subpath=('unknown', )) form = ResetPasswordForm(None, request) res = form.update() msg = request.render_messages() self.assertIn("Passcode is invalid.", msg) self.assertEqual(res.headers['location'], 'http://example.com/resetpassword.html')
def test_resetpassword_form_update(self): from ptahcrowd.provider import CrowdUser from ptahcrowd.resetpassword import ResetPasswordForm user = CrowdUser(username='******', email='email') CrowdUser.__type__.add(user) passcode = ptah.pwd_tool.generate_passcode(user) request = self.make_request(subpath=(passcode, )) form = ResetPasswordForm(None, request) form.update_form() # self.assertEqual(form.title, user.name) self.assertEqual(form.passcode, passcode)
def test_resetpassword_form_change_errors(self): from ptahcrowd.provider import CrowdUser from ptahcrowd.resetpassword import ResetPasswordForm user = CrowdUser(username='******', email='email') CrowdUser.__type__.add(user) passcode = ptah.pwd_tool.generate_passcode(user) request = self.make_request(subpath=(passcode, ), POST={ 'password': '******', 'confirm_password': '******', 'form.buttons.change': 'Change' }) request.environ['HTTP_HOST'] = 'example.com' form = ResetPasswordForm(None, request) form.update_form() msg = request.render_messages() self.assertIn("Please fix indicated errors.", msg)
def test_resetpassword_form_change(self): from ptahcrowd.provider import CrowdUser from ptahcrowd.resetpassword import ResetPasswordForm user = CrowdUser(username='******', email='email') CrowdUser.__type__.add(user) passcode = ptah.pwd_tool.generate_passcode(user) request = self.make_request(subpath=(passcode, ), POST={ 'password': '******', 'confirm_password': '******', 'form.buttons.change': 'Change' }) request.environ['HTTP_HOST'] = 'example.com' form = ResetPasswordForm(None, request) res = form() msg = request.render_messages() self.assertIn("You have successfully changed your password.", msg) self.assertEqual(res.headers['location'], 'http://example.com') self.assertTrue(ptah.pwd_tool.check(user.password, '123456'))