mirror of
https://github.com/apache/superset.git
synced 2026-04-19 16:14:52 +00:00
fix: reorganize role permissions (#23096)
This commit is contained in:
committed by
GitHub
parent
c7823e32ff
commit
d4362a3676
@@ -202,6 +202,10 @@ class TestQueryApi(SupersetTestCase):
|
||||
gamma2 = self.create_user(
|
||||
"gamma_2", "password", "Gamma", email="gamma2@superset.org"
|
||||
)
|
||||
# Add SQLLab role to these gamma users, so they have access to queries
|
||||
sqllab_role = self.get_role("sql_lab")
|
||||
gamma1.roles.append(sqllab_role)
|
||||
gamma2.roles.append(sqllab_role)
|
||||
|
||||
gamma1_client_id = self.get_random_string()
|
||||
gamma2_client_id = self.get_random_string()
|
||||
@@ -383,7 +387,7 @@ class TestQueryApi(SupersetTestCase):
|
||||
sql="SELECT col1, col2 from table1",
|
||||
)
|
||||
|
||||
self.login(username="gamma")
|
||||
self.login(username="gamma_sqllab")
|
||||
arguments = {"filters": [{"col": "sql", "opr": "sw", "value": "SELECT col1"}]}
|
||||
uri = f"api/v1/query/?q={prison.dumps(arguments)}"
|
||||
rv = self.client.get(uri)
|
||||
|
||||
@@ -748,7 +748,7 @@ class TestSavedQueryApi(SupersetTestCase):
|
||||
db.session.query(SavedQuery).filter(SavedQuery.created_by == admin).first()
|
||||
)
|
||||
|
||||
self.login(username="gamma")
|
||||
self.login(username="gamma_sqllab")
|
||||
argument = [sample_query.id]
|
||||
uri = f"api/v1/saved_query/export/?q={prison.dumps(argument)}"
|
||||
rv = self.client.get(uri)
|
||||
|
||||
@@ -1332,8 +1332,11 @@ class TestRolePermission(SupersetTestCase):
|
||||
self.assertNotIn(("menu_access", view_menu), permissions_set)
|
||||
|
||||
def assert_cannot_gamma(self, perm_set):
|
||||
self.assert_cannot_write("Annotation", perm_set)
|
||||
self.assert_cannot_write("CssTemplate", perm_set)
|
||||
self.assert_cannot_menu("SQL Lab", perm_set)
|
||||
self.assert_cannot_menu("CSS Templates", perm_set)
|
||||
self.assert_cannot_menu("Annotation Layers", perm_set)
|
||||
self.assert_cannot_menu("Manage", perm_set)
|
||||
self.assert_cannot_menu("Queries", perm_set)
|
||||
self.assert_cannot_menu("Import dashboards", perm_set)
|
||||
@@ -1374,7 +1377,6 @@ class TestRolePermission(SupersetTestCase):
|
||||
self.assert_can_all("Annotation", perm_set)
|
||||
self.assert_can_all("CssTemplate", perm_set)
|
||||
self.assert_can_all("Dataset", perm_set)
|
||||
self.assert_can_read("Query", perm_set)
|
||||
self.assert_can_read("Database", perm_set)
|
||||
self.assertIn(("can_import_dashboards", "Superset"), perm_set)
|
||||
self.assertIn(("can_this_form_post", "CsvToDatabaseView"), perm_set)
|
||||
@@ -1504,6 +1506,8 @@ class TestRolePermission(SupersetTestCase):
|
||||
self.assert_can_gamma(alpha_perm_tuples)
|
||||
self.assert_can_alpha(alpha_perm_tuples)
|
||||
self.assert_cannot_alpha(alpha_perm_tuples)
|
||||
self.assertNotIn(("can_this_form_get", "UserInfoEditView"), alpha_perm_tuples)
|
||||
self.assertNotIn(("can_this_form_post", "UserInfoEditView"), alpha_perm_tuples)
|
||||
|
||||
@pytest.mark.usefixtures("load_world_bank_dashboard_with_slices")
|
||||
def test_admin_permissions(self):
|
||||
@@ -1548,6 +1552,8 @@ class TestRolePermission(SupersetTestCase):
|
||||
# make sure that user can create slices and dashboards
|
||||
self.assert_can_all("Dashboard", gamma_perm_set)
|
||||
self.assert_can_read("Dataset", gamma_perm_set)
|
||||
self.assert_can_read("Annotation", gamma_perm_set)
|
||||
self.assert_can_read("CssTemplate", gamma_perm_set)
|
||||
|
||||
# make sure that user can create slices and dashboards
|
||||
self.assert_can_all("Chart", gamma_perm_set)
|
||||
|
||||
Reference in New Issue
Block a user