mirror of
https://github.com/apache/superset.git
synced 2026-05-12 19:35:17 +00:00
fix: set correct schema on config import (#16041)
* fix: set correct schema on config import
* Fix lint
* Fix test
* Fix tests
* Fix another test
* Fix another test
* Fix base test
* Add helper function
* Fix examples
* Fix test
* Fix test
* Fixing more tests
(cherry picked from commit 1fbce88a46)
This commit is contained in:
committed by
Elizabeth Thompson
parent
3d8ce130ba
commit
77c4f2cb11
@@ -19,15 +19,16 @@
|
||||
import json
|
||||
import unittest
|
||||
from unittest import mock
|
||||
|
||||
import pytest
|
||||
from sqlalchemy import inspect
|
||||
|
||||
from tests.integration_tests.fixtures.birth_names_dashboard import (
|
||||
load_birth_names_dashboard_with_slices,
|
||||
)
|
||||
|
||||
import pytest
|
||||
from tests.integration_tests.fixtures.world_bank_dashboard import (
|
||||
load_world_bank_dashboard_with_slices,
|
||||
)
|
||||
|
||||
from tests.integration_tests.fixtures.energy_dashboard import (
|
||||
load_energy_table_with_slice,
|
||||
)
|
||||
@@ -38,6 +39,7 @@ from superset.connectors.druid.models import DruidDatasource
|
||||
from superset.connectors.sqla.models import SqlaTable
|
||||
from superset.models import core as models
|
||||
from superset.models.datasource_access_request import DatasourceAccessRequest
|
||||
from superset.utils.core import get_example_database
|
||||
|
||||
from .base_tests import SupersetTestCase
|
||||
|
||||
@@ -152,9 +154,16 @@ class TestRequestAccess(SupersetTestCase):
|
||||
|
||||
@pytest.mark.usefixtures("load_birth_names_dashboard_with_slices")
|
||||
def test_override_role_permissions_1_table(self):
|
||||
database = get_example_database()
|
||||
engine = database.get_sqla_engine()
|
||||
schema = inspect(engine).default_schema_name
|
||||
|
||||
perm_data = ROLE_TABLES_PERM_DATA.copy()
|
||||
perm_data["database"][0]["schema"][0]["name"] = schema
|
||||
|
||||
response = self.client.post(
|
||||
"/superset/override_role_permissions/",
|
||||
data=json.dumps(ROLE_TABLES_PERM_DATA),
|
||||
data=json.dumps(perm_data),
|
||||
content_type="application/json",
|
||||
)
|
||||
self.assertEqual(201, response.status_code)
|
||||
@@ -171,6 +180,12 @@ class TestRequestAccess(SupersetTestCase):
|
||||
|
||||
@pytest.mark.usefixtures("load_birth_names_dashboard_with_slices")
|
||||
def test_override_role_permissions_druid_and_table(self):
|
||||
database = get_example_database()
|
||||
engine = database.get_sqla_engine()
|
||||
schema = inspect(engine).default_schema_name
|
||||
|
||||
perm_data = ROLE_ALL_PERM_DATA.copy()
|
||||
perm_data["database"][0]["schema"][0]["name"] = schema
|
||||
response = self.client.post(
|
||||
"/superset/override_role_permissions/",
|
||||
data=json.dumps(ROLE_ALL_PERM_DATA),
|
||||
@@ -201,6 +216,10 @@ class TestRequestAccess(SupersetTestCase):
|
||||
"load_energy_table_with_slice", "load_birth_names_dashboard_with_slices"
|
||||
)
|
||||
def test_override_role_permissions_drops_absent_perms(self):
|
||||
database = get_example_database()
|
||||
engine = database.get_sqla_engine()
|
||||
schema = inspect(engine).default_schema_name
|
||||
|
||||
override_me = security_manager.find_role("override_me")
|
||||
override_me.permissions.append(
|
||||
security_manager.find_permission_view_menu(
|
||||
@@ -210,9 +229,12 @@ class TestRequestAccess(SupersetTestCase):
|
||||
)
|
||||
db.session.flush()
|
||||
|
||||
perm_data = ROLE_TABLES_PERM_DATA.copy()
|
||||
perm_data["database"][0]["schema"][0]["name"] = schema
|
||||
|
||||
response = self.client.post(
|
||||
"/superset/override_role_permissions/",
|
||||
data=json.dumps(ROLE_TABLES_PERM_DATA),
|
||||
data=json.dumps(perm_data),
|
||||
content_type="application/json",
|
||||
)
|
||||
self.assertEqual(201, response.status_code)
|
||||
|
||||
Reference in New Issue
Block a user