diff --git a/scripts/python_tests.sh b/scripts/python_tests.sh index cbad0c58bdc..d34e605a21c 100755 --- a/scripts/python_tests.sh +++ b/scripts/python_tests.sh @@ -19,6 +19,7 @@ set -e export SUPERSET_CONFIG=${SUPERSET_CONFIG:-tests.superset_test_config} +export SUPERSET_TESTENV=true echo "Superset config module: $SUPERSET_CONFIG" superset db upgrade diff --git a/superset/config.py b/superset/config.py index 9fbcbebce7d..f80ccd7d884 100644 --- a/superset/config.py +++ b/superset/config.py @@ -42,6 +42,7 @@ from superset.jinja_context import ( # pylint: disable=unused-import ) from superset.stats_logger import DummyStatsLogger from superset.typing import CacheConfig +from superset.utils.core import is_test from superset.utils.log import DBEventLogger from superset.utils.logging_configurator import DefaultLoggingConfigurator @@ -952,7 +953,7 @@ if CONFIG_PATH_ENV_VAR in os.environ: "Failed to import config for %s=%s", CONFIG_PATH_ENV_VAR, cfg_path ) raise -elif importlib.util.find_spec("superset_config"): +elif importlib.util.find_spec("superset_config") and not is_test(): try: import superset_config # pylint: disable=import-error from superset_config import * # type: ignore # pylint: disable=import-error,wildcard-import,unused-wildcard-import diff --git a/superset/utils/core.py b/superset/utils/core.py index 595f4cf01a9..a084b53a811 100644 --- a/superset/utils/core.py +++ b/superset/utils/core.py @@ -31,6 +31,7 @@ import traceback import uuid import zlib from datetime import date, datetime, time, timedelta +from distutils.util import strtobool from email.mime.application import MIMEApplication from email.mime.image import MIMEImage from email.mime.multipart import MIMEMultipart @@ -1564,3 +1565,7 @@ class AdhocMetricExpressionType(str, Enum): class RowLevelSecurityFilterType(str, Enum): REGULAR = "Regular" BASE = "Base" + + +def is_test() -> bool: + return strtobool(os.environ.get("SUPERSET_TESTENV", "false")) diff --git a/tox.ini b/tox.ini index cbbdb5a7183..b4df8b0256a 100644 --- a/tox.ini +++ b/tox.ini @@ -28,6 +28,7 @@ deps = -rrequirements/testing.txt setenv = PYTHONPATH = {toxinidir} + SUPERSET_TESTENV = true SUPERSET_CONFIG = tests.superset_test_config SUPERSET_HOME = {envtmpdir} mysql: SUPERSET__SQLALCHEMY_DATABASE_URI = mysql://mysqluser:mysqluserpassword@localhost/superset?charset=utf8