def tearDown(self): for svc in self.SERVICES: svc = self.app.services[svc] if svc.running: svc.stop() self.db.session.remove() with self.db.engine.connect() as conn: if self.db.engine.name == 'postgresql': username = self.db.engine.url.username or getpass.getuser() with self.db.engine.connect() as conn: with conn.begin(): conn.execute( 'ALTER ROLE {username} SET search_path TO public' ''.format(username=username)) conn.execute('SET search_path TO public') conn.execute('DROP SCHEMA IF EXISTS {} CASCADE'.format( self.__pg_schema)) conn.execute('COMMIT') del self.__pg_schema else: if self.db.engine.name == 'sqlite': # core.extension.sqlalchemy performs a 'PRAGMA foreign_keys=ON' on a # connection listener. # # We must revert it to perform drop_all without ever encounting a # foreign key error conn.execute("PRAGMA foreign_keys=OFF;") self.db.metadata.drop_all(bind=conn) self.db.engine.dispose() self.app.services['session_repository'].stop() self.app.services['repository'].stop() User.__password_strategy__ = _DEFAULT_PWD # Resets babel extension babel = self.app.extensions['babel'] babel.locale_selector_func = None babel.timezone_selector_func = None TestCase.tearDown(self)
def tearDown(self): self._stop_services() self.db.session.remove() with self.db.engine.connect() as conn: if self.db.engine.name == 'postgresql': username = self.db.engine.url.username or getpass.getuser() with self.db.engine.connect() as conn2: with conn2.begin(): conn2.execute( 'ALTER ROLE {username} SET search_path TO public' ''.format(username=username), ) conn2.execute('SET search_path TO public') conn2.execute( 'DROP SCHEMA IF EXISTS {} CASCADE'.format( self.__pg_schema, )) conn2.execute('COMMIT') del self.__pg_schema else: if self.db.engine.name == 'sqlite': # core.extension.sqlalchemy performs a 'PRAGMA foreign_keys=ON' on a # connection listener. # # We must revert it to perform drop_all without ever encounting a # foreign key error conn.execute("PRAGMA foreign_keys=OFF;") self.db.metadata.drop_all(bind=conn) self.db.engine.dispose() self.app.services['session_repository'].stop() self.app.services['repository'].stop() User.__password_strategy__ = _DEFAULT_PWD self._reset_babel_extension() TestCase.tearDown(self)
def tearDown(self): for svc in self.SERVICES: svc = self.app.services[svc] if svc.running: svc.stop() self.db.session.remove() with self.db.engine.connect() as conn: if self.db.engine.name == 'postgresql': username = self.db.engine.url.username with self.db.engine.connect() as conn: with conn.begin(): conn.execute('ALTER ROLE {username} SET search_path TO public' ''.format(username=username)) conn.execute('SET search_path TO public') conn.execute('DROP SCHEMA IF EXISTS {} CASCADE'.format(self.__pg_schema)) conn.execute('COMMIT') del self.__pg_schema else: if self.db.engine.name == 'sqlite': # core.extension.sqlalchemy performs a 'PRAGMA foreign_keys=ON' on a # connection listener. # # We must revert it to perform drop_all without ever encounting a # foreign key error conn.execute("PRAGMA foreign_keys=OFF;") self.db.metadata.drop_all(bind=conn) self.db.engine.dispose() self.app.services['session_repository'].stop() self.app.services['repository'].stop() User.__password_strategy__ = _DEFAULT_PWD TestCase.tearDown(self)
def tearDown(self): TestCase.tearDown(self) db.session.remove() db.drop_all()