]> git.decadent.org.uk Git - dak.git/blobdiff - tests/db_test.py
Avoid production database names in dbtest code.
[dak.git] / tests / db_test.py
index e9a533650df2e910ec4584b6990fca6d9158119e..d8c976af3a8692b3d4312e9d72b94fef4c2a90d9 100644 (file)
@@ -3,7 +3,7 @@ from base_test import DakTestCase, fixture
 from daklib.config import Config
 from daklib.dbconn import DBConn
 
-from sqlalchemy import create_engine
+from sqlalchemy import create_engine, __version__
 from sqlalchemy.exc import SADeprecationWarning
 
 import pickle
@@ -17,6 +17,9 @@ warnings.filterwarnings('ignore', \
 class DBDakTestCase(DakTestCase):
     def setUp(self):
         cnf = Config()
+        if cnf["DB::Name"] in ('backports', 'obscurity', 'projectb'):
+            self.fail("You have configured an invalid database name: '%s'." % \
+                    cnf["DB::Name"])
         if cnf["DB::Host"]:
             # TCP/IP
             connstr = "postgres://%s" % cnf["DB::Host"]
@@ -29,7 +32,8 @@ class DBDakTestCase(DakTestCase):
             if cnf["DB::Port"] and cnf["DB::Port"] != "-1":
                 connstr += "?port=%s" % cnf["DB::Port"]
 
-        pickle_file = open(fixture('db-metadata.pkl'), 'r')
+        pickle_filename = 'db-metadata-%s.pkl' % __version__
+        pickle_file = open(fixture(pickle_filename), 'r')
         self.metadata = pickle.load(pickle_file)
         self.metadata.ddl_listeners = pickle.load(pickle_file)
         pickle_file.close()