예제 #1
0
def test_model_url():
    with admin_only_urls():
        with pytest.raises(NoModelUrl):
            get_model_url(Counter)  # That's silly!
        p = Product()
        p.pk = 3
        assert get_model_url(p)
예제 #2
0
파일: test_urls.py 프로젝트: zarlant/shuup
def test_model_url_with_permissions():
    permissions = set(
        ["shuup.add_product", "shuup.delete_product", "shuup.change_product"])
    p = Product()
    p.pk = 3

    # If no user is given, don't check for permissions
    assert get_model_url(p)

    # If a user is given and no permissions are provided, check for default model permissions
    user = StaffUser()
    with pytest.raises(NoModelUrl):
        assert get_model_url(p, user=user)

    # If a user is given and permissions are provided, check for those permissions
    assert get_model_url(p, user=user, required_permissions=())
    with pytest.raises(NoModelUrl):
        assert get_model_url(p,
                             user=user,
                             required_permissions=["shuup.add_product"])

    # Confirm that url is returned with correct permissions
    user.permissions = permissions
    assert get_model_url(p, user=user)
    assert get_model_url(p, user=user, required_permissions=permissions)
예제 #3
0
def test_model_url():
    with admin_only_urls():
        with pytest.raises(NoModelUrl):
            get_model_url(Counter)  # That's silly!
        p = Product()
        p.pk = 3
        assert get_model_url(p)
예제 #4
0
def test_model_url_with_permissions():
    permissions = set(["shuup.add_product", "shuup.delete_product", "shuup.change_product"])
    p = Product()
    p.pk = 3

    # If no user is given, don't check for permissions
    assert get_model_url(p)

    # If a user is given and no permissions are provided, check for default model permissions
    user = StaffUser()
    with pytest.raises(NoModelUrl):
        assert get_model_url(p, user=user)

    # If a user is given and permissions are provided, check for those permissions
    assert get_model_url(p, user=user, required_permissions=())
    with pytest.raises(NoModelUrl):
        assert get_model_url(p, user=user, required_permissions=["shuup.add_product"])

    # Confirm that url is returned with correct permissions
    user.permissions = permissions
    assert get_model_url(p, user=user)
    assert get_model_url(p, user=user, required_permissions=permissions)