From a3009e165c4cdbf94eb23a071d5e6c39425539e8 Mon Sep 17 00:00:00 2001 From: xengineering Date: Tue, 2 Jun 2026 20:20:17 +0200 Subject: Add TestUserVersion This is partially redundant to MigrateToLatest. Nevertheless a layered testing approach is useful to detect low-level problems in test functions which are simple. --- database_test.go | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'database_test.go') diff --git a/database_test.go b/database_test.go index d285c95..26e4e3d 100644 --- a/database_test.go +++ b/database_test.go @@ -68,6 +68,31 @@ func TestMigrate(t *testing.T) { } } +func TestUserVersion(t *testing.T) { + db, _ := emptyDB(t) + + expectedVersion := 42 + err := Transaction(db, func(tx *sql.Tx) error { + _, err := tx.Exec(fmt.Sprintf("PRAGMA user_version = %d;", expectedVersion)) + if err != nil { + return err + } + return nil + }) + if err != nil { + t.Fatalf("Failed to set user expectedVersion: %v", err) + } + + version, err := UserVersion(db) + if err != nil { + t.Fatalf("Could not execute function to test: %v", err) + } + + if version != expectedVersion { + t.Fatalf("Expected user_version %d but got %d.", expectedVersion, version) + } +} + func TestMigrateToLatest(t *testing.T) { db, _ := emptyDB(t) -- cgit v1.3.1