summaryrefslogtreecommitdiff
path: root/database_test.go
diff options
context:
space:
mode:
authorxengineering <me@xengineering.eu>2026-05-31 21:20:48 +0200
committerxengineering <me@xengineering.eu>2026-05-31 21:37:13 +0200
commitefb324070827bd1fe713b93f80c601551d246579 (patch)
treed90ab00d48777eb780fe1d6d729e44ca43475350 /database_test.go
parent4cb6a5952f341741ef2728fb39acb7f19de61ba9 (diff)
downloadfinserv-efb324070827bd1fe713b93f80c601551d246579.tar
finserv-efb324070827bd1fe713b93f80c601551d246579.tar.zst
finserv-efb324070827bd1fe713b93f80c601551d246579.zip
Add migration execution
This adds the execution of the embedded migrations and adds a suitable unit test.
Diffstat (limited to 'database_test.go')
-rw-r--r--database_test.go18
1 files changed, 15 insertions, 3 deletions
diff --git a/database_test.go b/database_test.go
index fce0c02..b412af0 100644
--- a/database_test.go
+++ b/database_test.go
@@ -3,7 +3,6 @@ package main
import (
"fmt"
"os"
- "path/filepath"
"strings"
"testing"
)
@@ -24,8 +23,7 @@ func TestMigrationNumber(t *testing.T) {
func TestMigrationContent(t *testing.T) {
for i, migration := range migrations {
- name := fmt.Sprintf(migrationFilePattern, i+1)
- path := filepath.Join(migrationDir, name)
+ path := migrationPath(i)
expectation := fmt.Sprintf("PRAGMA user_version = %d;", i+1)
if !strings.HasPrefix(migration, expectation) {
@@ -42,3 +40,17 @@ func TestMigrationContent(t *testing.T) {
}
}
}
+
+func TestMigrations(t *testing.T) {
+ db, _ := emptyDB(t)
+
+ for i := range migrations {
+ path := migrationPath(i)
+ t.Logf("Test execution of %s", path)
+
+ err := Migrate(db, i)
+ if err != nil {
+ t.Fatalf("Failed to execute migration %s: %v", path, err)
+ }
+ }
+}