taiga-back/tests/conftest.py

49 lines
1.6 KiB
Python

# Copyright (C) 2014 Andrey Antukh <niwi@niwi.be>
# Copyright (C) 2014 Jesús Espino <jespinog@gmail.com>
# Copyright (C) 2014 David Barragán <bameda@dbarragan.com>
# Copyright (C) 2014 Anler Hernández <hello@anler.me>
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import pytest
import os.path
from functools import lru_cache
from django.conf import settings
from .fixtures import *
def pytest_addoption(parser):
parser.addoption("--runslow", action="store_true", help="run slow tests")
def pytest_runtest_setup(item):
if "slow" in item.keywords and not item.config.getoption("--runslow"):
pytest.skip("need --runslow option to run")
@lru_cache(maxsize=4)
def _get_sql():
path = os.path.join(settings.BASE_DIR, "sql", "tags.sql")
with open(path, "r") as f:
return f.read()
def on_db_connect(sender, connection, **kwargs):
cursor = connection.cursor()
cursor.execute(_get_sql())
from django.db.backends import signals
signals.connection_created.connect(on_db_connect)