Beispiel #1
0
 def test_magic_acl(self):
     obj = acl.BaseACL('req')
     obj._collection_acl = [(1, 2, 3)]
     obj._apply_callables = Mock()
     result = obj.__acl__()
     obj._apply_callables.assert_called_once_with(acl=[(1, 2, 3)], )
     assert result == obj._apply_callables()
Beispiel #2
0
 def test_apply_callables_functional(self):
     obj = acl.BaseACL('req')
     principal = lambda ace, request, obj: [(Allow, Everyone, 'view')]
     new_acl = obj._apply_callables(
         acl=[(Deny, principal, ALL_PERMISSIONS)],
     )
     assert new_acl == ((Allow, Everyone, ['view']),)
Beispiel #3
0
 def test_magic_getitem_db_based(self):
     obj = acl.BaseACL('req')
     obj.item_db_id = Mock(return_value=42)
     obj.item_model = Mock()
     obj.item_model.pk_field.return_value = 'id'
     obj.es_based = False
     obj.__getitem__(1)
     obj.item_db_id.assert_called_once_with(1)
Beispiel #4
0
 def test_magic_getitem_es_based(self):
     obj = acl.BaseACL('req')
     obj.item_db_id = Mock(return_value=42)
     obj.getitem_es = Mock()
     obj.es_based = True
     obj.__getitem__(1)
     obj.item_db_id.assert_called_once_with(1)
     obj.getitem_es.assert_called_once_with(42)
Beispiel #5
0
 def test_item_acl(self):
     obj = acl.BaseACL('req')
     obj._item_acl = [(1, 2, 3)]
     obj._apply_callables = Mock()
     result = obj.item_acl('foobar')
     obj._apply_callables.assert_called_once_with(acl=[(1, 2, 3)],
                                                  obj='foobar')
     assert result == obj._apply_callables()
Beispiel #6
0
 def test_apply_callables_principal_returns_list(self, mock_meth):
     mock_meth.return_value = '123'
     principal = Mock(return_value=[(7, 8, 9)])
     obj = acl.BaseACL('req')
     new_acl = obj._apply_callables(acl=[('foo', principal, 'bar')],
                                    obj='obj')
     assert new_acl == ((7, 8, '123'), )
     principal.assert_called_once_with(ace=('foo', principal, 'bar'),
                                       request='req',
                                       obj='obj')
     mock_meth.assert_called_once_with(9)
Beispiel #7
0
 def test_getitem_es(self, mock_es):
     found_obj = Mock()
     es_obj = Mock()
     es_obj.get_item.return_value = found_obj
     mock_es.return_value = es_obj
     obj = acl.BaseACL('req')
     obj.item_model = Mock(__name__='Foo')
     obj.item_model.pk_field.return_value = 'myname'
     obj.item_acl = Mock()
     value = obj.getitem_es(key='varvar')
     mock_es.assert_called_with('Foo')
     es_obj.get_item.assert_called_once_with(id='varvar')
     obj.item_acl.assert_called_once_with(found_obj)
     assert value.__acl__ == obj.item_acl()
     assert value.__parent__ is obj
     assert value.__name__ == 'varvar'
Beispiel #8
0
 def test_apply_callables_no_callables(self):
     obj = acl.BaseACL('req')
     new_acl = obj._apply_callables(acl=[('foo', 'bar', 'baz')], obj='obj')
     assert new_acl == (('foo', 'bar', 'baz'), )
Beispiel #9
0
 def test_init(self):
     obj = acl.BaseACL(request='Foo')
     assert obj.item_model is None
     assert obj._collection_acl == (acl.ALLOW_ALL, )
     assert obj._item_acl == (acl.ALLOW_ALL, )
     assert obj.request == 'Foo'