def test_grant_all(): scopes = ['alpha', 'beta', 'gamma'] items = [ dict(topic='with_list', personas=['a', 'b', 'c']), dict(topic='with_item', persona='a'), ] permissions = Permissions(authorized_scopes=scopes) for scope in scopes: # nothing is authorized assert permissions.authorize(scope, 'a', 'with_list') is False assert permissions.authorize(scope, 'b', 'with_list') is False assert permissions.authorize(scope, 'c', 'with_list') is False assert permissions.authorize(scope, 'x', 'with_list') is False assert permissions.authorize(scope, 'a', 'with_item') is False assert permissions.authorize(scope, 'x', 'with_item') is False for scope in scopes: # set permissions permissions.grant_all(scope, items) for scope in scopes: # some actions are authorized assert permissions.authorize(scope, 'a', 'with_list') is True assert permissions.authorize(scope, 'b', 'with_list') is True assert permissions.authorize(scope, 'c', 'with_list') is True assert permissions.authorize(scope, 'x', 'with_list') is False assert permissions.authorize(scope, 'a', 'with_item') is True assert permissions.authorize(scope, 'x', 'with_item') is False with py_raises(ValueError) as error: permissions.grant_all(scope='*alien*', items=items)