mirror of
https://github.com/apache/superset.git
synced 2026-04-17 15:15:20 +00:00
chore: Migrate /superset/schemas_access_for_file_upload to v1 (#23227)
Co-authored-by: Diego Medina <diegomedina24@gmail.com>
This commit is contained in:
@@ -3619,3 +3619,44 @@ class TestDatabaseApi(SupersetTestCase):
|
||||
return
|
||||
self.assertEqual(rv.status_code, 422)
|
||||
self.assertIn("Kaboom!", response["errors"][0]["message"])
|
||||
|
||||
@mock.patch(
|
||||
"superset.security.SupersetSecurityManager.get_schemas_accessible_by_user"
|
||||
)
|
||||
@mock.patch("superset.security.SupersetSecurityManager.can_access_database")
|
||||
@mock.patch("superset.security.SupersetSecurityManager.can_access_all_datasources")
|
||||
def test_schemas_access_for_csv_upload_not_found_endpoint(
|
||||
self,
|
||||
mock_can_access_all_datasources,
|
||||
mock_can_access_database,
|
||||
mock_schemas_accessible,
|
||||
):
|
||||
self.login(username="gamma")
|
||||
self.create_fake_db()
|
||||
mock_can_access_database.return_value = False
|
||||
mock_schemas_accessible.return_value = ["this_schema_is_allowed_too"]
|
||||
rv = self.client.get(f"/api/v1/database/120ff/schemas_access_for_file_upload")
|
||||
self.assertEqual(rv.status_code, 404)
|
||||
self.delete_fake_db()
|
||||
|
||||
@mock.patch(
|
||||
"superset.security.SupersetSecurityManager.get_schemas_accessible_by_user"
|
||||
)
|
||||
@mock.patch("superset.security.SupersetSecurityManager.can_access_database")
|
||||
@mock.patch("superset.security.SupersetSecurityManager.can_access_all_datasources")
|
||||
def test_schemas_access_for_csv_upload_endpoint(
|
||||
self,
|
||||
mock_can_access_all_datasources,
|
||||
mock_can_access_database,
|
||||
mock_schemas_accessible,
|
||||
):
|
||||
self.login(username="admin")
|
||||
dbobj = self.create_fake_db()
|
||||
mock_can_access_all_datasources.return_value = False
|
||||
mock_can_access_database.return_value = False
|
||||
mock_schemas_accessible.return_value = ["this_schema_is_allowed_too"]
|
||||
data = self.get_json_resp(
|
||||
url=f"/api/v1/database/{dbobj.id}/schemas_access_for_file_upload"
|
||||
)
|
||||
assert data == {"schemas": ["this_schema_is_allowed_too"]}
|
||||
self.delete_fake_db()
|
||||
|
||||
Reference in New Issue
Block a user