From a9669d5c0fbd927adee3fa128af72b10b43ef7d1 Mon Sep 17 00:00:00 2001 From: missytake Date: Sat, 14 Oct 2023 15:38:12 +0200 Subject: [PATCH] tests: test DB version --- doveauth/src/doveauth/test_doveauth.py | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/doveauth/src/doveauth/test_doveauth.py b/doveauth/src/doveauth/test_doveauth.py index 907c2518..4ae4f926 100644 --- a/doveauth/src/doveauth/test_doveauth.py +++ b/doveauth/src/doveauth/test_doveauth.py @@ -1,12 +1,14 @@ import subprocess import pytest -from doveauth.doveauth import get_user_data, verify_user, Database +from doveauth import get_user_data, verify_user, Database, DBError @pytest.fixture() def db(tmpdir): - return Database(tmpdir / "passdb.sqlite") + db_path = tmpdir / "passdb.sqlite" + print("database path:", db_path) + return Database(db_path) def test_basic(db): @@ -26,3 +28,14 @@ def test_lua_integration(request): p = request.fspath.dirpath("test_doveauth.lua") proc = subprocess.run(["lua", str(p)]) assert proc.returncode == 0 + + +def test_db_version(db): + assert db.get_schema_version() == 1 + + +def test_too_high_db_version(db): + with db.write_transaction() as conn: + conn.execute("PRAGMA user_version=%s;" % (999,)) + with pytest.raises(DBError): + db.ensure_tables()