From c3d079de4675b0fceca130ed3c6b8890ec28d873 Mon Sep 17 00:00:00 2001 From: Victor Shyba Date: Mon, 27 Nov 2017 13:05:33 -0300 Subject: [feature] adds a stream downloader First version, still missing consumer/producer model and some tweaks, but working. -- Related: #8809 --- tests/server/test_blobs_server.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'tests') diff --git a/tests/server/test_blobs_server.py b/tests/server/test_blobs_server.py index eabf3ee7..5a895ddc 100644 --- a/tests/server/test_blobs_server.py +++ b/tests/server/test_blobs_server.py @@ -236,6 +236,26 @@ class BlobServerTestCase(unittest.TestCase): blobs_list = yield manager.remote_list() self.assertEquals(['blob_id2'], blobs_list) + @defer.inlineCallbacks + @pytest.mark.usefixtures("method_tmpdir") + def test_downstream_from_namespace(self): + manager = BlobManager(self.tempdir, self.uri, self.secret, + self.secret, uuid4().hex, + remote_stream=self.stream_uri) + self.addCleanup(manager.close) + namespace, blob_id, content = 'incoming', 'blob_id1', 'test' + yield manager._encrypt_and_upload(blob_id, BytesIO(content), + namespace=namespace) + blob_id2, content2 = 'blob_id2', 'second test' + yield manager._encrypt_and_upload(blob_id2, BytesIO(content2), + namespace=namespace) + blobs_list = [blob_id, blob_id2] + yield manager._downstream(blobs_list, namespace) + result = yield manager.local.get(blob_id, namespace) + self.assertEquals(content, result.getvalue()) + result = yield manager.local.get(blob_id2, namespace) + self.assertEquals(content2, result.getvalue()) + @defer.inlineCallbacks @pytest.mark.usefixtures("method_tmpdir") def test_download_from_namespace(self): -- cgit v1.2.3