code: def test_show_with_app(
      mock_run_notebook_hook: MagicMock, ipython
  ) -> None:
      curstate().reset()
      app = Application()
      output_notebook()
      bis.show(app, notebook_url="baz")
      assert curstate().notebook_type == "jupyter"
      assert mock_run_notebook_hook.call_count == 1
      assert (
          mock_run_notebook_hook.call_args[0][0]
          == curstate().notebook_type
      )
      assert mock_run_notebook_hook.call_args[0][1:] == (
          "app",
          app,
          curstate(),
          "baz",
      )
      assert mock_run_notebook_hook.call_args[1] == {}
  
file_path: bokeh/tests/unit/bokeh/io/test_showing.py
imports: from __future__ import annotations
  import pytest
  from unittest.mock import MagicMock, Mock, patch
  from bokeh.application.application import Application
  from bokeh.io.doc import curdoc
  from bokeh.io.output import output_notebook
  from bokeh.io.state import State, curstate
  from bokeh.models import ColumnDataSource, GlyphRenderer, Plot
  import bokeh.io.showing
label_desc: Use image node_id 3 for calling a global function with example usage: test_show_with_app(mock_run_notebook_hook, ipython) without return types