datasette/tests
Simon Willison 290f27158f Datasette.close() closes databases, shuts down executor, unlinks temp file
Datasette.close() iterates over every attached Database (including the
internal database), calls Database.close() on each, then shuts down the
ThreadPoolExecutor. Exceptions raised by one Database don't prevent the
others from being closed; the first exception is re-raised afterwards.
Idempotent.

Refs #2692

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-16 20:10:18 -07:00
..
plugins Replace token-based CSRF with Sec-Fetch-Site header protection (#2689) 2026-04-14 17:11:36 -07:00
test_templates Fix handling of nested custom page wildcard paths, closes #996 2020-10-07 15:51:11 -07:00
__init__.py Broke up test_app into test_api and test_html 2017-12-15 04:08:24 -08:00
build_small_spatialite_db.py New run_sanity_checks mechanism, for SpatiLite 2019-05-11 15:55:30 -07:00
conftest.py From 409 warnings down to 52 warnings. 2026-04-14 18:46:47 -07:00
ext.c Add new entrypoint option to --load-extensions. (#1789) 2022-08-23 11:34:30 -07:00
fixtures.py From 409 warnings down to 52 warnings. 2026-04-14 18:46:47 -07:00
spatialite.db New run_sanity_checks mechanism, for SpatiLite 2019-05-11 15:55:30 -07:00
test-datasette-load-plugins.sh fix (typo): Corrected spelling of 'environments' (#2268) 2024-02-19 14:41:32 -08:00
test_actions_sql.py datasette.pm property, closes #2595 2025-11-13 10:31:03 -08:00
test_actor_restriction_bug.py New PermissionSQL.restriction_sql mechanism for actor restrictions 2025-11-03 14:17:51 -08:00
test_allowed_resources.py Switch to ruff and fix all lint errors, refs #2630 2026-01-23 20:43:16 -08:00
test_api.py ok: true in /db.json for consistency 2026-04-15 15:44:06 -07:00
test_api_write.py API explorer special case for rowid in /-/upsert 2026-04-15 15:47:48 -07:00
test_auth.py Rename set-column-types action to et-column-type 2026-03-18 12:33:09 -07:00
test_base_view.py New View base class (#2080) 2023-05-25 17:18:43 -07:00
test_canned_queries.py Replace token-based CSRF with Sec-Fetch-Site header protection (#2689) 2026-04-14 17:11:36 -07:00
test_cli.py From 409 warnings down to 52 warnings. 2026-04-14 18:46:47 -07:00
test_cli_serve_get.py Black formatting 2026-02-17 13:30:24 -08:00
test_cli_serve_server.py Move HTTPS test to a bash script 2022-12-17 18:33:07 -08:00
test_column_types.py Add actor= parameter to datasette.client methods (#2688) 2026-04-14 18:31:57 -07:00
test_config_dir.py From 409 warnings down to 52 warnings. 2026-04-14 18:46:47 -07:00
test_config_permission_rules.py Run black formatter 2025-10-25 15:38:07 -07:00
test_crossdb.py From 409 warnings down to 52 warnings. 2026-04-14 18:46:47 -07:00
test_csrf_middleware.py Normalize headers in CSRF checks, refs #2689 2026-04-14 19:24:38 -07:00
test_csv.py Black formatting 2026-02-17 13:30:24 -08:00
test_custom_pages.py Move open redirect fix to asgi_send_redirect, refs #2429 2025-11-04 17:08:06 -08:00
test_datasette_https_server.sh Detect server start/stop more reliably. 2022-12-18 08:01:51 -08:00
test_default_deny.py datasette serve --default-deny option (#2593) 2025-11-12 16:14:21 -08:00
test_docs.py Use subtests in tests/test_docs.py (#2609) 2025-12-04 21:36:39 -08:00
test_docs_plugins.py datasette.pm property, closes #2595 2025-11-13 10:31:03 -08:00
test_facets.py Respect metadata-defined facet ordering in sorted_facet_results (#2648) 2026-02-25 16:33:27 -08:00
test_filters.py Switch to ruff and fix all lint errors, refs #2630 2026-01-23 20:43:16 -08:00
test_html.py Add actor= parameter to datasette.client methods (#2688) 2026-04-14 18:31:57 -07:00
test_internal_db.py Fix for stale internal database bug, closes #2605 2025-12-02 16:22:42 -08:00
test_internals_database.py Database.close() shuts down write thread and raises DatasetteClosedError 2026-04-16 20:09:47 -07:00
test_internals_datasette.py Datasette.close() closes databases, shuts down executor, unlinks temp file 2026-04-16 20:10:18 -07:00
test_internals_datasette_client.py Add actor= parameter to datasette.client methods (#2688) 2026-04-14 18:31:57 -07:00
test_internals_request.py Request.fake(... url_vars), plus .fake() is now documented 2022-03-31 19:01:58 -07:00
test_internals_response.py response.set_cookie(), closes #795 2020-06-09 15:19:37 -07:00
test_internals_urls.py Remove hashed URL mode 2022-03-18 17:12:03 -07:00
test_label_column_for_table.py Detect single unique text column in label_column_for_table, closes #2458 2025-02-01 17:02:49 -08:00
test_load_extensions.py Introduce new /$DB/-/query endpoint, soft replaces /$DB?sql=... (#2363) 2024-07-15 10:33:51 -07:00
test_messages.py Introduce new /$DB/-/query endpoint, soft replaces /$DB?sql=... (#2363) 2024-07-15 10:33:51 -07:00
test_multipart.py Add request.form() for multipart form data and file uploads 2026-01-28 18:41:03 -08:00
test_package.py Upgrade Docker images to Python 3.11, closes #1853 2022-10-25 12:04:53 -07:00
test_permission_endpoints.py Add actor= parameter to datasette.client methods (#2688) 2026-04-14 18:31:57 -07:00
test_permissions.py Add actor= parameter to datasette.client methods (#2688) 2026-04-14 18:31:57 -07:00
test_plugins.py From 409 warnings down to 52 warnings. 2026-04-14 18:46:47 -07:00
test_publish_cloudrun.py Black formatting 2026-02-17 13:30:24 -08:00
test_publish_heroku.py Upgrade to Python 3.11 on Heroku, refs #1905 2022-11-18 16:44:46 -08:00
test_restriction_sql.py Switch to ruff and fix all lint errors, refs #2630 2026-01-23 20:43:16 -08:00
test_routes.py Black formatting 2026-02-17 13:30:24 -08:00
test_schema_endpoints.py Add actor= parameter to datasette.client methods (#2688) 2026-04-14 18:31:57 -07:00
test_search_tables.py Add actor= parameter to datasette.client methods (#2688) 2026-04-14 18:31:57 -07:00
test_spatialite.py Skip SpatiaLite test if no conn.enable_load_extension() 2022-09-05 17:09:57 -07:00
test_table_api.py Black formatting 2026-02-17 13:30:24 -08:00
test_table_html.py Fix mobile column actions not showing items for SQL views (#2670) 2026-03-18 09:46:36 -07:00
test_token_handler.py register_token_handler() plugin hook for custom API token backends (#2650) 2026-02-25 16:32:45 -08:00
test_tracer.py Fix startup hook to fire after metadata and schema tables are populated (#2666) 2026-03-16 17:56:40 -07:00
test_utils.py From 409 warnings down to 52 warnings. 2026-04-14 18:46:47 -07:00
test_utils_check_callable.py Rename callable.py to check_callable.py, refs #2078 2023-05-25 11:49:40 -07:00
test_utils_permissions.py Black formatting 2026-02-17 13:30:24 -08:00
test_write_wrapper.py RenameTableEvent, plus write connection track_event() mechanism (#2682) 2026-03-30 11:20:46 -07:00
utils.py From 409 warnings down to 52 warnings. 2026-04-14 18:46:47 -07:00