mirror of
https://github.com/apache/superset.git
synced 2026-04-19 08:04:53 +00:00
* First cut at app factory * Setting things back to master * Working with new FLASK_APP * Still need to refactor Celery * CLI mostly working * Working on unit tests * Moving cli stuff around a bit * Removing get in config * Defaulting test config * Adding flask-testing * flask-testing casing * resultsbackend property bug * Fixing up cli * Quick fix for KV api * Working on save slice * Fixed core_tests * Fixed utils_tests * Most tests working - still need to dig into remaining app_context issue in tests * All tests passing locally - need to update code comments * Fixing dashboard tests again * Blacking * Sorting imports * linting * removing envvar mangling * blacking * Fixing unit tests * isorting * licensing * fixing mysql tests * fixing cypress? * fixing .flaskenv * fixing test app_ctx * fixing cypress * moving manifest processor around * moving results backend manager around * Cleaning up __init__ a bit more * Addressing PR comments * Addressing PR comments * Blacking * Fixes for running celery worker * Tuning isort * Blacking
This commit is contained in:
committed by
Daniel Vaz Gaspar
parent
300c4ecb0f
commit
e490414484
@@ -14,6 +14,7 @@
|
||||
# KIND, either express or implied. See the License for the
|
||||
# specific language governing permissions and limitations
|
||||
# under the License.
|
||||
# isort:skip_file
|
||||
"""Unit tests for Superset Celery worker"""
|
||||
import datetime
|
||||
import json
|
||||
@@ -22,7 +23,8 @@ import time
|
||||
import unittest
|
||||
import unittest.mock as mock
|
||||
|
||||
from superset import app, db, sql_lab
|
||||
from tests.test_app import app # isort:skip
|
||||
from superset import db, sql_lab
|
||||
from superset.dataframe import SupersetDataFrame
|
||||
from superset.db_engine_specs.base import BaseEngineSpec
|
||||
from superset.models.helpers import QueryStatus
|
||||
@@ -32,20 +34,9 @@ from superset.utils.core import get_example_database
|
||||
|
||||
from .base_tests import SupersetTestCase
|
||||
|
||||
BASE_DIR = app.config["BASE_DIR"]
|
||||
CELERY_SLEEP_TIME = 5
|
||||
|
||||
|
||||
class CeleryConfig(object):
|
||||
BROKER_URL = app.config["CELERY_CONFIG"].BROKER_URL
|
||||
CELERY_IMPORTS = ("superset.sql_lab",)
|
||||
CELERY_ANNOTATIONS = {"sql_lab.add": {"rate_limit": "10/s"}}
|
||||
CONCURRENCY = 1
|
||||
|
||||
|
||||
app.config["CELERY_CONFIG"] = CeleryConfig
|
||||
|
||||
|
||||
class UtilityFunctionTests(SupersetTestCase):
|
||||
|
||||
# TODO(bkyryliuk): support more cases in CTA function.
|
||||
@@ -79,10 +70,6 @@ class UtilityFunctionTests(SupersetTestCase):
|
||||
|
||||
|
||||
class CeleryTestCase(SupersetTestCase):
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(CeleryTestCase, self).__init__(*args, **kwargs)
|
||||
self.client = app.test_client()
|
||||
|
||||
def get_query_by_name(self, sql):
|
||||
session = db.session
|
||||
query = session.query(Query).filter_by(sql=sql).first()
|
||||
@@ -97,11 +84,22 @@ class CeleryTestCase(SupersetTestCase):
|
||||
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
db.session.query(Query).delete()
|
||||
db.session.commit()
|
||||
with app.app_context():
|
||||
|
||||
worker_command = BASE_DIR + "/bin/superset worker -w 2"
|
||||
subprocess.Popen(worker_command, shell=True, stdout=subprocess.PIPE)
|
||||
class CeleryConfig(object):
|
||||
BROKER_URL = app.config["CELERY_CONFIG"].BROKER_URL
|
||||
CELERY_IMPORTS = ("superset.sql_lab",)
|
||||
CELERY_ANNOTATIONS = {"sql_lab.add": {"rate_limit": "10/s"}}
|
||||
CONCURRENCY = 1
|
||||
|
||||
app.config["CELERY_CONFIG"] = CeleryConfig
|
||||
|
||||
db.session.query(Query).delete()
|
||||
db.session.commit()
|
||||
|
||||
base_dir = app.config["BASE_DIR"]
|
||||
worker_command = base_dir + "/bin/superset worker -w 2"
|
||||
subprocess.Popen(worker_command, shell=True, stdout=subprocess.PIPE)
|
||||
|
||||
@classmethod
|
||||
def tearDownClass(cls):
|
||||
@@ -190,6 +188,7 @@ class CeleryTestCase(SupersetTestCase):
|
||||
result = self.run_sql(
|
||||
db_id, sql_where, "4", async_=True, tmp_table="tmp_async_1", cta=True
|
||||
)
|
||||
db.session.close()
|
||||
assert result["query"]["state"] in (
|
||||
QueryStatus.PENDING,
|
||||
QueryStatus.RUNNING,
|
||||
@@ -224,6 +223,7 @@ class CeleryTestCase(SupersetTestCase):
|
||||
result = self.run_sql(
|
||||
db_id, sql_where, "5", async_=True, tmp_table=tmp_table, cta=True
|
||||
)
|
||||
db.session.close()
|
||||
assert result["query"]["state"] in (
|
||||
QueryStatus.PENDING,
|
||||
QueryStatus.RUNNING,
|
||||
|
||||
Reference in New Issue
Block a user