示例#1
0
def test_map_chain_call():
    class Mappable:
        def __init__(self, value):
            self.child = None
            self.value = value

        def mappable(self):
            return self.value

    c1 = Mappable(1)
    c1.child = Mappable(2)
    c1.child.child = Mappable(3)

    return_val = map_chain_call(c1, "mappable")

    assert return_val == [1, 2, 3]
示例#2
0
    def respond_to_obj_req(self, msg: ObjectRequestMessage):
        """Returns the deregistered object from registry.

        Args:
            request_msg (tuple): Tuple containing object id, user credentials and reason.
        """
        obj_id = msg.object_id
        user = msg.user
        reason = msg.reason

        obj = self.get_obj(obj_id)

        permitted = all(map_chain_call(obj, "allow", user=user))
        if not permitted:
            raise GetNotPermittedError()
        else:
            self.object_store.de_register_obj(obj)
            return obj