Skip to content

Commit

Permalink
Migration CLI (#94)
Browse files Browse the repository at this point in the history
* wip rel migrate cli

* cli

* try fix compatibility

* hardcode exit code

* try stage

* revert,. move cc reporter to env

* refactor cmd as internal pkg, wip test

* test getModule

* test scan migration and get migration command

* should not panic on expected error

* test exec migrate

* removed paranoid dependency

* print file  name

* fix infer by gopath

* add go1.15.x

* drop go 1.10 and 1.11

* remove old commented code
  • Loading branch information
Fs02 committed Sep 6, 2020
1 parent 50e77c1 commit ceff628
Show file tree
Hide file tree
Showing 13 changed files with 613 additions and 124 deletions.
3 changes: 2 additions & 1 deletion .travis.yml
Expand Up @@ -23,7 +23,6 @@ _gomod_build: &gomod_build

_report_coverage: &report_coverage
env:
- CC_TEST_REPORTER_ID=045e6c8f64f873901bacc868224b418d9fc72dd73c40feb1af50faf3e96de15d
- COVER=-coverprofile=c.out
before_script:
- curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
Expand All @@ -42,4 +41,6 @@ jobs:
<<: *gomod_build
- go: "1.14.x"
<<: *gomod_build
- go: "1.15.x"
<<: *gomod_build
<<: *report_coverage
27 changes: 18 additions & 9 deletions Gopkg.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

36 changes: 4 additions & 32 deletions adapter/mysql/mysql_test.go
Expand Up @@ -6,7 +6,6 @@ import (
"os"
"testing"

paranoid "github.com/Fs02/go-paranoid"
"github.com/Fs02/rel"
"github.com/Fs02/rel/adapter/specs"
_ "github.com/go-sql-driver/mysql"
Expand All @@ -25,7 +24,7 @@ func dsn() string {

func TestAdapter_specs(t *testing.T) {
adapter, err := Open(dsn())
paranoid.Panic(err, "failed to open database connection")
assert.Nil(t, err)
defer adapter.Close()

repo := rel.New(adapter)
Expand Down Expand Up @@ -107,52 +106,25 @@ func TestAdapter_Open(t *testing.T) {
})
}

// func TestAdapter_InsertAll_error(t *testing.T) {
// adapter, err := Open(dsn())
// paranoid.Panic(err, "failed to open database connection")
// defer adapter.Close()

// fields := []string{"notexist"}
// mutations := []map[string]interface{}{
// {"notexist": "12"},
// {"notexist": "13"},
// }

// _, err = adapter.InsertAll(rel.Repo{}.From("users"), fields, mutations)

// assert.NotNil(t, err)
// }

func TestAdapter_Transaction_commitError(t *testing.T) {
adapter, err := Open(dsn())
paranoid.Panic(err, "failed to open database connection")
assert.Nil(t, err)
defer adapter.Close()

assert.NotNil(t, adapter.Commit(ctx))
}

func TestAdapter_Transaction_rollbackError(t *testing.T) {
adapter, err := Open(dsn())
paranoid.Panic(err, "failed to open database connection")
assert.Nil(t, err)
defer adapter.Close()

assert.NotNil(t, adapter.Rollback(ctx))
}

// func TestAdapter_Query_error(t *testing.T) {
// adapter, err := Open(dsn())
// paranoid.Panic(err, "failed to open database connection")
// defer adapter.Close()

// out := struct{}{}

// _, err = adapter.Query(&out, "error", nil)
// assert.NotNil(t, err)
// }

func TestAdapter_Exec_error(t *testing.T) {
adapter, err := Open(dsn())
paranoid.Panic(err, "failed to open database connection")
assert.Nil(t, err)
defer adapter.Close()

_, _, err = adapter.Exec(ctx, "error", nil)
Expand Down
36 changes: 4 additions & 32 deletions adapter/postgres/postgres_test.go
Expand Up @@ -6,7 +6,6 @@ import (
"testing"
"time"

"github.com/Fs02/go-paranoid"
"github.com/Fs02/rel"
"github.com/Fs02/rel/adapter/specs"
_ "github.com/lib/pq"
Expand All @@ -30,7 +29,7 @@ func dsn() string {

func TestAdapter_specs(t *testing.T) {
adapter, err := Open(dsn())
paranoid.Panic(err, "failed to open database connection")
assert.Nil(t, err)
defer adapter.Close()

repo := rel.New(adapter)
Expand Down Expand Up @@ -97,52 +96,25 @@ func TestAdapter_specs(t *testing.T) {
specs.CheckConstraint(t, repo)
}

// func TestAdapter_InsertAll_error(t *testing.T) {
// adapter, err := Open(dsn())
// paranoid.Panic(err, "failed to open database connection")
// defer adapter.Close()

// fields := []string{"notexist"}
// mutations := []map[string]interface{}{
// {"notexist": "12"},
// {"notexist": "13"},
// }

// _, err = adapter.InsertAll(rel.Repo{}.From("users"), fields, mutations)

// assert.NotNil(t, err)
// }

func TestAdapter_Transaction_commitError(t *testing.T) {
adapter, err := Open(dsn())
paranoid.Panic(err, "failed to open database connection")
assert.Nil(t, err)
defer adapter.Close()

assert.NotNil(t, adapter.Commit(ctx))
}

func TestAdapter_Transaction_rollbackError(t *testing.T) {
adapter, err := Open(dsn())
paranoid.Panic(err, "failed to open database connection")
assert.Nil(t, err)
defer adapter.Close()

assert.NotNil(t, adapter.Rollback(ctx))
}

// func TestAdapter_Query_error(t *testing.T) {
// adapter, err := Open(dsn())
// paranoid.Panic(err, "failed to open database connection")
// defer adapter.Close()

// out := struct{}{}

// _, err = adapter.Query(&out, "error", nil)
// assert.NotNil(t, err)
// }

func TestAdapter_Exec_error(t *testing.T) {
adapter, err := Open(dsn())
paranoid.Panic(err, "failed to open database connection")
assert.Nil(t, err)
defer adapter.Close()

_, _, err = adapter.Exec(ctx, "error", nil)
Expand Down
36 changes: 4 additions & 32 deletions adapter/sqlite3/sqlite3_test.go
Expand Up @@ -5,7 +5,6 @@ import (
"os"
"testing"

"github.com/Fs02/go-paranoid"
"github.com/Fs02/rel"
"github.com/Fs02/rel/adapter/specs"
_ "github.com/mattn/go-sqlite3"
Expand All @@ -24,7 +23,7 @@ func dsn() string {

func TestAdapter_specs(t *testing.T) {
adapter, err := Open(dsn())
paranoid.Panic(err, "failed to open database connection")
assert.Nil(t, err)
defer adapter.Close()

repo := rel.New(adapter)
Expand Down Expand Up @@ -91,52 +90,25 @@ func TestAdapter_specs(t *testing.T) {
specs.CheckConstraint(t, repo)
}

// func TestAdapter_InsertAll_error(t *testing.T) {
// adapter, err := Open(dsn())
// paranoid.Panic(err, "failed to open database connection")
// defer adapter.Close()

// fields := []string{"notexist"}
// mutations := []map[string]interface{}{
// {"notexist": "12"},
// {"notexist": "13"},
// }

// _, err = adapter.InsertAll(rel.Repo{}.From("users"), fields, mutations)

// assert.NotNil(t, err)
// }

func TestAdapter_Transaction_commitError(t *testing.T) {
adapter, err := Open(dsn())
paranoid.Panic(err, "failed to open database connection")
assert.Nil(t, err)
defer adapter.Close()

assert.NotNil(t, adapter.Commit(ctx))
}

func TestAdapter_Transaction_rollbackError(t *testing.T) {
adapter, err := Open(dsn())
paranoid.Panic(err, "failed to open database connection")
assert.Nil(t, err)
defer adapter.Close()

assert.NotNil(t, adapter.Rollback(ctx))
}

// func TestAdapter_Query_error(t *testing.T) {
// adapter, err := Open(dsn())
// paranoid.Panic(err, "failed to open database connection")
// defer adapter.Close()

// out := struct{}{}

// _, err = adapter.Query(&out, "error", nil)
// assert.NotNil(t, err)
// }

func TestAdapter_Exec_error(t *testing.T) {
adapter, err := Open(dsn())
paranoid.Panic(err, "failed to open database connection")
assert.Nil(t, err)
defer adapter.Close()

_, _, err = adapter.Exec(ctx, "error", nil)
Expand Down

0 comments on commit ceff628

Please sign in to comment.