fix(datasource): allow Gamma to load combined datasource list (#41553)

This commit is contained in:
Ville Brofeldt
2026-06-29 15:08:29 -07:00
committed by GitHub
parent ba9bd430cb
commit ece8d8ffca
2 changed files with 19 additions and 12 deletions

View File

@@ -339,12 +339,6 @@ class TestDatasourceApi(SupersetTestCase):
run_mock,
can_access_mock,
):
security_manager.add_permission_view_menu("can_combined_list", "Datasource")
perm = security_manager.find_permission_view_menu(
"can_combined_list", "Datasource"
)
admin_role = security_manager.find_role("Admin")
security_manager.add_permission_role(admin_role, perm)
can_access_mock.side_effect = [True, True]
run_mock.side_effect = ValueError("Invalid order column: invalid")
self.login(ADMIN_USERNAME)
@@ -364,12 +358,6 @@ class TestDatasourceApi(SupersetTestCase):
run_mock,
can_access_mock,
):
security_manager.add_permission_view_menu("can_combined_list", "Datasource")
perm = security_manager.find_permission_view_menu(
"can_combined_list", "Datasource"
)
admin_role = security_manager.find_role("Admin")
security_manager.add_permission_role(admin_role, perm)
can_access_mock.return_value = True
run_mock.return_value = {"count": 1, "result": []}
self.login(ADMIN_USERNAME)
@@ -383,3 +371,19 @@ class TestDatasourceApi(SupersetTestCase):
run_mock.assert_called_once()
_, kwargs = run_mock.call_args
assert kwargs == {}
@patch("superset.datasource.api.GetCombinedDatasourceListCommand.run")
def test_combined_list_gamma_uses_read_permission(self, run_mock):
run_mock.return_value = {"count": 0, "result": []}
self.login(GAMMA_USERNAME)
rv = self.client.get(
"api/v1/datasource/?q="
"(order_column:changed_on_delta_humanized,"
"order_direction:desc,page:0,page_size:25)"
)
assert rv.status_code == 200
response = json.loads(rv.data.decode("utf-8"))
assert response == {"count": 0, "result": []}
run_mock.assert_called_once()