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())
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())
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())
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]))
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)
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)
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)
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)
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)
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)
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)
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)
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))
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))
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)
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)
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)
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)
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)
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)
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)
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)
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)
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())
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())
def test_register_without_password(self): e = '*****@*****.**' with capture_signals() as mocks: self.register(e, password='') self.assertEqual(mocks.signals_sent(), set())
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())
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())
def test_send_confirmation_bad_email(self): with capture_signals() as mocks: self._post('/confirm', data=dict(email='*****@*****.**')) self.assertEqual(mocks.signals_sent(), set())