Implemented datasette.permission_allowed(), refs #699

This commit is contained in:
Simon Willison 2020-05-30 15:24:43 -07:00
commit 9315bacf6f
5 changed files with 75 additions and 4 deletions

View file

@ -523,7 +523,19 @@ def test_actor_from_request_async(app_client):
assert {"id": "bot2", "1+1": 2} == app_client.ds._last_request.scope["actor"]
@pytest.mark.xfail
def test_permission_allowed(app_client):
# TODO
assert False
@pytest.mark.asyncio
@pytest.mark.parametrize(
"action,expected",
[
("this_is_allowed", True),
("this_is_denied", False),
("this_is_allowed_async", True),
("this_is_denied_async", False),
("no_match", None),
],
)
async def test_permission_allowed(app_client, action, expected):
actual = await app_client.ds.permission_allowed(
{"id": "actor"}, action, default=None
)
assert expected == actual