Ejemplo n.º 1
0
 def test_confirm_bad_token(self):
     e = '*****@*****.**'
     with capture_registrations():
         self.register(e)
     with capture_signals() as mocks:
         self.client.get('/confirm/bogus', follow_redirects=True)
     self.assertEqual(mocks.signals_sent(), set())
Ejemplo n.º 2
0
 def test_confirm_bad_token(self):
     e = '*****@*****.**'
     with capture_registrations():
         self.register(e)
     with capture_signals() as mocks:
         self.client.get('/confirm/bogus', follow_redirects=True)
     self.assertEqual(mocks.signals_sent(), set())
Ejemplo n.º 3
0
 def test_change_password_mismatch_password(self):
     with capture_signals() as mocks:
         self.client.post('/change',
                          data=dict(password='******',
                                    new_password='******',
                                    new_password_confirm='notnewpassword'),
                          follow_redirects=True)
     self.assertEqual(mocks.signals_sent(), set())
Ejemplo n.º 4
0
 def test_change_password_mismatch_password(self):
     with capture_signals() as mocks:
         self.client.post(
             "/change",
             data=dict(password="******", new_password="******", new_password_confirm="notnewpassword"),
             follow_redirects=True,
         )
     self.assertEqual(mocks.signals_sent(), set())
Ejemplo n.º 5
0
 def test_change_password_mismatch_password(self):
     with capture_signals() as mocks:
         self.client.post('/change',
                          data=dict(password='******',
                                    new_password='******',
                                    new_password_confirm='notnewpassword'),
                          follow_redirects=True)
     self.assertEqual(mocks.signals_sent(), set())
Ejemplo n.º 6
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]))
Ejemplo n.º 7
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]))
Ejemplo n.º 8
0
 def test_reset_password_request(self):
     with capture_signals() as mocks:
         self._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(kwargs["user"], user))
     self.assertIn("token", kwargs)
     self.assertEqual(args[0], self.app)
Ejemplo n.º 9
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(kwargs['user'], user))
     self.assertEqual(args[0], self.app)
Ejemplo n.º 10
0
 def test_reset_password_request(self):
     with capture_signals() as mocks:
         self._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(kwargs['user'], user))
     self.assertIn('token', kwargs)
     self.assertEqual(args[0], self.app)
Ejemplo n.º 11
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(kwargs["user"], user))
     self.assertIn("confirm_token", kwargs)
     self.assertEqual(args[0], self.app)
Ejemplo n.º 12
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(kwargs['user'], user))
     self.assertIn('confirm_token', kwargs)
     self.assertEqual(args[0], self.app)
Ejemplo n.º 13
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)
Ejemplo n.º 14
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)
Ejemplo n.º 15
0
 def test_reset_password_request(self):
     with capture_signals() as mocks:
         self._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)
Ejemplo n.º 16
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], self.app)
     self.assertTrue(compare_user(kwargs["user"], user))
Ejemplo n.º 17
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], self.app)
     self.assertTrue(compare_user(kwargs['user'], user))
Ejemplo n.º 18
0
    def test_request_login_token_sends_email_and_can_login(self):
        e = '*****@*****.**'

        with capture_signals() as mocks:
            self._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)
Ejemplo n.º 19
0
 def test_reset_password(self):
     with capture_reset_password_requests() as requests:
         self._post("/reset", data=dict(email="*****@*****.**"), follow_redirects=True)
         token = requests[0]["token"]
     with capture_signals() as mocks:
         data = dict(password="******", password_confirm="newpassword")
         self._post("/reset/" + token, data, 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(kwargs["user"], user))
     self.assertEqual(args[0], self.app)
Ejemplo n.º 20
0
    def test_request_login_token_sends_email_and_can_login(self):
        e = '*****@*****.**'

        with capture_signals() as mocks:
            self._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(kwargs['user'], user))
        self.assertIn('login_token', kwargs)
        self.assertEqual(args[0], self.app)
Ejemplo n.º 21
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)
Ejemplo n.º 22
0
 def test_reset_password(self):
     with capture_reset_password_requests() as requests:
         self._post('/reset', data=dict(email='*****@*****.**'),
                    follow_redirects=True)
         token = requests[0]['token']
     with capture_signals() as mocks:
         data = dict(password='******', password_confirm='newpassword')
         self._post('/reset/' + token, data, 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(kwargs['user'], user))
     self.assertEqual(args[0], self.app)
