code: def test_database_list_respects_view_table():
      with make_app_client(
          config={
              "databases": {
                  "data": {
                      "tables": {
                          "names": {"allow": {"id": "root"}},
                          "v": {"allow": {"id": "root"}},
                      }
                  }
              }
          },
          extra_databases={
              "data.db": "create table names (name text); create view v as select * from names"
          },
      ) as client:
          html_fragments = [
              ">names</a> 🔒",
              ">v</a> 🔒",
          ]
          anon_response_text = client.get("/").text
          assert "0 rows in 0 tables" in anon_response_text
          for html_fragment in html_fragments:
              assert html_fragment not in anon_response_text
          auth_response_text = client.get(
              "/",
              cookies={"ds_actor": client.actor_cookie({"id": "root"})},
          ).text
          for html_fragment in html_fragments:
              assert html_fragment in auth_response_text
  
imports: import collections
  from datasette.app import Datasette
  from datasette.cli import cli
  from datasette.default_permissions import restrictions_allow_action
  from .fixtures import app_client, assert_permissions_checked, make_app_client
  from click.testing import CliRunner
  from bs4 import BeautifulSoup
  import copy
  import json
  from pprint import pprint
  import pytest_asyncio
  import pytest
  import re
  import time
  import urllib
label_desc: Use image node_id 5 for calling a global function with example usage: test_database_list_respects_view_table() without return types