github.com/gocaveman/caveman@v0.0.0-20191211162744-0ddf99dbdf6e/migrate/migratedbr/migratedbr_test.go (about) 1 package migratedbr 2 3 import ( 4 "database/sql" 5 "testing" 6 7 "github.com/stretchr/testify/assert" 8 9 _ "github.com/mattn/go-sqlite3" 10 ) 11 12 func TestDbrVersioner(t *testing.T) { 13 14 assert := assert.New(t) 15 16 dsn := `file:TestDbrVersioner?mode=memory&cache=shared` 17 18 tmpDB, err := sql.Open("sqlite3", dsn) 19 if err != nil { 20 t.Fatal(err) 21 } 22 defer tmpDB.Close() 23 tmpDB.Exec("DROP TABLE migration_state") 24 25 mv, err := New("sqlite3", dsn) 26 if err != nil { 27 t.Fatal(err) 28 } 29 30 v, err := mv.Version("cat1") 31 assert.NoError(err) 32 assert.Equal("", v) 33 34 err = mv.StartVersionChange("cat1", "") 35 assert.NoError(err) 36 37 err = mv.EndVersionChange("cat1", "2017120102") 38 assert.NoError(err) 39 40 v, err = mv.Version("cat1") 41 assert.NoError(err) 42 assert.Equal("2017120102", v) 43 44 err = mv.StartVersionChange("cat1", "2017120102") 45 assert.NoError(err) 46 47 err = mv.EndVersionChange("cat1", "2017120103") 48 assert.NoError(err) 49 50 cats, err := mv.Categories() 51 assert.NoError(err) 52 assert.Equal([]string{"cat1"}, cats) 53 54 }