mirror of
https://github.com/apache/superset.git
synced 2026-04-19 08:04:53 +00:00
fix: Use RLS clause instead of ID for cache key (#25229)
This commit is contained in:
@@ -305,6 +305,21 @@ class TestRowLevelSecurity(SupersetTestCase):
|
||||
assert not self.NAMES_Q_REGEX.search(sql)
|
||||
assert not self.BASE_FILTER_REGEX.search(sql)
|
||||
|
||||
@pytest.mark.usefixtures("load_birth_names_dashboard_with_slices")
|
||||
def test_get_rls_cache_key(self):
|
||||
g.user = self.get_user(username="admin")
|
||||
tbl = self.get_table(name="birth_names")
|
||||
clauses = security_manager.get_rls_cache_key(tbl)
|
||||
assert clauses == []
|
||||
|
||||
g.user = self.get_user(username="gamma")
|
||||
clauses = security_manager.get_rls_cache_key(tbl)
|
||||
assert clauses == [
|
||||
"name like 'A%' or name like 'B%'-name",
|
||||
"name like 'Q%'-name",
|
||||
"gender = 'boy'-gender",
|
||||
]
|
||||
|
||||
|
||||
class TestRowLevelSecurityCreateAPI(SupersetTestCase):
|
||||
@pytest.mark.usefixtures("load_birth_names_dashboard_with_slices")
|
||||
|
||||
Reference in New Issue
Block a user