Support Database(memory=True) for in-memory databases

This commit is contained in:
Simon Willison 2019-07-22 17:12:54 -07:00
commit 034d498b31
4 changed files with 25 additions and 6 deletions

View file

@ -1,16 +1,15 @@
from sqlite_utils import Database
from sqlite_utils.utils import sqlite3
import pytest
@pytest.fixture
def fresh_db():
return Database(sqlite3.connect(":memory:"))
return Database(memory=True)
@pytest.fixture
def existing_db():
database = Database(sqlite3.connect(":memory:"))
database = Database(memory=True)
database.conn.executescript(
"""
CREATE TABLE foo (text TEXT);

View file

@ -727,3 +727,10 @@ def test_create_table_numpy(fresh_db):
"np.uint8": 8,
}
] == list(fresh_db["types"].rows)
def test_cannot_provide_both_filename_and_memory():
with pytest.raises(
AssertionError, match="Either specify a filename_or_conn or pass memory=True"
):
db = Database("/tmp/foo.db", memory=True)