change standard info for auth
[soledad-perf.git] / soledad_sync.py
1 import os
2 from leap.soledad.client.api import Soledad
3 from twisted.internet import defer
4
5 # EDIT THIS TO MATCH YOUR TEST ENVIRONMENT -------------
6 UUID = '1234567890abcdef'
7 #HOST = 'http://futeisha:2323'
8 HOST = 'http://localhost:2424'
9 NUM_DOCS = 100
10 PAYLOAD = '/tmp/payload'
11 # ------------------------------------------------------
12
13
14
15 DO_THESEUS = os.environ.get('THESEUS', False)
16
17
18 def _get_soledad_instance_from_uuid(uuid, passphrase, basedir, server_url,
19                                     cert_file, token):
20     secrets_path = os.path.join(basedir, '%s.secret' % uuid)
21     local_db_path = os.path.join(basedir, '%s.db' % uuid)
22     return Soledad(
23         uuid,
24         unicode(passphrase),
25         secrets_path=secrets_path,
26         local_db_path=local_db_path,
27         server_url=server_url,
28         cert_file=cert_file,
29         auth_token=token,
30         defer_encryption=True,
31         syncable=True)
32
33
34 def onSyncDone(result):
35     print "SYNC DONE!", result
36
37
38 def upload_soledad_stuff():
39
40     with open(PAYLOAD, 'r') as f:
41         payload = f.read()
42
43     if DO_THESEUS:
44         from theseus import Tracer
45         t = Tracer()
46         t.install()
47
48     s = _get_soledad_instance_from_uuid(
49         UUID, 'pass', '/tmp/soledadsync', HOST, '', 'an-auth-token')
50
51     def do_sync(_):
52         d = s.sync()
53         d.addCallback(onSyncDone)
54         return d
55
56     def stop_tracing(_):
57         if DO_THESEUS:
58             with open('callgrind.theseus', 'wb') as outfile:
59                 t.write_data(outfile)
60             print "STOPPED TRACING, DUMPED IN CALLGRIND.THESEUS<<<<"
61
62     cd = []
63     for i in range(NUM_DOCS):
64         cd.append(s.create_doc({'payload': payload}))
65     d1 = defer.gatherResults(cd)
66
67
68
69     # XXX comment out to nuke out the actual sync
70     #d1.addCallback(do_sync)
71     d1.addCallback(stop_tracing)
72
73
74     return d1