Ticket #1764: TurboGears-1.0-DBTest-SQLAlchemy.patch

File TurboGears-1.0-DBTest-SQLAlchemy.patch, 1.6 kB (added by lmacken, 10 months ago)
  • testutil.py

    old new  
    169169class DBTest(unittest.TestCase): 
    170170 
    171171    model = None 
     172    orm = 'sqlobject' 
    172173 
    173174    def _get_soClasses(self): 
    174175        try: 
     
    177178            return self.model.__dict__.values() 
    178179 
    179180    def setUp(self): 
     181        try: 
     182            database.get_engine() 
     183            database.metadata.create_all() 
     184            self.orm = 'sqlalchemy' 
     185            return 
     186        except KeyError: # No sqlalchemy dburi defined 
     187            pass 
     188 
    180189        if not self.model: 
    181190            self.model = get_model() 
    182191            if not self.model: 
     
    189198                item.createTable(ifNotExists=True) 
    190199 
    191200    def tearDown(self): 
    192         database.rollback_all() 
    193         for item in self._get_soClasses()[::-1]: 
    194             if isinstance(item, types.TypeType) and issubclass(item, 
    195                 sqlobject.SQLObject) and item != sqlobject.SQLObject \ 
    196                 and item != InheritableSQLObject: 
    197                 item.dropTable(ifExists=True) 
     201        if self.orm == 'sqlalchemy': 
     202            database.metadata.drop_all() 
     203        else: 
     204            database.rollback_all() 
     205            for item in self._get_soClasses()[::-1]: 
     206                if isinstance(item, types.TypeType) and issubclass(item, 
     207                    sqlobject.SQLObject) and item != sqlobject.SQLObject \ 
     208                    and item != InheritableSQLObject: 
     209                    item.dropTable(ifExists=True) 
    198210 
    199211 
    200212def reset_cp():