refactor(tests): decouple unittests from integration tests (#15473)

* refactor move all tests to be under integration_tests package

* refactor decouple unittests from integration tests - commands

* add unit_tests package

* fix celery_tests.py

* fix wrong FIXTURES_DIR value
This commit is contained in:
ofekisr 2021-07-01 18:03:07 +03:00 committed by GitHub
parent 55d0371b92
commit b5119b8dff
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
172 changed files with 456 additions and 262 deletions

View File

@ -192,7 +192,7 @@ cypress-run-all() {
say "::endgroup::" say "::endgroup::"
# Rerun SQL Lab tests with backend persist enabled # Rerun SQL Lab tests with backend persist enabled
export SUPERSET_CONFIG=tests.superset_test_config_sqllab_backend_persist export SUPERSET_CONFIG=tests.integration_tests.superset_test_config_sqllab_backend_persist
# Restart Flask with new configs # Restart Flask with new configs
kill $flaskProcessId kill $flaskProcessId

View File

@ -25,7 +25,7 @@ jobs:
env: env:
FLASK_ENV: development FLASK_ENV: development
ENABLE_REACT_CRUD_VIEWS: true ENABLE_REACT_CRUD_VIEWS: true
SUPERSET_CONFIG: tests.superset_test_config SUPERSET_CONFIG: tests.integration_tests.superset_test_config
SUPERSET__SQLALCHEMY_DATABASE_URI: postgresql+psycopg2://superset:superset@127.0.0.1:15432/superset SUPERSET__SQLALCHEMY_DATABASE_URI: postgresql+psycopg2://superset:superset@127.0.0.1:15432/superset
PYTHONPATH: ${{ github.workspace }} PYTHONPATH: ${{ github.workspace }}
REDIS_PORT: 16379 REDIS_PORT: 16379

View File

@ -17,7 +17,7 @@ jobs:
python-version: [3.8] python-version: [3.8]
env: env:
PYTHONPATH: ${{ github.workspace }} PYTHONPATH: ${{ github.workspace }}
SUPERSET_CONFIG: tests.superset_test_config SUPERSET_CONFIG: tests.integration_tests.superset_test_config
REDIS_PORT: 16379 REDIS_PORT: 16379
SUPERSET__SQLALCHEMY_DATABASE_URI: postgresql+psycopg2://superset:superset@127.0.0.1:15432/superset SUPERSET__SQLALCHEMY_DATABASE_URI: postgresql+psycopg2://superset:superset@127.0.0.1:15432/superset
SUPERSET__SQLALCHEMY_EXAMPLES_URI: presto://localhost:15433/memory/default SUPERSET__SQLALCHEMY_EXAMPLES_URI: presto://localhost:15433/memory/default
@ -91,7 +91,7 @@ jobs:
python-version: [3.8] python-version: [3.8]
env: env:
PYTHONPATH: ${{ github.workspace }} PYTHONPATH: ${{ github.workspace }}
SUPERSET_CONFIG: tests.superset_test_config SUPERSET_CONFIG: tests.integration_tests.superset_test_config
REDIS_PORT: 16379 REDIS_PORT: 16379
SUPERSET__SQLALCHEMY_DATABASE_URI: postgresql+psycopg2://superset:superset@127.0.0.1:15432/superset SUPERSET__SQLALCHEMY_DATABASE_URI: postgresql+psycopg2://superset:superset@127.0.0.1:15432/superset
SUPERSET__SQLALCHEMY_EXAMPLES_URI: hive://localhost:10000/default SUPERSET__SQLALCHEMY_EXAMPLES_URI: hive://localhost:10000/default

View File

@ -17,7 +17,7 @@ jobs:
python-version: [3.7] python-version: [3.7]
env: env:
PYTHONPATH: ${{ github.workspace }} PYTHONPATH: ${{ github.workspace }}
SUPERSET_CONFIG: tests.superset_test_config SUPERSET_CONFIG: tests.integration_tests.superset_test_config
REDIS_PORT: 16379 REDIS_PORT: 16379
SUPERSET__SQLALCHEMY_DATABASE_URI: | SUPERSET__SQLALCHEMY_DATABASE_URI: |
mysql+mysqldb://superset:superset@127.0.0.1:13306/superset?charset=utf8mb4&binary_prefix=true mysql+mysqldb://superset:superset@127.0.0.1:13306/superset?charset=utf8mb4&binary_prefix=true
@ -80,7 +80,7 @@ jobs:
python-version: [3.7, 3.8] python-version: [3.7, 3.8]
env: env:
PYTHONPATH: ${{ github.workspace }} PYTHONPATH: ${{ github.workspace }}
SUPERSET_CONFIG: tests.superset_test_config SUPERSET_CONFIG: tests.integration_tests.superset_test_config
REDIS_PORT: 16379 REDIS_PORT: 16379
SUPERSET__SQLALCHEMY_DATABASE_URI: postgresql+psycopg2://superset:superset@127.0.0.1:15432/superset SUPERSET__SQLALCHEMY_DATABASE_URI: postgresql+psycopg2://superset:superset@127.0.0.1:15432/superset
services: services:
@ -144,7 +144,7 @@ jobs:
python-version: [3.7] python-version: [3.7]
env: env:
PYTHONPATH: ${{ github.workspace }} PYTHONPATH: ${{ github.workspace }}
SUPERSET_CONFIG: tests.superset_test_config SUPERSET_CONFIG: tests.integration_tests.superset_test_config
REDIS_PORT: 16379 REDIS_PORT: 16379
SUPERSET__SQLALCHEMY_DATABASE_URI: | SUPERSET__SQLALCHEMY_DATABASE_URI: |
sqlite:///${{ github.workspace }}/.temp/unittest.db sqlite:///${{ github.workspace }}/.temp/unittest.db

View File

@ -771,7 +771,7 @@ npm run test -- path/to/file.js
We use [Cypress](https://www.cypress.io/) for integration tests. Tests can be run by `tox -e cypress`. To open Cypress and explore tests first setup and run test server: We use [Cypress](https://www.cypress.io/) for integration tests. Tests can be run by `tox -e cypress`. To open Cypress and explore tests first setup and run test server:
```bash ```bash
export SUPERSET_CONFIG=tests.superset_test_config export SUPERSET_CONFIG=tests.integration_tests.superset_test_config
export SUPERSET_TESTENV=true export SUPERSET_TESTENV=true
export ENABLE_REACT_CRUD_VIEWS=true export ENABLE_REACT_CRUD_VIEWS=true
export CYPRESS_BASE_URL="http://localhost:8081" export CYPRESS_BASE_URL="http://localhost:8081"

View File

@ -21,7 +21,7 @@ set -eo pipefail
REQUIREMENTS_LOCAL="/app/docker/requirements-local.txt" REQUIREMENTS_LOCAL="/app/docker/requirements-local.txt"
# If Cypress run overwrite the password for admin and export env variables # If Cypress run overwrite the password for admin and export env variables
if [ "$CYPRESS_CONFIG" == "true" ]; then if [ "$CYPRESS_CONFIG" == "true" ]; then
export SUPERSET_CONFIG=tests.superset_test_config export SUPERSET_CONFIG=tests.integration_tests.superset_test_config
export SUPERSET_TESTENV=true export SUPERSET_TESTENV=true
export ENABLE_REACT_CRUD_VIEWS=true export ENABLE_REACT_CRUD_VIEWS=true
export SUPERSET__SQLALCHEMY_DATABASE_URI=postgresql+psycopg2://superset:superset@db:5432/superset export SUPERSET__SQLALCHEMY_DATABASE_URI=postgresql+psycopg2://superset:superset@db:5432/superset

View File

@ -18,7 +18,7 @@
# #
set -e set -e
export SUPERSET_CONFIG=${SUPERSET_CONFIG:-tests.superset_test_config} export SUPERSET_CONFIG=${SUPERSET_CONFIG:-tests.integration_tests.superset_test_config}
export SUPERSET_TESTENV=true export SUPERSET_TESTENV=true
echo "Superset config module: $SUPERSET_CONFIG" echo "Superset config module: $SUPERSET_CONFIG"

View File

@ -62,7 +62,7 @@ DB_NAME="test"
DB_USER="superset" DB_USER="superset"
DB_PASSWORD="superset" DB_PASSWORD="superset"
export SUPERSET__SQLALCHEMY_DATABASE_URI=${SUPERSET__SQLALCHEMY_DATABASE_URI:-postgresql+psycopg2://"${DB_USER}":"${DB_PASSWORD}"@localhost/"${DB_NAME}"} export SUPERSET__SQLALCHEMY_DATABASE_URI=${SUPERSET__SQLALCHEMY_DATABASE_URI:-postgresql+psycopg2://"${DB_USER}":"${DB_PASSWORD}"@localhost/"${DB_NAME}"}
export SUPERSET_CONFIG=${SUPERSET_CONFIG:-tests.superset_test_config} export SUPERSET_CONFIG=${SUPERSET_CONFIG:-tests.integration_tests.superset_test_config}
RUN_INIT=1 RUN_INIT=1
RUN_RESET_DB=1 RUN_RESET_DB=1
RUN_TESTS=1 RUN_TESTS=1

View File

@ -19,13 +19,19 @@
import json import json
import unittest import unittest
from unittest import mock from unittest import mock
from tests.fixtures.birth_names_dashboard import load_birth_names_dashboard_with_slices from tests.integration_tests.fixtures.birth_names_dashboard import (
load_birth_names_dashboard_with_slices,
)
import pytest import pytest
from tests.fixtures.world_bank_dashboard import load_world_bank_dashboard_with_slices from tests.integration_tests.fixtures.world_bank_dashboard import (
load_world_bank_dashboard_with_slices,
)
from tests.fixtures.energy_dashboard import load_energy_table_with_slice from tests.integration_tests.fixtures.energy_dashboard import (
from tests.test_app import app # isort:skip load_energy_table_with_slice,
)
from tests.integration_tests.test_app import app # isort:skip
from superset import db, security_manager from superset import db, security_manager
from superset.connectors.connector_registry import ConnectorRegistry from superset.connectors.connector_registry import ConnectorRegistry
from superset.connectors.druid.models import DruidDatasource from superset.connectors.druid.models import DruidDatasource

View File

@ -45,9 +45,9 @@ from superset.views.alerts import (
AlertModelView, AlertModelView,
AlertObservationModelView, AlertObservationModelView,
) )
from tests.base_tests import SupersetTestCase from tests.integration_tests.base_tests import SupersetTestCase
from tests.test_app import app from tests.integration_tests.test_app import app
from tests.utils import read_fixture from tests.integration_tests.utils import read_fixture
logging.basicConfig(level=logging.INFO) logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)

View File

@ -22,12 +22,12 @@ import pytest
import prison import prison
from sqlalchemy.sql import func from sqlalchemy.sql import func
import tests.test_app import tests.integration_tests.test_app
from superset import db from superset import db
from superset.models.annotations import Annotation, AnnotationLayer from superset.models.annotations import Annotation, AnnotationLayer
from tests.base_tests import SupersetTestCase from tests.integration_tests.base_tests import SupersetTestCase
from tests.annotation_layers.fixtures import ( from tests.integration_tests.annotation_layers.fixtures import (
create_annotation_layers, create_annotation_layers,
get_end_dttm, get_end_dttm,
get_start_dttm, get_start_dttm,

View File

@ -22,7 +22,7 @@ from typing import Optional
from superset import db from superset import db
from superset.models.annotations import Annotation, AnnotationLayer from superset.models.annotations import Annotation, AnnotationLayer
from tests.test_app import app from tests.integration_tests.test_app import app
ANNOTATION_LAYERS_COUNT = 10 ANNOTATION_LAYERS_COUNT = 10

View File

@ -19,8 +19,8 @@ from typing import Optional
from unittest import mock from unittest import mock
from superset.extensions import async_query_manager from superset.extensions import async_query_manager
from tests.base_tests import SupersetTestCase from tests.integration_tests.base_tests import SupersetTestCase
from tests.test_app import app from tests.integration_tests.test_app import app
class TestAsyncEventApi(SupersetTestCase): class TestAsyncEventApi(SupersetTestCase):

View File

@ -16,13 +16,15 @@
# under the License. # under the License.
# isort:skip_file # isort:skip_file
import json import json
from tests.fixtures.world_bank_dashboard import load_world_bank_dashboard_with_slices from tests.integration_tests.fixtures.world_bank_dashboard import (
load_world_bank_dashboard_with_slices,
)
import pytest import pytest
from flask_appbuilder.models.sqla.interface import SQLAInterface from flask_appbuilder.models.sqla.interface import SQLAInterface
import prison import prison
import tests.test_app import tests.integration_tests.test_app
from superset import db, security_manager from superset import db, security_manager
from superset.extensions import appbuilder from superset.extensions import appbuilder
from superset.models.dashboard import Dashboard from superset.models.dashboard import Dashboard

View File

@ -32,7 +32,7 @@ from sqlalchemy.ext.declarative.api import DeclarativeMeta
from sqlalchemy.orm import Session from sqlalchemy.orm import Session
from sqlalchemy.sql import func from sqlalchemy.sql import func
from tests.test_app import app from tests.integration_tests.test_app import app
from superset.sql_parse import CtasMethod from superset.sql_parse import CtasMethod
from superset import db, security_manager from superset import db, security_manager
from superset.connectors.base.models import BaseDatasource from superset.connectors.base.models import BaseDatasource

View File

@ -22,7 +22,9 @@ import pytest
from superset import app, db from superset import app, db
from superset.extensions import cache_manager from superset.extensions import cache_manager
from superset.utils.core import QueryStatus from superset.utils.core import QueryStatus
from tests.fixtures.birth_names_dashboard import load_birth_names_dashboard_with_slices from tests.integration_tests.fixtures.birth_names_dashboard import (
load_birth_names_dashboard_with_slices,
)
from .base_tests import SupersetTestCase from .base_tests import SupersetTestCase

View File

@ -18,11 +18,11 @@
"""Unit tests for Superset""" """Unit tests for Superset"""
from typing import Dict, Any from typing import Dict, Any
from tests.test_app import app # noqa from tests.integration_tests.test_app import app # noqa
from superset.extensions import cache_manager, db from superset.extensions import cache_manager, db
from superset.models.cache import CacheKey from superset.models.cache import CacheKey
from tests.base_tests import ( from tests.integration_tests.base_tests import (
SupersetTestCase, SupersetTestCase,
post_assert_metric, post_assert_metric,
test_client, test_client,

View File

@ -23,16 +23,18 @@ import string
import time import time
import unittest.mock as mock import unittest.mock as mock
from typing import Optional from typing import Optional
from tests.fixtures.birth_names_dashboard import load_birth_names_dashboard_with_slices from tests.integration_tests.fixtures.birth_names_dashboard import (
load_birth_names_dashboard_with_slices,
)
import pytest import pytest
import flask import flask
from flask import current_app from flask import current_app
from tests.base_tests import login from tests.integration_tests.base_tests import login
from tests.conftest import CTAS_SCHEMA_NAME from tests.integration_tests.conftest import CTAS_SCHEMA_NAME
from tests.test_app import app from tests.integration_tests.test_app import app
from superset import db, sql_lab from superset import db, sql_lab
from superset.result_set import SupersetResultSet from superset.result_set import SupersetResultSet
from superset.db_engine_specs.base import BaseEngineSpec from superset.db_engine_specs.base import BaseEngineSpec

View File

@ -23,10 +23,12 @@ from typing import Optional
from unittest import mock from unittest import mock
from zipfile import is_zipfile, ZipFile from zipfile import is_zipfile, ZipFile
from tests.conftest import with_feature_flags from tests.integration_tests.conftest import with_feature_flags
from superset.models.sql_lab import Query from superset.models.sql_lab import Query
from tests.insert_chart_mixin import InsertChartMixin from tests.integration_tests.insert_chart_mixin import InsertChartMixin
from tests.fixtures.birth_names_dashboard import load_birth_names_dashboard_with_slices from tests.integration_tests.fixtures.birth_names_dashboard import (
load_birth_names_dashboard_with_slices,
)
import humanize import humanize
import prison import prison
@ -35,8 +37,10 @@ import yaml
from sqlalchemy import and_, or_ from sqlalchemy import and_, or_
from sqlalchemy.sql import func from sqlalchemy.sql import func
from tests.fixtures.world_bank_dashboard import load_world_bank_dashboard_with_slices from tests.integration_tests.fixtures.world_bank_dashboard import (
from tests.test_app import app load_world_bank_dashboard_with_slices,
)
from tests.integration_tests.test_app import app
from superset.charts.commands.data import ChartDataCommand from superset.charts.commands.data import ChartDataCommand
from superset.connectors.sqla.models import SqlaTable, TableColumn from superset.connectors.sqla.models import SqlaTable, TableColumn
from superset.errors import SupersetErrorType from superset.errors import SupersetErrorType
@ -55,21 +59,32 @@ from superset.utils.core import (
) )
from tests.base_api_tests import ApiOwnersTestCaseMixin from tests.integration_tests.base_api_tests import ApiOwnersTestCaseMixin
from tests.base_tests import SupersetTestCase, post_assert_metric, test_client from tests.integration_tests.base_tests import (
SupersetTestCase,
post_assert_metric,
test_client,
)
from tests.fixtures.importexport import ( from tests.integration_tests.fixtures.importexport import (
chart_config, chart_config,
chart_metadata_config, chart_metadata_config,
database_config, database_config,
dataset_config, dataset_config,
dataset_metadata_config, dataset_metadata_config,
) )
from tests.fixtures.energy_dashboard import load_energy_table_with_slice from tests.integration_tests.fixtures.energy_dashboard import (
from tests.fixtures.query_context import get_query_context, ANNOTATION_LAYERS load_energy_table_with_slice,
from tests.fixtures.unicode_dashboard import load_unicode_dashboard_with_slice )
from tests.annotation_layers.fixtures import create_annotation_layers from tests.integration_tests.fixtures.query_context import (
from tests.utils.get_dashboards import get_dashboards_ids get_query_context,
ANNOTATION_LAYERS,
)
from tests.integration_tests.fixtures.unicode_dashboard import (
load_unicode_dashboard_with_slice,
)
from tests.integration_tests.annotation_layers.fixtures import create_annotation_layers
from tests.integration_tests.utils.get_dashboards import get_dashboards_ids
CHART_DATA_URI = "api/v1/chart/data" CHART_DATA_URI = "api/v1/chart/data"
CHARTS_FIXTURE_COUNT = 10 CHARTS_FIXTURE_COUNT = 10

View File

@ -31,9 +31,11 @@ from superset.commands.importers.exceptions import IncorrectVersionError
from superset.connectors.sqla.models import SqlaTable from superset.connectors.sqla.models import SqlaTable
from superset.models.core import Database from superset.models.core import Database
from superset.models.slice import Slice from superset.models.slice import Slice
from tests.base_tests import SupersetTestCase from tests.integration_tests.base_tests import SupersetTestCase
from tests.fixtures.energy_dashboard import load_energy_table_with_slice from tests.integration_tests.fixtures.energy_dashboard import (
from tests.fixtures.importexport import ( load_energy_table_with_slice,
)
from tests.integration_tests.fixtures.importexport import (
chart_config, chart_config,
chart_metadata_config, chart_metadata_config,
database_config, database_config,

View File

@ -19,11 +19,11 @@
from typing import Any, Dict, Tuple from typing import Any, Dict, Tuple
from marshmallow import ValidationError from marshmallow import ValidationError
from tests.test_app import app from tests.integration_tests.test_app import app
from superset.charts.schemas import ChartDataQueryContextSchema from superset.charts.schemas import ChartDataQueryContextSchema
from superset.common.query_context import QueryContext from superset.common.query_context import QueryContext
from tests.base_tests import SupersetTestCase from tests.integration_tests.base_tests import SupersetTestCase
from tests.fixtures.query_context import get_query_context from tests.integration_tests.fixtures.query_context import get_query_context
class TestSchema(SupersetTestCase): class TestSchema(SupersetTestCase):

View File

@ -27,7 +27,9 @@ from freezegun import freeze_time
import superset.cli import superset.cli
from superset import app from superset import app
from tests.fixtures.birth_names_dashboard import load_birth_names_dashboard_with_slices from tests.integration_tests.fixtures.birth_names_dashboard import (
load_birth_names_dashboard_with_slices,
)
@pytest.mark.usefixtures("load_birth_names_dashboard_with_slices") @pytest.mark.usefixtures("load_birth_names_dashboard_with_slices")

View File

@ -18,7 +18,7 @@
from superset.commands.exceptions import CommandInvalidError from superset.commands.exceptions import CommandInvalidError
from superset.commands.importers.v1.utils import is_valid_config from superset.commands.importers.v1.utils import is_valid_config
from tests.base_tests import SupersetTestCase from tests.integration_tests.base_tests import SupersetTestCase
class TestCommandsExceptions(SupersetTestCase): class TestCommandsExceptions(SupersetTestCase):

View File

@ -19,8 +19,8 @@
import unittest import unittest
from typing import Any, Dict from typing import Any, Dict
from tests.base_tests import SupersetTestCase from tests.integration_tests.base_tests import SupersetTestCase
from tests.test_app import app from tests.integration_tests.test_app import app
from superset import db from superset import db
from superset.connectors.sqla.models import SqlaTable from superset.connectors.sqla.models import SqlaTable

View File

@ -22,7 +22,7 @@ import pytest
from sqlalchemy.engine import Engine from sqlalchemy.engine import Engine
from unittest.mock import patch from unittest.mock import patch
from tests.test_app import app from tests.integration_tests.test_app import app
from superset import db from superset import db
from superset.extensions import feature_flag_manager from superset.extensions import feature_flag_manager
from superset.utils.core import get_example_database, json_dumps_w_dates from superset.utils.core import get_example_database, json_dumps_w_dates
@ -41,7 +41,7 @@ def app_context():
@pytest.fixture(autouse=True, scope="session") @pytest.fixture(autouse=True, scope="session")
def setup_sample_data() -> Any: def setup_sample_data() -> Any:
# TODO(john-bodley): Determine a cleaner way of setting up the sample data without # TODO(john-bodley): Determine a cleaner way of setting up the sample data without
# relying on `tests.test_app.app` leveraging an `app` fixture which is purposely # relying on `tests.integration_tests.test_app.app` leveraging an `app` fixture which is purposely
# scoped to the function level to ensure tests remain idempotent. # scoped to the function level to ensure tests remain idempotent.
with app.app_context(): with app.app_context():
setup_presto_if_needed() setup_presto_if_needed()
@ -115,7 +115,7 @@ def setup_presto_if_needed():
def with_feature_flags(**mock_feature_flags): def with_feature_flags(**mock_feature_flags):
""" """
Use this decorator to mock feature flags in tests. Use this decorator to mock feature flags in tests.integration_tests.
Usage: Usage:

View File

@ -25,7 +25,9 @@ import json
import logging import logging
from typing import Dict, List from typing import Dict, List
from urllib.parse import quote from urllib.parse import quote
from tests.fixtures.birth_names_dashboard import load_birth_names_dashboard_with_slices from tests.integration_tests.fixtures.birth_names_dashboard import (
load_birth_names_dashboard_with_slices,
)
import pytest import pytest
import pytz import pytz
@ -39,9 +41,11 @@ import sqlalchemy as sqla
from sqlalchemy.exc import SQLAlchemyError from sqlalchemy.exc import SQLAlchemyError
from superset.models.cache import CacheKey from superset.models.cache import CacheKey
from superset.utils.core import get_example_database from superset.utils.core import get_example_database
from tests.conftest import with_feature_flags from tests.integration_tests.conftest import with_feature_flags
from tests.fixtures.energy_dashboard import load_energy_table_with_slice from tests.integration_tests.fixtures.energy_dashboard import (
from tests.test_app import app load_energy_table_with_slice,
)
from tests.integration_tests.test_app import app
import superset.views.utils import superset.views.utils
from superset import ( from superset import (
dataframe, dataframe,
@ -66,7 +70,9 @@ from superset.views import core as views
from superset.views.database.views import DatabaseView from superset.views.database.views import DatabaseView
from .base_tests import SupersetTestCase from .base_tests import SupersetTestCase
from tests.fixtures.world_bank_dashboard import load_world_bank_dashboard_with_slices from tests.integration_tests.fixtures.world_bank_dashboard import (
load_world_bank_dashboard_with_slices,
)
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
@ -742,7 +748,9 @@ class TestCore(SupersetTestCase):
data = self.run_sql(sql, "fdaklj3ws") data = self.run_sql(sql, "fdaklj3ws")
self.assertEqual(data["data"][0]["test"], "2") self.assertEqual(data["data"][0]["test"], "2")
@mock.patch("tests.superset_test_custom_template_processors.datetime") @mock.patch(
"tests.integration_tests.superset_test_custom_template_processors.datetime"
)
@mock.patch("superset.sql_lab.get_sql_results") @mock.patch("superset.sql_lab.get_sql_results")
def test_custom_templated_sql_json(self, sql_lab_mock, mock_dt) -> None: def test_custom_templated_sql_json(self, sql_lab_mock, mock_dt) -> None:
"""Test sqllab receives macros expanded query.""" """Test sqllab receives macros expanded query."""

View File

@ -21,12 +21,12 @@ import pytest
import prison import prison
from sqlalchemy.sql import func from sqlalchemy.sql import func
import tests.test_app import tests.integration_tests.test_app
from superset import db from superset import db
from superset.models.core import CssTemplate from superset.models.core import CssTemplate
from superset.utils.core import get_example_database from superset.utils.core import get_example_database
from tests.base_tests import SupersetTestCase from tests.integration_tests.base_tests import SupersetTestCase
CSS_TEMPLATES_FIXTURE_COUNT = 5 CSS_TEMPLATES_FIXTURE_COUNT = 5

View File

@ -27,12 +27,12 @@ import pandas as pd
import pytest import pytest
from superset.sql_parse import Table from superset.sql_parse import Table
from tests.conftest import ADMIN_SCHEMA_NAME from tests.integration_tests.conftest import ADMIN_SCHEMA_NAME
from tests.test_app import app # isort:skip from tests.integration_tests.test_app import app # isort:skip
from superset import db from superset import db
from superset.models.core import Database from superset.models.core import Database
from superset.utils import core as utils from superset.utils import core as utils
from tests.base_tests import get_resp, login, SupersetTestCase from tests.integration_tests.base_tests import get_resp, login, SupersetTestCase
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
@ -136,7 +136,7 @@ def upload_excel(
def mock_upload_to_s3(filename: str, upload_prefix: str, table: Table) -> str: def mock_upload_to_s3(filename: str, upload_prefix: str, table: Table) -> str:
""" """
HDFS is used instead of S3 for the unit tests. HDFS is used instead of S3 for the unit tests.integration_tests.
:param filename: The file to upload :param filename: The file to upload
:param upload_prefix: The S3 prefix :param upload_prefix: The S3 prefix

View File

@ -25,17 +25,25 @@ import pytest
from flask import escape, url_for from flask import escape, url_for
from sqlalchemy import func from sqlalchemy import func
from tests.test_app import app from tests.integration_tests.test_app import app
from superset import db, security_manager from superset import db, security_manager
from superset.connectors.sqla.models import SqlaTable from superset.connectors.sqla.models import SqlaTable
from superset.models import core as models from superset.models import core as models
from superset.models.dashboard import Dashboard from superset.models.dashboard import Dashboard
from superset.models.slice import Slice from superset.models.slice import Slice
from tests.fixtures.birth_names_dashboard import load_birth_names_dashboard_with_slices from tests.integration_tests.fixtures.birth_names_dashboard import (
from tests.fixtures.energy_dashboard import load_energy_table_with_slice load_birth_names_dashboard_with_slices,
from tests.fixtures.public_role import public_role_like_gamma )
from tests.fixtures.unicode_dashboard import load_unicode_dashboard_with_position from tests.integration_tests.fixtures.energy_dashboard import (
from tests.fixtures.world_bank_dashboard import load_world_bank_dashboard_with_slices load_energy_table_with_slice,
)
from tests.integration_tests.fixtures.public_role import public_role_like_gamma
from tests.integration_tests.fixtures.unicode_dashboard import (
load_unicode_dashboard_with_position,
)
from tests.integration_tests.fixtures.world_bank_dashboard import (
load_world_bank_dashboard_with_slices,
)
from .base_tests import SupersetTestCase from .base_tests import SupersetTestCase

View File

@ -23,7 +23,7 @@ from typing import List, Optional
from unittest.mock import patch from unittest.mock import patch
from zipfile import is_zipfile, ZipFile from zipfile import is_zipfile, ZipFile
from tests.insert_chart_mixin import InsertChartMixin from tests.integration_tests.insert_chart_mixin import InsertChartMixin
import pytest import pytest
import prison import prison
@ -40,9 +40,9 @@ from superset.models.slice import Slice
from superset.utils.core import backend from superset.utils.core import backend
from superset.views.base import generate_download_headers from superset.views.base import generate_download_headers
from tests.base_api_tests import ApiOwnersTestCaseMixin from tests.integration_tests.base_api_tests import ApiOwnersTestCaseMixin
from tests.base_tests import SupersetTestCase from tests.integration_tests.base_tests import SupersetTestCase
from tests.fixtures.importexport import ( from tests.integration_tests.fixtures.importexport import (
chart_config, chart_config,
database_config, database_config,
dashboard_config, dashboard_config,
@ -51,9 +51,13 @@ from tests.fixtures.importexport import (
dataset_config, dataset_config,
dataset_metadata_config, dataset_metadata_config,
) )
from tests.utils.get_dashboards import get_dashboards_ids from tests.integration_tests.utils.get_dashboards import get_dashboards_ids
from tests.fixtures.birth_names_dashboard import load_birth_names_dashboard_with_slices from tests.integration_tests.fixtures.birth_names_dashboard import (
from tests.fixtures.world_bank_dashboard import load_world_bank_dashboard_with_slices load_birth_names_dashboard_with_slices,
)
from tests.integration_tests.fixtures.world_bank_dashboard import (
load_world_bank_dashboard_with_slices,
)
DASHBOARDS_FIXTURE_COUNT = 10 DASHBOARDS_FIXTURE_COUNT = 10

View File

@ -21,10 +21,14 @@ import prison
from flask import Response from flask import Response
from superset import app, security_manager from superset import app, security_manager
from tests.base_tests import SupersetTestCase from tests.integration_tests.base_tests import SupersetTestCase
from tests.dashboards.consts import * from tests.integration_tests.dashboards.consts import *
from tests.dashboards.dashboard_test_utils import build_save_dash_parts from tests.integration_tests.dashboards.dashboard_test_utils import (
from tests.dashboards.superset_factory_util import delete_all_inserted_objects build_save_dash_parts,
)
from tests.integration_tests.dashboards.superset_factory_util import (
delete_all_inserted_objects,
)
class DashboardTestCase(SupersetTestCase): class DashboardTestCase(SupersetTestCase):

View File

@ -38,8 +38,8 @@ from superset.dashboards.commands.importers import v0, v1
from superset.models.core import Database from superset.models.core import Database
from superset.models.dashboard import Dashboard from superset.models.dashboard import Dashboard
from superset.models.slice import Slice from superset.models.slice import Slice
from tests.base_tests import SupersetTestCase from tests.integration_tests.base_tests import SupersetTestCase
from tests.fixtures.importexport import ( from tests.integration_tests.fixtures.importexport import (
chart_config, chart_config,
dashboard_config, dashboard_config,
dashboard_export, dashboard_export,
@ -48,7 +48,9 @@ from tests.fixtures.importexport import (
dataset_config, dataset_config,
dataset_metadata_config, dataset_metadata_config,
) )
from tests.fixtures.world_bank_dashboard import load_world_bank_dashboard_with_slices from tests.integration_tests.fixtures.world_bank_dashboard import (
load_world_bank_dashboard_with_slices,
)
class TestExportDashboardsCommand(SupersetTestCase): class TestExportDashboardsCommand(SupersetTestCase):

View File

@ -21,12 +21,14 @@ import time
import pytest import pytest
import tests.test_app # pylint: disable=unused-import import tests.integration_tests.test_app # pylint: disable=unused-import
from superset import db from superset import db
from superset.dashboards.dao import DashboardDAO from superset.dashboards.dao import DashboardDAO
from superset.models.dashboard import Dashboard from superset.models.dashboard import Dashboard
from tests.base_tests import SupersetTestCase from tests.integration_tests.base_tests import SupersetTestCase
from tests.fixtures.world_bank_dashboard import load_world_bank_dashboard_with_slices from tests.integration_tests.fixtures.world_bank_dashboard import (
load_world_bank_dashboard_with_slices,
)
class TestDashboardDAO(SupersetTestCase): class TestDashboardDAO(SupersetTestCase):

View File

@ -25,7 +25,7 @@ from superset import appbuilder, db, security_manager
from superset.connectors.sqla.models import SqlaTable from superset.connectors.sqla.models import SqlaTable
from superset.models.dashboard import Dashboard from superset.models.dashboard import Dashboard
from superset.models.slice import Slice from superset.models.slice import Slice
from tests.dashboards.consts import DEFAULT_DASHBOARD_SLUG_TO_TEST from tests.integration_tests.dashboards.consts import DEFAULT_DASHBOARD_SLUG_TO_TEST
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)

View File

@ -19,7 +19,7 @@ from typing import List, Optional
from flask import escape, Response from flask import escape, Response
from superset.models.dashboard import Dashboard from superset.models.dashboard import Dashboard
from tests.dashboards.base_case import DashboardTestCase from tests.integration_tests.dashboards.base_case import DashboardTestCase
class BaseTestDashboardSecurity(DashboardTestCase): class BaseTestDashboardSecurity(DashboardTestCase):

View File

@ -23,11 +23,13 @@ from flask import escape
from superset import app from superset import app
from superset.models import core as models from superset.models import core as models
from tests.dashboards.base_case import DashboardTestCase from tests.integration_tests.dashboards.base_case import DashboardTestCase
from tests.dashboards.consts import * from tests.integration_tests.dashboards.consts import *
from tests.dashboards.dashboard_test_utils import * from tests.integration_tests.dashboards.dashboard_test_utils import *
from tests.dashboards.superset_factory_util import * from tests.integration_tests.dashboards.superset_factory_util import *
from tests.fixtures.energy_dashboard import load_energy_table_with_slice from tests.integration_tests.fixtures.energy_dashboard import (
load_energy_table_with_slice,
)
class TestDashboardDatasetSecurity(DashboardTestCase): class TestDashboardDatasetSecurity(DashboardTestCase):

View File

@ -19,17 +19,21 @@ from unittest import mock
import pytest import pytest
from tests.dashboards.dashboard_test_utils import * from tests.integration_tests.dashboards.dashboard_test_utils import *
from tests.dashboards.security.base_case import BaseTestDashboardSecurity from tests.integration_tests.dashboards.security.base_case import (
from tests.dashboards.superset_factory_util import ( BaseTestDashboardSecurity,
)
from tests.integration_tests.dashboards.superset_factory_util import (
create_dashboard_to_db, create_dashboard_to_db,
create_database_to_db, create_database_to_db,
create_datasource_table_to_db, create_datasource_table_to_db,
create_slice_to_db, create_slice_to_db,
) )
from tests.fixtures.birth_names_dashboard import load_birth_names_dashboard_with_slices from tests.integration_tests.fixtures.birth_names_dashboard import (
from tests.fixtures.public_role import public_role_like_gamma load_birth_names_dashboard_with_slices,
from tests.fixtures.query_context import get_query_context )
from tests.integration_tests.fixtures.public_role import public_role_like_gamma
from tests.integration_tests.fixtures.query_context import get_query_context
CHART_DATA_URI = "api/v1/chart/data" CHART_DATA_URI = "api/v1/chart/data"

View File

@ -30,7 +30,11 @@ from superset.models.dashboard import (
DashboardRoles, DashboardRoles,
) )
from superset.models.slice import Slice, slice_user from superset.models.slice import Slice, slice_user
from tests.dashboards.dashboard_test_utils import random_slug, random_str, random_title from tests.integration_tests.dashboards.dashboard_test_utils import (
random_slug,
random_str,
random_title,
)
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)

View File

@ -43,19 +43,27 @@ from superset.errors import SupersetError
from superset.models.core import Database, ConfigurationMethod from superset.models.core import Database, ConfigurationMethod
from superset.models.reports import ReportSchedule, ReportScheduleType from superset.models.reports import ReportSchedule, ReportScheduleType
from superset.utils.core import get_example_database, get_main_database from superset.utils.core import get_example_database, get_main_database
from tests.base_tests import SupersetTestCase from tests.integration_tests.base_tests import SupersetTestCase
from tests.fixtures.birth_names_dashboard import load_birth_names_dashboard_with_slices from tests.integration_tests.fixtures.birth_names_dashboard import (
from tests.fixtures.certificates import ssl_certificate load_birth_names_dashboard_with_slices,
from tests.fixtures.energy_dashboard import load_energy_table_with_slice )
from tests.fixtures.world_bank_dashboard import load_world_bank_dashboard_with_slices from tests.integration_tests.fixtures.certificates import ssl_certificate
from tests.fixtures.importexport import ( from tests.integration_tests.fixtures.energy_dashboard import (
load_energy_table_with_slice,
)
from tests.integration_tests.fixtures.world_bank_dashboard import (
load_world_bank_dashboard_with_slices,
)
from tests.integration_tests.fixtures.importexport import (
database_config, database_config,
dataset_config, dataset_config,
database_metadata_config, database_metadata_config,
dataset_metadata_config, dataset_metadata_config,
) )
from tests.fixtures.unicode_dashboard import load_unicode_dashboard_with_position from tests.integration_tests.fixtures.unicode_dashboard import (
from tests.test_app import app load_unicode_dashboard_with_position,
)
from tests.integration_tests.test_app import app
class TestDatabaseApi(SupersetTestCase): class TestDatabaseApi(SupersetTestCase):

View File

@ -42,10 +42,14 @@ from superset.errors import ErrorLevel, SupersetError, SupersetErrorType
from superset.exceptions import SupersetErrorsException, SupersetSecurityException from superset.exceptions import SupersetErrorsException, SupersetSecurityException
from superset.models.core import Database from superset.models.core import Database
from superset.utils.core import backend, get_example_database from superset.utils.core import backend, get_example_database
from tests.base_tests import SupersetTestCase from tests.integration_tests.base_tests import SupersetTestCase
from tests.fixtures.birth_names_dashboard import load_birth_names_dashboard_with_slices from tests.integration_tests.fixtures.birth_names_dashboard import (
from tests.fixtures.energy_dashboard import load_energy_table_with_slice load_birth_names_dashboard_with_slices,
from tests.fixtures.importexport import ( )
from tests.integration_tests.fixtures.energy_dashboard import (
load_energy_table_with_slice,
)
from tests.integration_tests.fixtures.importexport import (
database_config, database_config,
database_metadata_config, database_metadata_config,
dataset_config, dataset_config,

View File

@ -18,7 +18,7 @@
import numpy as np import numpy as np
import pandas as pd import pandas as pd
import tests.test_app import tests.integration_tests.test_app
from superset.dataframe import df_to_records from superset.dataframe import df_to_records
from superset.db_engine_specs import BaseEngineSpec from superset.db_engine_specs import BaseEngineSpec
from superset.result_set import SupersetResultSet from superset.result_set import SupersetResultSet

View File

@ -38,11 +38,15 @@ from superset.extensions import db, security_manager
from superset.models.core import Database from superset.models.core import Database
from superset.utils.core import backend, get_example_database, get_main_database from superset.utils.core import backend, get_example_database, get_main_database
from superset.utils.dict_import_export import export_to_dict from superset.utils.dict_import_export import export_to_dict
from tests.base_tests import SupersetTestCase from tests.integration_tests.base_tests import SupersetTestCase
from tests.conftest import CTAS_SCHEMA_NAME from tests.integration_tests.conftest import CTAS_SCHEMA_NAME
from tests.fixtures.birth_names_dashboard import load_birth_names_dashboard_with_slices from tests.integration_tests.fixtures.birth_names_dashboard import (
from tests.fixtures.energy_dashboard import load_energy_table_with_slice load_birth_names_dashboard_with_slices,
from tests.fixtures.importexport import ( )
from tests.integration_tests.fixtures.energy_dashboard import (
load_energy_table_with_slice,
)
from tests.integration_tests.fixtures.importexport import (
database_config, database_config,
database_metadata_config, database_metadata_config,
dataset_config, dataset_config,

View File

@ -33,9 +33,11 @@ from superset.datasets.commands.export import ExportDatasetsCommand
from superset.datasets.commands.importers import v0, v1 from superset.datasets.commands.importers import v0, v1
from superset.models.core import Database from superset.models.core import Database
from superset.utils.core import get_example_database from superset.utils.core import get_example_database
from tests.base_tests import SupersetTestCase from tests.integration_tests.base_tests import SupersetTestCase
from tests.fixtures.energy_dashboard import load_energy_table_with_slice from tests.integration_tests.fixtures.energy_dashboard import (
from tests.fixtures.importexport import ( load_energy_table_with_slice,
)
from tests.integration_tests.fixtures.importexport import (
database_config, database_config,
database_metadata_config, database_metadata_config,
dataset_cli_export, dataset_cli_export,
@ -43,7 +45,9 @@ from tests.fixtures.importexport import (
dataset_metadata_config, dataset_metadata_config,
dataset_ui_export, dataset_ui_export,
) )
from tests.fixtures.world_bank_dashboard import load_world_bank_dashboard_with_slices from tests.integration_tests.fixtures.world_bank_dashboard import (
load_world_bank_dashboard_with_slices,
)
class TestExportDatasetsCommand(SupersetTestCase): class TestExportDatasetsCommand(SupersetTestCase):

View File

@ -26,7 +26,9 @@ from superset.connectors.sqla.models import SqlaTable
from superset.datasets.commands.exceptions import DatasetNotFoundError from superset.datasets.commands.exceptions import DatasetNotFoundError
from superset.exceptions import SupersetException, SupersetGenericDBErrorException from superset.exceptions import SupersetException, SupersetGenericDBErrorException
from superset.utils.core import get_example_database from superset.utils.core import get_example_database
from tests.fixtures.birth_names_dashboard import load_birth_names_dashboard_with_slices from tests.integration_tests.fixtures.birth_names_dashboard import (
load_birth_names_dashboard_with_slices,
)
from .base_tests import db_insert_temp_object, SupersetTestCase from .base_tests import db_insert_temp_object, SupersetTestCase
from .fixtures.datasource import datasource_post from .fixtures.datasource import datasource_post

View File

@ -15,7 +15,7 @@
# specific language governing permissions and limitations # specific language governing permissions and limitations
# under the License. # under the License.
from superset.db_engine_specs.ascend import AscendEngineSpec from superset.db_engine_specs.ascend import AscendEngineSpec
from tests.db_engine_specs.base_tests import TestDbEngineSpec from tests.integration_tests.db_engine_specs.base_tests import TestDbEngineSpec
class TestAscendDbEngineSpec(TestDbEngineSpec): class TestAscendDbEngineSpec(TestDbEngineSpec):

View File

@ -16,7 +16,7 @@
# under the License. # under the License.
from superset.db_engine_specs.athena import AthenaEngineSpec from superset.db_engine_specs.athena import AthenaEngineSpec
from superset.errors import ErrorLevel, SupersetError, SupersetErrorType from superset.errors import ErrorLevel, SupersetError, SupersetErrorType
from tests.db_engine_specs.base_tests import TestDbEngineSpec from tests.integration_tests.db_engine_specs.base_tests import TestDbEngineSpec
class TestAthenaDbEngineSpec(TestDbEngineSpec): class TestAthenaDbEngineSpec(TestDbEngineSpec):

View File

@ -31,8 +31,8 @@ from superset.db_engine_specs.sqlite import SqliteEngineSpec
from superset.errors import ErrorLevel, SupersetError, SupersetErrorType from superset.errors import ErrorLevel, SupersetError, SupersetErrorType
from superset.sql_parse import ParsedQuery from superset.sql_parse import ParsedQuery
from superset.utils.core import get_example_database from superset.utils.core import get_example_database
from tests.db_engine_specs.base_tests import TestDbEngineSpec from tests.integration_tests.db_engine_specs.base_tests import TestDbEngineSpec
from tests.test_app import app from tests.integration_tests.test_app import app
from ..fixtures.energy_dashboard import load_energy_table_with_slice from ..fixtures.energy_dashboard import load_energy_table_with_slice
from ..fixtures.pyodbcRow import Row from ..fixtures.pyodbcRow import Row

View File

@ -18,8 +18,8 @@
from datetime import datetime from datetime import datetime
from typing import Tuple, Type from typing import Tuple, Type
from tests.test_app import app from tests.integration_tests.test_app import app
from tests.base_tests import SupersetTestCase from tests.integration_tests.base_tests import SupersetTestCase
from superset.db_engine_specs.base import BaseEngineSpec from superset.db_engine_specs.base import BaseEngineSpec
from superset.models.core import Database from superset.models.core import Database
from superset.utils.core import GenericDataType from superset.utils.core import GenericDataType

View File

@ -24,7 +24,7 @@ from superset.db_engine_specs.base import BaseEngineSpec
from superset.db_engine_specs.bigquery import BigQueryEngineSpec from superset.db_engine_specs.bigquery import BigQueryEngineSpec
from superset.errors import ErrorLevel, SupersetError, SupersetErrorType from superset.errors import ErrorLevel, SupersetError, SupersetErrorType
from superset.sql_parse import Table from superset.sql_parse import Table
from tests.db_engine_specs.base_tests import TestDbEngineSpec from tests.integration_tests.db_engine_specs.base_tests import TestDbEngineSpec
class TestBigQueryDbEngineSpec(TestDbEngineSpec): class TestBigQueryDbEngineSpec(TestDbEngineSpec):

View File

@ -20,7 +20,7 @@ import pytest
from superset.db_engine_specs.clickhouse import ClickHouseEngineSpec from superset.db_engine_specs.clickhouse import ClickHouseEngineSpec
from superset.db_engine_specs.exceptions import SupersetDBAPIDatabaseError from superset.db_engine_specs.exceptions import SupersetDBAPIDatabaseError
from tests.db_engine_specs.base_tests import TestDbEngineSpec from tests.integration_tests.db_engine_specs.base_tests import TestDbEngineSpec
class TestClickHouseDbEngineSpec(TestDbEngineSpec): class TestClickHouseDbEngineSpec(TestDbEngineSpec):

View File

@ -17,7 +17,7 @@
from superset.connectors.sqla.models import SqlaTable, TableColumn from superset.connectors.sqla.models import SqlaTable, TableColumn
from superset.db_engine_specs.crate import CrateEngineSpec from superset.db_engine_specs.crate import CrateEngineSpec
from superset.models.core import Database from superset.models.core import Database
from tests.db_engine_specs.base_tests import TestDbEngineSpec from tests.integration_tests.db_engine_specs.base_tests import TestDbEngineSpec
class TestCrateDbEngineSpec(TestDbEngineSpec): class TestCrateDbEngineSpec(TestDbEngineSpec):

View File

@ -15,7 +15,7 @@
# specific language governing permissions and limitations # specific language governing permissions and limitations
# under the License. # under the License.
from superset.db_engine_specs.dremio import DremioEngineSpec from superset.db_engine_specs.dremio import DremioEngineSpec
from tests.db_engine_specs.base_tests import TestDbEngineSpec from tests.integration_tests.db_engine_specs.base_tests import TestDbEngineSpec
class TestDremioDbEngineSpec(TestDbEngineSpec): class TestDremioDbEngineSpec(TestDbEngineSpec):

View File

@ -15,7 +15,7 @@
# specific language governing permissions and limitations # specific language governing permissions and limitations
# under the License. # under the License.
from superset.db_engine_specs.drill import DrillEngineSpec from superset.db_engine_specs.drill import DrillEngineSpec
from tests.db_engine_specs.base_tests import TestDbEngineSpec from tests.integration_tests.db_engine_specs.base_tests import TestDbEngineSpec
class TestDrillDbEngineSpec(TestDbEngineSpec): class TestDrillDbEngineSpec(TestDbEngineSpec):

View File

@ -19,9 +19,9 @@ from unittest import mock
from sqlalchemy import column from sqlalchemy import column
from superset.db_engine_specs.druid import DruidEngineSpec from superset.db_engine_specs.druid import DruidEngineSpec
from tests.db_engine_specs.base_tests import TestDbEngineSpec from tests.integration_tests.db_engine_specs.base_tests import TestDbEngineSpec
from tests.fixtures.certificates import ssl_certificate from tests.integration_tests.fixtures.certificates import ssl_certificate
from tests.fixtures.database import default_db_extra from tests.integration_tests.fixtures.database import default_db_extra
class TestDruidDbEngineSpec(TestDbEngineSpec): class TestDruidDbEngineSpec(TestDbEngineSpec):

View File

@ -22,7 +22,7 @@ from superset.db_engine_specs.elasticsearch import (
ElasticSearchEngineSpec, ElasticSearchEngineSpec,
OpenDistroEngineSpec, OpenDistroEngineSpec,
) )
from tests.db_engine_specs.base_tests import TestDbEngineSpec from tests.integration_tests.db_engine_specs.base_tests import TestDbEngineSpec
class TestElasticSearchDbEngineSpec(TestDbEngineSpec): class TestElasticSearchDbEngineSpec(TestDbEngineSpec):

View File

@ -16,7 +16,7 @@
# under the License. # under the License.
from superset.db_engine_specs.gsheets import GSheetsEngineSpec from superset.db_engine_specs.gsheets import GSheetsEngineSpec
from superset.errors import ErrorLevel, SupersetError, SupersetErrorType from superset.errors import ErrorLevel, SupersetError, SupersetErrorType
from tests.db_engine_specs.base_tests import TestDbEngineSpec from tests.integration_tests.db_engine_specs.base_tests import TestDbEngineSpec
class TestGsheetsDbEngineSpec(TestDbEngineSpec): class TestGsheetsDbEngineSpec(TestDbEngineSpec):

View File

@ -15,7 +15,7 @@
# specific language governing permissions and limitations # specific language governing permissions and limitations
# under the License. # under the License.
from superset.db_engine_specs.hana import HanaEngineSpec from superset.db_engine_specs.hana import HanaEngineSpec
from tests.db_engine_specs.base_tests import TestDbEngineSpec from tests.integration_tests.db_engine_specs.base_tests import TestDbEngineSpec
class TestHanaDbEngineSpec(TestDbEngineSpec): class TestHanaDbEngineSpec(TestDbEngineSpec):

View File

@ -25,7 +25,7 @@ from sqlalchemy.sql import select
from superset.db_engine_specs.hive import HiveEngineSpec, upload_to_s3 from superset.db_engine_specs.hive import HiveEngineSpec, upload_to_s3
from superset.exceptions import SupersetException from superset.exceptions import SupersetException
from superset.sql_parse import Table, ParsedQuery from superset.sql_parse import Table, ParsedQuery
from tests.test_app import app from tests.integration_tests.test_app import app
def test_0_progress(): def test_0_progress():

View File

@ -15,7 +15,7 @@
# specific language governing permissions and limitations # specific language governing permissions and limitations
# under the License. # under the License.
from superset.db_engine_specs.impala import ImpalaEngineSpec from superset.db_engine_specs.impala import ImpalaEngineSpec
from tests.db_engine_specs.base_tests import TestDbEngineSpec from tests.integration_tests.db_engine_specs.base_tests import TestDbEngineSpec
class TestImpalaDbEngineSpec(TestDbEngineSpec): class TestImpalaDbEngineSpec(TestDbEngineSpec):

View File

@ -15,7 +15,7 @@
# specific language governing permissions and limitations # specific language governing permissions and limitations
# under the License. # under the License.
from superset.db_engine_specs.kylin import KylinEngineSpec from superset.db_engine_specs.kylin import KylinEngineSpec
from tests.db_engine_specs.base_tests import TestDbEngineSpec from tests.integration_tests.db_engine_specs.base_tests import TestDbEngineSpec
class TestKylinDbEngineSpec(TestDbEngineSpec): class TestKylinDbEngineSpec(TestDbEngineSpec):

View File

@ -27,7 +27,7 @@ from superset.db_engine_specs.base import BaseEngineSpec
from superset.db_engine_specs.mssql import MssqlEngineSpec from superset.db_engine_specs.mssql import MssqlEngineSpec
from superset.errors import ErrorLevel, SupersetError, SupersetErrorType from superset.errors import ErrorLevel, SupersetError, SupersetErrorType
from superset.utils.core import GenericDataType from superset.utils.core import GenericDataType
from tests.db_engine_specs.base_tests import TestDbEngineSpec from tests.integration_tests.db_engine_specs.base_tests import TestDbEngineSpec
class TestMssqlEngineSpec(TestDbEngineSpec): class TestMssqlEngineSpec(TestDbEngineSpec):

View File

@ -22,7 +22,10 @@ from sqlalchemy.dialects.mysql import DATE, NVARCHAR, TEXT, VARCHAR
from superset.db_engine_specs.mysql import MySQLEngineSpec from superset.db_engine_specs.mysql import MySQLEngineSpec
from superset.errors import ErrorLevel, SupersetError, SupersetErrorType from superset.errors import ErrorLevel, SupersetError, SupersetErrorType
from superset.utils.core import GenericDataType from superset.utils.core import GenericDataType
from tests.db_engine_specs.base_tests import assert_generic_types, TestDbEngineSpec from tests.integration_tests.db_engine_specs.base_tests import (
assert_generic_types,
TestDbEngineSpec,
)
class TestMySQLEngineSpecsDbEngineSpec(TestDbEngineSpec): class TestMySQLEngineSpecsDbEngineSpec(TestDbEngineSpec):

View File

@ -22,7 +22,7 @@ from sqlalchemy.dialects import oracle
from sqlalchemy.dialects.oracle import DATE, NVARCHAR, VARCHAR from sqlalchemy.dialects.oracle import DATE, NVARCHAR, VARCHAR
from superset.db_engine_specs.oracle import OracleEngineSpec from superset.db_engine_specs.oracle import OracleEngineSpec
from tests.db_engine_specs.base_tests import TestDbEngineSpec from tests.integration_tests.db_engine_specs.base_tests import TestDbEngineSpec
class TestOracleDbEngineSpec(TestDbEngineSpec): class TestOracleDbEngineSpec(TestDbEngineSpec):

View File

@ -17,7 +17,7 @@
from sqlalchemy import column from sqlalchemy import column
from superset.db_engine_specs.pinot import PinotEngineSpec from superset.db_engine_specs.pinot import PinotEngineSpec
from tests.db_engine_specs.base_tests import TestDbEngineSpec from tests.integration_tests.db_engine_specs.base_tests import TestDbEngineSpec
class TestPinotDbEngineSpec(TestDbEngineSpec): class TestPinotDbEngineSpec(TestDbEngineSpec):

View File

@ -24,9 +24,12 @@ from superset.db_engine_specs import get_engine_specs
from superset.db_engine_specs.postgres import PostgresEngineSpec from superset.db_engine_specs.postgres import PostgresEngineSpec
from superset.errors import ErrorLevel, SupersetError, SupersetErrorType from superset.errors import ErrorLevel, SupersetError, SupersetErrorType
from superset.utils.core import GenericDataType from superset.utils.core import GenericDataType
from tests.db_engine_specs.base_tests import assert_generic_types, TestDbEngineSpec from tests.integration_tests.db_engine_specs.base_tests import (
from tests.fixtures.certificates import ssl_certificate assert_generic_types,
from tests.fixtures.database import default_db_extra TestDbEngineSpec,
)
from tests.integration_tests.fixtures.certificates import ssl_certificate
from tests.integration_tests.fixtures.database import default_db_extra
class TestPostgresDbEngineSpec(TestDbEngineSpec): class TestPostgresDbEngineSpec(TestDbEngineSpec):

View File

@ -26,7 +26,7 @@ from superset.db_engine_specs.presto import PrestoEngineSpec
from superset.errors import ErrorLevel, SupersetError, SupersetErrorType from superset.errors import ErrorLevel, SupersetError, SupersetErrorType
from superset.sql_parse import ParsedQuery from superset.sql_parse import ParsedQuery
from superset.utils.core import DatasourceName, GenericDataType from superset.utils.core import DatasourceName, GenericDataType
from tests.db_engine_specs.base_tests import TestDbEngineSpec from tests.integration_tests.db_engine_specs.base_tests import TestDbEngineSpec
class TestPrestoDbEngineSpec(TestDbEngineSpec): class TestPrestoDbEngineSpec(TestDbEngineSpec):

View File

@ -18,7 +18,7 @@ from textwrap import dedent
from superset.db_engine_specs.redshift import RedshiftEngineSpec from superset.db_engine_specs.redshift import RedshiftEngineSpec
from superset.errors import ErrorLevel, SupersetError, SupersetErrorType from superset.errors import ErrorLevel, SupersetError, SupersetErrorType
from tests.db_engine_specs.base_tests import TestDbEngineSpec from tests.integration_tests.db_engine_specs.base_tests import TestDbEngineSpec
class TestRedshiftDbEngineSpec(TestDbEngineSpec): class TestRedshiftDbEngineSpec(TestDbEngineSpec):

View File

@ -19,7 +19,7 @@ import json
from superset.db_engine_specs.snowflake import SnowflakeEngineSpec from superset.db_engine_specs.snowflake import SnowflakeEngineSpec
from superset.errors import ErrorLevel, SupersetError, SupersetErrorType from superset.errors import ErrorLevel, SupersetError, SupersetErrorType
from superset.models.core import Database from superset.models.core import Database
from tests.db_engine_specs.base_tests import TestDbEngineSpec from tests.integration_tests.db_engine_specs.base_tests import TestDbEngineSpec
class TestSnowflakeDbEngineSpec(TestDbEngineSpec): class TestSnowflakeDbEngineSpec(TestDbEngineSpec):

View File

@ -17,7 +17,7 @@
from unittest import mock from unittest import mock
from superset.db_engine_specs.sqlite import SqliteEngineSpec from superset.db_engine_specs.sqlite import SqliteEngineSpec
from tests.db_engine_specs.base_tests import TestDbEngineSpec from tests.integration_tests.db_engine_specs.base_tests import TestDbEngineSpec
class TestSQliteDbEngineSpec(TestDbEngineSpec): class TestSQliteDbEngineSpec(TestDbEngineSpec):

View File

@ -17,7 +17,7 @@
from sqlalchemy.engine.url import URL from sqlalchemy.engine.url import URL
from superset.db_engine_specs.trino import TrinoEngineSpec from superset.db_engine_specs.trino import TrinoEngineSpec
from tests.db_engine_specs.base_tests import TestDbEngineSpec from tests.integration_tests.db_engine_specs.base_tests import TestDbEngineSpec
class TestTrinoDbEngineSpec(TestDbEngineSpec): class TestTrinoDbEngineSpec(TestDbEngineSpec):

View File

@ -22,7 +22,7 @@ from uuid import uuid4
import yaml import yaml
from tests.test_app import app from tests.integration_tests.test_app import app
from superset import db from superset import db
from superset.connectors.druid.models import ( from superset.connectors.druid.models import (
DruidColumn, DruidColumn,

View File

@ -19,7 +19,7 @@ import json
import unittest import unittest
from unittest.mock import Mock from unittest.mock import Mock
import tests.test_app import tests.integration_tests.test_app
import superset.connectors.druid.models as models import superset.connectors.druid.models as models
from superset.connectors.druid.models import DruidColumn, DruidDatasource, DruidMetric from superset.connectors.druid.models import DruidColumn, DruidDatasource, DruidMetric
from superset.exceptions import SupersetException from superset.exceptions import SupersetException

View File

@ -19,7 +19,7 @@ import json
import unittest import unittest
from unittest.mock import Mock, patch from unittest.mock import Mock, patch
import tests.test_app import tests.integration_tests.test_app
import superset.connectors.druid.models as models import superset.connectors.druid.models as models
from superset.connectors.druid.models import DruidColumn, DruidDatasource, DruidMetric from superset.connectors.druid.models import DruidColumn, DruidDatasource, DruidMetric
from superset.exceptions import SupersetException from superset.exceptions import SupersetException

View File

@ -21,7 +21,7 @@ import unittest
from datetime import datetime from datetime import datetime
from unittest.mock import Mock, patch from unittest.mock import Mock, patch
from tests.test_app import app from tests.integration_tests.test_app import app
from superset import db, security_manager from superset import db, security_manager
from superset.connectors.druid.views import ( from superset.connectors.druid.views import (

View File

@ -26,7 +26,7 @@ from unittest import mock
from superset import app from superset import app
from superset.utils import core as utils from superset.utils import core as utils
from tests.base_tests import SupersetTestCase from tests.integration_tests.base_tests import SupersetTestCase
from .utils import read_fixture from .utils import read_fixture

View File

@ -30,7 +30,7 @@ from superset.utils.log import (
DBEventLogger, DBEventLogger,
get_event_logger_from_cfg_value, get_event_logger_from_cfg_value,
) )
from tests.test_app import app from tests.integration_tests.test_app import app
class TestEventLogger(unittest.TestCase): class TestEventLogger(unittest.TestCase):

View File

@ -17,7 +17,7 @@
from unittest.mock import patch from unittest.mock import patch
from superset import is_feature_enabled from superset import is_feature_enabled
from tests.base_tests import SupersetTestCase from tests.integration_tests.base_tests import SupersetTestCase
class TestFeatureFlag(SupersetTestCase): class TestFeatureFlag(SupersetTestCase):

View File

@ -0,0 +1,31 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
from .birth_names_dashboard import (
load_birth_names_dashboard_with_slices,
load_birth_names_dashboard_with_slices_module_scope,
)
from .energy_dashboard import load_energy_table_with_slice
from .public_role import public_role_like_gamma, public_role_like_test_role
from .unicode_dashboard import (
load_unicode_dashboard_with_position,
load_unicode_dashboard_with_slice,
)
from .world_bank_dashboard import (
load_world_bank_dashboard_with_slices,
load_world_bank_dashboard_with_slices_module_scope,
)

View File

@ -31,8 +31,8 @@ from superset.models.core import Database
from superset.models.dashboard import Dashboard from superset.models.dashboard import Dashboard
from superset.models.slice import Slice from superset.models.slice import Slice
from superset.utils.core import get_example_database from superset.utils.core import get_example_database
from tests.dashboard_utils import create_table_for_dashboard from tests.integration_tests.dashboard_utils import create_table_for_dashboard
from tests.test_app import app from tests.integration_tests.test_app import app
@pytest.fixture() @pytest.fixture()

Some files were not shown because too many files have changed in this diff Show More