code: def test_hide_columns():
      from dtale.app import show
      import dtale.global_state as global_state
  
      global_state.clear_store()
      df = pd.DataFrame(dict(a=[1, 2], b=[2, 3]))
      with ExitStack() as stack:
          stack.enter_context(
              mock.patch("dtale.app.DtaleFlask", MockDtaleFlask)
          )
          stack.enter_context(
              mock.patch("dtale.app.DtaleFlask.run", mock.Mock())
          )
          stack.enter_context(
              mock.patch(
                  "dtale.app.find_free_port",
                  mock.Mock(return_value=9999),
              )
          )
          stack.enter_context(
              mock.patch(
                  "socket.gethostname",
                  mock.Mock(return_value="localhost"),
              )
          )
          stack.enter_context(
              mock.patch(
                  "dtale.app.is_up", mock.Mock(return_value=False)
              )
          )
          stack.enter_context(mock.patch("requests.get", mock.Mock()))
          instance = show(
              data=df,
              ignore_duplicate=True,
              hide_columns=["b"],
              subprocess=False,
          )
          assert (
              global_state.get_dtypes(instance._data_id)[0]["visible"]
              is True
          )
          assert (
              not global_state.get_dtypes(instance._data_id)[1][
                  "visible"
              ]
              is True
          )
  
imports: import getpass
  from collections import namedtuple
  from flask import Flask
  import mock
  import numpy
  import os
  import pandas
  import pytest
  from tests import ExitStack, pdt
label_desc: Use image node_id 10 for calling a global function with example usage: test_hide_columns() without return types