mirror of
https://github.com/apache/superset.git
synced 2024-09-20 04:29:47 -04:00
b5119b8dff
* 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
181 lines
5.4 KiB
INI
181 lines
5.4 KiB
INI
#
|
|
# 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.
|
|
#
|
|
|
|
# Remember to start celery workers to run celery tests, e.g.
|
|
# celery --app=superset.tasks.celery_app:app worker -Ofair -c 2
|
|
[testenv]
|
|
basepython = python3.8
|
|
ignore_basepython_conflict = true
|
|
commands =
|
|
superset db upgrade
|
|
superset init
|
|
# use -s to be able to use break pointers.
|
|
# no args or tests/* can be passed as an argument to run all tests
|
|
pytest -s {posargs}
|
|
deps =
|
|
-rrequirements/testing.txt
|
|
setenv =
|
|
PYTHONPATH = {toxinidir}
|
|
SUPERSET_TESTENV = true
|
|
SUPERSET_CONFIG = tests.integration_tests.superset_test_config
|
|
SUPERSET_HOME = {envtmpdir}
|
|
mysql: SUPERSET__SQLALCHEMY_DATABASE_URI = mysql://mysqluser:mysqluserpassword@localhost/superset?charset=utf8
|
|
postgres: SUPERSET__SQLALCHEMY_DATABASE_URI = postgresql+psycopg2://superset:superset@localhost/test
|
|
sqlite: SUPERSET__SQLALCHEMY_DATABASE_URI = sqlite:////{envtmpdir}/superset.db
|
|
mysql-presto: SUPERSET__SQLALCHEMY_DATABASE_URI = mysql://mysqluser:mysqluserpassword@localhost/superset?charset=utf8
|
|
# docker run -p 8080:8080 --name presto prestosql/presto
|
|
mysql-presto: SUPERSET__SQLALCHEMY_EXAMPLES_URI = presto://localhost:8080/memory/default
|
|
# based on https://github.com/big-data-europe/docker-hadoop
|
|
# clone the repo & run docker-compose up -d to test locally
|
|
mysql-hive: SUPERSET__SQLALCHEMY_DATABASE_URI = mysql://mysqluser:mysqluserpassword@localhost/superset?charset=utf8
|
|
mysql-hive: SUPERSET__SQLALCHEMY_EXAMPLES_URI = hive://localhost:10000/default
|
|
# make sure that directory is accessible by docker
|
|
hive: UPLOAD_FOLDER = /tmp/.superset/app/static/uploads/
|
|
usedevelop = true
|
|
allowlist_externals =
|
|
npm
|
|
pkill
|
|
|
|
[testenv:cypress]
|
|
setenv =
|
|
PYTHONPATH = {toxinidir}
|
|
SUPERSET_TESTENV = true
|
|
SUPERSET_CONFIG = tests.integration_tests.superset_test_config
|
|
SUPERSET_HOME = {envtmpdir}
|
|
ENABLE_REACT_CRUD_VIEWS = true
|
|
commands =
|
|
npm install -g npm@'>=6.5.0'
|
|
pip install -e {toxinidir}/
|
|
{toxinidir}/superset-frontend/cypress_build.sh
|
|
commands_post =
|
|
pkill -if "python {envbindir}/flask"
|
|
|
|
[testenv:cypress-dashboard]
|
|
setenv =
|
|
PYTHONPATH = {toxinidir}
|
|
SUPERSET_TESTENV = true
|
|
SUPERSET_CONFIG = tests.integration_tests.superset_test_config
|
|
SUPERSET_HOME = {envtmpdir}
|
|
ENABLE_REACT_CRUD_VIEWS = true
|
|
commands =
|
|
npm install -g npm@'>=6.5.0'
|
|
pip install -e {toxinidir}/
|
|
{toxinidir}/superset-frontend/cypress_build.sh dashboard
|
|
commands_post =
|
|
pkill -if "python {envbindir}/flask"
|
|
|
|
[testenv:cypress-explore]
|
|
setenv =
|
|
PYTHONPATH = {toxinidir}
|
|
SUPERSET_TESTENV = true
|
|
SUPERSET_CONFIG = tests.integration_tests.superset_test_config
|
|
SUPERSET_HOME = {envtmpdir}
|
|
ENABLE_REACT_CRUD_VIEWS = true
|
|
commands =
|
|
npm install -g npm@'>=6.5.0'
|
|
pip install -e {toxinidir}/
|
|
{toxinidir}/superset-frontend/cypress_build.sh explore
|
|
commands_post =
|
|
pkill -if "python {envbindir}/flask"
|
|
|
|
[testenv:cypress-sqllab]
|
|
setenv =
|
|
PYTHONPATH = {toxinidir}
|
|
SUPERSET_TESTENV = true
|
|
SUPERSET_CONFIG = tests.integration_tests.superset_test_config
|
|
SUPERSET_HOME = {envtmpdir}
|
|
ENABLE_REACT_CRUD_VIEWS = true
|
|
commands =
|
|
npm install -g npm@'>=6.5.0'
|
|
pip install -e {toxinidir}/
|
|
{toxinidir}/superset-frontend/cypress_build.sh sqllab
|
|
commands_post =
|
|
pkill -if "python {envbindir}/flask"
|
|
|
|
[testenv:cypress-sqllab-backend-persist]
|
|
setenv =
|
|
PYTHONPATH = {toxinidir}
|
|
SUPERSET_TESTENV = true
|
|
SUPERSET_CONFIG = tests.integration_tests.superset_test_config
|
|
SUPERSET_HOME = {envtmpdir}
|
|
ENABLE_REACT_CRUD_VIEWS = true
|
|
commands =
|
|
npm install -g npm@'>=6.5.0'
|
|
pip install -e {toxinidir}/
|
|
{toxinidir}/superset-frontend/cypress_build.sh sqllab
|
|
commands_post =
|
|
pkill -if "python {envbindir}/flask"
|
|
|
|
[testenv:eslint]
|
|
changedir = {toxinidir}/superset-frontend
|
|
commands =
|
|
npm run lint
|
|
deps =
|
|
|
|
[testenv:fossa]
|
|
commands =
|
|
{toxinidir}/scripts/fossa.sh
|
|
deps =
|
|
passenv = *
|
|
|
|
[testenv:javascript]
|
|
commands =
|
|
npm install -g npm@'>=6.5.0'
|
|
{toxinidir}/superset-frontend/js_build.sh
|
|
deps =
|
|
|
|
[testenv:license-check]
|
|
commands =
|
|
{toxinidir}/scripts/check_license.sh
|
|
passenv = *
|
|
whitelist_externals =
|
|
{toxinidir}/scripts/check_license.sh
|
|
deps =
|
|
|
|
[testenv:pre-commit]
|
|
commands =
|
|
pre-commit run --all-files
|
|
deps =
|
|
-rrequirements/integration.txt
|
|
skip_install = true
|
|
|
|
[testenv:pylint]
|
|
commands =
|
|
pylint superset
|
|
deps =
|
|
-rrequirements/testing.txt
|
|
|
|
[testenv:thumbnails]
|
|
setenv =
|
|
SUPERSET_CONFIG = tests.integration_tests.superset_test_config_thumbnails
|
|
deps =
|
|
-rrequirements/testing.txt
|
|
|
|
[tox]
|
|
envlist =
|
|
cypress-dashboard
|
|
cypress-explore
|
|
cypress-sqllab
|
|
cypress-sqllab-backend-persist
|
|
eslint
|
|
fossa
|
|
javascript
|
|
license-check
|
|
pre-commit
|
|
pylint
|
|
skipsdist = true
|