summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authordrebs <drebs@leap.se>2017-12-10 21:22:13 -0200
committerdrebs <drebs@leap.se>2017-12-12 13:46:53 -0200
commit5cd3883f9ba98f3e78a818988860da0071c9480b (patch)
treecb6c421775b0941665299d0d20029d00ab3d63d9 /tests
parent1c533260d94e03da59d46d507b1ed611fbae7011 (diff)
[bug] use namespace when uploading blobs
Diffstat (limited to 'tests')
-rw-r--r--tests/blobs/test_blob_manager.py23
-rw-r--r--tests/blobs/test_fs_backend.py13
2 files changed, 36 insertions, 0 deletions
diff --git a/tests/blobs/test_blob_manager.py b/tests/blobs/test_blob_manager.py
index 76ebcd03..761ede44 100644
--- a/tests/blobs/test_blob_manager.py
+++ b/tests/blobs/test_blob_manager.py
@@ -83,6 +83,29 @@ class BlobManagerTestCase(unittest.TestCase):
@defer.inlineCallbacks
@pytest.mark.usefixtures("method_tmpdir")
+ def test_put_stores_on_local_db_with_namespace(self):
+ self.manager._encrypt_and_upload = Mock(return_value=None)
+ self.manager._download_and_decrypt = Mock(return_value=None)
+ msg, blob_id = "Hey Joe", uuid4().hex
+ doc = BlobDoc(BytesIO(msg), blob_id=blob_id)
+
+ yield self.manager.put(doc, size=len(msg), namespace='custom')
+ self.assertTrue(self.manager._encrypt_and_upload.called)
+
+ arg1, arg2 = self.manager._encrypt_and_upload.call_args[0]
+ kwargs = self.manager._encrypt_and_upload.call_args[1]
+ self.assertEquals(arg1, blob_id)
+ self.assertTrue(isinstance(arg2, BytesIO))
+ self.assertEquals(kwargs, {'namespace': 'custom'})
+
+ result = yield self.manager.local.get(blob_id)
+ self.assertEquals(result, None)
+
+ result = yield self.manager.local.get(blob_id, namespace='custom')
+ self.assertEquals(result.getvalue(), msg)
+
+ @defer.inlineCallbacks
+ @pytest.mark.usefixtures("method_tmpdir")
def test_put_local_only_doesnt_send_to_server(self):
self.manager._encrypt_and_upload = Mock(return_value=None)
msg, blob_id = "Hey Joe", uuid4().hex
diff --git a/tests/blobs/test_fs_backend.py b/tests/blobs/test_fs_backend.py
index 94b628c4..da328dab 100644
--- a/tests/blobs/test_fs_backend.py
+++ b/tests/blobs/test_fs_backend.py
@@ -214,3 +214,16 @@ class FilesystemBackendTestCase(unittest.TestCase):
unlink_mock.assert_any_call(backend._get_path('user',
'blob_id',
'trash') + '.flags')
+
+ @pytest.mark.usefixtures("method_tmpdir")
+ @defer.inlineCallbacks
+ def test_write_blob_using_namespace(self):
+ backend = _blobs.FilesystemBlobsBackend(blobs_path=self.tempdir)
+ request = DummyRequest([''])
+ request.content = BytesIO('content')
+ yield backend.write_blob('user', 'blob_id', request,
+ namespace='custom')
+ default = yield backend.list_blobs('user', request)
+ custom = yield backend.list_blobs('user', request, namespace='custom')
+ self.assertEquals([], json.loads(default))
+ self.assertEquals(['blob_id'], json.loads(custom))