예제 #1
0
def test_put_instance_if_anonymous(req):

    req.method = 'PUT'
    req.user = AnonymousUser()

    perm = PostPermission()
    assert not perm.has_object_permission(req, mock.Mock(), Post())
예제 #2
0
def test_get_instance_if_authenticated(req):

    req.method = 'GET'
    req.user = User()

    perm = PostPermission()
    assert perm.has_object_permission(req, mock.Mock(), Post())
예제 #3
0
def test_post_if_authenticated(req):

    req.method = 'POST'
    req.user = User()

    perm = PostPermission()
    assert perm.has_permission(req, mock.Mock())
예제 #4
0
def test_post_if_anonymous(req):

    req.method = 'POST'
    req.user = AnonymousUser()

    perm = PostPermission()
    assert not perm.has_permission(req, mock.Mock())
예제 #5
0
def test_get_all_if_anonymous(req):

    req.method = 'GET'
    req.user = AnonymousUser()

    perm = PostPermission()
    assert perm.has_permission(req, mock.Mock())
예제 #6
0
def test_put_instance_if_authenticated_is_author(req):

    post = mixer.blend(Post)

    req.method = 'PUT'
    req.user = post.author

    perm = PostPermission()
    assert perm.has_object_permission(req, mock.Mock(), post)
예제 #7
0
def test_put_instance_if_authenticated_not_author(req):

    req.method = 'PUT'
    req.user = User()

    post = mixer.blend(Post)

    perm = PostPermission()
    assert not perm.has_object_permission(req, mock.Mock(), post)