mirror of
https://github.com/apache/superset.git
synced 2026-04-20 08:34:37 +00:00
chore: Perform feature/config condition checks at request time (#14684)
* chore: conditional Home link rendering * chore: conditional RowLevelSecurity rendering * chore: Conditional KV rendering * chore: Conditional TagView rendering * chore: Conditional import dashboards link * chore: Conditional upload csv/excel links * chore: Conditional log api and view rendering * chore: Conditionally render email schedules * chore: Conditionally render alert views * chore: Conditionally render alerts/reports * chore: Conditionally render access requests * chore: Conditionally render druid views * Remove unnecessary folder * Consistent naming * Cleanup * Remove object from class * Clean up test file * Clean up test file * Fix lint error * Better naming and follow conventions * Use assertLess over assertNotEqual * Assert less than 400 * Fix failing test
This commit is contained in:
@@ -24,6 +24,13 @@ from unittest.mock import Mock, patch
|
||||
from tests.test_app import app
|
||||
|
||||
from superset import db, security_manager
|
||||
from superset.connectors.druid.views import (
|
||||
Druid,
|
||||
DruidClusterModelView,
|
||||
DruidColumnInlineView,
|
||||
DruidDatasourceModelView,
|
||||
DruidMetricInlineView,
|
||||
)
|
||||
|
||||
from .base_tests import SupersetTestCase
|
||||
|
||||
@@ -585,5 +592,77 @@ class TestDruid(SupersetTestCase):
|
||||
self.assertEqual(col_names, {"__time", "dim1", "dim2", "metric1"})
|
||||
|
||||
|
||||
class TestDruidViewEnabling(SupersetTestCase):
|
||||
def test_druid_disabled(self):
|
||||
with patch.object(Druid, "is_enabled", return_value=False):
|
||||
self.login("admin")
|
||||
uri = "/druid/refresh_datasources/"
|
||||
rv = self.client.get(uri)
|
||||
self.assertEqual(rv.status_code, 404)
|
||||
|
||||
def test_druid_enabled(self):
|
||||
with patch.object(Druid, "is_enabled", return_value=True):
|
||||
self.login("admin")
|
||||
uri = "/druid/refresh_datasources/"
|
||||
rv = self.client.get(uri)
|
||||
self.assertLess(rv.status_code, 400)
|
||||
|
||||
def test_druid_cluster_disabled(self):
|
||||
with patch.object(DruidClusterModelView, "is_enabled", return_value=False):
|
||||
self.login("admin")
|
||||
uri = "/druidclustermodelview/list/"
|
||||
rv = self.client.get(uri)
|
||||
self.assertEqual(rv.status_code, 404)
|
||||
|
||||
def test_druid_cluster_enabled(self):
|
||||
with patch.object(DruidClusterModelView, "is_enabled", return_value=True):
|
||||
self.login("admin")
|
||||
uri = "/druidclustermodelview/list/"
|
||||
rv = self.client.get(uri)
|
||||
self.assertLess(rv.status_code, 400)
|
||||
|
||||
def test_druid_column_disabled(self):
|
||||
with patch.object(DruidColumnInlineView, "is_enabled", return_value=False):
|
||||
self.login("admin")
|
||||
uri = "/druidcolumninlineview/list/"
|
||||
rv = self.client.get(uri)
|
||||
self.assertEqual(rv.status_code, 404)
|
||||
|
||||
def test_druid_column_enabled(self):
|
||||
with patch.object(DruidColumnInlineView, "is_enabled", return_value=True):
|
||||
self.login("admin")
|
||||
uri = "/druidcolumninlineview/list/"
|
||||
rv = self.client.get(uri)
|
||||
self.assertLess(rv.status_code, 400)
|
||||
|
||||
def test_druid_datasource_disabled(self):
|
||||
with patch.object(DruidDatasourceModelView, "is_enabled", return_value=False):
|
||||
self.login("admin")
|
||||
uri = "/druiddatasourcemodelview/list/"
|
||||
rv = self.client.get(uri)
|
||||
self.assertEqual(rv.status_code, 404)
|
||||
|
||||
def test_druid_datasource_enabled(self):
|
||||
with patch.object(DruidDatasourceModelView, "is_enabled", return_value=True):
|
||||
self.login("admin")
|
||||
uri = "/druiddatasourcemodelview/list/"
|
||||
rv = self.client.get(uri)
|
||||
self.assertLess(rv.status_code, 400)
|
||||
|
||||
def test_druid_metric_disabled(self):
|
||||
with patch.object(DruidMetricInlineView, "is_enabled", return_value=False):
|
||||
self.login("admin")
|
||||
uri = "/druidmetricinlineview/list/"
|
||||
rv = self.client.get(uri)
|
||||
self.assertEqual(rv.status_code, 404)
|
||||
|
||||
def test_druid_metric_enabled(self):
|
||||
with patch.object(DruidMetricInlineView, "is_enabled", return_value=True):
|
||||
self.login("admin")
|
||||
uri = "/druidmetricinlineview/list/"
|
||||
rv = self.client.get(uri)
|
||||
self.assertLess(rv.status_code, 400)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
|
||||
Reference in New Issue
Block a user