diff --git a/datasette/app.py b/datasette/app.py index b554f9bc..bc35669f 100644 --- a/datasette/app.py +++ b/datasette/app.py @@ -2571,7 +2571,11 @@ class Datasette: r"/-/threads(\.(?Pjson))?$", ) add_route( - JsonDataView.as_view(self, "databases.json", self._connected_databases), + JsonDataView.as_view( + self, + "databases.json", + lambda: {"databases": self._connected_databases()}, + ), r"/-/databases(\.(?Pjson))?$", ) add_route( diff --git a/docs/introspection.rst b/docs/introspection.rst index 99238204..ab47c0a5 100644 --- a/docs/introspection.rst +++ b/docs/introspection.rst @@ -141,16 +141,19 @@ Shows currently attached databases. `Databases example len(data["plugins"]) + + +@pytest.mark.asyncio +async def test_databases_json_is_object(ds_client): + response = await ds_client.get("/-/databases.json") + assert response.status_code == 200 + data = response.json() + assert set(data.keys()) == {"ok", "databases"} + assert data["ok"] is True + assert isinstance(data["databases"], list) + assert "fixtures" in {db["name"] for db in data["databases"]}