mirror of
https://github.com/apache/superset.git
synced 2026-04-20 00:24:38 +00:00
chore: Migrate warm up cache endpoint to api v1 (#23853)
This commit is contained in:
@@ -76,14 +76,11 @@ class TestCacheWarmUp(SupersetTestCase):
|
||||
self.client.get(f"/superset/dashboard/{dash.id}/")
|
||||
|
||||
strategy = TopNDashboardsStrategy(1)
|
||||
result = sorted(strategy.get_urls())
|
||||
expected = sorted(
|
||||
[
|
||||
f"{get_url_host()}superset/warm_up_cache/?slice_id={slc.id}&dashboard_id={dash.id}"
|
||||
for slc in dash.slices
|
||||
]
|
||||
)
|
||||
self.assertEqual(result, expected)
|
||||
result = strategy.get_payloads()
|
||||
expected = [
|
||||
{"chart_id": chart.id, "dashboard_id": dash.id} for chart in dash.slices
|
||||
]
|
||||
self.assertCountEqual(result, expected)
|
||||
|
||||
def reset_tag(self, tag):
|
||||
"""Remove associated object from tag, used to reset tests"""
|
||||
@@ -95,57 +92,52 @@ class TestCacheWarmUp(SupersetTestCase):
|
||||
@pytest.mark.usefixtures(
|
||||
"load_unicode_dashboard_with_slice", "load_birth_names_dashboard_with_slices"
|
||||
)
|
||||
def test_dashboard_tags(self):
|
||||
def test_dashboard_tags_strategy(self):
|
||||
tag1 = get_tag("tag1", db.session, TagTypes.custom)
|
||||
# delete first to make test idempotent
|
||||
self.reset_tag(tag1)
|
||||
|
||||
strategy = DashboardTagsStrategy(["tag1"])
|
||||
result = sorted(strategy.get_urls())
|
||||
result = strategy.get_payloads()
|
||||
expected = []
|
||||
self.assertEqual(result, expected)
|
||||
|
||||
# tag dashboard 'births' with `tag1`
|
||||
tag1 = get_tag("tag1", db.session, TagTypes.custom)
|
||||
dash = self.get_dash_by_slug("births")
|
||||
tag1_urls = sorted(
|
||||
[
|
||||
f"{get_url_host()}superset/warm_up_cache/?slice_id={slc.id}"
|
||||
for slc in dash.slices
|
||||
]
|
||||
)
|
||||
tag1_urls = [{"chart_id": chart.id} for chart in dash.slices]
|
||||
tagged_object = TaggedObject(
|
||||
tag_id=tag1.id, object_id=dash.id, object_type=ObjectTypes.dashboard
|
||||
)
|
||||
db.session.add(tagged_object)
|
||||
db.session.commit()
|
||||
|
||||
self.assertEqual(sorted(strategy.get_urls()), tag1_urls)
|
||||
self.assertCountEqual(strategy.get_payloads(), tag1_urls)
|
||||
|
||||
strategy = DashboardTagsStrategy(["tag2"])
|
||||
tag2 = get_tag("tag2", db.session, TagTypes.custom)
|
||||
self.reset_tag(tag2)
|
||||
|
||||
result = sorted(strategy.get_urls())
|
||||
result = strategy.get_payloads()
|
||||
expected = []
|
||||
self.assertEqual(result, expected)
|
||||
|
||||
# tag first slice
|
||||
dash = self.get_dash_by_slug("unicode-test")
|
||||
slc = dash.slices[0]
|
||||
tag2_urls = [f"{get_url_host()}superset/warm_up_cache/?slice_id={slc.id}"]
|
||||
object_id = slc.id
|
||||
chart = dash.slices[0]
|
||||
tag2_urls = [{"chart_id": chart.id}]
|
||||
object_id = chart.id
|
||||
tagged_object = TaggedObject(
|
||||
tag_id=tag2.id, object_id=object_id, object_type=ObjectTypes.chart
|
||||
)
|
||||
db.session.add(tagged_object)
|
||||
db.session.commit()
|
||||
|
||||
result = sorted(strategy.get_urls())
|
||||
self.assertEqual(result, tag2_urls)
|
||||
result = strategy.get_payloads()
|
||||
self.assertCountEqual(result, tag2_urls)
|
||||
|
||||
strategy = DashboardTagsStrategy(["tag1", "tag2"])
|
||||
|
||||
result = sorted(strategy.get_urls())
|
||||
expected = sorted(tag1_urls + tag2_urls)
|
||||
self.assertEqual(result, expected)
|
||||
result = strategy.get_payloads()
|
||||
expected = tag1_urls + tag2_urls
|
||||
self.assertCountEqual(result, expected)
|
||||
|
||||
Reference in New Issue
Block a user