diff --git a/cache_test.go b/cache_test.go index 3d848039..198995f3 100644 --- a/cache_test.go +++ b/cache_test.go @@ -165,15 +165,17 @@ func TestCacheGet(t *testing.T) { _, err := testEngine.Insert(inserts[0]) assert.NoError(t, err) + idName := mapper.Obj2Table("Id") + var box1 MailBox3 - has, err := testEngine.Where("id = ?", inserts[0].Id).Get(&box1) + has, err := testEngine.Where(idName+" = ?", inserts[0].Id).Get(&box1) assert.NoError(t, err) assert.True(t, has) assert.EqualValues(t, "user1", box1.Username) assert.EqualValues(t, "pass1", box1.Password) var box2 MailBox3 - has, err = testEngine.Where("id = ?", inserts[0].Id).Get(&box2) + has, err = testEngine.Where(idName+" = ?", inserts[0].Id).Get(&box2) assert.NoError(t, err) assert.True(t, has) assert.EqualValues(t, "user1", box2.Username) diff --git a/session_cols_test.go b/session_cols_test.go index 658e1747..7628740e 100644 --- a/session_cols_test.go +++ b/session_cols_test.go @@ -48,7 +48,8 @@ func TestSetExpr(t *testing.T) { if testEngine.Dialect().DBType() == core.MSSQL { not = "~" } - cnt, err = testEngine.SetExpr("show", not+" `show`").ID(1).Update(new(UserExpr)) + showName := mapper.Obj2Table("Show") + cnt, err = testEngine.SetExpr(showName, not+" `"+showName+"`").ID(1).Update(new(UserExpr)) assert.NoError(t, err) assert.EqualValues(t, 1, cnt) diff --git a/session_cond_test.go b/session_cond_test.go index 0bc14171..2b1ca20a 100644 --- a/session_cond_test.go +++ b/session_cond_test.go @@ -36,7 +36,12 @@ func TestBuilder(t *testing.T) { _, err = testEngine.Insert(&Condition{TableName: "table1", ColName: "col1", Op: OpEqual, Value: "1"}) assert.NoError(t, err) +<<<<<<< HEAD colNameName := colMapper.Obj2Table("ColName") +======= + colNameName := mapper.Obj2Table("ColName") + opName := mapper.Obj2Table("Op") +>>>>>>> fix tests var cond Condition has, err := testEngine.Where(builder.Eq{colNameName: "col1"}).Get(&cond) @@ -50,14 +55,14 @@ func TestBuilder(t *testing.T) { assert.NoError(t, err) assert.Equal(t, true, has, "records should exist") - has, err = testEngine.Where(builder.Eq{colNameName: "col1", "op": OpEqual, "value": "1"}). + has, err = testEngine.Where(builder.Eq{colNameName: "col1", opName: OpEqual, "value": "1"}). NoAutoCondition(). Get(&cond) assert.NoError(t, err) assert.Equal(t, true, has, "records should exist") has, err = testEngine.Where(builder.Eq{colNameName: "col1"}. - And(builder.Neq{"op": OpEqual})). + And(builder.Neq{opName: OpEqual})). NoAutoCondition(). Get(&cond) assert.NoError(t, err) @@ -65,7 +70,7 @@ func TestBuilder(t *testing.T) { var conds []Condition err = testEngine.Where(builder.Eq{colNameName: "col1"}. - And(builder.Eq{"op": OpEqual})). + And(builder.Eq{opName: OpEqual})). Find(&conds) assert.NoError(t, err) assert.EqualValues(t, 1, len(conds), "records should exist") @@ -221,7 +226,8 @@ func TestFindAndCount(t *testing.T) { assert.NoError(t, err) var results []FindAndCount - sess := testEngine.Where("name = ?", "test1") + nameName := mapper.Obj2Table("Name") + sess := testEngine.Where(nameName+" = ?", "test1") conds := sess.Conds() err = sess.Find(&results) assert.NoError(t, err) diff --git a/session_exist_test.go b/session_exist_test.go index 16019780..33977e5a 100644 --- a/session_exist_test.go +++ b/session_exist_test.go @@ -46,21 +46,23 @@ func TestExistStruct(t *testing.T) { assert.NoError(t, err) assert.False(t, has) - has, err = testEngine.Where("name = ?", "test1").Exist(&RecordExist{}) + nameName := mapper.Obj2Table("Name") + + has, err = testEngine.Where(nameName+" = ?", "test1").Exist(&RecordExist{}) assert.NoError(t, err) assert.True(t, has) - has, err = testEngine.Where("name = ?", "test2").Exist(&RecordExist{}) + has, err = testEngine.Where(nameName+" = ?", "test2").Exist(&RecordExist{}) assert.NoError(t, err) assert.False(t, has) tableName := tableMapper.Obj2Table("RecordExist") - has, err = testEngine.SQL("select * from "+testEngine.TableName(tableName, true)+" where name = ?", "test1").Exist() + has, err = testEngine.SQL("select * from "+testEngine.TableName(tableName, true)+" where "+nameName+" = ?", "test1").Exist() assert.NoError(t, err) assert.True(t, has) - has, err = testEngine.SQL("select * from "+testEngine.TableName(tableName, true)+" where name = ?", "test2").Exist() + has, err = testEngine.SQL("select * from "+testEngine.TableName(tableName, true)+" where "+nameName+" = ?", "test2").Exist() assert.NoError(t, err) assert.False(t, has) @@ -68,11 +70,11 @@ func TestExistStruct(t *testing.T) { assert.NoError(t, err) assert.True(t, has) - has, err = testEngine.Table(tableName).Where("name = ?", "test1").Exist() + has, err = testEngine.Table(tableName).Where(nameName+" = ?", "test1").Exist() assert.NoError(t, err) assert.True(t, has) - has, err = testEngine.Table(tableName).Where("name = ?", "test2").Exist() + has, err = testEngine.Table(tableName).Where(nameName+" = ?", "test2").Exist() assert.NoError(t, err) assert.False(t, has) } diff --git a/session_find_test.go b/session_find_test.go index 327e5eef..b06b6fdb 100644 --- a/session_find_test.go +++ b/session_find_test.go @@ -267,13 +267,17 @@ func TestOrder(t *testing.T) { assert.NoError(t, prepareEngine()) assertSync(t, new(Userinfo)) + idName := colMapper.Obj2Table("Id") + userName := colMapper.Obj2Table("Username") + heightName := colMapper.Obj2Table("Height") + users := make([]Userinfo, 0) - err := testEngine.OrderBy("id desc").Find(&users) + err := testEngine.OrderBy(idName + " desc").Find(&users) assert.NoError(t, err) fmt.Println(users) users2 := make([]Userinfo, 0) - err = testEngine.Asc("id", "username").Desc("height").Find(&users2) + err = testEngine.Asc(idName, userName).Desc(heightName).Find(&users2) assert.NoError(t, err) fmt.Println(users2) } @@ -282,8 +286,11 @@ func TestGroupBy(t *testing.T) { assert.NoError(t, prepareEngine()) assertSync(t, new(Userinfo)) + idName := colMapper.Obj2Table("Id") + userName := colMapper.Obj2Table("Username") + users := make([]Userinfo, 0) - err := testEngine.GroupBy("id, username").Find(&users) + err := testEngine.GroupBy(idName + ", " + userName).Find(&users) assert.NoError(t, err) } @@ -291,8 +298,10 @@ func TestHaving(t *testing.T) { assert.NoError(t, prepareEngine()) assertSync(t, new(Userinfo)) + userName := colMapper.Obj2Table("Username") + users := make([]Userinfo, 0) - err := testEngine.GroupBy("username").Having("username='xlw'").Find(&users) + err := testEngine.GroupBy(userName).Having(userName + "='xlw'").Find(&users) assert.NoError(t, err) fmt.Println(users) @@ -310,29 +319,31 @@ func TestFindInts(t *testing.T) { assertSync(t, new(Userinfo)) userinfo := testEngine.GetTableMapper().Obj2Table("Userinfo") + idName := colMapper.Obj2Table("Id") + var idsInt64 []int64 - err := testEngine.Table(userinfo).Cols("id").Desc("id").Find(&idsInt64) + err := testEngine.Table(userinfo).Cols(idName).Desc(idName).Find(&idsInt64) if err != nil { t.Fatal(err) } fmt.Println(idsInt64) var idsInt32 []int32 - err = testEngine.Table(userinfo).Cols("id").Desc("id").Find(&idsInt32) + err = testEngine.Table(userinfo).Cols(idName).Desc(idName).Find(&idsInt32) if err != nil { t.Fatal(err) } fmt.Println(idsInt32) var idsInt []int - err = testEngine.Table(userinfo).Cols("id").Desc("id").Find(&idsInt) + err = testEngine.Table(userinfo).Cols(idName).Desc(idName).Find(&idsInt) if err != nil { t.Fatal(err) } fmt.Println(idsInt) var idsUint []uint - err = testEngine.Table(userinfo).Cols("id").Desc("id").Find(&idsUint) + err = testEngine.Table(userinfo).Cols(idName).Desc(idName).Find(&idsUint) if err != nil { t.Fatal(err) } @@ -340,7 +351,7 @@ func TestFindInts(t *testing.T) { type MyInt int var idsMyInt []MyInt - err = testEngine.Table(userinfo).Cols("id").Desc("id").Find(&idsMyInt) + err = testEngine.Table(userinfo).Cols(idName).Desc(idName).Find(&idsMyInt) if err != nil { t.Fatal(err) } @@ -352,8 +363,10 @@ func TestFindStrings(t *testing.T) { assertSync(t, new(Userinfo)) userinfo := testEngine.GetTableMapper().Obj2Table("Userinfo") username := testEngine.GetColumnMapper().Obj2Table("Username") + idName := colMapper.Obj2Table("Id") + var idsString []string - err := testEngine.Table(userinfo).Cols(username).Desc("id").Find(&idsString) + err := testEngine.Table(userinfo).Cols(username).Desc(idName).Find(&idsString) if err != nil { t.Fatal(err) } @@ -365,9 +378,10 @@ func TestFindMyString(t *testing.T) { assertSync(t, new(Userinfo)) userinfo := testEngine.GetTableMapper().Obj2Table("Userinfo") username := testEngine.GetColumnMapper().Obj2Table("Username") + idName := colMapper.Obj2Table("Id") var idsMyString []MyString - err := testEngine.Table(userinfo).Cols(username).Desc("id").Find(&idsMyString) + err := testEngine.Table(userinfo).Cols(username).Desc(idName).Find(&idsMyString) if err != nil { t.Fatal(err) } @@ -380,8 +394,10 @@ func TestFindInterface(t *testing.T) { userinfo := testEngine.GetTableMapper().Obj2Table("Userinfo") username := testEngine.GetColumnMapper().Obj2Table("Username") + idName := colMapper.Obj2Table("Id") + var idsInterface []interface{} - err := testEngine.Table(userinfo).Cols(username).Desc("id").Find(&idsInterface) + err := testEngine.Table(userinfo).Cols(username).Desc(idName).Find(&idsInterface) if err != nil { t.Fatal(err) } @@ -393,8 +409,10 @@ func TestFindSliceBytes(t *testing.T) { assertSync(t, new(Userinfo)) userinfo := testEngine.GetTableMapper().Obj2Table("Userinfo") + idName := colMapper.Obj2Table("Id") + var ids [][][]byte - err := testEngine.Table(userinfo).Desc("id").Find(&ids) + err := testEngine.Table(userinfo).Desc(idName).Find(&ids) if err != nil { t.Fatal(err) } @@ -408,8 +426,10 @@ func TestFindSlicePtrString(t *testing.T) { assertSync(t, new(Userinfo)) userinfo := testEngine.GetTableMapper().Obj2Table("Userinfo") + idName := colMapper.Obj2Table("Id") + var ids [][]*string - err := testEngine.Table(userinfo).Desc("id").Find(&ids) + err := testEngine.Table(userinfo).Desc(idName).Find(&ids) if err != nil { t.Fatal(err) } @@ -423,8 +443,10 @@ func TestFindMapBytes(t *testing.T) { assertSync(t, new(Userinfo)) userinfo := testEngine.GetTableMapper().Obj2Table("Userinfo") + idName := colMapper.Obj2Table("Id") + var ids []map[string][]byte - err := testEngine.Table(userinfo).Desc("id").Find(&ids) + err := testEngine.Table(userinfo).Desc(idName).Find(&ids) if err != nil { t.Fatal(err) } @@ -438,8 +460,10 @@ func TestFindMapPtrString(t *testing.T) { assertSync(t, new(Userinfo)) userinfo := testEngine.GetTableMapper().Obj2Table("Userinfo") + idName := colMapper.Obj2Table("Id") + var ids []map[string]*string - err := testEngine.Table(userinfo).Desc("id").Find(&ids) + err := testEngine.Table(userinfo).Desc(idName).Find(&ids) assert.NoError(t, err) for _, record := range ids { fmt.Println(record) diff --git a/session_tx_test.go b/session_tx_test.go index 8b4ed5e6..b00991d7 100644 --- a/session_tx_test.go +++ b/session_tx_test.go @@ -9,7 +9,6 @@ import ( "testing" "time" - "xorm.io/core" "github.com/stretchr/testify/assert" ) @@ -87,51 +86,6 @@ func TestCombineTransaction(t *testing.T) { assert.NoError(t, err) } -func TestCombineTransactionSameMapper(t *testing.T) { - assert.NoError(t, prepareEngine()) - - oldMapper := testEngine.GetColumnMapper() - testEngine.UnMapType(rValue(new(Userinfo)).Type()) - testEngine.SetMapper(core.SameMapper{}) - defer func() { - testEngine.UnMapType(rValue(new(Userinfo)).Type()) - testEngine.SetMapper(oldMapper) - }() - - assertSync(t, new(Userinfo)) - - counter := func() { - total, err := testEngine.Count(&Userinfo{}) - if err != nil { - t.Error(err) - } - fmt.Printf("----now total %v records\n", total) - } - - counter() - defer counter() - - session := testEngine.NewSession() - defer session.Close() - - err := session.Begin() - assert.NoError(t, err) - - user1 := Userinfo{Username: "xiaoxiao2", Departname: "dev", Alias: "lunny", Created: time.Now()} - _, err = session.Insert(&user1) - assert.NoError(t, err) - - user2 := Userinfo{Username: "zzz"} - _, err = session.Where("(id) = ?", 0).Update(&user2) - assert.NoError(t, err) - - _, err = session.Exec("delete from "+testEngine.TableName("`Userinfo`", true)+" where `Username` = ?", user2.Username) - assert.NoError(t, err) - - err = session.Commit() - assert.NoError(t, err) -} - func TestMultipleTransaction(t *testing.T) { assert.NoError(t, prepareEngine()) diff --git a/session_update_test.go b/session_update_test.go index 1ffa0ef6..969192fc 100644 --- a/session_update_test.go +++ b/session_update_test.go @@ -12,7 +12,6 @@ import ( "time" "github.com/stretchr/testify/assert" - "xorm.io/core" ) func TestUpdateMap(t *testing.T) { @@ -397,7 +396,6 @@ func TestUpdate1(t *testing.T) { assert.EqualValues(t, *col2, *col3) { - col1 := &UpdateMustCols{} err = testEngine.Sync(col1) assert.NoError(t, err) @@ -627,167 +625,6 @@ func TestUpdateUpdated(t *testing.T) { fmt.Println("ci5:", ci5, "di5:", di5) } -func TestUpdateSameMapper(t *testing.T) { - assert.NoError(t, prepareEngine()) - - oldMapper := testEngine.GetTableMapper() - testEngine.UnMapType(rValue(new(Userinfo)).Type()) - testEngine.UnMapType(rValue(new(Condi)).Type()) - testEngine.UnMapType(rValue(new(Article)).Type()) - testEngine.UnMapType(rValue(new(UpdateAllCols)).Type()) - testEngine.UnMapType(rValue(new(UpdateMustCols)).Type()) - testEngine.UnMapType(rValue(new(UpdateIncr)).Type()) - testEngine.SetMapper(core.SameMapper{}) - defer func() { - testEngine.UnMapType(rValue(new(Userinfo)).Type()) - testEngine.UnMapType(rValue(new(Condi)).Type()) - testEngine.UnMapType(rValue(new(Article)).Type()) - testEngine.UnMapType(rValue(new(UpdateAllCols)).Type()) - testEngine.UnMapType(rValue(new(UpdateMustCols)).Type()) - testEngine.UnMapType(rValue(new(UpdateIncr)).Type()) - testEngine.SetMapper(oldMapper) - }() - - assertSync(t, new(Userinfo)) - - _, err := testEngine.Insert(&Userinfo{ - Username: "user1", - }) - assert.NoError(t, err) - - var ori Userinfo - has, err := testEngine.Get(&ori) - assert.NoError(t, err) - assert.True(t, has) - - // update by id - user := Userinfo{Username: "xxx", Height: 1.2} - cnt, err := testEngine.ID(ori.Uid).Update(&user) - assert.NoError(t, err) - assert.EqualValues(t, 1, cnt) - - condi := Condi{"Username": "zzz", "Departname": ""} - cnt, err = testEngine.Table(&user).ID(ori.Uid).Update(&condi) - assert.NoError(t, err) - assert.EqualValues(t, 1, cnt) - - cnt, err = testEngine.Update(&Userinfo{Username: "yyy"}, &user) - assert.NoError(t, err) - - total, err := testEngine.Count(&user) - assert.NoError(t, err) - assert.EqualValues(t, cnt, total) - - err = testEngine.Sync(&Article{}) - assert.NoError(t, err) - - defer func() { - err = testEngine.DropTables(&Article{}) - assert.NoError(t, err) - }() - - a := &Article{0, "1", "2", "3", "4", "5", 2} - cnt, err = testEngine.Insert(a) - assert.NoError(t, err) - - if cnt != 1 { - err = errors.New(fmt.Sprintf("insert not returned 1 but %d", cnt)) - t.Error(err) - panic(err) - } - - if a.Id == 0 { - err = errors.New("insert returned id is 0") - t.Error(err) - panic(err) - } - - cnt, err = testEngine.ID(a.Id).Update(&Article{Name: "6"}) - assert.NoError(t, err) - assert.EqualValues(t, 1, cnt) - - col1 := &UpdateAllCols{} - err = testEngine.Sync(col1) - assert.NoError(t, err) - - _, err = testEngine.Insert(col1) - assert.NoError(t, err) - - col2 := &UpdateAllCols{col1.Id, true, "", nil} - _, err = testEngine.ID(col2.Id).AllCols().Update(col2) - assert.NoError(t, err) - - col3 := &UpdateAllCols{} - has, err = testEngine.ID(col2.Id).Get(col3) - assert.NoError(t, err) - assert.True(t, has) - assert.EqualValues(t, *col2, *col3) - - { - col1 := &UpdateMustCols{} - err = testEngine.Sync(col1) - assert.NoError(t, err) - - _, err = testEngine.Insert(col1) - assert.NoError(t, err) - - col2 := &UpdateMustCols{col1.Id, true, ""} - boolStr := testEngine.GetColumnMapper().Obj2Table("Bool") - stringStr := testEngine.GetColumnMapper().Obj2Table("String") - _, err = testEngine.ID(col2.Id).MustCols(boolStr, stringStr).Update(col2) - assert.NoError(t, err) - - col3 := &UpdateMustCols{} - has, err := testEngine.ID(col2.Id).Get(col3) - assert.NoError(t, err) - assert.True(t, has) - assert.EqualValues(t, *col2, *col3) - } - - { - col1 := &UpdateIncr{} - err = testEngine.Sync(col1) - if err != nil { - t.Error(err) - panic(err) - } - - _, err = testEngine.Insert(col1) - if err != nil { - t.Error(err) - panic(err) - } - - cnt, err := testEngine.ID(col1.Id).Incr("`Cnt`").Update(col1) - if err != nil { - t.Error(err) - panic(err) - } - if cnt != 1 { - err = errors.New("update incr failed") - t.Error(err) - panic(err) - } - - newCol := new(UpdateIncr) - has, err := testEngine.ID(col1.Id).Get(newCol) - if err != nil { - t.Error(err) - panic(err) - } - if !has { - err = errors.New("has incr failed") - t.Error(err) - panic(err) - } - if 1 != newCol.Cnt { - err = errors.New("incr failed") - t.Error(err) - panic(err) - } - } -} - func TestUseBool(t *testing.T) { assert.NoError(t, prepareEngine()) assertSync(t, new(Userinfo))