[cache warm_up] warm_up slice with dashboard default_filters (#9311)

* [cache warm_up] warm_up slice with dashboard default_filters

* update Celery warmup tasks

* fix code review comments

* add try catch and type checking for parsed dash metadata

* extra code review fix
This commit is contained in:
Grace Guo
2020-03-18 08:21:10 -07:00
committed by GitHub
parent 98ac72074c
commit adebd40d30
5 changed files with 396 additions and 16 deletions

View File

@@ -33,6 +33,22 @@ from .base_tests import SupersetTestCase
URL_PREFIX = "http://0.0.0.0:8081"
mock_positions = {
"DASHBOARD_VERSION_KEY": "v2",
"DASHBOARD_CHART_TYPE-1": {
"type": "CHART",
"id": "DASHBOARD_CHART_TYPE-1",
"children": [],
"meta": {"width": 4, "height": 50, "chartId": 1},
},
"DASHBOARD_CHART_TYPE-2": {
"type": "CHART",
"id": "DASHBOARD_CHART_TYPE-2",
"children": [],
"meta": {"width": 4, "height": 50, "chartId": 2},
},
}
class CacheWarmUpTests(SupersetTestCase):
def __init__(self, *args, **kwargs):
@@ -48,6 +64,7 @@ class CacheWarmUpTests(SupersetTestCase):
chart_id = 1
dashboard = MagicMock()
dashboard.json_metadata = None
dashboard.position_json = json.dumps(mock_positions)
result = get_form_data(chart_id, dashboard)
expected = {"slice_id": chart_id}
self.assertEqual(result, expected)
@@ -56,6 +73,7 @@ class CacheWarmUpTests(SupersetTestCase):
chart_id = 1
filter_box_id = 2
dashboard = MagicMock()
dashboard.position_json = json.dumps(mock_positions)
dashboard.json_metadata = json.dumps(
{
"filter_scopes": {
@@ -76,6 +94,7 @@ class CacheWarmUpTests(SupersetTestCase):
chart_id = 1
dashboard = MagicMock()
dashboard.json_metadata = json.dumps({})
dashboard.position_json = json.dumps(mock_positions)
result = get_form_data(chart_id, dashboard)
expected = {"slice_id": chart_id}
self.assertEqual(result, expected)
@@ -84,6 +103,7 @@ class CacheWarmUpTests(SupersetTestCase):
chart_id = 1
filter_box_id = 2
dashboard = MagicMock()
dashboard.position_json = json.dumps(mock_positions)
dashboard.json_metadata = json.dumps(
{
"default_filters": json.dumps(
@@ -112,6 +132,7 @@ class CacheWarmUpTests(SupersetTestCase):
chart_id = 1
filter_box_id = 2
dashboard = MagicMock()
dashboard.position_json = json.dumps(mock_positions)
dashboard.json_metadata = json.dumps(
{
"default_filters": json.dumps(
@@ -132,6 +153,7 @@ class CacheWarmUpTests(SupersetTestCase):
chart_id = 1
filter_box_id = 2
dashboard = MagicMock()
dashboard.position_json = json.dumps(mock_positions)
dashboard.json_metadata = json.dumps(
{
"default_filters": json.dumps(