Skip to content

Commit 0dd41ef

Browse files
authored
skip over "queries" blocks when processing database-level metadata items (#2386)
1 parent 53a8ae1 commit 0dd41ef

File tree

2 files changed

+21
-1
lines changed

2 files changed

+21
-1
lines changed

datasette/app.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -456,7 +456,7 @@ async def apply_metadata_json(self):
456456
# step 2: database-level metadata
457457
for dbname, db in self._metadata_local.get("databases", {}).items():
458458
for key, value in db.items():
459-
if key == "tables":
459+
if key in ("tables", "queries"):
460460
continue
461461
await self.set_database_metadata(dbname, key, value)
462462

tests/test_internals_datasette.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,3 +173,23 @@ async def test_get_permission(ds_client):
173173
# And test KeyError
174174
with pytest.raises(KeyError):
175175
ds.get_permission("missing-permission")
176+
177+
178+
@pytest.mark.asyncio
179+
async def test_apply_metadata_json():
180+
ds = Datasette(
181+
metadata={
182+
"databases": {
183+
"legislators": {
184+
"tables": {"offices": {"summary": "office address or sumtin"}},
185+
"queries": {
186+
"millenntial_represetatives": {
187+
"summary": "Social media accounts for current legislators"
188+
}
189+
},
190+
}
191+
}
192+
},
193+
)
194+
await ds.invoke_startup()
195+
assert (await ds.client.get("/")).status_code == 200

0 commit comments

Comments
 (0)