def testapp(): from webtest import TestApp from clld.db.meta import DBSession, VersionedDBSession, Base from clld.db.models import common from clld_cognacy_plugin.models import Cognateset, Cognate def main(): cfg = config.Configurator(settings={ 'sqlalchemy.url': 'sqlite://', 'mako.directories': [ 'clld:web/templates', 'clld_cognacy_plugin:templates' ]}) cfg.include('clld.web.app') cfg.include('clld_cognacy_plugin') return cfg.make_wsgi_app() DBSession.remove() VersionedDBSession.remove() wsgi_app = main() Base.metadata.bind = DBSession.bind Base.metadata.create_all() DBSession.add(common.Dataset(id='1', name='test app', domain='example.org')) cs = Cognateset(id='1', name='cs: test') lang = common.Language(id='l', latitude=2, longitude=2) param = common.Parameter(id='l') vs = common.ValueSet(id='vs', language=lang, parameter=param) v = common.Value(id='v', name='abc', valueset=vs) DBSession.add(Cognate(cognateset=cs, counterpart=v)) yield TestApp(wsgi_app)
def __enter__(self): self.engine = engine_from_config(self.settings) DBSession.remove() DBSession.configure(bind=self.engine) assert DBSession.bind == self.engine Base.metadata.create_all(self.engine) return DBSession
def testdb(mocker): subprocess.check_call(['dropdb', '-U', 'postgres', '--if-exists', TEST_DB]) subprocess.check_call(['createdb', '-U', 'postgres', TEST_DB]) engine = create_engine('postgresql://postgres@/' + TEST_DB) DBSession.configure(bind=engine) Base.metadata.create_all(engine) yield DBSession close_all_sessions() DBSession.remove() engine.dispose() subprocess.check_call(['dropdb', '-U', 'postgres', '--if-exists', TEST_DB])
def testapp(): def main(): cfg = config.Configurator(settings={ 'sqlalchemy.url': 'sqlite://', 'mako.directories': ['clldlucl:templates', 'clld:web/templates']}) cfg.include('clldlucl') return cfg.make_wsgi_app() DBSession.remove() wsgi_app = main() Base.metadata.bind = DBSession.bind Base.metadata.create_all() DBSession.add(common.Dataset(id='1', name='test app', domain='example.org')) yield ExtendedTestApp(wsgi_app)
def testapp(): def main(): cfg = config.Configurator(settings={ 'sqlalchemy.url': 'sqlite://', 'mako.directories': ['clldmpg:templates', 'clld:web/templates']}) cfg.include('clldmpg') return cfg.make_wsgi_app() DBSession.remove() wsgi_app = main() Base.metadata.bind = DBSession.bind Base.metadata.create_all() DBSession.add(common.Dataset(id='1', name='test app', domain='example.org')) yield ExtendedTestApp(wsgi_app)
def testdb(mocker): subprocess.check_call(['dropdb', '-U', 'postgres', '--if-exists', TEST_DB]) subprocess.check_call(['createdb', '-U', 'postgres', TEST_DB]) engine = create_engine('postgresql://postgres@/' + TEST_DB) DBSession.configure(bind=engine) Base.metadata.create_all(engine) mocker.patch('glottolog3.__main__.db_url', mocker.Mock(return_value=engine.url)) mocker.patch('glottolog3.__main__.with_session') yield DBSession DBSession.close_all() DBSession.remove() engine.dispose() subprocess.check_call(['dropdb', '-U', 'postgres', '--if-exists', TEST_DB])
def __exit__(self, exc_type, exc_val, exc_tb): if self.engine: self.engine.dispose() DBSession.remove()