Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAleksey Lim <alsroot@sugarlabs.org>2012-09-09 08:43:49 (GMT)
committer Aleksey Lim <alsroot@sugarlabs.org>2012-09-09 08:43:49 (GMT)
commitd73653d991efb45f91c201bafdb6a0a569cbad3b (patch)
tree09fc946563b80e84b39e49450256de8ed30bb32d
parent1cd7d43c44972624a0f11ca17fd1579585bb9f4d (diff)
Fix forbidden access to deleted documents
-rw-r--r--active_document/volume.py1
-rwxr-xr-xtests/units/volume.py7
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):