本文整理汇总了Python中nefertari.wrappers.apply_privacy函数的典型用法代码示例。如果您正苦于以下问题:Python apply_privacy函数的具体用法?Python apply_privacy怎么用?Python apply_privacy使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了apply_privacy函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: test_simple_call_with_nested
def test_simple_call_with_nested(self, mock_eng):
document_cls = Mock(
_public_fields=['name', 'desc'],
_auth_fields=['id', 'creator'],
_hidden_fields=[])
mock_eng.get_document_cls.return_value = document_cls
request = Mock(user=Mock())
data = {
'id': 1,
'_type': 'foo1',
'username': 'admin',
'creator': {
'id': 2,
'_type': 'foo2',
'creator': 'foo',
'address': 'adsasd',
}
}
filtered = wrappers.apply_privacy(request)(
result=data, is_admin=False)
assert filtered == {
'_type': 'foo1',
'id': 1,
'creator': {
'_type': 'foo2',
'creator': 'foo',
'id': 2
}
}
开发者ID:mbijon,项目名称:nefertari,代码行数:30,代码来源:test_wrappers.py
示例2: test_apply_privacy_item_no_document_cls
def test_apply_privacy_item_no_document_cls(self, mock_eng):
mock_eng.get_document_cls.side_effect = ValueError
request = Mock(user=Mock())
filtered = wrappers.apply_privacy(request)(
result=self.model_test_data, is_admin=True)
assert list(sorted(filtered.keys())) == [
'_type', 'desc', 'id', 'name', 'other_field', 'self']
开发者ID:karthikmm,项目名称:nefertari,代码行数:7,代码来源:test_wrappers.py
示例3: test_apply_privacy_item_no_request
def test_apply_privacy_item_no_request(self, mock_eng):
document_cls = Mock(
_public_fields=['name', 'desc'],
_auth_fields=['id'])
mock_eng.get_document_cls.return_value = document_cls
filtered = wrappers.apply_privacy(None)(result=self.model_test_data)
assert list(sorted(filtered.keys())) == [
'_type', 'desc', 'id', 'name', 'other_field', 'self']
开发者ID:karthikmm,项目名称:nefertari,代码行数:8,代码来源:test_wrappers.py
示例4: setup_default_wrappers
def setup_default_wrappers(self):
""" Setup defaulf wrappers.
Wrappers are applied when view method does not return instance
of Response. In this case nefertari renderers call wrappers and
handle response generation.
Note: It's important for `add_etag` wrapper be applied before
`apply_privacy` as later may remove response data that
is used to generate etag
"""
# Index
self._after_calls['index'] = [
wrappers.wrap_in_dict(self.request),
wrappers.add_meta(self.request),
wrappers.add_object_url(self.request),
wrappers.add_etag(self.request),
]
# Show
self._after_calls['show'] = [
wrappers.wrap_in_dict(self.request),
wrappers.add_meta(self.request),
wrappers.add_object_url(self.request),
]
# Create
self._after_calls['create'] = [
wrappers.wrap_in_dict(self.request),
wrappers.add_meta(self.request),
wrappers.add_object_url(self.request),
]
# Update
self._after_calls['update'] = [
wrappers.wrap_in_dict(self.request),
wrappers.add_meta(self.request),
wrappers.add_object_url(self.request),
]
# Replace
self._after_calls['replace'] = [
wrappers.wrap_in_dict(self.request),
wrappers.add_meta(self.request),
wrappers.add_object_url(self.request),
]
# Privacy wrappers
if self._auth_enabled:
for meth in ('index', 'show', 'create', 'update', 'replace'):
self._after_calls[meth] += [
wrappers.apply_privacy(self.request),
]
for meth in ('update', 'replace', 'update_many'):
self._before_calls[meth] += [
wrappers.apply_request_privacy(
self.Model, self._json_params),
]
开发者ID:mbijon,项目名称:nefertari,代码行数:58,代码来源:view.py
示例5: test_apply_privacy_item_no_fields
def test_apply_privacy_item_no_fields(self, mock_eng):
document_cls = Mock(
_public_fields=['name', 'desc'],
_auth_fields=[])
mock_eng.get_document_cls.return_value = document_cls
request = Mock(user=Mock())
filtered = wrappers.apply_privacy(request)(
result=self.model_test_data, is_admin=False)
assert list(sorted(filtered.keys())) == ['_type', 'self']
开发者ID:karthikmm,项目名称:nefertari,代码行数:9,代码来源:test_wrappers.py
示例6: test_item_non_auth
def test_item_non_auth(self, mock_eng):
document_cls = Mock(
_public_fields=['name', 'desc'],
_auth_fields=['id'],
_hidden_fields=[])
mock_eng.get_document_cls.return_value = document_cls
request = Mock(user=None)
filtered = wrappers.apply_privacy(request)(result=self.model_test_data)
assert list(sorted(filtered.keys())) == [
'_pk', '_self', '_type', 'desc', 'name']
开发者ID:mbijon,项目名称:nefertari,代码行数:10,代码来源:test_wrappers.py
示例7: test_collection
def test_collection(self, mock_eng):
document_cls = Mock(_public_fields=["name", "desc"], _auth_fields=["id"], _hidden_fields=[])
mock_eng.get_document_cls.return_value = document_cls
request = Mock(user=Mock())
result = {"total": 1, "count": 1, "data": [self.model_test_data]}
filtered = wrappers.apply_privacy(request)(result=result, is_admin=False)
assert list(sorted(filtered.keys())) == ["count", "data", "total"]
assert len(filtered["data"]) == 1
data = filtered["data"][0]
assert list(sorted(data.keys())) == ["_pk", "_self", "_type", "id"]
开发者ID:geniusproject,项目名称:nefertari,代码行数:10,代码来源:test_wrappers.py
示例8: test_no_type
def test_no_type(self, mock_eng):
data = self.model_test_data.copy()
data.pop("_type")
request = Mock(user=Mock())
filtered = wrappers.apply_privacy(request)(result=data, is_admin=True)
assert list(sorted(filtered.keys())) == ["_pk", "_self", "desc", "id", "name", "other_field"]
filtered["desc"] == "User 1 data"
filtered["id"] == 1
filtered["name"] == "User1"
filtered["other_field"] == 123
filtered["_self"] == "http://example.com/1"
assert not mock_eng.get_document_cls.called
开发者ID:geniusproject,项目名称:nefertari,代码行数:12,代码来源:test_wrappers.py
示例9: test_item_auth_calculated
def test_item_auth_calculated(self, mock_eng):
document_cls = Mock(_public_fields=["name", "desc"], _auth_fields=["id"], _hidden_fields=[])
mock_eng.get_document_cls.return_value = document_cls
class User(object):
@classmethod
def is_admin(self, obj):
return False
request = Mock(user=User())
filtered = wrappers.apply_privacy(request)(result=self.model_test_data)
assert list(sorted(filtered.keys())) == ["_pk", "_self", "_type", "id"]
开发者ID:geniusproject,项目名称:nefertari,代码行数:12,代码来源:test_wrappers.py
示例10: test_hidden_fields_not_drop
def test_hidden_fields_not_drop(self, mock_eng):
document_cls = Mock(
_public_fields=['name', 'desc'],
_auth_fields=['id'],
_hidden_fields=['name'])
mock_eng.get_document_cls.return_value = document_cls
request = Mock(user=Mock())
filtered = wrappers.apply_privacy(request)(
result=self.model_test_data, is_admin=False,
drop_hidden=False)
assert list(sorted(filtered.keys())) == [
'_pk', '_self', '_type', 'id', 'name']
开发者ID:mbijon,项目名称:nefertari,代码行数:12,代码来源:test_wrappers.py
示例11: test_apply_nested_privacy_list
def test_apply_nested_privacy_list(self, mock_eng):
document_cls = Mock(_public_fields=["name", "desc"], _auth_fields=["id"], _hidden_fields=[])
mock_eng.get_document_cls.return_value = document_cls
request = Mock(user=Mock())
data = {"owner": [self.model_test_data]}
wrapper = wrappers.apply_privacy(request)
wrapper.is_admin = False
wrapper.drop_hidden = False
filtered = wrapper._apply_nested_privacy(data)
assert list(filtered.keys()) == ["owner"]
owner = filtered["owner"][0]
assert sorted(owner.keys()) == ["_pk", "_self", "_type", "id"]
开发者ID:geniusproject,项目名称:nefertari,代码行数:12,代码来源:test_wrappers.py
示例12: test_simple_call_with_nested
def test_simple_call_with_nested(self, mock_eng):
document_cls = Mock(_public_fields=["name", "desc"], _auth_fields=["id", "creator"], _hidden_fields=[])
mock_eng.get_document_cls.return_value = document_cls
request = Mock(user=Mock())
data = {
"id": 1,
"_type": "foo1",
"username": "admin",
"creator": {"id": 2, "_type": "foo2", "creator": "foo", "address": "adsasd"},
}
filtered = wrappers.apply_privacy(request)(result=data, is_admin=False)
assert filtered == {"_type": "foo1", "id": 1, "creator": {"_type": "foo2", "creator": "foo", "id": 2}}
开发者ID:geniusproject,项目名称:nefertari,代码行数:12,代码来源:test_wrappers.py
示例13: test_item_admin
def test_item_admin(self, mock_eng):
document_cls = Mock(_public_fields=["name", "desc"], _auth_fields=["id"], _hidden_fields=[])
mock_eng.get_document_cls.return_value = document_cls
request = Mock(user=Mock())
filtered = wrappers.apply_privacy(request)(result=self.model_test_data, is_admin=True)
assert list(sorted(filtered.keys())) == ["_pk", "_self", "_type", "desc", "id", "name", "other_field"]
filtered["_type"] == "foo"
filtered["desc"] == "User 1 data"
filtered["id"] == 1
filtered["name"] == "User1"
filtered["other_field"] == 123
filtered["_self"] == "http://example.com/1"
mock_eng.get_document_cls.assert_called_once_with("foo")
开发者ID:geniusproject,项目名称:nefertari,代码行数:13,代码来源:test_wrappers.py
示例14: test_apply_privacy_no_type
def test_apply_privacy_no_type(self, mock_eng):
data = self.model_test_data.copy()
data.pop('_type')
request = Mock(user=Mock())
filtered = wrappers.apply_privacy(request)(
result=data, is_admin=True)
assert list(sorted(filtered.keys())) == [
'desc', 'id', 'name', 'other_field', 'self']
filtered['desc'] == 'User 1 data'
filtered['id'] == 1
filtered['name'] == 'User1'
filtered['other_field'] == 123
filtered['self'] == 'http://example.com/1'
assert not mock_eng.get_document_cls.called
开发者ID:karthikmm,项目名称:nefertari,代码行数:14,代码来源:test_wrappers.py
示例15: test_apply_privacy_item_auth_calculated
def test_apply_privacy_item_auth_calculated(self, mock_eng):
document_cls = Mock(
_public_fields=['name', 'desc'],
_auth_fields=['id'])
mock_eng.get_document_cls.return_value = document_cls
class User(object):
@classmethod
def is_admin(self, obj):
return False
request = Mock(user=User())
filtered = wrappers.apply_privacy(request)(result=self.model_test_data)
assert list(sorted(filtered.keys())) == [
'_type', 'id', 'self']
开发者ID:karthikmm,项目名称:nefertari,代码行数:15,代码来源:test_wrappers.py
示例16: setup_default_wrappers
def setup_default_wrappers(self):
root_resource = getattr(self, 'root_resource', None)
auth_enabled = root_resource and root_resource.auth
self._after_calls['index'] = [
wrappers.wrap_in_dict(self.request),
wrappers.add_meta(self.request),
]
if auth_enabled:
self._after_calls['index'] += [
wrappers.apply_privacy(self.request),
]
self._after_calls['index'] += [
wrappers.add_etag(self.request),
]
self._after_calls['show'] = [
wrappers.wrap_in_dict(self.request),
wrappers.add_meta(self.request),
]
if auth_enabled:
self._after_calls['show'] += [
wrappers.apply_privacy(self.request),
]
self._after_calls['delete'] = [
wrappers.add_confirmation_url(self.request)
]
self._after_calls['delete_many'] = [
wrappers.add_confirmation_url(self.request)
]
self._after_calls['update_many'] = [
wrappers.add_confirmation_url(self.request)
]
开发者ID:karthikmm,项目名称:nefertari,代码行数:36,代码来源:view.py
示例17: test_apply_nested_privacy_list
def test_apply_nested_privacy_list(self, mock_eng):
document_cls = Mock(
_public_fields=['name', 'desc'],
_auth_fields=['id'],
_hidden_fields=[])
mock_eng.get_document_cls.return_value = document_cls
request = Mock(user=Mock())
data = {'owner': [self.model_test_data]}
wrapper = wrappers.apply_privacy(request)
wrapper.is_admin = False
wrapper.drop_hidden = False
filtered = wrapper._apply_nested_privacy(data)
assert list(filtered.keys()) == ['owner']
owner = filtered['owner'][0]
assert sorted(owner.keys()) == [
'_pk', '_self', '_type', 'id']
开发者ID:mbijon,项目名称:nefertari,代码行数:16,代码来源:test_wrappers.py
示例18: test_apply_privacy_item_admin
def test_apply_privacy_item_admin(self, mock_eng):
document_cls = Mock(
_public_fields=['name', 'desc'],
_auth_fields=['id'])
mock_eng.get_document_cls.return_value = document_cls
request = Mock(user=Mock())
filtered = wrappers.apply_privacy(request)(
result=self.model_test_data, is_admin=True)
assert list(sorted(filtered.keys())) == [
'_type', 'desc', 'id', 'name', 'other_field', 'self']
filtered['_type'] == 'foo'
filtered['desc'] == 'User 1 data'
filtered['id'] == 1
filtered['name'] == 'User1'
filtered['other_field'] == 123
filtered['self'] == 'http://example.com/1'
mock_eng.get_document_cls.assert_called_once_with('foo')
开发者ID:karthikmm,项目名称:nefertari,代码行数:17,代码来源:test_wrappers.py
示例19: __init__
def __init__(self, *args, **kwargs):
resource = kwargs.pop('resource', None)
encoder = kwargs.pop('encoder', None)
request = kwargs.pop('request', None)
super(JHTTPCreated, self).__init__(*args, **kwargs)
if resource and 'location' in kwargs:
resource['self'] = kwargs['location']
auth = request and request.registry._root_resources.values()[0].auth
if resource and auth:
wrapper = apply_privacy(request=request)
resource = wrapper(result=resource)
create_json_response(
self, data=resource,
encoder=encoder)
开发者ID:karthikmm,项目名称:nefertari,代码行数:17,代码来源:json_httpexceptions.py
示例20: test_apply_privacy_collection
def test_apply_privacy_collection(self, mock_eng):
document_cls = Mock(
_public_fields=['name', 'desc'],
_auth_fields=['id'])
mock_eng.get_document_cls.return_value = document_cls
request = Mock(user=Mock())
result = {
'total': 1,
'count': 1,
'data': [self.model_test_data]
}
filtered = wrappers.apply_privacy(request)(
result=result, is_admin=False)
assert list(sorted(filtered.keys())) == ['count', 'data', 'total']
assert len(filtered['data']) == 1
data = filtered['data'][0]
assert list(sorted(data.keys())) == ['_type', 'id', 'self']
开发者ID:karthikmm,项目名称:nefertari,代码行数:17,代码来源:test_wrappers.py
注:本文中的nefertari.wrappers.apply_privacy函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论