-
-
Notifications
You must be signed in to change notification settings - Fork 137
Expand file tree
/
Copy pathtest_wal.py
More file actions
31 lines (25 loc) · 1 KB
/
test_wal.py
File metadata and controls
31 lines (25 loc) · 1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import pytest
from sqlite_utils import Database
@pytest.fixture
def db_path_tmpdir(tmpdir):
path = tmpdir / "test.db"
db = Database(str(path))
return db, path, tmpdir
def test_enable_disable_wal(db_path_tmpdir):
db, path, tmpdir = db_path_tmpdir
assert len(tmpdir.listdir()) == 1
assert "delete" == db.journal_mode
assert "test.db-wal" not in [f.basename for f in tmpdir.listdir()]
db.enable_wal()
assert "wal" == db.journal_mode
db["test"].insert({"foo": "bar"})
assert "test.db-wal" in [f.basename for f in tmpdir.listdir()]
db.disable_wal()
assert "delete" == db.journal_mode
assert "test.db-wal" not in [f.basename for f in tmpdir.listdir()]
def test_ensure_autocommit_off_sets_autocommit_mode_temporarily(db_path_tmpdir):
db, path, tmpdir = db_path_tmpdir
original_isolation_level = db.conn.isolation_level
with db.ensure_autocommit_off():
assert db.conn.isolation_level is None
assert db.conn.isolation_level == original_isolation_level