1 from base_test import DakTestCase, fixture
3 from daklib.config import Config
4 from daklib.dbconn import DBConn
6 from sqlalchemy import create_engine, __version__
7 from sqlalchemy.exc import SADeprecationWarning
12 # suppress some deprecation warnings in squeeze related to sqlalchemy
13 warnings.filterwarnings('ignore', \
14 "The SQLAlchemy PostgreSQL dialect has been renamed from 'postgres' to 'postgresql'.*", \
17 class DBDakTestCase(DakTestCase):
22 connstr = "postgres://%s" % cnf["DB::Host"]
23 if cnf["DB::Port"] and cnf["DB::Port"] != "-1":
24 connstr += ":%s" % cnf["DB::Port"]
25 connstr += "/%s" % cnf["DB::Name"]
28 connstr = "postgres:///%s" % cnf["DB::Name"]
29 if cnf["DB::Port"] and cnf["DB::Port"] != "-1":
30 connstr += "?port=%s" % cnf["DB::Port"]
32 pickle_filename = 'db-metadata-%s.pkl' % __version__
33 pickle_file = open(fixture(pickle_filename), 'r')
34 self.metadata = pickle.load(pickle_file)
35 self.metadata.ddl_listeners = pickle.load(pickle_file)
37 self.metadata.bind = create_engine(connstr)
38 self.metadata.create_all()
39 self.session = DBConn().session()
44 #self.metadata.drop_all()