def test_login(self): """ Checks log in and log out functionality :return: """ u = User(email='*****@*****.**', password='******') db.session.add(u) db.session.commit() login_user(u) test_u = User.query.filter_by(email='*****@*****.**').first() self.assertEqual(u.id, int(current_user.get_id())) logout_user() self.assertIsNone(current_user.get_id())
def test_roles_and_permissions(self): u = User(email='*****@*****.**', password='******') self.assertTrue(u.can(Permission.VIEW_CATALOG)) self.assertFalse(u.can(Permission.MODERATE_CONTENT)) self.assertFalse(u.can(Permission.ADMINISTER))
def test_password_salts_are_random(self): u1 = User(password='******') u2 = User(password='******') self.assertFalse(u1.password_hash == u2.password_hash)
def test_password_verification(self): u = User(password='******') self.assertTrue(u.verify_password('cat')) self.assertFalse(u.verify_password('dog'))
def test_no_password_getter(self): u = User(password='******') with self.assertRaises(AttributeError): u.password
def test_password_setter(self): u = User(password='******') self.assertTrue(u.password_hash is not None)