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

TST: add new tests for ACL

parent ecf16ac0
No related branches found
No related tags found
2 merge requests!53Release 0.7.2,!49F parse acl
# -*- encoding: utf-8 -*-
#
# This file is a part of the CaosDB Project.
#
# Copyright (C) 2022 Indiscale GmbH <info@indiscale.com>
# Copyright (C) 2022 Timm Fitschen <f.fitschen@indiscale.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
#
import caosdb as db
from lxml import etree
def test_parse_xml():
xml_str = """
<EntityACL>
<Grant priority="False" role="role1">
<Permission name="RETRIEVE:ENTITY"/>
</Grant>
<Deny priority="False" role="role1">
<Permission name="RETRIEVE:ENTITY"/>
</Deny>
<Grant priority="True" role="role1">
<Permission name="RETRIEVE:ENTITY"/>
</Grant>
<Deny priority="True" role="role1">
<Permission name="RETRIEVE:ENTITY"/>
</Deny>
</EntityACL>"""
xml = etree.fromstring(xml_str)
left_acl = db.ACL(xml)
right_acl = db.ACL()
right_acl.grant(role="role1", permission="RETRIEVE:ENTITY", revoke_denial=False)
right_acl.deny(role="role1", permission="RETRIEVE:ENTITY", revoke_grant=False)
right_acl.grant(role="role1", permission="RETRIEVE:ENTITY", priority=True, revoke_denial=False)
right_acl.deny(role="role1", permission="RETRIEVE:ENTITY", priority=True, revoke_grant=False)
assert left_acl == right_acl
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment