fix: table schema permissions (#23356)

This commit is contained in:
Beto Dealmeida
2023-03-14 15:18:18 -07:00
committed by GitHub
parent d2c1fb95ec
commit 1b95da7487
10 changed files with 148 additions and 10 deletions

View File

@@ -274,15 +274,20 @@ def test_query_no_access(mocker: MockFixture, client) -> None:
from superset.models.core import Database
from superset.models.sql_lab import Query
inspect = mocker.patch("superset.security.manager.inspect")
inspect().default_schema_name = "public"
database = mocker.MagicMock()
mocker.patch(
query_find_by_id,
return_value=Query(database=database, sql="select * from foo"),
)
mocker.patch(query_datasources_by_name, return_value=[SqlaTable()])
mocker.patch(is_admin, return_value=False)
mocker.patch(is_owner, return_value=False)
mocker.patch(can_access, return_value=False)
with raises(SupersetSecurityException):
mocker.patch(
query_find_by_id,
return_value=Query(database=Database(), sql="select * from foo"),
)
mocker.patch(query_datasources_by_name, return_value=[SqlaTable()])
mocker.patch(is_admin, return_value=False)
mocker.patch(is_owner, return_value=False)
mocker.patch(can_access, return_value=False)
check_datasource_access(
datasource_id=1,
datasource_type=DatasourceType.QUERY,