test(rbac): isolate admin permission mutation
Some checks are pending
CI - Tests et Syntax / lint-and-test (push) Waiting to run
Some checks are pending
CI - Tests et Syntax / lint-and-test (push) Waiting to run
This commit is contained in:
parent
3cdab1dd7c
commit
933f0a5471
1 changed files with 18 additions and 3 deletions
|
|
@ -188,9 +188,24 @@ def test_admin_is_explicit_and_loses_removed_permission(app):
|
|||
assert not has_permission('*', user)
|
||||
assert has_permission('stock.view', user)
|
||||
stock = Permission.query.filter_by(code='stock.view').first()
|
||||
RolePermission.query.filter_by(role_id=admin.id, permission_id=stock.id).delete()
|
||||
db.session.commit()
|
||||
assert not has_permission('stock.view', user)
|
||||
link = RolePermission.query.filter_by(
|
||||
role_id=admin.id, permission_id=stock.id
|
||||
).one()
|
||||
try:
|
||||
db.session.delete(link)
|
||||
db.session.commit()
|
||||
assert not has_permission('stock.view', user)
|
||||
finally:
|
||||
# Ce test vérifie un retrait temporaire ; il ne doit pas laisser
|
||||
# le rôle système admin dans un état modifié pour les tests
|
||||
# suivants (notamment les smoke tests stock).
|
||||
if not RolePermission.query.filter_by(
|
||||
role_id=admin.id, permission_id=stock.id
|
||||
).first():
|
||||
db.session.add(RolePermission(
|
||||
role_id=admin.id, permission_id=stock.id, effect='allow'
|
||||
))
|
||||
db.session.commit()
|
||||
|
||||
|
||||
def test_last_super_admin_cannot_be_removed_or_deactivated(app):
|
||||
|
|
|
|||
Loading…
Reference in a new issue