fix tests
This commit is contained in:
parent
d4fadf0134
commit
ba83909d2d
|
@ -49,8 +49,8 @@ jobs:
|
|||
|
||||
- run: go test -v -race -db="mysql" -conn_str="root:@/xorm_test" -coverprofile=coverage2-1.txt -covermode=atomic
|
||||
- run: go test -v -race -db="mysql" -conn_str="root:@/xorm_test" -cache=true -coverprofile=coverage2-2.txt -covermode=atomic
|
||||
- run: go test -v -race -db="mysql" -conn_str="root:@/xorm_test" -map_type=same -coverprofile=coverage2-1.txt -covermode=atomic
|
||||
- run: go test -v -race -db="mysql" -conn_str="root:@/xorm_test" -map_type=same -cache=true -coverprofile=coverage2-2.txt -covermode=atomic
|
||||
- run: go test -v -race -db="mysql" -conn_str="root:@/xorm_test" -map_type=same -coverprofile=coverage2-3.txt -covermode=atomic
|
||||
- run: go test -v -race -db="mysql" -conn_str="root:@/xorm_test" -map_type=same -cache=true -coverprofile=coverage2-4.txt -covermode=atomic
|
||||
|
||||
- run: go test -v -race -db="mymysql" -conn_str="xorm_test/root/" -coverprofile=coverage3-1.txt -covermode=atomic
|
||||
- run: go test -v -race -db="mymysql" -conn_str="xorm_test/root/" -cache=true -coverprofile=coverage3-2.txt -covermode=atomic
|
||||
|
@ -62,6 +62,6 @@ jobs:
|
|||
- run: go test -v -race -db="mssql" -conn_str="server=localhost;user id=sa;password=yourStrong(!)Password;database=xorm_test" -cache=true -coverprofile=coverage6-2.txt -covermode=atomic
|
||||
- run: go test -v -race -db="mysql" -conn_str="root:@tcp(localhost:4000)/xorm_test" -ignore_select_update=true -coverprofile=coverage7-1.txt -covermode=atomic
|
||||
- run: go test -v -race -db="mysql" -conn_str="root:@tcp(localhost:4000)/xorm_test" -ignore_select_update=true -cache=true -coverprofile=coverage7-2.txt -covermode=atomic
|
||||
- run: gocovmerge coverage1-1.txt coverage1-2.txt coverage2-1.txt coverage2-2.txt coverage3-1.txt coverage3-2.txt coverage4-1.txt coverage4-2.txt coverage5-1.txt coverage5-2.txt coverage6-1.txt coverage6-2.txt coverage7-1.txt coverage7-2.txt > coverage.txt
|
||||
- run: gocovmerge coverage1-1.txt coverage1-2.txt coverage1-3.txt coverage1-4.txt coverage2-1.txt coverage2-2.txt coverage2-3.txt coverage2-4.txt coverage3-1.txt coverage3-2.txt coverage4-1.txt coverage4-2.txt coverage5-1.txt coverage5-2.txt coverage6-1.txt coverage6-2.txt coverage7-1.txt coverage7-2.txt > coverage.txt
|
||||
|
||||
- run: bash <(curl -s https://codecov.io/bash)
|
|
@ -59,8 +59,10 @@ func TestCacheFind(t *testing.T) {
|
|||
assert.Equal(t, inserts[i].Password, box.Password)
|
||||
}
|
||||
|
||||
idName := colMapper.Obj2Table("Id")
|
||||
|
||||
boxes = make([]MailBox, 0, 2)
|
||||
assert.NoError(t, testEngine.Alias("a").Where("a.id > -1").Asc("a.id").Find(&boxes))
|
||||
assert.NoError(t, testEngine.Alias("a").Where("a."+idName+" > -1").Asc("a."+idName).Find(&boxes))
|
||||
assert.EqualValues(t, 2, len(boxes))
|
||||
for i, box := range boxes {
|
||||
assert.Equal(t, inserts[i].Id, box.Id)
|
||||
|
@ -74,8 +76,10 @@ func TestCacheFind(t *testing.T) {
|
|||
Password string
|
||||
}
|
||||
|
||||
tableName := tableMapper.Obj2Table("MailBox")
|
||||
|
||||
boxes2 := make([]MailBox4, 0, 2)
|
||||
assert.NoError(t, testEngine.Table("mail_box").Where("mail_box.id > -1").Asc("mail_box.id").Find(&boxes2))
|
||||
assert.NoError(t, testEngine.Table(tableName).Where(tableName+"."+idName+" > -1").Asc(tableName+"."+idName).Find(&boxes2))
|
||||
assert.EqualValues(t, 2, len(boxes2))
|
||||
for i, box := range boxes2 {
|
||||
assert.Equal(t, inserts[i].Id, box.Id)
|
||||
|
|
|
@ -91,12 +91,14 @@ type EngineInterface interface {
|
|||
NoAutoTime() *Session
|
||||
Quote(string) string
|
||||
SetCacher(string, core.Cacher)
|
||||
SetColumnMapper(core.IMapper)
|
||||
SetConnMaxLifetime(time.Duration)
|
||||
SetColumnMapper(core.IMapper)
|
||||
SetDefaultCacher(core.Cacher)
|
||||
SetLogger(logger core.ILogger)
|
||||
SetLogLevel(core.LogLevel)
|
||||
SetMapper(core.IMapper)
|
||||
SetTableMapper(core.IMapper)
|
||||
SetMaxOpenConns(int)
|
||||
SetMaxIdleConns(int)
|
||||
SetSchema(string)
|
||||
|
|
|
@ -9,8 +9,8 @@ import (
|
|||
"fmt"
|
||||
"testing"
|
||||
|
||||
"xorm.io/builder"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"xorm.io/builder"
|
||||
)
|
||||
|
||||
func TestBuilder(t *testing.T) {
|
||||
|
@ -36,25 +36,27 @@ func TestBuilder(t *testing.T) {
|
|||
_, err = testEngine.Insert(&Condition{TableName: "table1", ColName: "col1", Op: OpEqual, Value: "1"})
|
||||
assert.NoError(t, err)
|
||||
|
||||
colNameName := colMapper.Obj2Table("ColName")
|
||||
|
||||
var cond Condition
|
||||
has, err := testEngine.Where(builder.Eq{"col_name": "col1"}).Get(&cond)
|
||||
has, err := testEngine.Where(builder.Eq{colNameName: "col1"}).Get(&cond)
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, true, has, "records should exist")
|
||||
|
||||
has, err = testEngine.Where(builder.Eq{"col_name": "col1"}.
|
||||
has, err = testEngine.Where(builder.Eq{colNameName: "col1"}.
|
||||
And(builder.Eq{"op": OpEqual})).
|
||||
NoAutoCondition().
|
||||
Get(&cond)
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, true, has, "records should exist")
|
||||
|
||||
has, err = testEngine.Where(builder.Eq{"col_name": "col1", "op": OpEqual, "value": "1"}).
|
||||
has, err = testEngine.Where(builder.Eq{colNameName: "col1", "op": OpEqual, "value": "1"}).
|
||||
NoAutoCondition().
|
||||
Get(&cond)
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, true, has, "records should exist")
|
||||
|
||||
has, err = testEngine.Where(builder.Eq{"col_name": "col1"}.
|
||||
has, err = testEngine.Where(builder.Eq{colNameName: "col1"}.
|
||||
And(builder.Neq{"op": OpEqual})).
|
||||
NoAutoCondition().
|
||||
Get(&cond)
|
||||
|
@ -62,37 +64,37 @@ func TestBuilder(t *testing.T) {
|
|||
assert.Equal(t, false, has, "records should not exist")
|
||||
|
||||
var conds []Condition
|
||||
err = testEngine.Where(builder.Eq{"col_name": "col1"}.
|
||||
err = testEngine.Where(builder.Eq{colNameName: "col1"}.
|
||||
And(builder.Eq{"op": OpEqual})).
|
||||
Find(&conds)
|
||||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, 1, len(conds), "records should exist")
|
||||
|
||||
conds = make([]Condition, 0)
|
||||
err = testEngine.Where(builder.Like{"col_name", "col"}).Find(&conds)
|
||||
err = testEngine.Where(builder.Like{colNameName, "col"}).Find(&conds)
|
||||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, 1, len(conds), "records should exist")
|
||||
|
||||
conds = make([]Condition, 0)
|
||||
err = testEngine.Where(builder.Expr("col_name = ?", "col1")).Find(&conds)
|
||||
err = testEngine.Where(builder.Expr(colNameName+" = ?", "col1")).Find(&conds)
|
||||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, 1, len(conds), "records should exist")
|
||||
|
||||
conds = make([]Condition, 0)
|
||||
err = testEngine.Where(builder.In("col_name", "col1", "col2")).Find(&conds)
|
||||
err = testEngine.Where(builder.In(colNameName, "col1", "col2")).Find(&conds)
|
||||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, 1, len(conds), "records should exist")
|
||||
|
||||
conds = make([]Condition, 0)
|
||||
err = testEngine.NotIn("col_name", "col1", "col2").Find(&conds)
|
||||
err = testEngine.NotIn(colNameName, "col1", "col2").Find(&conds)
|
||||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, 0, len(conds), "records should not exist")
|
||||
|
||||
// complex condtions
|
||||
var where = builder.NewCond()
|
||||
if true {
|
||||
where = where.And(builder.Eq{"col_name": "col1"})
|
||||
where = where.Or(builder.And(builder.In("col_name", "col1", "col2"), builder.Expr("col_name = ?", "col1")))
|
||||
where = where.And(builder.Eq{colNameName: "col1"})
|
||||
where = where.Or(builder.And(builder.In(colNameName, "col1", "col2"), builder.Expr(colNameName+" = ?", "col1")))
|
||||
}
|
||||
|
||||
conds = make([]Condition, 0)
|
||||
|
|
|
@ -54,23 +54,25 @@ func TestExistStruct(t *testing.T) {
|
|||
assert.NoError(t, err)
|
||||
assert.False(t, has)
|
||||
|
||||
has, err = testEngine.SQL("select * from "+testEngine.TableName("record_exist", true)+" where name = ?", "test1").Exist()
|
||||
tableName := tableMapper.Obj2Table("RecordExist")
|
||||
|
||||
has, err = testEngine.SQL("select * from "+testEngine.TableName(tableName, true)+" where name = ?", "test1").Exist()
|
||||
assert.NoError(t, err)
|
||||
assert.True(t, has)
|
||||
|
||||
has, err = testEngine.SQL("select * from "+testEngine.TableName("record_exist", true)+" where name = ?", "test2").Exist()
|
||||
has, err = testEngine.SQL("select * from "+testEngine.TableName(tableName, true)+" where name = ?", "test2").Exist()
|
||||
assert.NoError(t, err)
|
||||
assert.False(t, has)
|
||||
|
||||
has, err = testEngine.Table("record_exist").Exist()
|
||||
has, err = testEngine.Table(tableName).Exist()
|
||||
assert.NoError(t, err)
|
||||
assert.True(t, has)
|
||||
|
||||
has, err = testEngine.Table("record_exist").Where("name = ?", "test1").Exist()
|
||||
has, err = testEngine.Table(tableName).Where("name = ?", "test1").Exist()
|
||||
assert.NoError(t, err)
|
||||
assert.True(t, has)
|
||||
|
||||
has, err = testEngine.Table("record_exist").Where("name = ?", "test2").Exist()
|
||||
has, err = testEngine.Table(tableName).Where("name = ?", "test2").Exist()
|
||||
assert.NoError(t, err)
|
||||
assert.False(t, has)
|
||||
}
|
||||
|
|
|
@ -10,7 +10,6 @@ import (
|
|||
"testing"
|
||||
"time"
|
||||
|
||||
"xorm.io/core"
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
|
@ -53,10 +52,12 @@ func TestJoinLimit(t *testing.T) {
|
|||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, 1, cnt)
|
||||
|
||||
tableName := tableMapper.Obj2Table("CheckList")
|
||||
|
||||
var salaries []Salary
|
||||
err = testEngine.Table("salary").
|
||||
Join("INNER", "check_list", "check_list.id = salary.lid").
|
||||
Join("LEFT", "empsetting", "empsetting.id = check_list.eid").
|
||||
Join("INNER", tableName, tableName+".id = salary.lid").
|
||||
Join("LEFT", "empsetting", "empsetting.id = "+tableName+".eid").
|
||||
Limit(10, 0).
|
||||
Find(&salaries)
|
||||
assert.NoError(t, err)
|
||||
|
@ -133,7 +134,7 @@ type TeamUser struct {
|
|||
}
|
||||
|
||||
func (TeamUser) TableName() string {
|
||||
return "team_user"
|
||||
return tableMapper.Obj2Table("TeamUser")
|
||||
}
|
||||
|
||||
func TestFind3(t *testing.T) {
|
||||
|
@ -142,51 +143,58 @@ func TestFind3(t *testing.T) {
|
|||
err := testEngine.Sync2(new(Team), teamUser)
|
||||
assert.NoError(t, err)
|
||||
|
||||
tableName := tableMapper.Obj2Table("TeamUser")
|
||||
teamTableName := tableMapper.Obj2Table("Team")
|
||||
idName := colMapper.Obj2Table("Id")
|
||||
orgIDName := colMapper.Obj2Table("OrgId")
|
||||
uidName := colMapper.Obj2Table("Uid")
|
||||
teamIDName := colMapper.Obj2Table("TeamId")
|
||||
|
||||
var teams []Team
|
||||
err = testEngine.Cols("`team`.id").
|
||||
Where("`team_user`.org_id=?", 1).
|
||||
And("`team_user`.uid=?", 2).
|
||||
Join("INNER", "`team_user`", "`team_user`.team_id=`team`.id").
|
||||
err = testEngine.Cols("`"+teamTableName+"`."+idName).
|
||||
Where("`"+tableName+"`."+orgIDName+"=?", 1).
|
||||
And("`"+tableName+"`."+uidName+"=?", 2).
|
||||
Join("INNER", "`"+tableName+"`", "`"+tableName+"`."+teamIDName+"=`"+teamTableName+"`."+idName).
|
||||
Find(&teams)
|
||||
assert.NoError(t, err)
|
||||
|
||||
teams = make([]Team, 0)
|
||||
err = testEngine.Cols("`team`.id").
|
||||
Where("`team_user`.org_id=?", 1).
|
||||
And("`team_user`.uid=?", 2).
|
||||
Join("INNER", teamUser, "`team_user`.team_id=`team`.id").
|
||||
err = testEngine.Cols("`"+teamTableName+"`."+idName).
|
||||
Where("`"+tableName+"`."+orgIDName+"=?", 1).
|
||||
And("`"+tableName+"`."+uidName+"=?", 2).
|
||||
Join("INNER", teamUser, "`"+tableName+"`."+teamIDName+"=`"+teamTableName+"`."+idName).
|
||||
Find(&teams)
|
||||
assert.NoError(t, err)
|
||||
|
||||
teams = make([]Team, 0)
|
||||
err = testEngine.Cols("`team`.id").
|
||||
Where("`team_user`.org_id=?", 1).
|
||||
And("`team_user`.uid=?", 2).
|
||||
Join("INNER", []interface{}{teamUser}, "`team_user`.team_id=`team`.id").
|
||||
err = testEngine.Cols("`"+teamTableName+"`."+idName).
|
||||
Where("`"+tableName+"`."+orgIDName+"=?", 1).
|
||||
And("`"+tableName+"`."+uidName+"=?", 2).
|
||||
Join("INNER", []interface{}{teamUser}, "`"+tableName+"`."+teamIDName+"=`"+teamTableName+"`."+idName).
|
||||
Find(&teams)
|
||||
assert.NoError(t, err)
|
||||
|
||||
teams = make([]Team, 0)
|
||||
err = testEngine.Cols("`team`.id").
|
||||
Where("`tu`.org_id=?", 1).
|
||||
And("`tu`.uid=?", 2).
|
||||
Join("INNER", []string{"team_user", "tu"}, "`tu`.team_id=`team`.id").
|
||||
err = testEngine.Cols("`"+teamTableName+"`.id").
|
||||
Where("`tu`."+orgIDName+"=?", 1).
|
||||
And("`tu`."+uidName+"=?", 2).
|
||||
Join("INNER", []string{tableName, "tu"}, "`tu`."+teamIDName+"=`"+teamTableName+"`."+idName).
|
||||
Find(&teams)
|
||||
assert.NoError(t, err)
|
||||
|
||||
teams = make([]Team, 0)
|
||||
err = testEngine.Cols("`team`.id").
|
||||
Where("`tu`.org_id=?", 1).
|
||||
And("`tu`.uid=?", 2).
|
||||
Join("INNER", []interface{}{"team_user", "tu"}, "`tu`.team_id=`team`.id").
|
||||
err = testEngine.Cols("`"+teamTableName+"`."+idName).
|
||||
Where("`tu`."+orgIDName+"=?", 1).
|
||||
And("`tu`."+uidName+"=?", 2).
|
||||
Join("INNER", []interface{}{tableName, "tu"}, "`tu`."+teamIDName+"=`"+teamTableName+"`."+idName).
|
||||
Find(&teams)
|
||||
assert.NoError(t, err)
|
||||
|
||||
teams = make([]Team, 0)
|
||||
err = testEngine.Cols("`team`.id").
|
||||
Where("`tu`.org_id=?", 1).
|
||||
And("`tu`.uid=?", 2).
|
||||
Join("INNER", []interface{}{teamUser, "tu"}, "`tu`.team_id=`team`.id").
|
||||
err = testEngine.Cols("`"+teamTableName+"`."+idName).
|
||||
Where("`tu`."+orgIDName+"=?", 1).
|
||||
And("`tu`."+uidName+"=?", 2).
|
||||
Join("INNER", []interface{}{teamUser, "tu"}, "`tu`."+teamIDName+"=`"+teamTableName+"`."+idName).
|
||||
Find(&teams)
|
||||
assert.NoError(t, err)
|
||||
}
|
||||
|
@ -197,10 +205,8 @@ func TestFindMap(t *testing.T) {
|
|||
|
||||
users := make(map[int64]Userinfo)
|
||||
err := testEngine.Find(&users)
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
panic(err)
|
||||
}
|
||||
assert.NoError(t, err)
|
||||
|
||||
for _, user := range users {
|
||||
fmt.Println(user)
|
||||
}
|
||||
|
@ -212,10 +218,8 @@ func TestFindMap2(t *testing.T) {
|
|||
|
||||
users := make(map[int64]*Userinfo)
|
||||
err := testEngine.Find(&users)
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
panic(err)
|
||||
}
|
||||
assert.NoError(t, err)
|
||||
|
||||
for id, user := range users {
|
||||
fmt.Println(id, user)
|
||||
}
|
||||
|
@ -286,57 +290,12 @@ func TestHaving(t *testing.T) {
|
|||
assert.NoError(t, err)
|
||||
fmt.Println(users)
|
||||
|
||||
/*users = make([]Userinfo, 0)
|
||||
users = make([]Userinfo, 0)
|
||||
err = testEngine.Cols("id, username").GroupBy("username").Having("username='xlw'").Find(&users)
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
panic(err)
|
||||
}
|
||||
fmt.Println(users)*/
|
||||
}
|
||||
|
||||
func TestOrderSameMapper(t *testing.T) {
|
||||
assert.NoError(t, prepareEngine())
|
||||
testEngine.UnMapType(rValue(new(Userinfo)).Type())
|
||||
|
||||
mapper := testEngine.GetTableMapper()
|
||||
testEngine.SetMapper(core.SameMapper{})
|
||||
|
||||
defer func() {
|
||||
testEngine.UnMapType(rValue(new(Userinfo)).Type())
|
||||
testEngine.SetMapper(mapper)
|
||||
}()
|
||||
|
||||
assertSync(t, new(Userinfo))
|
||||
|
||||
users := make([]Userinfo, 0)
|
||||
err := testEngine.OrderBy("(id) desc").Find(&users)
|
||||
assert.NoError(t, err)
|
||||
fmt.Println(users)
|
||||
|
||||
users2 := make([]Userinfo, 0)
|
||||
err = testEngine.Asc("(id)", "Username").Desc("Height").Find(&users2)
|
||||
assert.NoError(t, err)
|
||||
fmt.Println(users2)
|
||||
}
|
||||
|
||||
func TestHavingSameMapper(t *testing.T) {
|
||||
assert.NoError(t, prepareEngine())
|
||||
testEngine.UnMapType(rValue(new(Userinfo)).Type())
|
||||
|
||||
mapper := testEngine.GetTableMapper()
|
||||
testEngine.SetMapper(core.SameMapper{})
|
||||
defer func() {
|
||||
testEngine.UnMapType(rValue(new(Userinfo)).Type())
|
||||
testEngine.SetMapper(mapper)
|
||||
}()
|
||||
assertSync(t, new(Userinfo))
|
||||
|
||||
users := make([]Userinfo, 0)
|
||||
err := testEngine.GroupBy("`Username`").Having("`Username`='xlw'").Find(&users)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
fmt.Println(users)
|
||||
}
|
||||
|
||||
|
@ -791,13 +750,20 @@ func TestFindJoin(t *testing.T) {
|
|||
assert.NoError(t, prepareEngine())
|
||||
assertSync(t, new(SceneItem), new(DeviceUserPrivrels))
|
||||
|
||||
tableName1 := tableMapper.Obj2Table("SceneItem")
|
||||
tableName2 := tableMapper.Obj2Table("DeviceUserPrivrels")
|
||||
|
||||
deviceIDName := colMapper.Obj2Table("DeviceId")
|
||||
userIDName := colMapper.Obj2Table("UserId")
|
||||
typeName := colMapper.Obj2Table("Type")
|
||||
|
||||
var scenes []SceneItem
|
||||
err := testEngine.Join("LEFT OUTER", "device_user_privrels", "device_user_privrels.device_id=scene_item.device_id").
|
||||
Where("scene_item.type=?", 3).Or("device_user_privrels.user_id=?", 339).Find(&scenes)
|
||||
err := testEngine.Join("LEFT OUTER", tableName2, tableName1+"."+deviceIDName+"="+tableName2+"."+deviceIDName).
|
||||
Where(tableName1+"."+typeName+"=?", 3).Or(tableName2+"."+userIDName+"=?", 339).Find(&scenes)
|
||||
assert.NoError(t, err)
|
||||
|
||||
scenes = make([]SceneItem, 0)
|
||||
err = testEngine.Join("LEFT OUTER", new(DeviceUserPrivrels), "device_user_privrels.device_id=scene_item.device_id").
|
||||
Where("scene_item.type=?", 3).Or("device_user_privrels.user_id=?", 339).Find(&scenes)
|
||||
err = testEngine.Join("LEFT OUTER", new(DeviceUserPrivrels), tableName1+"."+deviceIDName+"="+tableName2+"."+deviceIDName).
|
||||
Where(tableName1+"."+typeName+"=?", 3).Or(tableName2+"."+userIDName+"=?", 339).Find(&scenes)
|
||||
assert.NoError(t, err)
|
||||
}
|
||||
|
|
|
@ -35,14 +35,16 @@ func TestGetVar(t *testing.T) {
|
|||
_, err := testEngine.InsertOne(&data)
|
||||
assert.NoError(t, err)
|
||||
|
||||
tableName := tableMapper.Obj2Table("GetVar")
|
||||
|
||||
var msg string
|
||||
has, err := testEngine.Table("get_var").Cols("msg").Get(&msg)
|
||||
has, err := testEngine.Table(tableName).Cols("msg").Get(&msg)
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, true, has)
|
||||
assert.Equal(t, "hi", msg)
|
||||
|
||||
var age int
|
||||
has, err = testEngine.Table("get_var").Cols("age").Get(&age)
|
||||
has, err = testEngine.Table(tableName).Cols("age").Get(&age)
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, true, has)
|
||||
assert.Equal(t, 28, age)
|
||||
|
@ -54,7 +56,7 @@ func TestGetVar(t *testing.T) {
|
|||
assert.Equal(t, 28, ageMax)
|
||||
|
||||
var age2 int64
|
||||
has, err = testEngine.Table("get_var").Cols("age").
|
||||
has, err = testEngine.Table(tableName).Cols("age").
|
||||
Where("age > ?", 20).
|
||||
And("age < ?", 30).
|
||||
Get(&age2)
|
||||
|
@ -126,72 +128,77 @@ func TestGetVar(t *testing.T) {
|
|||
assert.EqualValues(t, 28, age10)
|
||||
|
||||
var id sql.NullInt64
|
||||
has, err = testEngine.Table("get_var").Cols("id").Get(&id)
|
||||
has, err = testEngine.Table(tableName).Cols("id").Get(&id)
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, true, has)
|
||||
assert.Equal(t, true, id.Valid)
|
||||
assert.EqualValues(t, data.Id, id.Int64)
|
||||
|
||||
var msgNull sql.NullString
|
||||
has, err = testEngine.Table("get_var").Cols("msg").Get(&msgNull)
|
||||
has, err = testEngine.Table(tableName).Cols("msg").Get(&msgNull)
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, true, has)
|
||||
assert.Equal(t, true, msgNull.Valid)
|
||||
assert.EqualValues(t, data.Msg, msgNull.String)
|
||||
|
||||
var nullMoney sql.NullFloat64
|
||||
has, err = testEngine.Table("get_var").Cols("money").Get(&nullMoney)
|
||||
has, err = testEngine.Table(tableName).Cols("money").Get(&nullMoney)
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, true, has)
|
||||
assert.Equal(t, true, nullMoney.Valid)
|
||||
assert.EqualValues(t, data.Money, nullMoney.Float64)
|
||||
|
||||
var money float64
|
||||
has, err = testEngine.Table("get_var").Cols("money").Get(&money)
|
||||
has, err = testEngine.Table(tableName).Cols("money").Get(&money)
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, true, has)
|
||||
assert.Equal(t, "1.5", fmt.Sprintf("%.1f", money))
|
||||
|
||||
var money2 float64
|
||||
if testEngine.Dialect().DBType() == core.MSSQL {
|
||||
has, err = testEngine.SQL("SELECT TOP 1 money FROM " + testEngine.TableName("get_var", true)).Get(&money2)
|
||||
has, err = testEngine.SQL("SELECT TOP 1 money FROM " + testEngine.TableName(tableName, true)).Get(&money2)
|
||||
} else {
|
||||
has, err = testEngine.SQL("SELECT money FROM " + testEngine.TableName("get_var", true) + " LIMIT 1").Get(&money2)
|
||||
has, err = testEngine.SQL("SELECT money FROM " + testEngine.TableName(tableName, true) + " LIMIT 1").Get(&money2)
|
||||
}
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, true, has)
|
||||
assert.Equal(t, "1.5", fmt.Sprintf("%.1f", money2))
|
||||
|
||||
var money3 float64
|
||||
has, err = testEngine.SQL("SELECT money FROM " + testEngine.TableName("get_var", true) + " WHERE money > 20").Get(&money3)
|
||||
has, err = testEngine.SQL("SELECT money FROM " + testEngine.TableName(tableName, true) + " WHERE money > 20").Get(&money3)
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, false, has)
|
||||
|
||||
idName := colMapper.Obj2Table("Id")
|
||||
ageName := colMapper.Obj2Table("Age")
|
||||
msgName := colMapper.Obj2Table("Msg")
|
||||
moneyName := colMapper.Obj2Table("Money")
|
||||
|
||||
var valuesString = make(map[string]string)
|
||||
has, err = testEngine.Table("get_var").Get(&valuesString)
|
||||
has, err = testEngine.Table(tableName).Get(&valuesString)
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, true, has)
|
||||
assert.Equal(t, 5, len(valuesString))
|
||||
assert.Equal(t, "1", valuesString["id"])
|
||||
assert.Equal(t, "hi", valuesString["msg"])
|
||||
assert.Equal(t, "28", valuesString["age"])
|
||||
assert.Equal(t, "1.5", valuesString["money"])
|
||||
assert.Equal(t, "1", valuesString[idName])
|
||||
assert.Equal(t, "hi", valuesString[msgName])
|
||||
assert.Equal(t, "28", valuesString[ageName])
|
||||
assert.Equal(t, "1.5", valuesString[moneyName])
|
||||
|
||||
// for mymysql driver, interface{} will be []byte, so ignore it currently
|
||||
if testEngine.Dialect().DriverName() != "mymysql" {
|
||||
var valuesInter = make(map[string]interface{})
|
||||
has, err = testEngine.Table("get_var").Where("id = ?", 1).Select("*").Get(&valuesInter)
|
||||
has, err = testEngine.Table(tableName).Where(idName+" = ?", 1).Select("*").Get(&valuesInter)
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, true, has)
|
||||
assert.Equal(t, 5, len(valuesInter))
|
||||
assert.EqualValues(t, 1, valuesInter["id"])
|
||||
assert.Equal(t, "hi", fmt.Sprintf("%s", valuesInter["msg"]))
|
||||
assert.EqualValues(t, 28, valuesInter["age"])
|
||||
assert.Equal(t, "1.5", fmt.Sprintf("%v", valuesInter["money"]))
|
||||
assert.EqualValues(t, 1, valuesInter[idName])
|
||||
assert.Equal(t, "hi", fmt.Sprintf("%s", valuesInter[msgName]))
|
||||
assert.EqualValues(t, 28, valuesInter[ageName])
|
||||
assert.Equal(t, "1.5", fmt.Sprintf("%v", valuesInter[moneyName]))
|
||||
}
|
||||
|
||||
var valuesSliceString = make([]string, 5)
|
||||
has, err = testEngine.Table("get_var").Get(&valuesSliceString)
|
||||
has, err = testEngine.Table(tableName).Get(&valuesSliceString)
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, true, has)
|
||||
assert.Equal(t, "1", valuesSliceString[0])
|
||||
|
@ -200,7 +207,7 @@ func TestGetVar(t *testing.T) {
|
|||
assert.Equal(t, "1.5", valuesSliceString[3])
|
||||
|
||||
var valuesSliceInter = make([]interface{}, 5)
|
||||
has, err = testEngine.Table("get_var").Get(&valuesSliceInter)
|
||||
has, err = testEngine.Table(tableName).Get(&valuesSliceInter)
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, true, has)
|
||||
|
||||
|
@ -329,15 +336,17 @@ func TestJSONString(t *testing.T) {
|
|||
})
|
||||
assert.NoError(t, err)
|
||||
|
||||
tableName := tableMapper.Obj2Table("JsonJson")
|
||||
|
||||
var js JsonString
|
||||
has, err := testEngine.Table("json_json").Get(&js)
|
||||
has, err := testEngine.Table(tableName).Get(&js)
|
||||
assert.NoError(t, err)
|
||||
assert.True(t, has)
|
||||
assert.EqualValues(t, 1, js.Id)
|
||||
assert.EqualValues(t, `["1","2"]`, js.Content)
|
||||
|
||||
var jss []JsonString
|
||||
err = testEngine.Table("json_json").Find(&jss)
|
||||
err = testEngine.Table(tableName).Find(&jss)
|
||||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, 1, len(jss))
|
||||
assert.EqualValues(t, `["1","2"]`, jss[0].Content)
|
||||
|
@ -366,9 +375,12 @@ func TestGetActionMapping(t *testing.T) {
|
|||
})
|
||||
assert.NoError(t, err)
|
||||
|
||||
scriptIdName := colMapper.Obj2Table("ScriptId")
|
||||
rollbackIdName := colMapper.Obj2Table("RollbackId")
|
||||
|
||||
var valuesSlice = make([]string, 2)
|
||||
has, err := testEngine.Table(new(ActionMapping)).
|
||||
Cols("script_id", "rollback_id").
|
||||
Cols(scriptIdName, rollbackIdName).
|
||||
ID("1").Get(&valuesSlice)
|
||||
assert.NoError(t, err)
|
||||
assert.True(t, has)
|
||||
|
@ -393,9 +405,10 @@ func TestGetStructId(t *testing.T) {
|
|||
Id int64
|
||||
}
|
||||
|
||||
idName := colMapper.Obj2Table("Id")
|
||||
//var id int64
|
||||
var maxid maxidst
|
||||
sql := "select max(id) as id from " + testEngine.TableName(&TestGetStruct{}, true)
|
||||
sql := "select max(" + idName + ") as id from " + testEngine.TableName(&TestGetStruct{}, true)
|
||||
has, err := testEngine.SQL(sql).Get(&maxid)
|
||||
assert.NoError(t, err)
|
||||
assert.True(t, has)
|
||||
|
|
|
@ -768,7 +768,9 @@ func TestInsertMap(t *testing.T) {
|
|||
assert.EqualValues(t, 10, im.Height)
|
||||
assert.EqualValues(t, "lunny", im.Name)
|
||||
|
||||
cnt, err = testEngine.Table("insert_map").Insert(map[string]interface{}{
|
||||
tableName := tableMapper.Obj2Table("InsertMap")
|
||||
|
||||
cnt, err = testEngine.Table(tableName).Insert(map[string]interface{}{
|
||||
"width": 30,
|
||||
"height": 10,
|
||||
"name": "lunny",
|
||||
|
@ -787,7 +789,7 @@ func TestInsertMap(t *testing.T) {
|
|||
assert.EqualValues(t, 10, ims[1].Height)
|
||||
assert.EqualValues(t, "lunny", ims[1].Name)
|
||||
|
||||
cnt, err = testEngine.Table("insert_map").Insert([]map[string]interface{}{
|
||||
cnt, err = testEngine.Table(tableName).Insert([]map[string]interface{}{
|
||||
{
|
||||
"width": 40,
|
||||
"height": 10,
|
||||
|
|
|
@ -37,14 +37,22 @@ func TestQueryString(t *testing.T) {
|
|||
_, err := testEngine.InsertOne(data)
|
||||
assert.NoError(t, err)
|
||||
|
||||
records, err := testEngine.QueryString("select * from " + testEngine.TableName("get_var2", true))
|
||||
tableName := tableMapper.Obj2Table("GetVar2")
|
||||
|
||||
records, err := testEngine.QueryString("select * from " + testEngine.TableName(tableName, true))
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, 1, len(records))
|
||||
assert.Equal(t, 5, len(records[0]))
|
||||
assert.Equal(t, "1", records[0]["id"])
|
||||
assert.Equal(t, "hi", records[0]["msg"])
|
||||
assert.Equal(t, "28", records[0]["age"])
|
||||
assert.Equal(t, "1.5", records[0]["money"])
|
||||
|
||||
idName := colMapper.Obj2Table("Id")
|
||||
ageName := colMapper.Obj2Table("Age")
|
||||
msgName := colMapper.Obj2Table("Msg")
|
||||
moneyName := colMapper.Obj2Table("Money")
|
||||
|
||||
assert.Equal(t, "1", records[0][idName])
|
||||
assert.Equal(t, "hi", records[0][msgName])
|
||||
assert.Equal(t, "28", records[0][ageName])
|
||||
assert.Equal(t, "1.5", records[0][moneyName])
|
||||
}
|
||||
|
||||
func TestQueryString2(t *testing.T) {
|
||||
|
@ -63,12 +71,17 @@ func TestQueryString2(t *testing.T) {
|
|||
_, err := testEngine.Insert(data)
|
||||
assert.NoError(t, err)
|
||||
|
||||
records, err := testEngine.QueryString("select * from " + testEngine.TableName("get_var3", true))
|
||||
tableName := tableMapper.Obj2Table("GetVar3")
|
||||
|
||||
idName := colMapper.Obj2Table("Id")
|
||||
msgName := colMapper.Obj2Table("Msg")
|
||||
|
||||
records, err := testEngine.QueryString("select * from " + testEngine.TableName(tableName, true))
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, 1, len(records))
|
||||
assert.Equal(t, 2, len(records[0]))
|
||||
assert.Equal(t, "1", records[0]["id"])
|
||||
assert.True(t, "0" == records[0]["msg"] || "false" == records[0]["msg"])
|
||||
assert.Equal(t, "1", records[0][idName])
|
||||
assert.True(t, "0" == records[0][msgName] || "false" == records[0][msgName])
|
||||
}
|
||||
|
||||
func toString(i interface{}) string {
|
||||
|
@ -128,14 +141,20 @@ func TestQueryInterface(t *testing.T) {
|
|||
_, err := testEngine.InsertOne(data)
|
||||
assert.NoError(t, err)
|
||||
|
||||
records, err := testEngine.QueryInterface("select * from " + testEngine.TableName("get_var_interface", true))
|
||||
tableName := tableMapper.Obj2Table("GetVarInterface")
|
||||
idName := colMapper.Obj2Table("Id")
|
||||
msgName := colMapper.Obj2Table("Msg")
|
||||
ageName := colMapper.Obj2Table("Age")
|
||||
moneyName := colMapper.Obj2Table("Money")
|
||||
|
||||
records, err := testEngine.QueryInterface("select * from " + testEngine.TableName(tableName, true))
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, 1, len(records))
|
||||
assert.Equal(t, 5, len(records[0]))
|
||||
assert.EqualValues(t, 1, toInt64(records[0]["id"]))
|
||||
assert.Equal(t, "hi", toString(records[0]["msg"]))
|
||||
assert.EqualValues(t, 28, toInt64(records[0]["age"]))
|
||||
assert.EqualValues(t, 1.5, toFloat64(records[0]["money"]))
|
||||
assert.EqualValues(t, 1, toInt64(records[0][idName]))
|
||||
assert.Equal(t, "hi", toString(records[0][msgName]))
|
||||
assert.EqualValues(t, 28, toInt64(records[0][ageName]))
|
||||
assert.EqualValues(t, 1.5, toFloat64(records[0][moneyName]))
|
||||
}
|
||||
|
||||
func TestQueryNoParams(t *testing.T) {
|
||||
|
@ -162,27 +181,33 @@ func TestQueryNoParams(t *testing.T) {
|
|||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, 1, cnt)
|
||||
|
||||
idName := colMapper.Obj2Table("Id")
|
||||
msgName := colMapper.Obj2Table("Msg")
|
||||
ageName := colMapper.Obj2Table("Age")
|
||||
moneyName := colMapper.Obj2Table("Money")
|
||||
|
||||
assertResult := func(t *testing.T, results []map[string][]byte) {
|
||||
assert.EqualValues(t, 1, len(results))
|
||||
id, err := strconv.ParseInt(string(results[0]["id"]), 10, 64)
|
||||
id, err := strconv.ParseInt(string(results[0][idName]), 10, 64)
|
||||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, 1, id)
|
||||
assert.Equal(t, "message", string(results[0]["msg"]))
|
||||
assert.Equal(t, "message", string(results[0][msgName]))
|
||||
|
||||
age, err := strconv.Atoi(string(results[0]["age"]))
|
||||
age, err := strconv.Atoi(string(results[0][ageName]))
|
||||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, 20, age)
|
||||
|
||||
money, err := strconv.ParseFloat(string(results[0]["money"]), 32)
|
||||
money, err := strconv.ParseFloat(string(results[0][moneyName]), 32)
|
||||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, 3000, money)
|
||||
}
|
||||
|
||||
results, err := testEngine.Table("query_no_params").Limit(10).Query()
|
||||
tableName := tableMapper.Obj2Table("QueryNoParams")
|
||||
results, err := testEngine.Table(tableName).Limit(10).Query()
|
||||
assert.NoError(t, err)
|
||||
assertResult(t, results)
|
||||
|
||||
results, err = testEngine.SQL("select * from " + testEngine.TableName("query_no_params", true)).Query()
|
||||
results, err = testEngine.SQL("select * from " + testEngine.TableName(tableName, true)).Query()
|
||||
assert.NoError(t, err)
|
||||
assertResult(t, results)
|
||||
}
|
||||
|
@ -203,24 +228,29 @@ func TestQueryStringNoParam(t *testing.T) {
|
|||
_, err := testEngine.Insert(data)
|
||||
assert.NoError(t, err)
|
||||
|
||||
records, err := testEngine.Table("get_var4").Limit(1).QueryString()
|
||||
tableName := tableMapper.Obj2Table("GetVar4")
|
||||
|
||||
idName := colMapper.Obj2Table("Id")
|
||||
msgName := colMapper.Obj2Table("Msg")
|
||||
|
||||
records, err := testEngine.Table(tableName).Limit(1).QueryString()
|
||||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, 1, len(records))
|
||||
assert.EqualValues(t, "1", records[0]["id"])
|
||||
assert.EqualValues(t, "1", records[0][idName])
|
||||
if testEngine.Dialect().DBType() == core.POSTGRES || testEngine.Dialect().DBType() == core.MSSQL {
|
||||
assert.EqualValues(t, "false", records[0]["msg"])
|
||||
assert.EqualValues(t, "false", records[0][msgName])
|
||||
} else {
|
||||
assert.EqualValues(t, "0", records[0]["msg"])
|
||||
assert.EqualValues(t, "0", records[0][msgName])
|
||||
}
|
||||
|
||||
records, err = testEngine.Table("get_var4").Where(builder.Eq{"id": 1}).QueryString()
|
||||
records, err = testEngine.Table(tableName).Where(builder.Eq{idName: 1}).QueryString()
|
||||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, 1, len(records))
|
||||
assert.EqualValues(t, "1", records[0]["id"])
|
||||
assert.EqualValues(t, "1", records[0][idName])
|
||||
if testEngine.Dialect().DBType() == core.POSTGRES || testEngine.Dialect().DBType() == core.MSSQL {
|
||||
assert.EqualValues(t, "false", records[0]["msg"])
|
||||
assert.EqualValues(t, "false", records[0][msgName])
|
||||
} else {
|
||||
assert.EqualValues(t, "0", records[0]["msg"])
|
||||
assert.EqualValues(t, "0", records[0][msgName])
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -240,7 +270,9 @@ func TestQuerySliceStringNoParam(t *testing.T) {
|
|||
_, err := testEngine.Insert(data)
|
||||
assert.NoError(t, err)
|
||||
|
||||
records, err := testEngine.Table("get_var6").Limit(1).QuerySliceString()
|
||||
tableName := tableMapper.Obj2Table("GetVar6")
|
||||
|
||||
records, err := testEngine.Table(tableName).Limit(1).QuerySliceString()
|
||||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, 1, len(records))
|
||||
assert.EqualValues(t, "1", records[0][0])
|
||||
|
@ -250,7 +282,8 @@ func TestQuerySliceStringNoParam(t *testing.T) {
|
|||
assert.EqualValues(t, "0", records[0][1])
|
||||
}
|
||||
|
||||
records, err = testEngine.Table("get_var6").Where(builder.Eq{"id": 1}).QuerySliceString()
|
||||
idName := colMapper.Obj2Table("Id")
|
||||
records, err = testEngine.Table(tableName).Where(builder.Eq{idName: 1}).QuerySliceString()
|
||||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, 1, len(records))
|
||||
assert.EqualValues(t, "1", records[0][0])
|
||||
|
@ -277,17 +310,21 @@ func TestQueryInterfaceNoParam(t *testing.T) {
|
|||
_, err := testEngine.Insert(data)
|
||||
assert.NoError(t, err)
|
||||
|
||||
records, err := testEngine.Table("get_var5").Limit(1).QueryInterface()
|
||||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, 1, len(records))
|
||||
assert.EqualValues(t, 1, toInt64(records[0]["id"]))
|
||||
assert.EqualValues(t, 0, toInt64(records[0]["msg"]))
|
||||
tableName := tableMapper.Obj2Table("GetVar5")
|
||||
idName := colMapper.Obj2Table("Id")
|
||||
msgName := colMapper.Obj2Table("Msg")
|
||||
|
||||
records, err = testEngine.Table("get_var5").Where(builder.Eq{"id": 1}).QueryInterface()
|
||||
records, err := testEngine.Table(tableName).Limit(1).QueryInterface()
|
||||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, 1, len(records))
|
||||
assert.EqualValues(t, 1, toInt64(records[0]["id"]))
|
||||
assert.EqualValues(t, 0, toInt64(records[0]["msg"]))
|
||||
assert.EqualValues(t, 1, toInt64(records[0][idName]))
|
||||
assert.EqualValues(t, 0, toInt64(records[0][msgName]))
|
||||
|
||||
records, err = testEngine.Table(tableName).Where(builder.Eq{idName: 1}).QueryInterface()
|
||||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, 1, len(records))
|
||||
assert.EqualValues(t, 1, toInt64(records[0][idName]))
|
||||
assert.EqualValues(t, 0, toInt64(records[0][msgName]))
|
||||
}
|
||||
|
||||
func TestQueryWithBuilder(t *testing.T) {
|
||||
|
@ -314,23 +351,29 @@ func TestQueryWithBuilder(t *testing.T) {
|
|||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, 1, cnt)
|
||||
|
||||
idName := colMapper.Obj2Table("Id")
|
||||
msgName := colMapper.Obj2Table("Msg")
|
||||
ageName := colMapper.Obj2Table("Age")
|
||||
moneyName := colMapper.Obj2Table("Money")
|
||||
|
||||
assertResult := func(t *testing.T, results []map[string][]byte) {
|
||||
assert.EqualValues(t, 1, len(results))
|
||||
id, err := strconv.ParseInt(string(results[0]["id"]), 10, 64)
|
||||
id, err := strconv.ParseInt(string(results[0][idName]), 10, 64)
|
||||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, 1, id)
|
||||
assert.Equal(t, "message", string(results[0]["msg"]))
|
||||
assert.Equal(t, "message", string(results[0][msgName]))
|
||||
|
||||
age, err := strconv.Atoi(string(results[0]["age"]))
|
||||
age, err := strconv.Atoi(string(results[0][ageName]))
|
||||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, 20, age)
|
||||
|
||||
money, err := strconv.ParseFloat(string(results[0]["money"]), 32)
|
||||
money, err := strconv.ParseFloat(string(results[0][moneyName]), 32)
|
||||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, 3000, money)
|
||||
}
|
||||
|
||||
results, err := testEngine.Query(builder.Select("*").From(testEngine.TableName("query_with_builder", true)))
|
||||
tableName := tableMapper.Obj2Table("QueryWithBuilder")
|
||||
results, err := testEngine.Query(builder.Select("*").From(testEngine.TableName(tableName, true)))
|
||||
assert.NoError(t, err)
|
||||
assertResult(t, results)
|
||||
}
|
||||
|
@ -371,9 +414,15 @@ func TestJoinWithSubQuery(t *testing.T) {
|
|||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, 1, cnt)
|
||||
|
||||
tableName := tableMapper.Obj2Table("JoinWithSubQueryDepart")
|
||||
tableName1 := tableMapper.Obj2Table("JoinWithSubQuery1")
|
||||
|
||||
departID := colMapper.Obj2Table("DepartId")
|
||||
idName := colMapper.Obj2Table("Id")
|
||||
|
||||
var querys []JoinWithSubQuery1
|
||||
err = testEngine.Join("INNER", builder.Select("id").From(testEngine.Quote(testEngine.TableName("join_with_sub_query_depart", true))),
|
||||
"join_with_sub_query_depart.id = join_with_sub_query1.depart_id").Find(&querys)
|
||||
err = testEngine.Join("INNER", builder.Select(idName).From(testEngine.Quote(testEngine.TableName(tableName, true))),
|
||||
tableName+"."+idName+" = "+tableName1+"."+departID).Find(&querys)
|
||||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, 1, len(querys))
|
||||
assert.EqualValues(t, q, querys[0])
|
||||
|
|
|
@ -21,17 +21,21 @@ func TestExecAndQuery(t *testing.T) {
|
|||
|
||||
assert.NoError(t, testEngine.Sync2(new(UserinfoQuery)))
|
||||
|
||||
res, err := testEngine.Exec("INSERT INTO "+testEngine.TableName("`userinfo_query`", true)+" (uid, name) VALUES (?, ?)", 1, "user")
|
||||
tableName := tableMapper.Obj2Table("UserinfoQuery")
|
||||
uidName := colMapper.Obj2Table("Uid")
|
||||
nameName := colMapper.Obj2Table("Name")
|
||||
|
||||
res, err := testEngine.Exec("INSERT INTO "+testEngine.TableName(tableName, true)+" ("+uidName+", "+nameName+") VALUES (?, ?)", 1, "user")
|
||||
assert.NoError(t, err)
|
||||
cnt, err := res.RowsAffected()
|
||||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, 1, cnt)
|
||||
|
||||
results, err := testEngine.Query("select * from " + testEngine.TableName("userinfo_query", true))
|
||||
results, err := testEngine.Query("select * from " + testEngine.TableName(tableName, true))
|
||||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, 1, len(results))
|
||||
id, err := strconv.Atoi(string(results[0]["uid"]))
|
||||
id, err := strconv.Atoi(string(results[0][uidName]))
|
||||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, 1, id)
|
||||
assert.Equal(t, "user", string(results[0]["name"]))
|
||||
assert.Equal(t, "user", string(results[0][nameName]))
|
||||
}
|
||||
|
|
|
@ -79,7 +79,7 @@ type SyncTable2 struct {
|
|||
}
|
||||
|
||||
func (SyncTable2) TableName() string {
|
||||
return "sync_table1"
|
||||
return tableMapper.Obj2Table("SyncTable1")
|
||||
}
|
||||
|
||||
type SyncTable3 struct {
|
||||
|
@ -91,7 +91,7 @@ type SyncTable3 struct {
|
|||
}
|
||||
|
||||
func (s *SyncTable3) TableName() string {
|
||||
return "sync_table1"
|
||||
return tableMapper.Obj2Table("SyncTable1")
|
||||
}
|
||||
|
||||
func TestSyncTable(t *testing.T) {
|
||||
|
@ -99,24 +99,26 @@ func TestSyncTable(t *testing.T) {
|
|||
|
||||
assert.NoError(t, testEngine.Sync2(new(SyncTable1)))
|
||||
|
||||
tableName := tableMapper.Obj2Table("SyncTable1")
|
||||
|
||||
tables, err := testEngine.DBMetas()
|
||||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, 1, len(tables))
|
||||
assert.EqualValues(t, "sync_table1", tables[0].Name)
|
||||
assert.EqualValues(t, tableName, tables[0].Name)
|
||||
|
||||
assert.NoError(t, testEngine.Sync2(new(SyncTable2)))
|
||||
|
||||
tables, err = testEngine.DBMetas()
|
||||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, 1, len(tables))
|
||||
assert.EqualValues(t, "sync_table1", tables[0].Name)
|
||||
assert.EqualValues(t, tableName, tables[0].Name)
|
||||
|
||||
assert.NoError(t, testEngine.Sync2(new(SyncTable3)))
|
||||
|
||||
tables, err = testEngine.DBMetas()
|
||||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, 1, len(tables))
|
||||
assert.EqualValues(t, "sync_table1", tables[0].Name)
|
||||
assert.EqualValues(t, tableName, tables[0].Name)
|
||||
}
|
||||
|
||||
func TestSyncTable2(t *testing.T) {
|
||||
|
@ -252,8 +254,10 @@ func TestMetaInfo(t *testing.T) {
|
|||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, 2, len(tables))
|
||||
tableNames := []string{tables[0].Name, tables[1].Name}
|
||||
|
||||
tableName2 := tableMapper.Obj2Table("IndexOrUnique")
|
||||
assert.Contains(t, tableNames, "customtablename")
|
||||
assert.Contains(t, tableNames, "index_or_unique")
|
||||
assert.Contains(t, tableNames, tableName2)
|
||||
}
|
||||
|
||||
func TestCharst(t *testing.T) {
|
||||
|
@ -298,10 +302,12 @@ func TestUnique_1(t *testing.T) {
|
|||
|
||||
assert.NoError(t, prepareEngine())
|
||||
|
||||
assert.NoError(t, testEngine.DropTables("user_unique"))
|
||||
tableName := tableMapper.Obj2Table("UserUnique")
|
||||
|
||||
assert.NoError(t, testEngine.DropTables(tableName))
|
||||
assert.NoError(t, testEngine.Sync2(new(UserUnique)))
|
||||
|
||||
assert.NoError(t, testEngine.DropTables("user_unique"))
|
||||
assert.NoError(t, testEngine.DropTables(tableName))
|
||||
assert.NoError(t, testEngine.CreateTables(new(UserUnique)))
|
||||
assert.NoError(t, testEngine.CreateUniques(new(UserUnique)))
|
||||
}
|
||||
|
|
|
@ -9,8 +9,8 @@ import (
|
|||
"strconv"
|
||||
"testing"
|
||||
|
||||
"xorm.io/builder"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"xorm.io/builder"
|
||||
)
|
||||
|
||||
func isFloatEq(i, j float64, precision int) bool {
|
||||
|
@ -186,11 +186,12 @@ func TestCount(t *testing.T) {
|
|||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, 1, total)
|
||||
|
||||
total, err = testEngine.Where(cond).Table("userinfo_count").Count()
|
||||
tableName := tableMapper.Obj2Table("UserinfoCount")
|
||||
total, err = testEngine.Where(cond).Table(tableName).Count()
|
||||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, 1, total)
|
||||
|
||||
total, err = testEngine.Table("userinfo_count").Count()
|
||||
total, err = testEngine.Table(tableName).Count()
|
||||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, 1, total)
|
||||
}
|
||||
|
@ -211,7 +212,9 @@ func TestSQLCount(t *testing.T) {
|
|||
|
||||
assertSync(t, new(UserinfoCount2), new(UserinfoBooks))
|
||||
|
||||
total, err := testEngine.SQL("SELECT count(id) FROM " + testEngine.TableName("userinfo_count2", true)).
|
||||
tableName := tableMapper.Obj2Table("UserinfoCount2")
|
||||
idName := colMapper.Obj2Table("Id")
|
||||
total, err := testEngine.SQL("SELECT count(" + idName + ") FROM " + testEngine.TableName(tableName, true)).
|
||||
Count()
|
||||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, 0, total)
|
||||
|
@ -237,7 +240,8 @@ func TestCountWithOthers(t *testing.T) {
|
|||
})
|
||||
assert.NoError(t, err)
|
||||
|
||||
total, err := testEngine.OrderBy("id desc").Limit(1).Count(new(CountWithOthers))
|
||||
idName := colMapper.Obj2Table("Id")
|
||||
total, err := testEngine.OrderBy(idName + " desc").Limit(1).Count(new(CountWithOthers))
|
||||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, 2, total)
|
||||
}
|
||||
|
@ -266,11 +270,13 @@ func TestWithTableName(t *testing.T) {
|
|||
})
|
||||
assert.NoError(t, err)
|
||||
|
||||
total, err := testEngine.OrderBy("id desc").Count(new(CountWithTableName))
|
||||
idName := colMapper.Obj2Table("Id")
|
||||
|
||||
total, err := testEngine.OrderBy(idName + " desc").Count(new(CountWithTableName))
|
||||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, 2, total)
|
||||
|
||||
total, err = testEngine.OrderBy("id desc").Count(CountWithTableName{})
|
||||
total, err = testEngine.OrderBy(idName + " desc").Count(CountWithTableName{})
|
||||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, 2, total)
|
||||
}
|
||||
|
|
|
@ -32,9 +32,13 @@ func TestUpdateMap(t *testing.T) {
|
|||
_, err := testEngine.Insert(&tb)
|
||||
assert.NoError(t, err)
|
||||
|
||||
cnt, err := testEngine.Table("update_table").Where("id = ?", tb.Id).Update(map[string]interface{}{
|
||||
"name": "test2",
|
||||
"age": 36,
|
||||
tableName := tableMapper.Obj2Table("UpdateTable")
|
||||
nameName := colMapper.Obj2Table("Name")
|
||||
ageName := colMapper.Obj2Table("age")
|
||||
|
||||
cnt, err := testEngine.Table(tableName).Where("id = ?", tb.Id).Update(map[string]interface{}{
|
||||
nameName: "test2",
|
||||
ageName: 36,
|
||||
})
|
||||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, 1, cnt)
|
||||
|
@ -64,7 +68,9 @@ func TestUpdateLimit(t *testing.T) {
|
|||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, 1, cnt)
|
||||
|
||||
cnt, err = testEngine.OrderBy("name desc").Limit(1).Update(&UpdateTable2{
|
||||
nameName := colMapper.Obj2Table("Name")
|
||||
|
||||
cnt, err = testEngine.OrderBy(nameName + " desc").Limit(1).Update(&UpdateTable2{
|
||||
Age: 30,
|
||||
})
|
||||
assert.NoError(t, err)
|
||||
|
@ -268,7 +274,8 @@ func TestUpdateMap2(t *testing.T) {
|
|||
assert.NoError(t, prepareEngine())
|
||||
assertSync(t, new(UpdateMustCols))
|
||||
|
||||
_, err := testEngine.Table("update_must_cols").Where("id =?", 1).Update(map[string]interface{}{
|
||||
tableName := tableMapper.Obj2Table("UpdateMustCols")
|
||||
_, err := testEngine.Table(tableName).Where("id =?", 1).Update(map[string]interface{}{
|
||||
"bool": true,
|
||||
})
|
||||
assert.NoError(t, err)
|
||||
|
@ -305,6 +312,13 @@ func TestUpdate1(t *testing.T) {
|
|||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, cnt, total)
|
||||
|
||||
userName := colMapper.Obj2Table("Username")
|
||||
heightName := colMapper.Obj2Table("Height")
|
||||
departName := colMapper.Obj2Table("Departname")
|
||||
detailIDName := "detail_id"
|
||||
isMan := colMapper.Obj2Table("IsMan")
|
||||
createdName := colMapper.Obj2Table("Created")
|
||||
|
||||
// nullable update
|
||||
{
|
||||
user := &Userinfo{Username: "not null data", Height: 180.5}
|
||||
|
@ -313,29 +327,29 @@ func TestUpdate1(t *testing.T) {
|
|||
|
||||
userID := user.Uid
|
||||
has, err := testEngine.ID(userID).
|
||||
And("username = ?", user.Username).
|
||||
And("height = ?", user.Height).
|
||||
And("departname = ?", "").
|
||||
And("detail_id = ?", 0).
|
||||
And("is_man = ?", 0).
|
||||
And(userName+" = ?", user.Username).
|
||||
And(heightName+" = ?", user.Height).
|
||||
And(departName+" = ?", "").
|
||||
And(detailIDName+" = ?", 0).
|
||||
And(isMan+" = ?", 0).
|
||||
Get(&Userinfo{})
|
||||
assert.NoError(t, err)
|
||||
assert.True(t, has)
|
||||
|
||||
updatedUser := &Userinfo{Username: "null data"}
|
||||
cnt, err = testEngine.ID(userID).
|
||||
Nullable("height", "departname", "is_man", "created").
|
||||
Nullable(heightName, departName, isMan, createdName).
|
||||
Update(updatedUser)
|
||||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, 1, cnt)
|
||||
|
||||
has, err = testEngine.ID(userID).
|
||||
And("username = ?", updatedUser.Username).
|
||||
And("height IS NULL").
|
||||
And("departname IS NULL").
|
||||
And("is_man IS NULL").
|
||||
And("created IS NULL").
|
||||
And("detail_id = ?", 0).
|
||||
And(userName+" = ?", updatedUser.Username).
|
||||
And(heightName+" IS NULL").
|
||||
And(departName+" IS NULL").
|
||||
And(isMan+" IS NULL").
|
||||
And(createdName+" IS NULL").
|
||||
And(detailIDName+" = ?", 0).
|
||||
Get(&Userinfo{})
|
||||
assert.NoError(t, err)
|
||||
assert.True(t, has)
|
||||
|
@ -994,8 +1008,9 @@ func TestDeletedUpdate(t *testing.T) {
|
|||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, 1, cnt)
|
||||
|
||||
deletedAtName := colMapper.Obj2Table("DeletedAt")
|
||||
s.DeletedAt = time.Time{}
|
||||
cnt, err = testEngine.Unscoped().Nullable("deleted_at").Update(&s)
|
||||
cnt, err = testEngine.Unscoped().Nullable(deletedAtName).Update(&s)
|
||||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, 1, cnt)
|
||||
|
||||
|
@ -1007,11 +1022,11 @@ func TestDeletedUpdate(t *testing.T) {
|
|||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, 1, cnt)
|
||||
|
||||
cnt, err = testEngine.ID(s.Id).Cols("deleted_at").Update(&DeletedUpdatedStruct{})
|
||||
cnt, err = testEngine.ID(s.Id).Cols(deletedAtName).Update(&DeletedUpdatedStruct{})
|
||||
assert.EqualValues(t, "No content found to be updated", err.Error())
|
||||
assert.EqualValues(t, 0, cnt)
|
||||
|
||||
cnt, err = testEngine.ID(s.Id).Unscoped().Cols("deleted_at").Update(&DeletedUpdatedStruct{})
|
||||
cnt, err = testEngine.ID(s.Id).Unscoped().Cols(deletedAtName).Update(&DeletedUpdatedStruct{})
|
||||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, 1, cnt)
|
||||
|
||||
|
@ -1036,10 +1051,12 @@ func TestUpdateMapCondition(t *testing.T) {
|
|||
_, err := testEngine.Insert(&c)
|
||||
assert.NoError(t, err)
|
||||
|
||||
idName := colMapper.Obj2Table("Id")
|
||||
|
||||
cnt, err := testEngine.Update(&UpdateMapCondition{
|
||||
String: "string1",
|
||||
}, map[string]interface{}{
|
||||
"id": c.Id,
|
||||
idName: c.Id,
|
||||
})
|
||||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, 1, cnt)
|
||||
|
@ -1074,7 +1091,11 @@ func TestUpdateMapContent(t *testing.T) {
|
|||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, 18, c.Age)
|
||||
|
||||
cnt, err := testEngine.Table(new(UpdateMapContent)).ID(c.Id).Update(map[string]interface{}{"age": 0})
|
||||
ageName := colMapper.Obj2Table("Age")
|
||||
isManName := colMapper.Obj2Table("IsMan")
|
||||
genderName := colMapper.Obj2Table("Gender")
|
||||
|
||||
cnt, err := testEngine.Table(new(UpdateMapContent)).ID(c.Id).Update(map[string]interface{}{ageName: 0})
|
||||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, 1, cnt)
|
||||
|
||||
|
@ -1085,9 +1106,9 @@ func TestUpdateMapContent(t *testing.T) {
|
|||
assert.EqualValues(t, 0, c1.Age)
|
||||
|
||||
cnt, err = testEngine.Table(new(UpdateMapContent)).ID(c.Id).Update(map[string]interface{}{
|
||||
"age": 16,
|
||||
"is_man": false,
|
||||
"gender": 2,
|
||||
ageName: 16,
|
||||
isManName: false,
|
||||
genderName: 2,
|
||||
})
|
||||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, 1, cnt)
|
||||
|
@ -1101,9 +1122,9 @@ func TestUpdateMapContent(t *testing.T) {
|
|||
assert.EqualValues(t, 2, c2.Gender)
|
||||
|
||||
cnt, err = testEngine.Table(testEngine.TableName(new(UpdateMapContent))).ID(c.Id).Update(map[string]interface{}{
|
||||
"age": 15,
|
||||
"is_man": true,
|
||||
"gender": 1,
|
||||
ageName: 15,
|
||||
isManName: true,
|
||||
genderName: 1,
|
||||
})
|
||||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, 1, cnt)
|
||||
|
|
|
@ -197,8 +197,10 @@ func TestDistinctAndCols(t *testing.T) {
|
|||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, 1, cnt)
|
||||
|
||||
tableName := tableMapper.Obj2Table("DistinctAndCols")
|
||||
|
||||
var names []string
|
||||
err = testEngine.Table("distinct_and_cols").Cols("name").Distinct("name").Find(&names)
|
||||
err = testEngine.Table(tableName).Cols("name").Distinct("name").Find(&names)
|
||||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, 1, len(names))
|
||||
assert.EqualValues(t, "test", names[0])
|
||||
|
|
|
@ -10,8 +10,8 @@ import (
|
|||
"testing"
|
||||
"time"
|
||||
|
||||
"xorm.io/core"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"xorm.io/core"
|
||||
)
|
||||
|
||||
type tempUser struct {
|
||||
|
@ -284,11 +284,12 @@ func TestExtends2(t *testing.T) {
|
|||
assert.NoError(t, err)
|
||||
}
|
||||
|
||||
var mapper = testEngine.GetTableMapper().Obj2Table
|
||||
var quote = testEngine.Quote
|
||||
userTableName := quote(testEngine.TableName(mapper("MessageUser"), true))
|
||||
typeTableName := quote(testEngine.TableName(mapper("MessageType"), true))
|
||||
msgTableName := quote(testEngine.TableName(mapper("Message"), true))
|
||||
userTableName := quote(testEngine.TableName(tableMapper.Obj2Table("MessageUser"), true))
|
||||
typeTableName := quote(testEngine.TableName(tableMapper.Obj2Table("MessageType"), true))
|
||||
msgTableName := quote(testEngine.TableName(tableMapper.Obj2Table("Message"), true))
|
||||
|
||||
mapper := colMapper.Obj2Table
|
||||
|
||||
list := make([]Message, 0)
|
||||
err = session.Table(msgTableName).Join("LEFT", []string{userTableName, "sender"}, "`sender`.`"+mapper("Id")+"`="+msgTableName+".`"+mapper("Uid")+"`").
|
||||
|
@ -353,11 +354,12 @@ func TestExtends3(t *testing.T) {
|
|||
assert.NoError(t, err)
|
||||
}
|
||||
|
||||
var mapper = testEngine.GetTableMapper().Obj2Table
|
||||
var quote = testEngine.Quote
|
||||
userTableName := quote(testEngine.TableName(mapper("MessageUser"), true))
|
||||
typeTableName := quote(testEngine.TableName(mapper("MessageType"), true))
|
||||
msgTableName := quote(testEngine.TableName(mapper("Message"), true))
|
||||
userTableName := quote(testEngine.TableName(tableMapper.Obj2Table("MessageUser"), true))
|
||||
typeTableName := quote(testEngine.TableName(tableMapper.Obj2Table("MessageType"), true))
|
||||
msgTableName := quote(testEngine.TableName(tableMapper.Obj2Table("Message"), true))
|
||||
|
||||
var mapper = colMapper.Obj2Table
|
||||
|
||||
list := make([]MessageExtend3, 0)
|
||||
err = session.Table(msgTableName).Join("LEFT", []string{userTableName, "sender"}, "`sender`.`"+mapper("Id")+"`="+msgTableName+".`"+mapper("Uid")+"`").
|
||||
|
@ -447,11 +449,12 @@ func TestExtends4(t *testing.T) {
|
|||
assert.NoError(t, err)
|
||||
}
|
||||
|
||||
var mapper = testEngine.GetTableMapper().Obj2Table
|
||||
var quote = testEngine.Quote
|
||||
userTableName := quote(testEngine.TableName(mapper("MessageUser"), true))
|
||||
typeTableName := quote(testEngine.TableName(mapper("MessageType"), true))
|
||||
msgTableName := quote(testEngine.TableName(mapper("Message"), true))
|
||||
userTableName := quote(testEngine.TableName(tableMapper.Obj2Table("MessageUser"), true))
|
||||
typeTableName := quote(testEngine.TableName(tableMapper.Obj2Table("MessageType"), true))
|
||||
msgTableName := quote(testEngine.TableName(tableMapper.Obj2Table("Message"), true))
|
||||
|
||||
var mapper = colMapper.Obj2Table
|
||||
|
||||
list := make([]MessageExtend4, 0)
|
||||
err = session.Table(msgTableName).Join("LEFT", userTableName, userTableName+".`"+mapper("Id")+"`="+msgTableName+".`"+mapper("Uid")+"`").
|
||||
|
@ -547,10 +550,9 @@ func TestExtends5(t *testing.T) {
|
|||
session := testEngine.NewSession()
|
||||
defer session.Close()
|
||||
|
||||
var mapper = testEngine.GetTableMapper().Obj2Table
|
||||
var quote = testEngine.Quote
|
||||
bookTableName := quote(testEngine.TableName(mapper("Book"), true))
|
||||
sizeTableName := quote(testEngine.TableName(mapper("Size"), true))
|
||||
bookTableName := quote(testEngine.TableName(tableMapper.Obj2Table("Book"), true))
|
||||
sizeTableName := quote(testEngine.TableName(tableMapper.Obj2Table("Size"), true))
|
||||
|
||||
list := make([]Book, 0)
|
||||
err = session.
|
||||
|
|
|
@ -159,12 +159,14 @@ func TestAutoIncrTag(t *testing.T) {
|
|||
Id int64
|
||||
}
|
||||
|
||||
idName := colMapper.Obj2Table("Id")
|
||||
|
||||
tb := testEngine.TableInfo(new(TestAutoIncr1))
|
||||
cols := tb.Columns()
|
||||
assert.EqualValues(t, 1, len(cols))
|
||||
assert.True(t, cols[0].IsAutoIncrement)
|
||||
assert.True(t, cols[0].IsPrimaryKey)
|
||||
assert.Equal(t, "id", cols[0].Name)
|
||||
assert.Equal(t, idName, cols[0].Name)
|
||||
|
||||
type TestAutoIncr2 struct {
|
||||
Id int64 `xorm:"id"`
|
||||
|
@ -197,7 +199,7 @@ func TestAutoIncrTag(t *testing.T) {
|
|||
assert.EqualValues(t, 1, len(cols))
|
||||
assert.False(t, cols[0].IsAutoIncrement)
|
||||
assert.True(t, cols[0].IsPrimaryKey)
|
||||
assert.Equal(t, "id", cols[0].Name)
|
||||
assert.Equal(t, idName, cols[0].Name)
|
||||
}
|
||||
|
||||
func TestTagComment(t *testing.T) {
|
||||
|
@ -524,7 +526,7 @@ func TestTagTime(t *testing.T) {
|
|||
assert.EqualValues(t, s.Created.Format("2006-01-02 15:04:05"), u.Created.Format("2006-01-02 15:04:05"))
|
||||
|
||||
var tm string
|
||||
has, err = testEngine.Table("tag_u_t_c_struct").Cols("created").Get(&tm)
|
||||
has, err = testEngine.Table(&s).Cols("created").Get(&tm)
|
||||
assert.NoError(t, err)
|
||||
assert.True(t, has)
|
||||
assert.EqualValues(t, s.Created.UTC().Format("2006-01-02 15:04:05"),
|
||||
|
|
10
xorm_test.go
10
xorm_test.go
|
@ -116,12 +116,16 @@ func createEngine(dbType, connStr string) error {
|
|||
if len(*mapType) > 0 {
|
||||
switch *mapType {
|
||||
case "snake":
|
||||
testEngine.SetMapper(core.SnakeMapper{})
|
||||
tableMapper = core.SnakeMapper{}
|
||||
case "same":
|
||||
testEngine.SetMapper(core.SameMapper{})
|
||||
tableMapper = core.SameMapper{}
|
||||
case "gonic":
|
||||
testEngine.SetMapper(core.LintGonicMapper)
|
||||
tableMapper = core.LintGonicMapper
|
||||
}
|
||||
|
||||
colMapper = tableMapper
|
||||
testEngine.SetTableMapper(tableMapper)
|
||||
testEngine.SetColumnMapper(colMapper)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue