feat(saved queries): security perm simplification (#11764)

* feat(saved queries): security perm simplification

* migration script and frontend

* add downgrade procedure

* downgrade procedure, inferred from the upgrade data

* fix JS test

* improve code

* add tests for role migration

* more tests and a short description for each one

* Improve readability

* simplify dataclass creation

* fix dataclass
This commit is contained in:
Daniel Vaz Gaspar
2020-11-30 13:07:39 +00:00
committed by GitHub
parent 46664452a7
commit 9dd33d5566
10 changed files with 673 additions and 7 deletions

View File

@@ -414,10 +414,24 @@ class TestSavedQueryApi(SupersetTestCase):
SavedQuery API: Test info
"""
self.login(username="admin")
uri = f"api/v1/saved_query/_info"
uri = "api/v1/saved_query/_info"
rv = self.get_assert_metric(uri, "info")
assert rv.status_code == 200
def test_info_security_saved_query(self):
"""
SavedQuery API: Test info security
"""
self.login(username="admin")
params = {"keys": ["permissions"]}
uri = f"api/v1/saved_query/_info?q={prison.dumps(params)}"
rv = self.get_assert_metric(uri, "info")
data = json.loads(rv.data.decode("utf-8"))
assert rv.status_code == 200
assert "can_read" in data["permissions"]
assert "can_write" in data["permissions"]
assert len(data["permissions"]) == 2
def test_related_saved_query(self):
"""
SavedQuery API: Test related databases