Beispiel #1
0
def session(db, engine, request):
    """Creates a new temporal session for a test."""
    connection = engine.connect()
    transaction = connection.begin()

    session_factory = sessionmaker(bind=connection)
    session = orm.scoped_session(session_factory)

    def teardown():
        transaction.rollback()
        connection.close()
        session.remove()

    request.addfinalizer(teardown)
    return session
Beispiel #2
0
conf = Loader().load()
db_host = conf["database"]["host"]
db_name = conf["app"]["name"]
#db_name = domain.get_db_name()
log.info(db_name)
db_user = conf["database"]["user"]
db_password = conf["database"]["password"]
conn_string = f'postgresql+psycopg2://{db_user}:{db_password}@{db_host}:5432/{db_name}'

engine = create_engine(conn_string,
                       convert_unicode=True,
                       isolation_level="READ_UNCOMMITTED",
                       pool_size=20,
                       max_overflow=0)
session_factory = sessionmaker(bind=engine)
db_session = scoped_session(session_factory)


def create_db():
    from model import domain

    if not database_exists(engine.url):
        create_database(engine.url)

    Base.metadata.create_all(bind=engine)


def create_session():
    return scoped_session(session_factory)()
Beispiel #3
0
def test_session_factory(connection, transaction):
    """Creates a new temporal session for a test."""
    session_factory = sessionmaker(bind=connection)
    session = orm.scoped_session(session_factory)
    return session