code: def test_unpublish_multiple_datasets_sync(client):
      x = delayed(inc)(1)
      y = delayed(inc)(2)
      client.publish_dataset(x=x, y=y)
      client.unpublish_dataset(name="x")
  
      with pytest.raises(KeyError) as exc_info:
          client.get_dataset(name="x")
  
      datasets = client.list_datasets()
      assert set(datasets) == {"y"}
  
      assert "not found" in str(exc_info.value)
      assert "x" in str(exc_info.value)
  
      client.unpublish_dataset(name="y")
  
      with pytest.raises(KeyError) as exc_info:
          client.get_dataset(name="y")
  
      assert "not found" in str(exc_info.value)
      assert "y" in str(exc_info.value)
  
file_path: distributed/distributed/tests/test_publish.py
imports: from __future__ import annotations
  import asyncio
  import pytest
  from dask import delayed
  from distributed import Client
  from distributed.client import futures_of
  from distributed.metrics import time
  from distributed.protocol import Serialized
  from distributed.utils_test import gen_cluster, inc
label_desc: Use image node_id 2 for calling a global function with example usage: test_unpublish_multiple_datasets_sync(client) without return types