'Eliot tasks can be traced from the HTTP client to the API server.'

@capture_logging(None)
def test_cross_process_logging(self, logger):

    self.patch(rest_api, '_logger', logger)
    my_action = ActionType('my_action', [], [])
    with my_action():
        d = self.client.create_dataset(primary=self.node_1.uuid)
    def got_response(_):
        parent = LoggedAction.ofType(logger.messages, my_action)[0]
        child = LoggedAction.ofType(logger.messages, REQUEST)[0]
        self.assertIn(child, list(parent.descendants()))
    d.addCallback(got_response)
    return d
