summaryrefslogtreecommitdiff
path: root/testing/tests/benchmarks/test_sqlcipher.py
diff options
context:
space:
mode:
authordrebs <drebs@leap.se>2016-12-22 18:02:54 -0200
committerdrebs <drebs@leap.se>2016-12-22 18:02:54 -0200
commitad8a7dbb3773f57d0305dd208e3ec5b1de4cb806 (patch)
tree95574528030f48c14a37377ba8e5bf0bab0f9a20 /testing/tests/benchmarks/test_sqlcipher.py
parentb0c55796a34ca449706776158bea45df0aa4da83 (diff)
parente360a3a75999503cf45bfbbad69970a452cf3d32 (diff)
Merge tag '0.9.2' into debian/platform-0.9
Tag version 0.9.2
Diffstat (limited to 'testing/tests/benchmarks/test_sqlcipher.py')
-rw-r--r--testing/tests/benchmarks/test_sqlcipher.py38
1 files changed, 38 insertions, 0 deletions
diff --git a/testing/tests/benchmarks/test_sqlcipher.py b/testing/tests/benchmarks/test_sqlcipher.py
new file mode 100644
index 00000000..39c9e3ad
--- /dev/null
+++ b/testing/tests/benchmarks/test_sqlcipher.py
@@ -0,0 +1,38 @@
+'''
+Tests SoledadClient/SQLCipher interaction
+'''
+import pytest
+
+from twisted.internet.defer import gatherResults
+
+
+def load_up(client, amount, payload, defer=True):
+ results = [client.create_doc({'content': payload}) for _ in xrange(amount)]
+ if defer:
+ return gatherResults(results)
+
+
+def build_test_sqlcipher_async_create(amount, size):
+ @pytest.inlineCallbacks
+ @pytest.mark.benchmark(group="test_sqlcipher_async_create")
+ def test(soledad_client, txbenchmark, payload):
+ client = soledad_client()
+ yield txbenchmark(load_up, client, amount, payload(size))
+ return test
+
+
+def build_test_sqlcipher_create(amount, size):
+ @pytest.mark.benchmark(group="test_sqlcipher_create")
+ def test(soledad_client, benchmark, payload):
+ client = soledad_client()._dbsyncer
+ benchmark(load_up, client, amount, payload(size), defer=False)
+ return test
+
+
+test_async_create_20_500k = build_test_sqlcipher_async_create(20, 500 * 1000)
+test_async_create_100_100k = build_test_sqlcipher_async_create(100, 100 * 1000)
+test_async_create_1000_10k = build_test_sqlcipher_async_create(1000, 10 * 1000)
+# synchronous
+test_create_20_500k = build_test_sqlcipher_create(20, 500 * 1000)
+test_create_100_100k = build_test_sqlcipher_create(100, 100 * 1000)
+test_create_1000_10k = build_test_sqlcipher_create(1000, 10 * 1000)