summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorxengineering <me@xengineering.eu>2026-06-02 20:20:17 +0200
committerxengineering <me@xengineering.eu>2026-06-02 20:20:17 +0200
commita3009e165c4cdbf94eb23a071d5e6c39425539e8 (patch)
tree57f8733d5d373e8f6a17809f85d5d807d0561310
parent975349b50e3d2c76564fef686a2a33b01212b6d3 (diff)
downloadfinserv-a3009e165c4cdbf94eb23a071d5e6c39425539e8.tar
finserv-a3009e165c4cdbf94eb23a071d5e6c39425539e8.tar.zst
finserv-a3009e165c4cdbf94eb23a071d5e6c39425539e8.zip
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.
-rw-r--r--database_test.go25
1 files changed, 25 insertions, 0 deletions
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)