summaryrefslogtreecommitdiff
path: root/testing/tests/responsiveness/test_responsiveness.py
diff options
context:
space:
mode:
authordrebs <drebs@leap.se>2017-07-27 17:12:04 -0300
committerVictor Shyba <victor1984@riseup.net>2017-09-11 16:24:30 -0300
commit99cffc7388d53f9aaf5b8890401ba8ddc5b29178 (patch)
treef98282d0818ebe048b49ffc0112a1843305497a2 /testing/tests/responsiveness/test_responsiveness.py
parent70aa789c94b0dcced535cee86243e2dd4113b28a (diff)
[benchmarks] add responsiveness test with watchdog
Diffstat (limited to 'testing/tests/responsiveness/test_responsiveness.py')
-rw-r--r--testing/tests/responsiveness/test_responsiveness.py50
1 files changed, 50 insertions, 0 deletions
diff --git a/testing/tests/responsiveness/test_responsiveness.py b/testing/tests/responsiveness/test_responsiveness.py
new file mode 100644
index 00000000..c8844d94
--- /dev/null
+++ b/testing/tests/responsiveness/test_responsiveness.py
@@ -0,0 +1,50 @@
+import pytest
+
+from twisted.internet import defer
+
+
+@pytest.inlineCallbacks
+def load_up(client, amount, payload):
+ # create a bunch of local documents
+ deferreds = []
+ for i in xrange(amount):
+ deferreds.append(client.create_doc({'content': payload}))
+ yield defer.gatherResults(deferreds)
+
+
+def create_upload(amount, size):
+
+ @pytest.mark.responsiveness
+ @pytest.inlineCallbacks
+ def _test(soledad_client, payload, watchdog):
+
+ client = soledad_client()
+ yield load_up(client, amount, payload(size))
+ yield watchdog(lambda: client.sync())
+
+ return _test
+
+
+test_responsiveness_upload_10_1000k = create_upload(10, 1000 * 1000)
+test_responsiveness_upload_100_100k = create_upload(100, 100 * 1000)
+test_responsiveness_upload_1000_10k = create_upload(1000, 10 * 1000)
+
+
+def create_download(downloads, size):
+
+ @pytest.mark.responsiveness
+ @pytest.inlineCallbacks
+ def _test(soledad_client, payload, watchdog):
+ client = soledad_client()
+ yield load_up(client, downloads, payload(size))
+ yield client.sync()
+
+ clean_client = soledad_client(force_fresh_db=True)
+ yield watchdog(clean_client.sync)
+
+ return _test
+
+
+test_responsiveness_download_10_1000k = create_download(10, 1000 * 1000)
+test_responsiveness_download_100_100k = create_download(100, 100 * 1000)
+test_responsiveness_download_1000_10k = create_download(1000, 10 * 1000)