def test_get_session_invalidated(self): # If clear the global engine, a new engine is used for get_session(). base = sql.Base() session1 = base.get_session() sql.set_global_engine(None) session2 = base.get_session() self.assertIsNot(session1.bind, session2.bind)
def test_get_engine_not_global(self): # If call get_engine() twice, once with allow_global_engine=True # and once with allow_global_engine=False, get different engines. base = sql.Base() engine1 = base.get_engine() engine2 = base.get_engine(allow_global_engine=False) self.assertIsNot(engine1, engine2)
def test_get_engine_global(self): # If call get_engine() twice, get the same global engine. base = sql.Base() engine1 = base.get_engine() self.assertIsNotNone(engine1) engine2 = base.get_engine() self.assertIs(engine1, engine2)
def test_get_session(self): # autocommit and expire_on_commit flags to get_session() are passed on # to the session created. base = sql.Base() session = base.get_session(autocommit=False, expire_on_commit=True) self.assertFalse(session.autocommit) self.assertTrue(session.expire_on_commit)
def setUp(self): super(SqlUpgradeTests, self).setUp() self.config([ test.etcdir('keystone.conf.sample'), test.testsdir('test_overrides.conf'), test.testsdir('backend_sql.conf') ]) # create and share a single sqlalchemy engine for testing self.engine = sql.Base().get_engine(allow_global_engine=False) self.metadata = sqlalchemy.MetaData() # populate the engine with tables & fixtures self.metadata.bind = self.engine self.repo_path = migration._find_migrate_repo() self.schema = versioning_api.ControlledSchema.create( self.engine, self.repo_path, 0)
def setUp(self): super(SqlUpgradeTests, self).setUp() self.config(self.config_files()) self.base = sql.Base() # create and share a single sqlalchemy engine for testing self.engine = self.base.get_engine(allow_global_engine=False) self.Session = self.base.get_sessionmaker(engine=self.engine, autocommit=False) self.initialize_sql() self.repo_path = migration._find_migrate_repo() self.schema = versioning_api.ControlledSchema.create( self.engine, self.repo_path, 0) # auto-detect the highest available schema version in the migrate_repo self.max_version = self.schema.repository.version().version
def __init__(self, application): self.application = application self.session = sql.Base().get_engine()
def GET(self, req): """Returns a 200 response with "OK" in the body.""" body = "OK" status = "200 OK" if self.__check_manual_failover__() == 1: body = "MANUAL FAILOVER" status = "420 manual_failover" elif self.db_check() == -1: body = "DATABASE FAILED" status = "419 db_fail" return Response(request=req, body=body, status=status, content_type="text/plain") def process_request(self, request): LOG.debug('path = %r' % request.path) if request.path == '/healthcheck': return self.GET(request) if __name__ == '__main__': db_checker = sql.Base() engine = db_checker.get_engine() print "Engine = %r" % engine print "Driver = %s, name = %s" % (engine.driver, engine.name) ret = engine.execute("select date('now')").fetchall() print "Date : %s" % ret