def test_context_manager(self):

        PROTECTED = [relatedItemsField.relationship]

        set_protected_relationships(PROTECTED)

        with DisabledProtection(PROTECTED):
            self.assertEquals(get_protected_relationships(), [])
        self.assertEquals(get_protected_relationships(), PROTECTED)
def referenceRemoved(obj, event):
    """ store information about the removed link integrity reference """
    assert IReference.providedBy(obj)
    assert obj is event.object          # just making sure...
    if not obj.relationship in get_protected_relationships():
        return                          # skip for other removed references
    # if the object the event was fired on doesn't have a `REQUEST` attribute
    # we can safely assume no direct user action was involved and therefore
    # never raise a link integrity exception...
    request = aq_get(obj, 'REQUEST', None)
    if not request:
        return
    storage = ILinkIntegrityInfo(request)
    storage.addBreach(obj.getSourceObject(), obj.getTargetObject())
    def test_config(self):

        PROTECTED = [relatedItemsField.relationship]

        set_protected_relationships(PROTECTED)
        self.assertEquals(get_protected_relationships(), PROTECTED)