diff options
author | Victor Shyba <victor1984@riseup.net> | 2017-05-01 23:35:01 -0300 |
---|---|---|
committer | Victor Shyba <victor1984@riseup.net> | 2017-05-01 23:35:01 -0300 |
commit | 03617fc9378b9f8cf6fec77bd53c573131ade75b (patch) | |
tree | 77d421b47da7ae95217d4ed8271198c52247f0ea | |
parent | aba7274ed5682335bd91d94d5b122db440872378 (diff) |
[feature] delete method on blob sqlcipher backend
- Related: #8846
-rw-r--r-- | client/src/leap/soledad/client/_database/blobs.py | 4 | ||||
-rw-r--r-- | testing/tests/blobs/test_sqlcipher_client_backend.py | 11 |
2 files changed, 15 insertions, 0 deletions
diff --git a/client/src/leap/soledad/client/_database/blobs.py b/client/src/leap/soledad/client/_database/blobs.py index 79404bf3..4976fe4d 100644 --- a/client/src/leap/soledad/client/_database/blobs.py +++ b/client/src/leap/soledad/client/_database/blobs.py @@ -359,6 +359,10 @@ class SQLiteBlobBackend(object): result = yield self.dbpool.runQuery(query, (blob_id,)) defer.returnValue(bool(len(result))) + def delete(self, blob_id): + query = 'DELETE FROM blobs WHERE blob_id = ?' + return self.dbpool.runQuery(query, (blob_id,)) + def _init_blob_table(conn): maybe_create = ( diff --git a/testing/tests/blobs/test_sqlcipher_client_backend.py b/testing/tests/blobs/test_sqlcipher_client_backend.py index 865a64e1..45488a9e 100644 --- a/testing/tests/blobs/test_sqlcipher_client_backend.py +++ b/testing/tests/blobs/test_sqlcipher_client_backend.py @@ -51,6 +51,17 @@ class SQLBackendTestCase(unittest.TestCase): @defer.inlineCallbacks @pytest.mark.usefixtures("method_tmpdir") + def test_delete(self): + blob_id = 'blob_id' + content = "x" + yield self.local.put(blob_id, BytesIO(content), len(content)) + yield self.local.put('remains', BytesIO(content), len(content)) + yield self.local.delete(blob_id) + self.assertFalse((yield self.local.exists(blob_id))) + self.assertTrue((yield self.local.exists('remains'))) + + @defer.inlineCallbacks + @pytest.mark.usefixtures("method_tmpdir") def test_list(self): blob_ids = [('blob_id%s' % i) for i in range(10)] content = "x" |