Beispiel #1
0
    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)
Beispiel #2
0
    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
Beispiel #3
0
    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)
Beispiel #4
0
    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
Beispiel #5
0
    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
Beispiel #6
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)
Beispiel #7
0
    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
Beispiel #8
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)
Beispiel #9
0
    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)
Beispiel #10
0
    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
Beispiel #11
0
    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)
Beispiel #12
0
    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