def test_invalid_confirmation_token(self): """ Tests that confirmation tokens fail, when the wrong user is given another user's token """ u1 = User(username='******', password='******') u2 = User(username='******', password='******') db.session.add(u1, u2) db.session.commit() u1_token = u1.generate_confirmation_token() u2_token = u2.generate_confirmation_token() self.assertFalse(u2.confirm(u1_token)) self.assertFalse(u1.confirm(u2_token)) self.assertFalse(u1.confirm(None))
def test_user_is_confirmed(self): u = User(password='******') db.session.add(u) db.session.commit() token = u.generate_confirmation_token() self.assertTrue(u.confirm(token)) self.assertTrue(u.confirmed)
def test_expired_confirmation_token(self): u = User(password='******') db.session.add(u) db.session.commit() token = u.generate_confirmation_token(1) time.sleep(2) self.assertFalse(u.confirm(token))
def test_invalid_confirmation_token(self): u1 = User(password='******') u2 = User(password='******') db.session.add(u1) db.session.add(u2) db.session.commit() token = u1.generate_confirmation_token() self.assertFalse(u2.confirm(token))
def test_valid_confirmation_token(self): """ Tests whether confirmation sent to newly registered user is valid This test should pass, because it tests the token against the user itself (actually it checks that the id is the the same one as the user's id.) """ u = User(username='******', password='******') db.session.add(u) db.session.commit() token = u.generate_confirmation_token() self.assertTrue(u.confirm(token))
def test_confirmation_tokens(self): """Test User.generate_confirmation_token and User.confirm""" steve = TestModels.create_steve() alan = User(email='*****@*****.**', first_name='Alan', last_name='Smith', password='******') db.session.add(steve) db.session.add(alan) db.session.commit() # generate ids for steve and alan token = steve.generate_confirmation_token() self.assertTrue(steve.confirm(token)) self.assertFalse(alan.confirm(token)) self.assertTrue(steve.is_confirmed) self.assertFalse(alan.is_confirmed)
def test_expired_confirmation_token(self): """ Tests that confirmation tokens fail, when out of date. """ u1 = User(username='******', password='******') db.session.add(u1) db.session.commit() # Creates a confirmation token with expiration # time of 1 second. token = u1.generate_confirmation_token(1) # Wait for 2 seconds to ensure token will be # expired time.sleep(2) self.assertFalse(u1.confirm(token))