diff --git a/superset/connectors/druid/models.py b/superset/connectors/druid/models.py index 6be4650994959..84445151b3c48 100644 --- a/superset/connectors/druid/models.py +++ b/superset/connectors/druid/models.py @@ -898,7 +898,7 @@ def run_query( # noqa / druid row_limit=None, inner_from_dttm=None, inner_to_dttm=None, orderby=None, - extras={}, # noqa + extras=None, # noqa select=None, # noqa columns=None, phase=2, client=None, form_data=None, order_desc=True): @@ -953,6 +953,7 @@ def run_query( # noqa / druid dimensions.append(dim_spec) else: dimensions.append(column_name) + extras = extras or {} qry = dict( datasource=self.datasource_name, dimensions=dimensions, diff --git a/tests/druid_func_tests.py b/tests/druid_func_tests.py index 3308a4e25afc1..ba1f497936e70 100644 --- a/tests/druid_func_tests.py +++ b/tests/druid_func_tests.py @@ -4,7 +4,7 @@ from mock import Mock from superset.connectors.druid.models import ( - DruidDatasource, DruidColumn, DruidMetric + DruidColumn, DruidDatasource, DruidMetric, ) @@ -126,8 +126,8 @@ def test_run_query_no_groupby(self): to_dttm = Mock() from_dttm.replace = Mock(return_value=from_dttm) to_dttm.replace = Mock(return_value=to_dttm) - from_dttm.isoformat = Mock(return_value="from") - to_dttm.isoformat = Mock(return_value="to") + from_dttm.isoformat = Mock(return_value='from') + to_dttm.isoformat = Mock(return_value='to') timezone = 'timezone' from_dttm.tzname = Mock(return_value=timezone) ds = DruidDatasource(datasource_name='datasource') @@ -149,7 +149,7 @@ def test_run_query_no_groupby(self): # no groupby calls client.timeseries ds.run_query( groupby, metrics, None, from_dttm, - to_dttm, client=client, filter=[] + to_dttm, client=client, filter=[], row_limit=100, ) self.assertEqual(0, len(client.topn.call_args_list)) self.assertEqual(0, len(client.groupby.call_args_list)) @@ -166,8 +166,8 @@ def test_run_query_single_groupby(self): to_dttm = Mock() from_dttm.replace = Mock(return_value=from_dttm) to_dttm.replace = Mock(return_value=to_dttm) - from_dttm.isoformat = Mock(return_value="from") - to_dttm.isoformat = Mock(return_value="to") + from_dttm.isoformat = Mock(return_value='from') + to_dttm.isoformat = Mock(return_value='to') timezone = 'timezone' from_dttm.tzname = Mock(return_value=timezone) ds = DruidDatasource(datasource_name='datasource') @@ -186,8 +186,8 @@ def test_run_query_single_groupby(self): client.query_builder.last_query.query_dict = {'mock': 0} # client.topn is called twice ds.run_query( - groupby, metrics, None, from_dttm, to_dttm, - client=client, order_desc=True, filter=[] + groupby, metrics, None, from_dttm, to_dttm, row_limit=100, + client=client, order_desc=True, filter=[], ) self.assertEqual(2, len(client.topn.call_args_list)) self.assertEqual(0, len(client.groupby.call_args_list)) @@ -204,7 +204,7 @@ def test_run_query_single_groupby(self): client.query_builder.last_query.query_dict = {'mock': 0} ds.run_query( groupby, metrics, None, from_dttm, to_dttm, client=client, - order_desc=False, filter=[] + order_desc=False, filter=[], row_limit=100, ) self.assertEqual(0, len(client.topn.call_args_list)) self.assertEqual(1, len(client.groupby.call_args_list)) @@ -222,7 +222,7 @@ def test_run_query_single_groupby(self): ds.run_query( groupby, metrics, None, from_dttm, to_dttm, client=client, order_desc=True, timeseries_limit=5, - filter=[] + filter=[], row_limit=100, ) self.assertEqual(0, len(client.topn.call_args_list)) self.assertEqual(2, len(client.groupby.call_args_list)) @@ -238,8 +238,8 @@ def test_run_query_multiple_groupby(self): to_dttm = Mock() from_dttm.replace = Mock(return_value=from_dttm) to_dttm.replace = Mock(return_value=to_dttm) - from_dttm.isoformat = Mock(return_value="from") - to_dttm.isoformat = Mock(return_value="to") + from_dttm.isoformat = Mock(return_value='from') + to_dttm.isoformat = Mock(return_value='to') timezone = 'timezone' from_dttm.tzname = Mock(return_value=timezone) ds = DruidDatasource(datasource_name='datasource') @@ -261,8 +261,8 @@ def test_run_query_multiple_groupby(self): # no groupby calls client.timeseries ds.run_query( groupby, metrics, None, from_dttm, - to_dttm, client=client, - filter=[] + to_dttm, client=client, row_limit=100, + filter=[], ) self.assertEqual(0, len(client.topn.call_args_list)) self.assertEqual(1, len(client.groupby.call_args_list))