package main import ( "os" "path/filepath" "testing" ) func TestMigrationPreviewDoesNotConnect(t *testing.T) { dir := t.TempDir() if err := os.WriteFile(filepath.Join(dir, "0001_createItems.up.sql"), []byte("CREATE TABLE testItems(id BIGINT);"), 0600); err != nil { t.Fatal(err) } t.Setenv("GO_OMNI_DB_DSN", "not a DSN") if err := runMigrate([]string{"--dir", dir}); err != nil { t.Fatal("preview tried to connect", err) } t.Setenv("GO_OMNI_DB_DSN", "") if err := runMigrate([]string{"--dir", dir, "--apply"}); err == nil { t.Fatal("missing DSN accepted") } if err := runMigrate([]string{"--dir", dir, "--force"}); err == nil { t.Fatal("unsafe unknown flag accepted") } }