def test_load_file():
    store = Permissions()
    store.load(open('fixtures/permissions.yaml', 'r'))

    assert store.authorize('access-content', 'x', 'universe') is False
    assert store.authorize('access-content', 'x', 'community') is False
    assert store.authorize('access-content', 'x', 'board') is False
    assert store.authorize('access-content', 'leader', 'universe') is True
    assert store.authorize('access-content', 'leader', 'community') is True
    assert store.authorize('access-content', 'leader', 'board') is True

    assert store.authorize('manage-content', 'member', 'universe') is False
    assert store.authorize('manage-content', 'member', 'community') is False
    assert store.authorize('manage-content', 'member', 'board') is False
    assert store.authorize('manage-content', 'leader', 'universe') is True
    assert store.authorize('manage-content', 'leader', 'community') is True
    assert store.authorize('manage-content', 'leader', 'board') is True

    assert store.authorize('manage-identities', 'leader', 'member') is False
    assert store.authorize('manage-identities', 'leader', 'leader') is False
    assert store.authorize('manage-identities', 'leader', 'support') is False
    assert store.authorize('manage-identities', 'leader', 'robot') is False
    assert store.authorize('manage-identities', 'support', 'member') is True
    assert store.authorize('manage-identities', 'support', 'leader') is True
    assert store.authorize('manage-identities', 'support', 'support') is False
    assert store.authorize('manage-identities', 'support', 'robot') is True

    assert store.authorize('manage-identities', 'leader',
                           'update-any-to-registered') is True
    assert store.authorize('manage-identities', 'leader',
                           'update-any-to-leader') is True
    assert store.authorize('manage-identities', 'leader',
                           'update-any-to-support') is False
    assert store.authorize('manage-identities', 'leader',
                           'update-any- to-robot') is False
Esempio n. 2
0
def refresh_auth(update, *_):
    Permissions.load()