def test_create_user(self): Role.insert_roles() user1 = User(username="******", password="******", email="*****@*****.**") self.assertEqual(user1.role.permissions, Permission.TIPPER) db.session.add(user1) user2 = User(username="******", password="******", email="*****@*****.**") self.assertEqual(user2.role.permissions, Permission.TIPPER) db.session.add(user2) db.session.commit() users = User.query.all() self.assertEqual(len(users), 2) '''
def test_register_user_password_missing(self): ''' test invalid register password missing ''' Role.insert_roles() User.insert_users() response = self.client.get(url_for('main.register')) self.assertEqual(response.status_code, 200) response = self.client.post(url_for('main.register'), data={ "email": "invalid", "username": "******" }) self.assertEqual(response.status_code, 200) self.assertIn(b"Password is required.", response.data) self.client.get("/") self.assertIsNone(g.user)
def test_login_user_invalid(self): ''' test invalid login ''' Role.insert_roles() User.insert_users() response = self.client.get(url_for('main.login')) self.assertEqual(response.status_code, 200) response = self.client.post("/login", data={ "username": "******", "password": "******" }) self.assertEqual(response.status_code, 200) self.assertIn(b"Invalid username/password", response.data) self.client.get("/") self.assertIsNone(g.user)
def test_add_to_db(self): admin = Role(name="admin", permissions=Permission.ADMINISTER) db.session.add(admin) db.session.commit() roles = Role.query.all() self.assertEqual(len(roles), 1)
def test_register_user_already_existing(self): ''' test invalid register already exiting ''' Role.insert_roles() User.insert_users() response = self.client.get(url_for('main.register')) self.assertEqual(response.status_code, 200) response = self.client.post(url_for('main.register'), data={ "password": "******", "email": "invalid", "username": "******" }) self.assertEqual(response.status_code, 200) self.assertIn(b"User user1 is already registered.", response.data) self.client.get("/") self.assertIsNone(g.user)
def test_login_user_valid(self): ''' test valid login ''' Role.insert_roles() User.insert_users() response = self.client.get(url_for('main.login')) self.assertEqual(response.status_code, 200) response = self.client.post("/login", data={ "username": "******", "password": "******" }, follow_redirects=True) self.assertEqual(response.status_code, 200) self.assertIsNotNone(g.user) ''' logout ''' self.client.get(url_for('main.logout'), follow_redirects=True) self.assertIsNone(g.user)
def test_full_permissions(self): tipper = Role(name="tipper", permissions=Permission.ADMINISTER) self.assertEqual(tipper.permissions, Permission.ADMINISTER)
def test_default_permissions(self): tipper = Role(name="tipper") self.assertEqual(tipper.permissions, Permission.TIPPER)