code: def test_cbmt010_shared_grandparent(dash_duo):
      app = Dash(__name__)
  
      app.layout = html.Div(
          [
              html.Div("id", id="session-id"),
              dcc.Dropdown(id="dropdown-1"),
              dcc.Dropdown(id="dropdown-2"),
              html.Div(id="output"),
          ]
      )
  
      options = [{"value": "a", "label": "a"}]
  
      call_counts = {
          "dropdown_1": Value("i", 0),
          "dropdown_2": Value("i", 0),
      }
  
      @app.callback(
          Output("dropdown-1", "options"),
          [
              Input("dropdown-1", "value"),
              Input("session-id", "children"),
          ],
      )
      def dropdown_1(value, session_id):
          call_counts["dropdown_1"].value += 1
          return options
  
      @app.callback(
          Output("dropdown-2", "options"),
          Input("dropdown-2", "value"),
          Input("session-id", "children"),
      )
      def dropdown_2(value, session_id):
          call_counts["dropdown_2"].value += 1
          return options
  
      @app.callback(
          Output("output", "children"),
          Input("dropdown-1", "value"),
          Input("dropdown-2", "value"),
      )
      def set_output(v1, v2):
          return (v1 or "b") + (v2 or "b")
  
      dash_duo.start_server(app)
  
      dash_duo.wait_for_text_to_equal("#output", "bb")
      assert call_counts["dropdown_1"].value == 1
      assert call_counts["dropdown_2"].value == 1
  
      assert not dash_duo.get_logs()
  
file_path: dash/tests/integration/callbacks/test_multiple_callbacks.py
imports: import time
  from multiprocessing import Value, Lock
  import pytest
  from dash import Dash, Input, Output, State, callback_context, html, dcc, dash_table
  from dash.exceptions import PreventUpdate
  import dash.testing.wait
label_desc: Use image node_id 10 for calling a global function with example usage: test_cbmt010_shared_grandparent(dash_duo) and returns: options, options, unknown