mirror of
https://github.com/simonw/datasette.git
synced 2025-12-10 16:51:24 +01:00
Don't hang in db.execute_write_fn() if connection fails
Closes #935 Refs https://github.com/simonw/latest-datasette-with-all-plugins/issues/3
This commit is contained in:
parent
13b3b51087
commit
b86f94883b
3 changed files with 32 additions and 6 deletions
|
|
@ -189,6 +189,23 @@ async def test_execute_write_fn_exception(db):
|
|||
await db.execute_write_fn(write_fn, block=True)
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
@pytest.mark.timeout(1)
|
||||
async def test_execute_write_fn_connection_exception(tmpdir, app_client):
|
||||
path = str(tmpdir / "immutable.db")
|
||||
sqlite3.connect(path).execute("vacuum")
|
||||
db = Database(app_client.ds, path=path, is_mutable=False)
|
||||
app_client.ds.add_database("immutable-db", db)
|
||||
|
||||
def write_fn(conn):
|
||||
assert False
|
||||
|
||||
with pytest.raises(AssertionError):
|
||||
await db.execute_write_fn(write_fn, block=True)
|
||||
|
||||
app_client.ds.remove_database("immutable-db")
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_mtime_ns(db):
|
||||
assert isinstance(db.mtime_ns, int)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue