summaryrefslogtreecommitdiff
path: root/testing
diff options
context:
space:
mode:
authorVictor Shyba <victor1984@riseup.net>2017-03-27 22:02:43 -0300
committerdrebs <drebs@leap.se>2017-04-10 12:51:24 +0200
commit93fa3fe830b188f3a135fd85ac593bde2c755c2e (patch)
treed0c155804e7b23f0d53f69760b4742947f05008f /testing
parenta95a015564b8704de4cbf55f6c7439fbecd457c4 (diff)
[refactor] use fixed rev and remove doc_id (blobs)
doc_id wasn't being stored, loaded or used anywhere except for authentication. This commit removes it and uses a fixed value for rev since blobs is supposed to be immutable. - Resolves: #8813
Diffstat (limited to 'testing')
-rw-r--r--testing/tests/blobs/test_blobs.py12
-rw-r--r--testing/tests/blobs/test_local_backend.py27
-rw-r--r--testing/tests/server/test_blobs_server.py13
3 files changed, 22 insertions, 30 deletions
diff --git a/testing/tests/blobs/test_blobs.py b/testing/tests/blobs/test_blobs.py
index 8dd3abbe..c99cc572 100644
--- a/testing/tests/blobs/test_blobs.py
+++ b/testing/tests/blobs/test_blobs.py
@@ -19,7 +19,7 @@ Tests for blobs handling.
"""
from twisted.trial import unittest
from twisted.internet import defer
-from leap.soledad.client._blobs import DecrypterBuffer, BlobManager
+from leap.soledad.client._blobs import DecrypterBuffer, BlobManager, FIXED_REV
from leap.soledad.client import _crypto
from io import BytesIO
from mock import Mock
@@ -28,8 +28,8 @@ from mock import Mock
class BlobTestCase(unittest.TestCase):
class doc_info:
- doc_id = 'D-deadbeef'
- rev = '397932e0c77f45fcb7c3732930e7e9b2:1'
+ doc_id = 'D-BLOB-ID'
+ rev = FIXED_REV
def setUp(self):
self.cleartext = BytesIO('rosa de foc')
@@ -42,9 +42,8 @@ class BlobTestCase(unittest.TestCase):
@defer.inlineCallbacks
def test_decrypt_buffer(self):
encrypted = (yield self.blob.encrypt()).getvalue()
- doc_id, rev = self.doc_info.doc_id, self.doc_info.rev
tag = encrypted[-16:]
- buf = DecrypterBuffer(doc_id, rev, self.secret, tag)
+ buf = DecrypterBuffer(self.doc_info.doc_id, self.secret, tag)
buf.write(encrypted)
fd, size = buf.close()
self.assertEquals(fd.getvalue(), 'rosa de foc')
@@ -63,7 +62,6 @@ class BlobTestCase(unittest.TestCase):
defer.returnValue(Mock(code=200))
manager = BlobManager('', '', self.secret, self.secret, 'user')
- doc_id, rev = self.doc_info.doc_id, self.doc_info.rev
fd = BytesIO('up and up')
manager._client.put = _check_result
- yield manager._encrypt_and_upload('blob_id', doc_id, rev, fd)
+ yield manager._encrypt_and_upload(self.doc_info.doc_id, fd)
diff --git a/testing/tests/blobs/test_local_backend.py b/testing/tests/blobs/test_local_backend.py
index 80696553..5bfece8f 100644
--- a/testing/tests/blobs/test_local_backend.py
+++ b/testing/tests/blobs/test_local_backend.py
@@ -19,7 +19,7 @@ Tests for sqlcipher backend on blobs client.
"""
from twisted.trial import unittest
from twisted.internet import defer
-from leap.soledad.client._blobs import BlobManager, BlobDoc
+from leap.soledad.client._blobs import BlobManager, BlobDoc, FIXED_REV
from io import BytesIO
from mock import Mock
import pytest
@@ -30,7 +30,7 @@ class BlobManagerTestCase(unittest.TestCase):
class doc_info:
doc_id = 'D-deadbeef'
- rev = '397932e0c77f45fcb7c3732930e7e9b2:1'
+ rev = FIXED_REV
def setUp(self):
self.cleartext = BytesIO('rosa de foc')
@@ -45,10 +45,10 @@ class BlobManagerTestCase(unittest.TestCase):
@pytest.mark.usefixtures("method_tmpdir")
def test_get_inexistent(self):
self.manager._download_and_decrypt = Mock(return_value=None)
- args = ('inexistent_blob_id', 'inexistent_doc_id', 'inexistent_rev')
- result = yield self.manager.get(*args)
+ bad_blob_id = 'inexsistent_id'
+ result = yield self.manager.get(bad_blob_id)
self.assertIsNone(result)
- self.manager._download_and_decrypt.assert_called_once_with(*args)
+ self.manager._download_and_decrypt.assert_called_once_with(bad_blob_id)
@defer.inlineCallbacks
@pytest.mark.usefixtures("method_tmpdir")
@@ -57,8 +57,7 @@ class BlobManagerTestCase(unittest.TestCase):
msg = "It's me, M4r10!"
yield self.manager.local.put('myblob_id', BytesIO(msg),
size=len(msg))
- args = ('myblob_id', 'mydoc_id', 'cool_rev')
- result = yield self.manager.get(*args)
+ result = yield self.manager.get('myblob_id')
self.assertEquals(result.getvalue(), msg)
self.assertNot(self.manager._download_and_decrypt.called)
@@ -67,8 +66,7 @@ class BlobManagerTestCase(unittest.TestCase):
def test_put_stores_on_local_db(self):
self.manager._encrypt_and_upload = Mock(return_value=None)
msg = "Hey Joe"
- doc = BlobDoc('mydoc_id', 'mydoc_rev', BytesIO(msg),
- blob_id='myblob_id')
+ doc = BlobDoc(BytesIO(msg), blob_id='myblob_id')
yield self.manager.put(doc, size=len(msg))
result = yield self.manager.local.get('myblob_id')
self.assertEquals(result.getvalue(), msg)
@@ -83,10 +81,9 @@ class BlobManagerTestCase(unittest.TestCase):
tmpfile = os.tmpfile()
tmpfile.write(msg)
tmpfile.seek(0)
- doc = BlobDoc('mydoc_id', 'mydoc_rev', tmpfile,
- blob_id='myblob_id')
+ doc = BlobDoc(tmpfile, 'myblob_id')
yield self.manager.put(doc, size=len(msg))
- result = yield self.manager.get(doc.blob_id, doc.doc_id, doc.rev)
+ result = yield self.manager.get(doc.blob_id)
self.assertEquals(result.getvalue(), msg)
self.assertTrue(self.manager._encrypt_and_upload.called)
self.assertFalse(self.manager._download_and_decrypt.called)
@@ -96,11 +93,9 @@ class BlobManagerTestCase(unittest.TestCase):
def test_local_list_blobs(self):
self.manager._encrypt_and_upload = Mock(return_value=None)
msg = "1337"
- doc = BlobDoc('mydoc_id', 'mydoc_rev', BytesIO(msg),
- blob_id='myblob_id')
+ doc = BlobDoc(BytesIO(msg), 'myblob_id')
yield self.manager.put(doc, size=len(msg))
- doc2 = BlobDoc('mydoc_id2', 'mydoc_rev2', BytesIO(msg),
- blob_id='myblob_id2')
+ doc2 = BlobDoc(BytesIO(msg), 'myblob_id2')
yield self.manager.put(doc2, size=len(msg))
blobs_list = yield self.manager.local_list()
diff --git a/testing/tests/server/test_blobs_server.py b/testing/tests/server/test_blobs_server.py
index 96037ea2..a0306504 100644
--- a/testing/tests/server/test_blobs_server.py
+++ b/testing/tests/server/test_blobs_server.py
@@ -46,9 +46,8 @@ class BlobServerTestCase(unittest.TestCase):
manager = BlobManager('', self.uri, self.secret,
self.secret, 'user')
fd = BytesIO("save me")
- yield manager._encrypt_and_upload('blob_id', 'mydoc', '1', fd)
- blob, size = yield manager._download_and_decrypt('blob_id',
- 'mydoc', '1')
+ yield manager._encrypt_and_upload('blob_id', fd)
+ blob, size = yield manager._download_and_decrypt('blob_id')
self.assertEquals(blob.getvalue(), "save me")
@defer.inlineCallbacks
@@ -56,8 +55,8 @@ class BlobServerTestCase(unittest.TestCase):
def test_upload_changes_remote_list(self):
manager = BlobManager('', self.uri, self.secret,
self.secret, 'user')
- yield manager._encrypt_and_upload('blob_id1', '1', '1', BytesIO("1"))
- yield manager._encrypt_and_upload('blob_id2', '2', '2', BytesIO("2"))
+ yield manager._encrypt_and_upload('blob_id1', BytesIO("1"))
+ yield manager._encrypt_and_upload('blob_id2', BytesIO("2"))
blobs_list = yield manager.remote_list()
self.assertEquals(set(['blob_id1', 'blob_id2']), set(blobs_list))
@@ -67,7 +66,7 @@ class BlobServerTestCase(unittest.TestCase):
manager = BlobManager('', self.uri, self.secret,
self.secret, 'user')
fd = BytesIO("save me")
- yield manager._encrypt_and_upload('blob_id', 'mydoc', '1', fd)
+ yield manager._encrypt_and_upload('blob_id', fd)
fd = BytesIO("save me")
with pytest.raises(BlobAlreadyExistsError):
- yield manager._encrypt_and_upload('blob_id', 'mydoc', '1', fd)
+ yield manager._encrypt_and_upload('blob_id', fd)