github.com/scraniel/migrate@v0.0.0-20230320185700-339088f36cee/database/stub/stub_test.go (about) 1 package stub 2 3 import ( 4 "github.com/golang-migrate/migrate/v4" 5 "github.com/golang-migrate/migrate/v4/source" 6 "github.com/golang-migrate/migrate/v4/source/stub" 7 "testing" 8 9 dt "github.com/golang-migrate/migrate/v4/database/testing" 10 ) 11 12 func Test(t *testing.T) { 13 s := &Stub{} 14 d, err := s.Open("") 15 if err != nil { 16 t.Fatal(err) 17 } 18 dt.Test(t, d, []byte("/* foobar migration */")) 19 } 20 21 func TestMigrate(t *testing.T) { 22 s := &Stub{} 23 d, err := s.Open("") 24 if err != nil { 25 t.Fatal(err) 26 } 27 28 stubMigrations := source.NewMigrations() 29 stubMigrations.Append(&source.Migration{Version: 1, Direction: source.Up, Identifier: "CREATE 1"}) 30 stubMigrations.Append(&source.Migration{Version: 1, Direction: source.Down, Identifier: "DROP 1"}) 31 src := &stub.Stub{} 32 srcDrv, err := src.Open("") 33 if err != nil { 34 t.Fatal(err) 35 } 36 srcDrv.(*stub.Stub).Migrations = stubMigrations 37 m, err := migrate.NewWithInstance("stub", srcDrv, "", d) 38 if err != nil { 39 t.Fatal(err) 40 } 41 42 dt.TestMigrate(t, m) 43 }