skip over "queries" blocks when processing database-level metadata items (#2386)

This commit is contained in:
Alex Garcia 2024-08-15 21:48:07 -07:00 committed by GitHub
commit 0dd41efce6
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 21 additions and 1 deletions

View file

@ -456,7 +456,7 @@ class Datasette:
# step 2: database-level metadata
for dbname, db in self._metadata_local.get("databases", {}).items():
for key, value in db.items():
if key == "tables":
if key in ("tables", "queries"):
continue
await self.set_database_metadata(dbname, key, value)

View file

@ -173,3 +173,23 @@ async def test_get_permission(ds_client):
# And test KeyError
with pytest.raises(KeyError):
ds.get_permission("missing-permission")
@pytest.mark.asyncio
async def test_apply_metadata_json():
ds = Datasette(
metadata={
"databases": {
"legislators": {
"tables": {"offices": {"summary": "office address or sumtin"}},
"queries": {
"millenntial_represetatives": {
"summary": "Social media accounts for current legislators"
}
},
}
}
},
)
await ds.invoke_startup()
assert (await ds.client.get("/")).status_code == 200