diff options
Diffstat (limited to 'tests/helpers/soledad_sync.py')
-rwxr-xr-x | tests/helpers/soledad_sync.py | 89 |
1 files changed, 0 insertions, 89 deletions
diff --git a/tests/helpers/soledad_sync.py b/tests/helpers/soledad_sync.py deleted file mode 100755 index f4fc81ae..00000000 --- a/tests/helpers/soledad_sync.py +++ /dev/null @@ -1,89 +0,0 @@ -#!/usr/bin/env python -""" -soledad_sync.py - -This script exercises soledad synchronization. -Its exit code is 0 if the sync took place correctly, 1 otherwise. - -It takes 5 arguments: - - uuid: uuid of the user to sync - token: a valid session token - server: the url of the soledad server we should connect to - cert_file: the file containing the certificate for the CA that signed the - cert for the soledad server. - password: the password for the user to sync - -__author__: kali@leap.se -""" -import os -import shutil -import sys -import tempfile - -# This is needed because the twisted shipped with wheezy is too old -# to do proper ssl verification. -os.environ['SKIP_TWISTED_SSL_CHECK'] = '1' - -from twisted.internet import defer, reactor -from twisted.python import log - -from client_side_db import get_soledad_instance -from leap.common.events import flags - -flags.set_events_enabled(False) - -NUMDOCS = 1 -USAGE = "Usage: %s uuid token server cert_file password" % sys.argv[0] - - -def bail(msg, exitcode): - print "[!] %s" % msg - sys.exit(exitcode) - - -def create_docs(soledad): - """ - Populates the soledad database with dummy messages, so we can exercise - sending payloads during the sync. - """ - deferreds = [] - for index in xrange(NUMDOCS): - deferreds.append(soledad.create_doc({'payload': 'dummy'})) - return defer.gatherResults(deferreds) - -# main program - -if __name__ == '__main__': - - tempdir = tempfile.mkdtemp() - - def rm_tempdir(): - shutil.rmtree(tempdir) - - if len(sys.argv) < 6: - bail(USAGE, 2) - - uuid, token, server, cert_file, passphrase = sys.argv[1:] - s = get_soledad_instance( - uuid, passphrase, tempdir, server, cert_file, token) - - def onSyncDone(sync_result): - print "SYNC_RESULT:", sync_result - s.close() - rm_tempdir() - reactor.stop() - - def log_and_exit(f): - log.err(f) - rm_tempdir() - reactor.stop() - - def start_sync(): - d = create_docs(s) - d.addCallback(lambda _: s.sync()) - d.addCallback(onSyncDone) - d.addErrback(log_and_exit) - - reactor.callWhenRunning(start_sync) - reactor.run() |