code: def test_homepage(app_client_two_attached_databases):
      response = app_client_two_attached_databases.get("/")
      assert response.status_code == 200
      assert (
          "text/html; charset=utf-8" == response.headers["content-type"]
      )
      soup = Soup(response.content, "html.parser")
      assert "Datasette Fixtures" == soup.find("h1").text
      assert (
          "An example SQLite database demonstrating Datasette. Sign in as root user"
          == soup.select(".metadata-description")[0].text.strip()
      )
      # Should be two attached databases
      assert [
          {"href": "/extra+database", "text": "extra database"},
          {"href": "/fixtures", "text": "fixtures"},
      ] == [
          {"href": a["href"], "text": a.text.strip()}
          for a in soup.select("h2 a")
      ]
      # Database should show count text and attached tables
      h2 = soup.select("h2")[0]
      assert "extra database" == h2.text.strip()
      counts_p, links_p = h2.find_all_next("p")[:2]
      assert (
          "2 rows in 1 table, 5 rows in 4 hidden tables, 1 view"
          == counts_p.text.strip()
      )
      # We should only show visible, not hidden tables here:
      table_links = [
          {"href": a["href"], "text": a.text.strip()}
          for a in links_p.findAll("a")
      ]
      assert [
          {"href": r"/extra+database/searchable", "text": "searchable"},
          {
              "href": r"/extra+database/searchable_view",
              "text": "searchable_view",
          },
      ] == table_links
  
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 1 for calling a global function with example usage: test_homepage(app_client_two_attached_databases) without return types