equal
deleted
inserted
replaced
5 |
5 |
6 from shutil import rmtree |
6 from shutil import rmtree |
7 import atexit |
7 import atexit |
8 from ngdatabase.mysql import Server, createConfig, Database |
8 from ngdatabase.mysql import Server, createConfig, Database |
9 |
9 |
10 from iro.model import schema, setEngine, setPool |
10 from iro.model import setEngine, setPool |
11 from iro.model.utils import WithSession |
11 from iro.model.utils import WithSession |
12 from iro.model.schema import Base |
12 from iro.model.schema import Base |
13 |
13 |
14 from iro.controller.pool import dbPool |
14 from iro.controller.pool import dbPool |
15 |
15 |
31 return WithSession(self.engine,autocommit) |
31 return WithSession(self.engine,autocommit) |
32 |
32 |
33 def __cleanDB(self): |
33 def __cleanDB(self): |
34 '''cleaning database''' |
34 '''cleaning database''' |
35 with self.session() as session: |
35 with self.session() as session: |
36 for table in schema.__tables__: |
36 for table in reversed(Base.metadata.sorted_tables): |
37 session.query(getattr(schema,table)).delete() |
37 session.execute(table.delete()) |
38 |
38 |
39 |
39 |
40 class SampleDatabase(Database): |
40 class SampleDatabase(Database): |
41 def createPassword(self): |
41 def createPassword(self): |
42 self.password="test" |
42 self.password="test" |
53 |
53 |
54 def create(self): |
54 def create(self): |
55 self.tdir = mkdtemp(prefix='iro-mysql-') |
55 self.tdir = mkdtemp(prefix='iro-mysql-') |
56 self.server = Server('%s/my.cnf'%self.tdir) |
56 self.server = Server('%s/my.cnf'%self.tdir) |
57 self.db = SampleDatabase("test","test",'%s/my.cnf'%self.tdir) |
57 self.db = SampleDatabase("test","test",'%s/my.cnf'%self.tdir) |
58 self.engine = create_engine('mysql://test:test@localhost/test?unix_socket=%s/socket'%self.tdir, |
58 self.dburl = 'mysql://test:test@localhost/test?unix_socket=%s/socket'%self.tdir |
|
59 self.engine = create_engine(self.dburl, |
59 poolclass = pool.SingletonThreadPool, pool_size=dbPool.maxthreads, )#echo=True) |
60 poolclass = pool.SingletonThreadPool, pool_size=dbPool.maxthreads, )#echo=True) |
60 self.vaild = False |
61 self.valid = False |
61 |
62 |
62 def setUp(self): |
63 def setUp(self): |
63 if not self.vaild: |
64 if not self.valid: |
64 with open('%s/my.cnf'%self.tdir,'w') as cnf: |
65 with open('%s/my.cnf'%self.tdir,'w') as cnf: |
65 cnf.write(createConfig(self.tdir)) |
66 cnf.write(createConfig(self.tdir)) |
66 self.server.create() |
67 self.server.create() |
67 self.server.start() |
68 self.server.start() |
68 self.db.create() |
69 self.db.create() |
69 Base.metadata.create_all(self.engine) |
70 Base.metadata.create_all(self.engine) |
70 setEngine(self.engine) |
71 setEngine(self.engine) |
71 setPool(dbPool) |
72 setPool(dbPool) |
72 self.vaild = True |
73 self.valid = True |
73 |
74 |
74 |
75 |
75 md=ModuleData() |
76 md=ModuleData() |
76 atexit.register(md.close) |
77 atexit.register(md.close) |