import json import re from html import unescape import pytest from bs4 import BeautifulSoup as Soup from datasette.app import Datasette from datasette.resources import DatabaseResource, QueryResource from datasette.stored_queries import StoredQuery, StoredQueryPage from datasette.utils.asgi import Forbidden from datasette.utils.sqlite import sqlite3, supports_returning requires_sqlite_returning = pytest.mark.skipif( not supports_returning(), reason="SQLite does not support RETURNING" ) EXPECTED_CREATE_TABLE_TEMPLATE_SQL = "\n".join( ( "create table new_table (", " id integer primary key,", " name text", " -- created text default (datetime('now'))", ")", ) ) def _template_option_attributes(html, table): match = re.search(r'