X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;ds=sidebyside;f=tests%2Fdb_test.py;h=4f01f6d5d1583a89128a4b12c1fd41c9546fd88e;hb=a6e908f0f30d02794e24f66a6d5f4bedc929456a;hp=d95f0cbfde4d5fda34f7837d844e9d4c526a46e3;hpb=695b2d37022b899f3305dc83d89aa6dfee8af55e;p=dak.git diff --git a/tests/db_test.py b/tests/db_test.py index d95f0cbf..4f01f6d5 100644 --- a/tests/db_test.py +++ b/tests/db_test.py @@ -10,11 +10,6 @@ from sqlalchemy.schema import DDL import pickle import warnings -# suppress some deprecation warnings in squeeze related to sqlalchemy -warnings.filterwarnings('ignore', \ - "The SQLAlchemy PostgreSQL dialect has been renamed from 'postgres' to 'postgresql'.*", \ - SADeprecationWarning) - all_tables = ['architecture', 'archive', 'bin_associations', 'bin_contents', 'binaries', 'binary_acl', 'binary_acl_map', 'build_queue', 'build_queue_files', 'changes', 'changes_pending_binaries', 'changes_pending_files', @@ -44,7 +39,9 @@ class DBDakTestCase(DakTestCase): for table in all_tables: self.execute(create_trigger % (table, table)) - def setUp(self): + metadata = None + + def initialize(self): cnf = Config() if cnf["DB::Name"] in ('backports', 'obscurity', 'projectb'): self.fail("You have configured an invalid database name: '%s'." % \ @@ -63,12 +60,16 @@ class DBDakTestCase(DakTestCase): pickle_filename = 'db-metadata-%s.pkl' % __version__ pickle_file = open(fixture(pickle_filename), 'r') - self.metadata = pickle.load(pickle_file) + DBDakTestCase.metadata = pickle.load(pickle_file) self.metadata.ddl_listeners = pickle.load(pickle_file) pickle_file.close() self.metadata.bind = create_engine(connstr) self.metadata.create_all() self.create_all_triggers() + + def setUp(self): + if self.metadata is None: + self.initialize() self.session = DBConn().session() def classes_to_clean(self): @@ -84,5 +85,6 @@ class DBDakTestCase(DakTestCase): for class_ in self.classes_to_clean(): self.session.query(class_).delete() self.session.commit() + # usually there is no need to drop all tables here #self.metadata.drop_all()