Skip to content

Commit

Permalink
More general RowLevelSecurityTests case to avoid improper ids matching
Browse files Browse the repository at this point in the history
  • Loading branch information
axelet committed Apr 7, 2020
1 parent d70bac0 commit de77f2f
Showing 1 changed file with 5 additions and 4 deletions.
9 changes: 5 additions & 4 deletions tests/security_tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -833,10 +833,11 @@ def setUp(self):
self.rls_entry.table = (
session.query(SqlaTable).filter_by(table_name="birth_names").first()
)
self.rls_entry.clause = "gender = 'male'"
self.rls_entry.clause = "gender = 'boy'"
self.rls_entry.roles.append(
security_manager.find_role("Gamma")
) # db.session.query(Role).filter_by(name="Gamma").first())
self.rls_entry.roles.append(security_manager.find_role("Alpha"))
db.session.add(self.rls_entry)

db.session.commit()
Expand All @@ -849,7 +850,7 @@ def tearDown(self):
# Do another test to make sure it doesn't alter another query
def test_rls_filter_alters_query(self):
g.user = self.get_user(
username="gamma"
username="alpha"
) # self.login() doesn't actually set the user
tbl = self.get_table_by_name("birth_names")
query_obj = dict(
Expand All @@ -864,7 +865,7 @@ def test_rls_filter_alters_query(self):
extras={},
)
sql = tbl.get_query_str(query_obj)
self.assertIn("gender = 'male'", sql)
self.assertIn("gender = 'boy'", sql)

def test_rls_filter_doesnt_alter_query(self):
g.user = self.get_user(
Expand All @@ -883,4 +884,4 @@ def test_rls_filter_doesnt_alter_query(self):
extras={},
)
sql = tbl.get_query_str(query_obj)
self.assertNotIn("gender = 'male'", sql)
self.assertNotIn("gender = 'boy'", sql)

0 comments on commit de77f2f

Please sign in to comment.