2 from sqlalchemy import create_engine, pool |
2 from sqlalchemy import create_engine, pool |
3 |
3 |
4 from tempfile import mkdtemp |
4 from tempfile import mkdtemp |
5 import shutil |
5 import shutil |
6 |
6 |
7 from iro.model.utils import WithSession, DBDefer, POOL_SIZE as DB_POOL_SIZE |
7 from iro.model.utils import WithSession, POOL_SIZE as DB_POOL_SIZE |
8 import iro.model.user as imuser |
8 import iro.model.user as imuser |
9 |
9 |
10 from iro.model.schema import User, Base |
10 from iro.model.schema import User, Base |
11 |
11 |
12 from ngdatabase.mysql import Server, createConfig, Database |
12 from ngdatabase.mysql import Server, createConfig, Database |
53 s.start() |
53 s.start() |
54 d=SampleDatabase("test","test",'%s/my.cnf'%tdir) |
54 d=SampleDatabase("test","test",'%s/my.cnf'%tdir) |
55 d.create() |
55 d.create() |
56 engine = create_engine('mysql://test:test@localhost/test?unix_socket=%s/socket'%tdir, |
56 engine = create_engine('mysql://test:test@localhost/test?unix_socket=%s/socket'%tdir, |
57 poolclass = pool.SingletonThreadPool, pool_size=DB_POOL_SIZE, ) |
57 poolclass = pool.SingletonThreadPool, pool_size=DB_POOL_SIZE, ) |
58 dbdefer = DBDefer(engine) |
58 |
59 withsession=WithSession(engine, autocommit=True) |
59 imuser.setEngine(engine) |
60 @dbdefer |
|
61 def getuser(userhash, session): |
|
62 #session.execute("SELECT SLEEP(10)") |
|
63 return imuser._getuser(userhash = userhash, session=session) |
|
64 |
|
65 imuser.dbdefer=dbdefer |
|
66 imuser._getuser=imuser.getuser |
|
67 imuser.getuser=getuser |
|
68 |
60 |
69 try: |
61 try: |
70 Base.metadata.create_all(engine) |
62 Base.metadata.create_all(engine) |
71 with withsession as session: |
63 with WithSession(engine, autocommit=True) as session: |
72 session.add(User(name='test',apikey='abcdef123456789')) |
64 session.add(User(name='test',apikey='abcdef123456789')) |
73 p = Process(target=main) |
65 p = Process(target=main) |
74 p.start() |
66 p.start() |
75 p.join() |
67 p.join() |
76 finally: |
68 finally: |