code: def test_canned_query_show_hide_metadata_option(
      hide_sql,
      querystring,
      expected_hidden,
      expected_show_hide_link,
      expected_show_hide_text,
  ):
      with make_app_client(
          config={
              "databases": {
                  "_memory": {
                      "queries": {
                          "one": {
                              "sql": "select 1 + 1",
                              "hide_sql": hide_sql,
                          }
                      }
                  }
              }
          },
          memory=True,
      ) as client:
          expected_show_hide_fragment = '(<a href="{}">{}</a>)'.format(
              expected_show_hide_link, expected_show_hide_text
          )
          response = client.get("/_memory/one" + querystring)
          html = response.text
          show_hide_fragment = html.split(
              '<span class="show-hide-sql">'
          )[1].split("</span>")[0]
          assert show_hide_fragment == expected_show_hide_fragment
          if expected_hidden:
              assert (
                  '<input type="hidden" name="{}" value="1">'.format(
                      expected_hidden
                  )
                  in html
              )
          else:
              assert '<input type="hidden" ' not in html
  
imports: from bs4 import BeautifulSoup
  from datasette.utils import allowed_pragmas
  from .fixtures import app_client, app_client_base_url_prefix, app_client_shorter_time_limit, app_client_two_attached_databases, make_app_client, METADATA
  from .utils import assert_footer_links, inner_html
  import copy
  import json
  import pathlib
  import pytest
  import re
  import urllib.parse
label_desc: Use image node_id 13 for calling a global function with example usage: test_canned_query_show_hide_metadata_option(hide_sql, querystring, expected_hidden, expected_show_hide_link, expected_show_hide_text) without return types