def METHOD_NAME(self):
    log = []
    pipeline = modular_pipeline(
        [node(source, None, "ds@save"), node(sink, "ds@load", None)]
    )
    catalog = DataCatalog(
        {
            "ds@save": LoggingDataset(log, "save"),
            "ds@load": LoggingDataset(log, "load"),
        }
    )
    ThreadRunner().run(pipeline, catalog)
    # we want to see both datasets being released
    assert list(log) == [("release", "save"), ("load", "load"), ("release", "load")]