diff --git a/tests/test_permissions.py b/tests/test_permissions.py index d0a1a776d161cf2785cdc926e8d0254f4ad455d9..fafc70db1a8fb97c63c2ba875e08f7eeb6768afa 100644 --- a/tests/test_permissions.py +++ b/tests/test_permissions.py @@ -188,6 +188,33 @@ def test_basic_acl_stuff(): assert_false("DELETE" in other_role_permissions) +@mark.xfail(reason="fix needed: https://gitlab.com/linkahead/linkahead-server/-/issues/247") +def test_server_issue_247(): + db.administration.set_server_property( + "QUERY_FILTER_ENTITIES_WITHOUT_RETRIEVE_PERMISSIONS", "TRUE") + person = db.RecordType("TestPerson").insert() + db.Property("TestFirstName", datatype=db.TEXT).insert() + db.Property("TestConductor", datatype=person).insert() + + dan = db.Record( + name="TestDaniel").add_property( + name="TestFirstName", + value="Daniel").add_parent(person).insert() + exp = db.RecordType( + name="TestExperiment").add_property( + name="TestConductor", + value=dan.id).insert() + + grant_permission(person, "RETRIEVE:*") + grant_permission(exp, "RETRIEVE:*") + deny_permission(dan, "RETRIEVE:*") + switch_to_test_user() + + assert db.execute_query( + "FIND ENTITY TestExperiment WHICH HAS A TestConductor=" + str(dan.id), + unique=True).id == exp.id + + def test_query(): db.administration.set_server_property( "QUERY_FILTER_ENTITIES_WITHOUT_RETRIEVE_PERMISSIONS", "TRUE")