mirror of
https://github.com/apache/superset.git
synced 2026-04-13 21:24:28 +00:00
fix: improve explore REST api validations (#27395)
This commit is contained in:
committed by
GitHub
parent
721977a474
commit
a3d2e0bf44
@@ -197,7 +197,7 @@ def test_get_from_permalink_unknown_key(test_client, login_as_admin):
|
||||
|
||||
|
||||
@patch("superset.security.SupersetSecurityManager.can_access_datasource")
|
||||
def test_get_dataset_access_denied(
|
||||
def test_get_dataset_access_denied_with_form_data_key(
|
||||
mock_can_access_datasource, test_client, login_as_admin, dataset
|
||||
):
|
||||
message = "Dataset access denied"
|
||||
@@ -214,6 +214,24 @@ def test_get_dataset_access_denied(
|
||||
assert data["message"] == message
|
||||
|
||||
|
||||
@patch("superset.security.SupersetSecurityManager.can_access_datasource")
|
||||
def test_get_dataset_access_denied(
|
||||
mock_can_access_datasource, test_client, login_as_admin, dataset
|
||||
):
|
||||
message = "Dataset access denied"
|
||||
mock_can_access_datasource.side_effect = DatasetAccessDeniedError(
|
||||
message=message, datasource_id=dataset.id, datasource_type=dataset.type
|
||||
)
|
||||
resp = test_client.get(
|
||||
f"api/v1/explore/?datasource_id={dataset.id}&datasource_type={dataset.type}"
|
||||
)
|
||||
data = json.loads(resp.data.decode("utf-8"))
|
||||
assert resp.status_code == 403
|
||||
assert data["datasource_id"] == dataset.id
|
||||
assert data["datasource_type"] == dataset.type
|
||||
assert data["message"] == message
|
||||
|
||||
|
||||
@patch("superset.daos.datasource.DatasourceDAO.get_datasource")
|
||||
def test_wrong_endpoint(mock_get_datasource, test_client, login_as_admin, dataset):
|
||||
dataset.default_endpoint = "another_endpoint"
|
||||
|
||||
Reference in New Issue
Block a user