code: def test_show_doc_no_server(
      mock_notebook_content: MagicMock,
      mock__publish_display_data: MagicMock,
      mock_get_comms: MagicMock,
  ) -> None:
      mock_get_comms.return_value = "comms"
      s = State()
      d = Document()
      mock_notebook_content.return_value = [
          "notebook_script",
          "notebook_div",
          d,
      ]
  
      class Obj:
          id = None
  
          def references(self) -> set[Any]:
              return set()
  
      assert mock__publish_display_data.call_count == 0
      binb.show_doc(Obj(), s, True)
  
      expected_args = (
          {
              "application/javascript": "notebook_script",
              "application/vnd.bokehjs_exec.v0+json": "",
          },
      )
      expected_kwargs = {
          "metadata": {
              "application/vnd.bokehjs_exec.v0+json": {"id": None}
          }
      }
  
      assert d.callbacks._hold is not None
      assert (
          mock__publish_display_data.call_count == 2
      )  # two mime types
      assert mock__publish_display_data.call_args[0] == expected_args
      assert mock__publish_display_data.call_args[1] == expected_kwargs
  
imports: from __future__ import annotations
  import pytest
  import json
  import os
  from typing import Any
  from unittest.mock import MagicMock, PropertyMock, patch
  from bokeh.document.document import Document
  from bokeh.io.notebook import log
  from bokeh.io.state import State
  import bokeh.io.notebook
label_desc: Use image node_id 2 for calling a global function with example usage: test_show_doc_no_server(mock_notebook_content, mock__publish_display_data, mock_get_comms) and returns: set