From 1d4f43570345fc644b42a96dfd70cd72435f55fd Mon Sep 17 00:00:00 2001 From: Victor Shyba Date: Sat, 11 Nov 2017 01:48:16 -0300 Subject: [feature] support unsynced local_only blobs Adds the ability to have document that wont be synced. This enables applications to use soledad to store temporary blobs that should be discarded later instead of unnecessarily keeping the sync loop busy. -- Resolves: #8819 --- tests/blobs/test_blob_manager.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'tests/blobs/test_blob_manager.py') diff --git a/tests/blobs/test_blob_manager.py b/tests/blobs/test_blob_manager.py index 58f99790..c7bbb0d3 100644 --- a/tests/blobs/test_blob_manager.py +++ b/tests/blobs/test_blob_manager.py @@ -81,6 +81,19 @@ class BlobManagerTestCase(unittest.TestCase): self.assertEquals(result.getvalue(), msg) self.assertTrue(self.manager._encrypt_and_upload.called) + @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 + doc = BlobDoc(BytesIO(msg), blob_id=blob_id) + yield self.manager.put(doc, size=len(msg), local_only=True) + result = yield self.manager.local.get(blob_id) + status, _ = yield self.manager.local.get_sync_status(blob_id) + self.assertEquals(result.getvalue(), msg) + self.assertEquals(status, SyncStatus.LOCAL_ONLY) + self.assertFalse(self.manager._encrypt_and_upload.called) + @defer.inlineCallbacks @pytest.mark.usefixtures("method_tmpdir") def test_put_then_get_using_real_file_descriptor(self): -- cgit v1.2.3