| author | Sandro Knauß <knauss@netzguerilla.net> |
| Sun, 22 Jan 2012 02:38:25 +0100 | |
| branch | devel |
| changeset 105 | 48f2b8adc7da |
| parent 102 | 85ac86f7ffc4 |
| child 106 | d2992f011930 |
| permissions | -rw-r--r-- |
|
105
48f2b8adc7da
eigenständiger client datei für den xmlrpc test
Sandro Knauß <knauss@netzguerilla.net>
parents:
102
diff
changeset
|
1 |
from multiprocessing import Process |
|
95
3f41dfd7cb34
ausformulieren des xmlrpc Testes
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
2 |
from sqlalchemy import create_engine |
|
3f41dfd7cb34
ausformulieren des xmlrpc Testes
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
3 |
|
|
3f41dfd7cb34
ausformulieren des xmlrpc Testes
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
4 |
from tempfile import mkdtemp |
|
3f41dfd7cb34
ausformulieren des xmlrpc Testes
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
5 |
import shutil |
| 92 | 6 |
|
|
95
3f41dfd7cb34
ausformulieren des xmlrpc Testes
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
7 |
from iro.controller.database import createDatabase,WithSession, DBDefer |
|
3f41dfd7cb34
ausformulieren des xmlrpc Testes
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
8 |
import iro.controller.user as imuser |
|
3f41dfd7cb34
ausformulieren des xmlrpc Testes
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
9 |
import iro.controller.database as db |
|
3f41dfd7cb34
ausformulieren des xmlrpc Testes
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
10 |
|
|
3f41dfd7cb34
ausformulieren des xmlrpc Testes
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
11 |
from iro.model import User |
|
3f41dfd7cb34
ausformulieren des xmlrpc Testes
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
12 |
|
|
3f41dfd7cb34
ausformulieren des xmlrpc Testes
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
13 |
from ngdatabase.mysql import Server,createConfig,Database |
|
3f41dfd7cb34
ausformulieren des xmlrpc Testes
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
14 |
|
|
3f41dfd7cb34
ausformulieren des xmlrpc Testes
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
15 |
class SampleDatabase(Database): |
|
3f41dfd7cb34
ausformulieren des xmlrpc Testes
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
16 |
def createPassword(self): |
|
3f41dfd7cb34
ausformulieren des xmlrpc Testes
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
17 |
self.password="test" |
|
3f41dfd7cb34
ausformulieren des xmlrpc Testes
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
18 |
return self.password |
| 92 | 19 |
|
|
105
48f2b8adc7da
eigenständiger client datei für den xmlrpc test
Sandro Knauß <knauss@netzguerilla.net>
parents:
102
diff
changeset
|
20 |
from twisted.python import log |
| 92 | 21 |
import logging |
|
105
48f2b8adc7da
eigenständiger client datei für den xmlrpc test
Sandro Knauß <knauss@netzguerilla.net>
parents:
102
diff
changeset
|
22 |
logging.basicConfig(level=logging.INFO, format='%(asctime)s %(name)s(%(processName)s)-%(levelname)s: %(message)s') |
|
48f2b8adc7da
eigenständiger client datei für den xmlrpc test
Sandro Knauß <knauss@netzguerilla.net>
parents:
102
diff
changeset
|
23 |
#observer = log.PythonLoggingObserver() |
|
48f2b8adc7da
eigenständiger client datei für den xmlrpc test
Sandro Knauß <knauss@netzguerilla.net>
parents:
102
diff
changeset
|
24 |
#observer.start() |
|
95
3f41dfd7cb34
ausformulieren des xmlrpc Testes
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
25 |
|
|
3f41dfd7cb34
ausformulieren des xmlrpc Testes
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
26 |
def xxxxx(userid): |
|
3f41dfd7cb34
ausformulieren des xmlrpc Testes
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
27 |
import xmlrpclib |
|
105
48f2b8adc7da
eigenständiger client datei für den xmlrpc test
Sandro Knauß <knauss@netzguerilla.net>
parents:
102
diff
changeset
|
28 |
return xmlrpclib.ServerProxy('http://localhost:7080/RPC2').listMethods() |
|
95
3f41dfd7cb34
ausformulieren des xmlrpc Testes
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
29 |
|
| 92 | 30 |
def main(): |
|
95
3f41dfd7cb34
ausformulieren des xmlrpc Testes
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
31 |
from twisted.internet import reactor |
|
3f41dfd7cb34
ausformulieren des xmlrpc Testes
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
32 |
from twisted.web import xmlrpc, server |
|
3f41dfd7cb34
ausformulieren des xmlrpc Testes
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
33 |
|
|
3f41dfd7cb34
ausformulieren des xmlrpc Testes
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
34 |
from iro.view.xmlrpc import getResource |
|
3f41dfd7cb34
ausformulieren des xmlrpc Testes
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
35 |
|
|
3f41dfd7cb34
ausformulieren des xmlrpc Testes
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
36 |
class XMLRPCDebug(xmlrpc.XMLRPC): |
|
3f41dfd7cb34
ausformulieren des xmlrpc Testes
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
37 |
def xmlrpc_stop(self): |
|
3f41dfd7cb34
ausformulieren des xmlrpc Testes
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
38 |
reactor.callLater(0.5,reactor.stop) |
|
3f41dfd7cb34
ausformulieren des xmlrpc Testes
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
39 |
return "" |
|
3f41dfd7cb34
ausformulieren des xmlrpc Testes
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
40 |
|
|
3f41dfd7cb34
ausformulieren des xmlrpc Testes
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
41 |
root=getResource() |
|
3f41dfd7cb34
ausformulieren des xmlrpc Testes
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
42 |
root.putChild('debug', XMLRPCDebug()) |
|
3f41dfd7cb34
ausformulieren des xmlrpc Testes
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
43 |
reactor.listenTCP(7080, server.Site(root)) |
|
102
85ac86f7ffc4
reactor & sqlalchemy threadpools aufeinander abstimmen
Sandro Knauß <knauss@netzguerilla.net>
parents:
95
diff
changeset
|
44 |
reactor.suggestThreadPoolSize(5) |
| 92 | 45 |
reactor.run() |
46 |
||
47 |
if __name__ == '__main__': |
|
|
95
3f41dfd7cb34
ausformulieren des xmlrpc Testes
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
48 |
tdir = mkdtemp(prefix='iro-mysql-') |
|
3f41dfd7cb34
ausformulieren des xmlrpc Testes
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
49 |
try: |
|
3f41dfd7cb34
ausformulieren des xmlrpc Testes
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
50 |
with open('%s/my.cnf'%tdir,'w') as cnf: |
|
3f41dfd7cb34
ausformulieren des xmlrpc Testes
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
51 |
cnf.write(createConfig(tdir)) |
|
3f41dfd7cb34
ausformulieren des xmlrpc Testes
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
52 |
s = Server('%s/my.cnf'%tdir) |
|
3f41dfd7cb34
ausformulieren des xmlrpc Testes
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
53 |
s.create() |
|
3f41dfd7cb34
ausformulieren des xmlrpc Testes
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
54 |
s.start() |
|
3f41dfd7cb34
ausformulieren des xmlrpc Testes
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
55 |
d=SampleDatabase("test","test",'%s/my.cnf'%tdir) |
|
3f41dfd7cb34
ausformulieren des xmlrpc Testes
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
56 |
d.create() |
|
102
85ac86f7ffc4
reactor & sqlalchemy threadpools aufeinander abstimmen
Sandro Knauß <knauss@netzguerilla.net>
parents:
95
diff
changeset
|
57 |
db.engine = create_engine('mysql://test:test@localhost/test?unix_socket=%s/socket'%tdir) |
|
85ac86f7ffc4
reactor & sqlalchemy threadpools aufeinander abstimmen
Sandro Knauß <knauss@netzguerilla.net>
parents:
95
diff
changeset
|
58 |
dbdefer = DBDefer('mysql://test:test@localhost/test?unix_socket=%s/socket'%tdir, pool_size=5) |
|
95
3f41dfd7cb34
ausformulieren des xmlrpc Testes
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
59 |
|
|
3f41dfd7cb34
ausformulieren des xmlrpc Testes
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
60 |
@dbdefer |
|
3f41dfd7cb34
ausformulieren des xmlrpc Testes
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
61 |
def getuser(userhash, session): |
|
105
48f2b8adc7da
eigenständiger client datei für den xmlrpc test
Sandro Knauß <knauss@netzguerilla.net>
parents:
102
diff
changeset
|
62 |
#session.execute("SELECT SLEEP(10)") |
|
95
3f41dfd7cb34
ausformulieren des xmlrpc Testes
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
63 |
return imuser._getuser(userhash = userhash, session=session) |
|
105
48f2b8adc7da
eigenständiger client datei für den xmlrpc test
Sandro Knauß <knauss@netzguerilla.net>
parents:
102
diff
changeset
|
64 |
|
|
95
3f41dfd7cb34
ausformulieren des xmlrpc Testes
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
65 |
imuser.dbdefer=dbdefer |
|
3f41dfd7cb34
ausformulieren des xmlrpc Testes
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
66 |
imuser._getuser=imuser.getuser |
|
3f41dfd7cb34
ausformulieren des xmlrpc Testes
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
67 |
imuser.getuser=getuser |
|
3f41dfd7cb34
ausformulieren des xmlrpc Testes
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
68 |
|
|
3f41dfd7cb34
ausformulieren des xmlrpc Testes
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
69 |
|
|
3f41dfd7cb34
ausformulieren des xmlrpc Testes
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
70 |
try: |
|
3f41dfd7cb34
ausformulieren des xmlrpc Testes
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
71 |
createDatabase() |
|
3f41dfd7cb34
ausformulieren des xmlrpc Testes
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
72 |
with WithSession(autocommit=True) as session: |
|
3f41dfd7cb34
ausformulieren des xmlrpc Testes
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
73 |
session.add(User(name='test',apikey='abcdef123456789')) |
|
3f41dfd7cb34
ausformulieren des xmlrpc Testes
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
74 |
p = Process(target=main) |
|
3f41dfd7cb34
ausformulieren des xmlrpc Testes
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
75 |
p.start() |
|
3f41dfd7cb34
ausformulieren des xmlrpc Testes
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
76 |
p.join() |
|
3f41dfd7cb34
ausformulieren des xmlrpc Testes
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
77 |
finally: |
|
3f41dfd7cb34
ausformulieren des xmlrpc Testes
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
78 |
s.stop() |
|
3f41dfd7cb34
ausformulieren des xmlrpc Testes
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
79 |
finally: |
|
3f41dfd7cb34
ausformulieren des xmlrpc Testes
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
80 |
shutil.rmtree(tdir) |