def test_is_friend(self): user = User(username="******", email="*****@*****.**") db.session.add(user) assert user.get_following().count() == 0 user2 = User(username="******", email="*****@*****.**") db.session.add(user2) db.session.commit() assert not user.is_friend(user2) assert not user2.is_friend(user) user.follow(user2) db.session.commit() assert not user.is_friend(user2) assert not user2.is_friend(user) user2.follow(user) assert user.is_friend(user2) assert user2.is_friend(user)
def test_restricted(self): db.session.delete(self.post) user = User(username="******", email="*****@*****.**") db.session.add(user) user2 = User(username="******", email="*****@*****.**") db.session.add(user2) db.session.commit() admin = User(username="******", email="*****@*****.**", role=User.MODERATOR) assert user.id post = Post(title="test", author=user, access=Post.PRIVATE) db.session.add(post) db.session.commit() posts = Post.query.restricted(user) assert Post.query.restricted(user).count() == 1 assert Post.query.restricted(admin).count() == 1 assert Post.query.restricted(None).count() == 0 assert Post.query.restricted(user2).count() == 0 post.access = Post.PUBLIC db.session.commit() posts = Post.query.restricted(user) assert Post.query.restricted(user).count() == 1 assert Post.query.restricted(admin).count() == 1 assert Post.query.restricted(None).count() == 1 assert Post.query.restricted(user2).count() == 1 post.access = Post.FRIENDS db.session.commit() assert Post.query.restricted(user).count() == 1 assert Post.query.restricted(admin).count() == 1 assert Post.query.restricted(None).count() == 0 assert Post.query.restricted(user2).count() == 0 user2.follow(user) user.follow(user2) db.session.commit() assert Post.query.restricted(user2).count() == 1
def test_unfollow(self): user = User(username="******", email="*****@*****.**") db.session.add(user) assert user.get_following().count() == 0 user2 = User(username="******", email="*****@*****.**") db.session.add(user2) assert user2.get_followers().count() == 0 db.session.commit() user.follow(user2) db.session.commit() assert user.get_following().count() == 1 assert user.get_following().first().id == user2.id assert user2.get_followers().count() == 1 assert user2.get_followers().first().id == user.id user.unfollow(user2) db.session.commit() assert user.get_following().count() == 0 assert user2.get_followers().count() == 0
def test_can_receive_mail(self): user = User(username="******", email="*****@*****.**") db.session.add(user) assert user.get_following().count() == 0 user2 = User(username="******", email="*****@*****.**") db.session.add(user2) db.session.commit() id1 = Identity(user.id) id2 = Identity(user2.id) id1.provides.update(user.provides) id2.provides.update(user2.provides) assert not user.permissions.send_message.allows(id2) assert not user2.permissions.send_message.allows(id1) user.follow(user2) db.session.commit() del user.permissions del user2.permissions assert not user.permissions.send_message.allows(id2) assert not user2.permissions.send_message.allows(id1) user2.follow(user) user.receive_email = True del user.permissions del user2.permissions assert user.permissions.send_message.allows(id2) assert not user2.permissions.send_message.allows(id1) user2.receive_email = True del user.permissions del user2.permissions assert user.permissions.send_message.allows(id2) assert user2.permissions.send_message.allows(id1) user.unfollow(user2) del user.permissions del user2.permissions assert not user.permissions.send_message.allows(id2) assert not user2.permissions.send_message.allows(id1)
def test_restricted(self): db.session.delete(self.post) db.session.delete(self.comment) user = User(username="******", email="*****@*****.**") db.session.add(user) user2 = User(username="******", email="*****@*****.**") db.session.add(user2) db.session.commit() admin = User(username="******", email="*****@*****.**", role=User.MODERATOR) post = Post(title="test", author=user, access=Post.PRIVATE) db.session.add(post) db.session.commit() comment = Comment(author=user, post=post, comment="test") db.session.add(comment) db.session.commit() assert Comment.query.restricted(user).count() == 1 assert Comment.query.restricted(admin).count() == 1 assert Comment.query.restricted(None).count() == 0 assert Comment.query.restricted(user2).count() == 0 post.access = Post.PUBLIC db.session.commit() posts = Post.query.restricted(user) assert Comment.query.restricted(user).count() == 1 assert Comment.query.restricted(admin).count() == 1 assert Comment.query.restricted(None).count() == 1 assert Comment.query.restricted(user2).count() == 1 post.access = Post.FRIENDS db.session.commit() assert Comment.query.restricted(user).count() == 1 assert Comment.query.restricted(admin).count() == 1 assert Comment.query.restricted(None).count() == 0 assert Comment.query.restricted(user2).count() == 0 user2.follow(user) user.follow(user2) db.session.commit() assert Comment.query.restricted(user2).count() == 1
def test_can_access(self): user = User(username="******", email="*****@*****.**") db.session.add(user) user2 = User(username="******", email="*****@*****.**") db.session.add(user2) db.session.commit() admin = User(username="******", email="*****@*****.**", role=User.MODERATOR) post = Post(title="test", author_id=user.id, access=Post.PRIVATE) assert post.can_access(user) assert post.can_access(admin) assert not post.can_access(user2) assert not post.can_access(None) post.access = Post.PUBLIC assert post.can_access(user) assert post.can_access(admin) assert post.can_access(user2) assert post.can_access(None) post.access = Post.FRIENDS assert post.can_access(user) assert post.can_access(admin) assert not post.can_access(user2) assert not post.can_access(None) user.follow(user2) user2.follow(user) assert post.can_access(user2)
def test_get_friends(self): user = User(username="******", email="*****@*****.**") db.session.add(user) assert user.get_friends().count() == 0 user2 = User(username="******", email="*****@*****.**") db.session.add(user2) assert user2.get_friends().count() == 0 db.session.commit() assert not user.is_friend(user2) assert not user2.is_friend(user) assert user.get_friends().count() == 0 assert user2.get_friends().count() == 0 user.follow(user2) db.session.commit() assert not user.is_friend(user2) assert not user2.is_friend(user) assert user.get_friends().count() == 0 assert user2.get_friends().count() == 0 user2.follow(user) assert user.is_friend(user2) assert user2.is_friend(user) assert user.get_friends().count() == 1 assert user2.get_friends().count() == 1 assert user.get_friends().first().id == user2.id assert user2.get_friends().first().id == user.id