Stickum

I love Stickum.
Python code pasted @ 23:49 on Tue, 30 Jan 07
Copy & Paste Plain Text
1
import sqlalchemy
2
from turbogears import database
3
from turbogears.util import get_model
4
5
class SADBTest(object):
6
    model = None
7
8
    def setUp(self):
9
        # bind metadata/engine to model
10
        database.bind_meta_data()
11
        if not self.model:
12
            self.model = get_model()
13
            if not self.model:
14
                raise "Unable to run database tests without a model"
15
16
        # create all model tables
17
        for item in dir(self.model):
18
            item = getattr(self.model, item)
19
            if isinstance(item, sqlalchemy.Table):
20
                item.create(checkfirst=True)
21
22
    def tearDown(self):
23
        database.rollback_all()
24
        # drop all model tables
25
        for item in dir(self.model):
26
            item = getattr(self.model, item)
27
            if isinstance(item, sqlalchemy.Table):
28
                item.drop(checkfirst=True)