Skip to content
Snippets Groups Projects
Verified Commit 18e6760a authored by Timm Fitschen's avatar Timm Fitschen
Browse files

TST: test for server issue #196

parent 086c7587
No related branches found
No related tags found
1 merge request!56TST: issue caosdb-server#196.
Pipeline #34407 failed
......@@ -1176,3 +1176,38 @@ def test_192():
assert count6 == 1
assert count7 == 1
assert count8 == 1
def test_196():
"""See https://gitlab.com/caosdb/caosdb-server/-/issues/196"""
admin._insert_role(name=CURATOR_ROLE, description="Desc")
perms = admin._get_permissions(CURATOR_ROLE)
g = admin.PermissionRule(action="Grant", permission="TRANSACTION:*")
perms.add(g)
admin._set_permissions(CURATOR_ROLE, permission_rules=perms)
admin._insert_user(name="TestUser", password="Password1!", status="ACTIVE")
admin._set_roles(username="TestUser", roles=[CURATOR_ROLE])
db.configure_connection(username="TestUser", password_method="plain",
password="Password1!")
# works
db.RecordType(name="TestRT1").insert()
db.Property(name="TestProp1", datatype=db.TEXT).insert()
# Deny TRANSACTION:INSERT:PROPERTY
db.configure_connection()
perms = admin._get_permissions(CURATOR_ROLE)
g = admin.PermissionRule(action="Deny", permission="TRANSACTION:INSERT:PROPERTY")
perms.add(g)
admin._set_permissions(CURATOR_ROLE, permission_rules=perms)
db.configure_connection(username="TestUser", password_method="plain",
password="Password1!")
db.RecordType(name="TestRT2").insert()
# fails
with pytest.raises(TransactionError) as cm:
# this should fail because the curator doesn't have TRANSACTION:INSERT:PROPERTY
db.Property(name="TestProp2", datatype=db.TEXT).insert()
assert cm.value.errors[0].msg == "You are not allowed to do this."
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment