|
|
@ -7,10 +7,14 @@ package cmd |
|
|
|
import ( |
|
|
|
"fmt" |
|
|
|
"io/ioutil" |
|
|
|
"os" |
|
|
|
"path/filepath" |
|
|
|
"strings" |
|
|
|
"testing" |
|
|
|
|
|
|
|
_ "github.com/mattn/go-sqlite3" |
|
|
|
"github.com/stretchr/testify/assert" |
|
|
|
"xorm.io/xorm" |
|
|
|
) |
|
|
|
|
|
|
|
var result = fmt.Sprintf(`package models |
|
|
@ -32,3 +36,38 @@ func TestReverse(t *testing.T) { |
|
|
|
assert.NoError(t, err) |
|
|
|
assert.EqualValues(t, result, string(bs)) |
|
|
|
} |
|
|
|
|
|
|
|
func TestReverse2(t *testing.T) { |
|
|
|
type Outfw struct { |
|
|
|
Id int `xorm:"not null pk autoincr"` |
|
|
|
Sql string `xorm:"default '' TEXT"` |
|
|
|
Template string `xorm:"default '' TEXT"` |
|
|
|
Filename string `xorm:"VARCHAR(50)"` |
|
|
|
} |
|
|
|
|
|
|
|
dir, err := ioutil.TempDir(os.TempDir(), "reverse") |
|
|
|
assert.NoError(t, err) |
|
|
|
|
|
|
|
e, err := xorm.NewEngine("sqlite3", filepath.Join(dir, "db.db")) |
|
|
|
assert.NoError(t, err) |
|
|
|
|
|
|
|
assert.NoError(t, e.Sync2(new(Outfw))) |
|
|
|
|
|
|
|
err = reverseFromReader(strings.NewReader(` |
|
|
|
kind: reverse |
|
|
|
name: mydb |
|
|
|
source: |
|
|
|
database: sqlite3 |
|
|
|
conn_str: '../testdata/test.db' |
|
|
|
targets: |
|
|
|
- type: codes |
|
|
|
include_tables: |
|
|
|
- a |
|
|
|
- b |
|
|
|
exclude_tables: |
|
|
|
- c |
|
|
|
language: golang |
|
|
|
output_dir: ../models |
|
|
|
`)) |
|
|
|
assert.NoError(t, err) |
|
|
|
} |