class BaseTestCase(unittest.TestCase): @classmethod def setUpClass(cls): cls.engine = create_engine(sqlalchemy_url) Base.metadata.create_all(cls.engine) def setUp(self): self.session = DBSession() if not self.session.bind: self.session.bind = self.engine transaction.begin() def tearDown(self): # for unit testing, we throw away any modifications we may have made. transaction.abort() self.session.close() def add_objs_and_assert_ids(self, objs): if type(objs) is list: for o in objs: self.session.add(o) self.session.flush() for o in objs: assert o.id is not None else: self.session.add(objs) self.session.flush() assert objs.id is not None