diff --git a/datasette/templates/database.html b/datasette/templates/database.html
index eaebfdf7..dfafc049 100644
--- a/datasette/templates/database.html
+++ b/datasette/templates/database.html
@@ -60,7 +60,7 @@
Queries
{% endif %}
diff --git a/tests/test_permissions.py b/tests/test_permissions.py
index 21014a25..e66b9291 100644
--- a/tests/test_permissions.py
+++ b/tests/test_permissions.py
@@ -22,6 +22,26 @@ def test_view_query(allow, expected_anon, expected_auth):
assert expected_auth == auth_response.status
+def test_query_list_respects_view_query():
+ with make_app_client(
+ metadata={
+ "databases": {
+ "fixtures": {
+ "queries": {"q": {"sql": "select 1 + 1", "allow": {"id": "root"}}}
+ }
+ }
+ }
+ ) as client:
+ html_fragment = 'q 🔒'
+ anon_response = client.get("/fixtures")
+ assert html_fragment not in anon_response.text
+ assert '"/fixtures/q"' not in anon_response.text
+ auth_response = client.get(
+ "/fixtures", cookies={"ds_actor": client.ds.sign({"id": "root"}, "actor")}
+ )
+ assert html_fragment in auth_response.text
+
+
@pytest.mark.parametrize(
"allow,expected_anon,expected_auth",
[(None, 200, 200), ({}, 403, 403), ({"id": "root"}, 403, 200),],