Exemple #1
0
 def test_reset_password(self):
     with capture_reset_password_requests() as requests:
         self.client.post('/reset',
                          data=dict(email='*****@*****.**'),
                          follow_redirects=True)
         token = requests[0]['token']
     r = self._get('/reset/' + token)
     self.assertIn("My Reset Password Submit Field", r.data)
Exemple #2
0
 def test_reset_view(self):
     with capture_reset_password_requests() as requests:
         r = self.client.post('/reset',
                              data=dict(email='*****@*****.**'),
                              follow_redirects=True)
         t = requests[0]['token']
     r = self._get('/reset/' + t)
     self.assertIn('<h1>Reset password</h1>', r.data)
Exemple #3
0
    def test_reset_password_with_expired_token(self):
        with capture_reset_password_requests() as requests:
            r = self.client.post('/reset',
                                 data=dict(email='*****@*****.**'),
                                 follow_redirects=True)
            t = requests[0]['token']

        time.sleep(1)

        r = self.client.post('/reset/' + t, data={
            'password': '******',
            'password_confirm': 'newpassword'
        }, follow_redirects=True)

        self.assertIn('You did not reset your password within', r.data)
Exemple #4
0
    def test_reset_password_with_valid_token(self):
        with capture_reset_password_requests() as requests:
            r = self.client.post('/reset',
                                 data=dict(email='*****@*****.**'),
                                 follow_redirects=True)
            t = requests[0]['token']

        r = self._post('/reset/' + t, data={
            'password': '******',
            'password_confirm': 'newpassword'
        }, follow_redirects=True)

        r = self.logout()
        r = self.authenticate('*****@*****.**', 'newpassword')
        self.assertIn('Hello [email protected]', r.data)
Exemple #5
0
 def test_reset_password(self):
     with capture_reset_password_requests() as requests:
         self.client.post('/reset',
                              data=dict(email='*****@*****.**'),
                              follow_redirects=True)
         token = requests[0]['token']
     with capture_signals() as mocks:
         self.client.post('/reset/' + token,
                          data=dict(password='******',
                                    password_confirm='newpassword'),
                          follow_redirects=True)
     self.assertEqual(mocks.signals_sent(), set([password_reset]))
     user = self.app.security.datastore.find_user(email='*****@*****.**')
     calls = mocks[password_reset]
     self.assertEqual(len(calls), 1)
     args, kwargs = calls[0]
     self.assertTrue(compare_user(args[0], user))
     self.assertEqual(kwargs['app'], self.app)
Exemple #6
0
 def test_forgot_post_sends_email(self):
     with capture_reset_password_requests():
         with self.app.extensions['mail'].record_messages() as outbox:
             self.client.post('/reset', data=dict(email='*****@*****.**'))
             self.assertEqual(len(outbox), 1)