mirror of https://github.com/apache/superset.git
Moving get_main_db out of tests and into superset utils (#5864)
This commit is contained in:
parent
c82cea3c8d
commit
657993d609
|
@ -20,7 +20,6 @@ import yaml
|
||||||
from superset import (
|
from superset import (
|
||||||
app, data, db, dict_import_export_util, security_manager, utils,
|
app, data, db, dict_import_export_util, security_manager, utils,
|
||||||
)
|
)
|
||||||
from tests.utils import get_main_database
|
|
||||||
|
|
||||||
config = app.config
|
config = app.config
|
||||||
celery_app = utils.get_celery_app(config)
|
celery_app = utils.get_celery_app(config)
|
||||||
|
@ -390,7 +389,7 @@ def load_test_users_run():
|
||||||
for perm in security_manager.find_role('Gamma').permissions:
|
for perm in security_manager.find_role('Gamma').permissions:
|
||||||
security_manager.add_permission_role(gamma_sqllab_role, perm)
|
security_manager.add_permission_role(gamma_sqllab_role, perm)
|
||||||
utils.get_or_create_main_db()
|
utils.get_or_create_main_db()
|
||||||
db_perm = get_main_database(security_manager.get_session).perm
|
db_perm = utils.get_main_database(security_manager.get_session).perm
|
||||||
security_manager.merge_perm('database_access', db_perm)
|
security_manager.merge_perm('database_access', db_perm)
|
||||||
db_pvm = security_manager.find_permission_view_menu(
|
db_pvm = security_manager.find_permission_view_menu(
|
||||||
view_menu_name=db_perm, permission_name='database_access')
|
view_menu_name=db_perm, permission_name='database_access')
|
||||||
|
|
|
@ -836,10 +836,7 @@ def get_or_create_main_db():
|
||||||
from superset.models import core as models
|
from superset.models import core as models
|
||||||
|
|
||||||
logging.info('Creating database reference')
|
logging.info('Creating database reference')
|
||||||
dbobj = (
|
dbobj = get_main_database(db.session)
|
||||||
db.session.query(models.Database)
|
|
||||||
.filter_by(database_name='main')
|
|
||||||
.first())
|
|
||||||
if not dbobj:
|
if not dbobj:
|
||||||
dbobj = models.Database(database_name='main')
|
dbobj = models.Database(database_name='main')
|
||||||
dbobj.set_sqlalchemy_uri(conf.get('SQLALCHEMY_DATABASE_URI'))
|
dbobj.set_sqlalchemy_uri(conf.get('SQLALCHEMY_DATABASE_URI'))
|
||||||
|
@ -850,6 +847,15 @@ def get_or_create_main_db():
|
||||||
return dbobj
|
return dbobj
|
||||||
|
|
||||||
|
|
||||||
|
def get_main_database(session):
|
||||||
|
from superset.models import core as models
|
||||||
|
return (
|
||||||
|
session.query(models.Database)
|
||||||
|
.filter_by(database_name='main')
|
||||||
|
.first()
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def is_adhoc_metric(metric):
|
def is_adhoc_metric(metric):
|
||||||
return (
|
return (
|
||||||
isinstance(metric, dict) and
|
isinstance(metric, dict) and
|
||||||
|
|
|
@ -18,7 +18,7 @@ from superset import app, cli, db, security_manager
|
||||||
from superset.connectors.druid.models import DruidCluster, DruidDatasource
|
from superset.connectors.druid.models import DruidCluster, DruidDatasource
|
||||||
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 .utils import get_main_database
|
from superset.utils import get_main_database
|
||||||
|
|
||||||
|
|
||||||
BASE_DIR = app.config.get('BASE_DIR')
|
BASE_DIR = app.config.get('BASE_DIR')
|
||||||
|
|
|
@ -18,8 +18,8 @@ from superset import app, cli, db, security_manager
|
||||||
from superset.models.helpers import QueryStatus
|
from superset.models.helpers import QueryStatus
|
||||||
from superset.models.sql_lab import Query
|
from superset.models.sql_lab import Query
|
||||||
from superset.sql_parse import SupersetQuery
|
from superset.sql_parse import SupersetQuery
|
||||||
|
from superset.utils import get_main_database
|
||||||
from .base_tests import SupersetTestCase
|
from .base_tests import SupersetTestCase
|
||||||
from .utils import get_main_database
|
|
||||||
|
|
||||||
|
|
||||||
BASE_DIR = app.config.get('BASE_DIR')
|
BASE_DIR = app.config.get('BASE_DIR')
|
||||||
|
|
|
@ -27,9 +27,9 @@ from superset.connectors.sqla.models import SqlaTable
|
||||||
from superset.db_engine_specs import BaseEngineSpec
|
from superset.db_engine_specs import BaseEngineSpec
|
||||||
from superset.models import core as models
|
from superset.models import core as models
|
||||||
from superset.models.sql_lab import Query
|
from superset.models.sql_lab import Query
|
||||||
|
from superset.utils import get_main_database
|
||||||
from superset.views.core import DatabaseView
|
from superset.views.core import DatabaseView
|
||||||
from .base_tests import SupersetTestCase
|
from .base_tests import SupersetTestCase
|
||||||
from .utils import get_main_database
|
|
||||||
|
|
||||||
|
|
||||||
class CoreTests(SupersetTestCase):
|
class CoreTests(SupersetTestCase):
|
||||||
|
|
|
@ -15,8 +15,8 @@ from superset.connectors.druid.models import (
|
||||||
DruidColumn, DruidDatasource, DruidMetric,
|
DruidColumn, DruidDatasource, DruidMetric,
|
||||||
)
|
)
|
||||||
from superset.connectors.sqla.models import SqlaTable, SqlMetric, TableColumn
|
from superset.connectors.sqla.models import SqlaTable, SqlMetric, TableColumn
|
||||||
|
from superset.utils import get_main_database
|
||||||
from .base_tests import SupersetTestCase
|
from .base_tests import SupersetTestCase
|
||||||
from .utils import get_main_database
|
|
||||||
|
|
||||||
DBREF = 'dict_import__export_test'
|
DBREF = 'dict_import__export_test'
|
||||||
NAME_PREFIX = 'dict_'
|
NAME_PREFIX = 'dict_'
|
||||||
|
|
|
@ -10,8 +10,8 @@ from sqlalchemy.engine.url import make_url
|
||||||
|
|
||||||
from superset import app, db
|
from superset import app, db
|
||||||
from superset.models.core import Database
|
from superset.models.core import Database
|
||||||
|
from superset.utils import get_main_database
|
||||||
from .base_tests import SupersetTestCase
|
from .base_tests import SupersetTestCase
|
||||||
from .utils import get_main_database
|
|
||||||
|
|
||||||
|
|
||||||
class DatabaseModelTestCase(SupersetTestCase):
|
class DatabaseModelTestCase(SupersetTestCase):
|
||||||
|
|
|
@ -15,8 +15,8 @@ from superset import db, security_manager, utils
|
||||||
from superset.dataframe import SupersetDataFrame
|
from superset.dataframe import SupersetDataFrame
|
||||||
from superset.db_engine_specs import BaseEngineSpec
|
from superset.db_engine_specs import BaseEngineSpec
|
||||||
from superset.models.sql_lab import Query
|
from superset.models.sql_lab import Query
|
||||||
|
from superset.utils import get_main_database
|
||||||
from .base_tests import SupersetTestCase
|
from .base_tests import SupersetTestCase
|
||||||
from .utils import get_main_database
|
|
||||||
|
|
||||||
|
|
||||||
class SqlLabTests(SupersetTestCase):
|
class SqlLabTests(SupersetTestCase):
|
||||||
|
|
|
@ -7,20 +7,9 @@ from __future__ import unicode_literals
|
||||||
import json
|
import json
|
||||||
from os import path
|
from os import path
|
||||||
|
|
||||||
from superset import db
|
|
||||||
from superset.models import core as models
|
|
||||||
|
|
||||||
FIXTURES_DIR = 'tests/fixtures'
|
FIXTURES_DIR = 'tests/fixtures'
|
||||||
|
|
||||||
|
|
||||||
def load_fixture(fixture_file_name):
|
def load_fixture(fixture_file_name):
|
||||||
with open(path.join(FIXTURES_DIR, fixture_file_name)) as fixture_file:
|
with open(path.join(FIXTURES_DIR, fixture_file_name)) as fixture_file:
|
||||||
return json.load(fixture_file)
|
return json.load(fixture_file)
|
||||||
|
|
||||||
|
|
||||||
def get_main_database(session):
|
|
||||||
return (
|
|
||||||
db.session.query(models.Database)
|
|
||||||
.filter_by(database_name='main')
|
|
||||||
.first()
|
|
||||||
)
|
|
||||||
|
|
Loading…
Reference in New Issue