[bugfix] 'DruidCluster' object has no attribute 'db_engine_spec' (#5765)

* [bugfix] 'DruidCluster' object has no attribute 'db_engine_spec'

* Fix tests
This commit is contained in:
Maxime Beauchemin
2018-08-28 21:04:06 -07:00
committed by GitHub
parent 2da5db9fcd
commit 135539c109
3 changed files with 73 additions and 60 deletions

View File

@@ -11,6 +11,8 @@ import os
import unittest
from flask_appbuilder.security.sqla import models as ab_models
from mock import Mock
import pandas as pd
from superset import app, cli, db, security_manager, utils
from superset.connectors.druid.models import DruidCluster, DruidDatasource
@@ -147,6 +149,23 @@ class SupersetTestCase(unittest.TestCase):
return db.session.query(DruidDatasource).filter_by(
datasource_name=name).first()
def get_datasource_mock(self):
datasource = Mock()
results = Mock()
results.query = Mock()
results.status = Mock()
results.error_message = None
results.df = pd.DataFrame()
datasource.type = 'table'
datasource.query = Mock(return_value=results)
mock_dttm_col = Mock()
datasource.get_col = Mock(return_value=mock_dttm_col)
datasource.query = Mock(return_value=results)
datasource.database = Mock()
datasource.database.db_engine_spec = Mock()
datasource.database.db_engine_spec.mutate_expression_label = lambda x: x
return datasource
def get_resp(
self, url, data=None, follow_redirects=True, raise_on_error=True):
"""Shortcut to get the parsed results while following redirects"""