Exemple #1
0
def test_policy_should_grant_delete_for_available_fields():
    account = mock.Mock()
    entity = mock.Mock()
    grant = Grant(account, Delete, entity, Available)
    rule = mock.MagicMock(return_value=grant)
    entity.__acl__ = (rule,)
    policy = Policy(None, None)
    policy.grant_delete(account, entity)
    rule.assert_called_once_with(account, Delete, entity, Available)
Exemple #2
0
def test_policy_should_grant_update_for_specified_fields():
    account = mock.Mock()
    entity = mock.Mock()
    fields = Fields('one', 'two', 'six')
    grant = Grant(account, Update, entity, fields)
    rule = mock.MagicMock(return_value=grant)
    entity.__acl__ = (rule,)
    fields = ('one', 'two', 'six')
    policy = Policy(None, None)
    policy.grant_update(account, entity, fields)
    assert rule.call_args[0][:-1] == (account, Update, entity)
    assert rule.call_args[0][-1] in Fields(*fields)
Exemple #3
0
def test_policy_should_grant_query_for_specified_fields(db):
    account = mock.Mock()
    fields = Fields('one', 'two', 'six')
    grant = Grant(account, Query, MyModel, fields)
    rule = mock.MagicMock(return_value=grant)
    MyModel.__acl__ = (rule,)
    kw = {'one': 1, 'two': 2, 'six': 6}
    policy = Policy(db, None)
    policy.grant_query(account, MyModel, kw)
    c_principal, c_action, c_target, c_fields = rule.call_args[0]
    assert c_principal == account
    assert c_action == Query
    assert isinstance(c_target, MyModel)
    assert c_fields in Fields(*fields)