Beispiel #1
0
 def test_reset_password_invalid_token(self):
     with capture_signals() as mocks:
         self.client.post('/reset/bogus',
                          data=dict(password='******',
                                    password_confirm='newpassword'),
                          follow_redirects=True)
     self.assertEqual(mocks.signals_sent(), set())
Beispiel #2
0
 def test_confirm_bad_token(self):
     e = '*****@*****.**'
     with capture_registrations() as registrations:
         self.register(e)
         token = registrations[0]['confirm_token']
     with capture_signals() as mocks:
         self.client.get('/confirm/bogus', follow_redirects=True)
     self.assertEqual(mocks.signals_sent(), set())
Beispiel #3
0
 def test_confirm_twice(self):
     e = '*****@*****.**'
     with capture_registrations() as registrations:
         self.register(e)
         token = registrations[0]['confirm_token']
     self.client.get('/confirm/' + token, follow_redirects=True)
     self.logout()
     with capture_signals() as mocks:
         self.client.get('/confirm/' + token, follow_redirects=True)
     self.assertEqual(mocks.signals_sent(), set([user_confirmed]))
Beispiel #4
0
 def test_resend_confirmation(self):
     e = '*****@*****.**'
     self.register(e)
     with capture_signals() as mocks:
         self._post('/confirm', data={'email': e})
     user = self.app.security.datastore.find_user(email='*****@*****.**')
     self.assertEqual(mocks.signals_sent(), set([confirm_instructions_sent]))
     calls = mocks[confirm_instructions_sent]
     self.assertEqual(len(calls), 1)
     args, kwargs = calls[0]
     self.assertTrue(compare_user(args[0], user))
     self.assertEqual(kwargs['app'], self.app)
Beispiel #5
0
 def test_register(self):
     e = '*****@*****.**'
     with capture_signals() as mocks:
         self.register(e)
     user = self.app.security.datastore.find_user(email='*****@*****.**')
     self.assertEqual(mocks.signals_sent(), set([user_registered]))
     calls = mocks[user_registered]
     self.assertEqual(len(calls), 1)
     args, kwargs = calls[0]
     self.assertTrue(compare_user(args[0]['user'], user))
     self.assertIn('confirm_token', args[0])
     self.assertEqual(kwargs['app'], self.app)
Beispiel #6
0
 def test_reset_password_request(self):
     with capture_signals() as mocks:
         self.client.post('/reset',
                          data=dict(email='*****@*****.**'),
                          follow_redirects=True)
     self.assertEqual(mocks.signals_sent(), set([reset_password_instructions_sent]))
     user = self.app.security.datastore.find_user(email='*****@*****.**')
     calls = mocks[reset_password_instructions_sent]
     self.assertEqual(len(calls), 1)
     args, kwargs = calls[0]
     self.assertTrue(compare_user(args[0]['user'], user))
     self.assertIn('token', args[0])
     self.assertEqual(kwargs['app'], self.app)
Beispiel #7
0
 def test_confirm(self):
     e = '*****@*****.**'
     with capture_registrations() as registrations:
         self.register(e)
         token = registrations[0]['confirm_token']
     with capture_signals() as mocks:
         self.client.get('/confirm/' + token, follow_redirects=True)
     user = self.app.security.datastore.find_user(email='*****@*****.**')
     self.assertTrue(mocks.signals_sent(), set([user_confirmed]))
     calls = mocks[user_confirmed]
     self.assertEqual(len(calls), 1)
     args, kwargs = calls[0]
     self.assertEqual(args[0].id, user.id)
     self.assertEqual(kwargs['app'], self.app)
Beispiel #8
0
    def test_request_login_token_sends_email_and_can_login(self):
        e = '*****@*****.**'

        with capture_signals() as mocks:
            self.client.post('/login',
                             data=dict(email=e),
                             follow_redirects=True)
        self.assertEqual(mocks.signals_sent(), set([login_instructions_sent]))
        user = self.app.security.datastore.find_user(email='*****@*****.**')
        calls = mocks[login_instructions_sent]
        self.assertEqual(len(calls), 1)
        args, kwargs = calls[0]
        self.assertTrue(compare_user(args[0]['user'], user))
        self.assertIn('login_token', args[0])
        self.assertEqual(kwargs['app'], self.app)
Beispiel #9
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)
Beispiel #10
0
 def test_register(self):
     e = '*****@*****.**'
     with capture_signals() as mocks:
         self.register(e, password='')
     self.assertEqual(mocks.signals_sent(), set())
Beispiel #11
0
 def test_login_request_for_invalid_email(self):
     with capture_signals() as mocks:
         self.client.post('/login',
                          data=dict(email='*****@*****.**'),
                          follow_redirects=True)
     self.assertEqual(mocks.signals_sent(), set())
Beispiel #12
0
 def test_reset_password_invalid_emails(self):
     with capture_signals() as mocks:
         self.client.post('/reset',
                          data=dict(email='*****@*****.**'),
                          follow_redirects=True)
     self.assertEqual(mocks.signals_sent(), set())
Beispiel #13
0
 def test_send_confirmation_bad_email(self):
     with capture_signals() as mocks:
         self._post('/confirm', data=dict(email='*****@*****.**'))
     self.assertEqual(mocks.signals_sent(), set())