From cda22fd46592a2a2e8f221de2073fe699b401996 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Vidal=20Garc=C3=ADa?= Date: Tue, 7 Jul 2020 14:01:12 +0200 Subject: [PATCH] tests: create __reana db schema in app fixture partially addresses reanahub/reana#348 --- pytest_reana/fixtures.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/pytest_reana/fixtures.py b/pytest_reana/fixtures.py index 76d3059..e361933 100644 --- a/pytest_reana/fixtures.py +++ b/pytest_reana/fixtures.py @@ -18,14 +18,14 @@ import pkg_resources import pytest -from kombu import Connection, Exchange, Producer, Queue +from kombu import Connection, Exchange, Queue from kubernetes import client -from mock import ANY, Mock, patch +from mock import Mock, patch from reana_commons.consumer import BaseConsumer from reana_db.models import Base, User, Workflow from sqlalchemy import create_engine -from sqlalchemy.orm import scoped_session, sessionmaker -from sqlalchemy_utils import create_database, database_exists, drop_database +from sqlalchemy.schema import CreateSchema +from sqlalchemy_utils import create_database, database_exists @pytest.yield_fixture(scope="module") @@ -101,11 +101,13 @@ def create_ninja_turtle() engine = create_engine(base_app.config["SQLALCHEMY_DATABASE_URI"]) base_app.session.bind = engine with base_app.app_context(): + if not engine.dialect.has_schema(engine, "__reana"): + engine.execute(CreateSchema("__reana")) if not database_exists(engine.url): create_database(engine.url) Base.metadata.create_all(bind=engine) yield base_app - drop_database(engine.url) + Base.metadata.drop_all(bind=engine) @pytest.fixture()