Ejemplo n.º 23
0
 def test_change_password(self):
     self.authenticate('*****@*****.**')
     with capture_signals() as mocks:
         with self.client as client:
             client.post('/change',
                         data=dict(password='******',
                                   new_password='******',
                                   new_password_confirm='newpassword'))
             self.assertEqual(mocks.signals_sent(), set([password_changed]))
             user = self.app.security.datastore.find_user(email='*****@*****.**')
             calls = mocks[password_changed]
             self.assertEqual(len(calls), 1)
             args, kwargs = calls[0]
             self.assertTrue(compare_user(args[0], user))
             self.assertEqual(kwargs['app'], self.app)
Ejemplo n.º 24
0
 def test_reset_password(self):
     with capture_reset_password_requests() as requests:
         self._post('/reset', data=dict(email='*****@*****.**'),
                    follow_redirects=True)
         token = requests[0]['token']
     with capture_signals() as mocks:
         data = dict(password='******', password_confirm='newpassword')
         self._post('/reset/' + token, data, 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)
Ejemplo n.º 25
0
 def test_change_password(self):
     self.authenticate('*****@*****.**')
     with capture_signals() as mocks:
         with self.client as client:
             client.post('/change',
                         data=dict(password='******',
                                   new_password='******',
                                   new_password_confirm='newpassword',
                                   csrf_token=self.csrf_token))
             self.assertEqual(mocks.signals_sent(), set([password_changed]))
             user = self.app.security.datastore.find_user(email='*****@*****.**')
             calls = mocks[password_changed]
             self.assertEqual(len(calls), 1)
             args, kwargs = calls[0]
             self.assertTrue(compare_user(args[0], user))
             self.assertEqual(kwargs['app'], self.app)
Ejemplo n.º 26
0
 def test_change_password(self):
     self.authenticate("*****@*****.**")
     with capture_signals() as mocks:
         with self.client as client:
             client.post(
                 "/change",
                 data=dict(
                     password="******",
                     new_password="******",
                     new_password_confirm="newpassword",
                     csrf_token=self.csrf_token,
                 ),
             )
             self.assertEqual(mocks.signals_sent(), set([password_changed]))
             user = self.app.security.datastore.find_user(email="*****@*****.**")
             calls = mocks[password_changed]
             self.assertEqual(len(calls), 1)
             args, kwargs = calls[0]
             self.assertTrue(compare_user(args[0], user))
             self.assertEqual(kwargs["app"], self.app)
Ejemplo n.º 27
0
 def test_login_request_for_inactive_user(self):
     with capture_signals() as mocks:
         self._post("/login", data=dict(email="*****@*****.**"), follow_redirects=True)
     self.assertEqual(mocks.signals_sent(), set())
Ejemplo n.º 28
0
 def test_reset_password_invalid_token(self):
     with capture_signals() as mocks:
         data = dict(password='******', password_confirm='newpassword')
         self._post('/reset/bogus', data, follow_redirects=True)
     self.assertEqual(mocks.signals_sent(), set())
Ejemplo n.º 29
0
 def test_register_without_password(self):
     e = '*****@*****.**'
     with capture_signals() as mocks:
         self.register(e, password='')
     self.assertEqual(mocks.signals_sent(), set())
Ejemplo n.º 30
0
 def test_login_request_for_invalid_email(self):
     with capture_signals() as mocks:
         self._post('/login',
                    data=dict(email='*****@*****.**'),
                    follow_redirects=True)
     self.assertEqual(mocks.signals_sent(), set())
Ejemplo n.º 31
0
 def test_register_without_password(self):
     e = '*****@*****.**'
     with capture_signals() as mocks:
         self.register(e, password='')
     self.assertEqual(mocks.signals_sent(), set())
Ejemplo n.º 32
0
 def test_login_request_for_invalid_email(self):
     with capture_signals() as mocks:
         self._post('/login', data=dict(email='*****@*****.**'),
                    follow_redirects=True)
     self.assertEqual(mocks.signals_sent(), set())
Ejemplo n.º 33
0
 def test_reset_password_invalid_token(self):
     with capture_signals() as mocks:
         data = dict(password='******', password_confirm='newpassword')
         self._post('/reset/bogus', data, follow_redirects=True)
     self.assertEqual(mocks.signals_sent(), set())
Ejemplo n.º 34
0
 def test_reset_password_invalid_emails(self):
     with capture_signals() as mocks:
         self._post('/reset', data=dict(email='*****@*****.**'),
                    follow_redirects=True)
     self.assertEqual(mocks.signals_sent(), set())
Ejemplo n.º 35
0
 def test_reset_password_invalid_emails(self):
     with capture_signals() as mocks:
         self._post('/reset',
                    data=dict(email='*****@*****.**'),
                    follow_redirects=True)
     self.assertEqual(mocks.signals_sent(), set())
Ejemplo n.º 36
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())
Ejemplo n.º 37
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())