diff options
author | Aleksey Lim <alsroot@sugarlabs.org> | 2012-09-09 08:43:49 (GMT) |
---|---|---|
committer | Aleksey Lim <alsroot@sugarlabs.org> | 2012-09-09 08:43:49 (GMT) |
commit | d73653d991efb45f91c201bafdb6a0a569cbad3b (patch) | |
tree | 09fc946563b80e84b39e49450256de8ed30bb32d | |
parent | 1cd7d43c44972624a0f11ca17fd1579585bb9f4d (diff) |
Fix forbidden access to deleted documents
-rw-r--r-- | active_document/volume.py | 1 | ||||
-rwxr-xr-x | tests/units/volume.py | 7 |
2 files changed, 8 insertions, 0 deletions
diff --git a/active_document/volume.py b/active_document/volume.py index d4166de..b63751f 100644 --- a/active_document/volume.py +++ b/active_document/volume.py @@ -169,6 +169,7 @@ class VolumeCommands(CommandsProcessor): if 'deleted' in layer: _logger.warning('Requesting "deleted" layer') layer.remove('deleted') + kwargs['layer'] = layer documents, total = directory.find(offset=offset, limit=limit, query=query, reply=reply, order_by=order_by, group_by=group_by, diff --git a/tests/units/volume.py b/tests/units/volume.py index 992f125..d4e0836 100755 --- a/tests/units/volume.py +++ b/tests/units/volume.py @@ -628,6 +628,13 @@ class VolumeTest(tests.Test): events) del events[:] + def test_DeletedDocuments(self): + directory = self.volume['testdocument'] + guid = directory.create({'layer': 'deleted'}) + + self.assertRaises(env.NotFound, self.call, 'GET', document='testdocument', guid=guid) + self.assertEqual([], self.call('GET', document='testdocument')['result']) + def call(self, method, document=None, guid=None, prop=None, accept_language=None, **kwargs): |