diff options
| author | felix <felix> | 2018-06-25 03:30:04 +0000 |
|---|---|---|
| committer | felix <felix> | 2018-06-25 03:30:04 +0000 |
| commit | 7b85630b672cc220cc3a4201e9554502e98ef10e (patch) | |
| tree | 643a0a32a6a297b3365032313eefb05e9575ea04 | |
| parent | 6e0dacb24add46804b4093d483b77d433a958b9c (diff) | |
| download | migrate-7b85630b672cc220cc3a4201e9554502e98ef10e.tar.gz migrate-7b85630b672cc220cc3a4201e9554502e98ef10e.tar.bz2 | |
Add file tests
| -rw-r--r-- | file.go | 3 | ||||
| -rw-r--r-- | file_test.go | 43 | ||||
| -rw-r--r-- | migrate_test.go | 4 | ||||
| -rw-r--r-- | testdata/002_description2.sql | 1 | ||||
| -rw-r--r-- | testdata/01_description.sql | 1 |
5 files changed, 50 insertions, 2 deletions
@@ -120,5 +120,8 @@ func readFiles(uri string) (migrations []Migration, err error) { seen[v] = true } } + if len(migrations) == 0 { + return nil, fmt.Errorf("no migrations found") + } return migrations, nil } diff --git a/file_test.go b/file_test.go new file mode 100644 index 0000000..dfadb27 --- /dev/null +++ b/file_test.go @@ -0,0 +1,43 @@ +package migrate + +import ( + "database/sql" + "testing" + + _ "github.com/mattn/go-sqlite3" +) + +func TestFileMigrator(t *testing.T) { + db, err := sql.Open("sqlite3", testDB) + if err != nil { + t.Fatalf("DB setup failed: %v", err) + } + defer db.Close() + + migrator, err := NewFileMigrator(db, "file://testdata") + if err != nil { + t.Fatal(err) + } + + if v, _ := migrator.Version(); v != NilVersion { + t.Errorf("expected migration version NilVersion, got %d", v) + } + + if c := len(migrator.migrations); c != 2 { + t.Errorf("expected migration count = 2, got %d", c) + } + + err = migrator.MigrateTo(1) + if err != nil { + t.Fatalf("Migrator.MigrateTo(3) failed: %v", err) + } + + v, err := migrator.Version() + if err != nil { + t.Fatalf("Migrator.Version() failed: %v", err) + } + + if int(v) != len(migrator.migrations)-1 { + t.Errorf("expected migration version %d, got %d", len(migrator.migrations)-1, v) + } +} diff --git a/migrate_test.go b/migrate_test.go index dfe86de..17f1942 100644 --- a/migrate_test.go +++ b/migrate_test.go @@ -65,7 +65,7 @@ func TestMigrate(t *testing.T) { err = migrator.MigrateTo(3) if err != nil { - t.Fatalf("Migrator.Migrate() failed: %v", err) + t.Fatalf("Migrator.MigrateTo(3) failed: %v", err) } v, err = migrator.Version() @@ -79,7 +79,7 @@ func TestMigrate(t *testing.T) { err = migrator.MigrateTo(4) if err == nil { - t.Fatalf("Migrator.Migrate(4) should have failed") + t.Fatalf("Migrator.MigrateTo(4) should have failed") } v, err = migrator.Version() diff --git a/testdata/002_description2.sql b/testdata/002_description2.sql new file mode 100644 index 0000000..1d466aa --- /dev/null +++ b/testdata/002_description2.sql @@ -0,0 +1 @@ +insert into test1 (pk) values (1) diff --git a/testdata/01_description.sql b/testdata/01_description.sql new file mode 100644 index 0000000..9707142 --- /dev/null +++ b/testdata/01_description.sql @@ -0,0 +1 @@ +create table if not exists test1 (pk bigint not null primary key); |
