diff --git a/integrations/session_delete_test.go b/integrations/session_delete_test.go index e5dc5b6e..5b324791 100644 --- a/integrations/session_delete_test.go +++ b/integrations/session_delete_test.go @@ -199,28 +199,27 @@ func TestShadowCacheDelete(t *testing.T) { } testEngine.SetShadow(dialects.NewFalseShadow()) - oldCacher := testEngine.GetDefaultCacher() cacher := caches.NewLRUCacher(caches.NewMemoryStore(), 1000) testEngine.SetDefaultCacher(cacher) - type ShadowCacheDeleteStruct struct { + type CacheDeleteStruct struct { Id int64 } - assert.NoError(t, testEngine.Context(context.Background()).Sync(&ShadowCacheDeleteStruct{})) - err := testEngine.CreateTables(&ShadowCacheDeleteStruct{}) + assert.NoError(t, testEngine.Context(context.Background()).Sync(&CacheDeleteStruct{})) + err := testEngine.CreateTables(&CacheDeleteStruct{}) assert.NoError(t, err) - _, err = testEngine.Insert(&ShadowCacheDeleteStruct{}) + _, err = testEngine.Insert(&CacheDeleteStruct{}) assert.NoError(t, err) - aff, err := testEngine.Delete(&ShadowCacheDeleteStruct{ + aff, err := testEngine.Delete(&CacheDeleteStruct{ Id: 1, }) assert.NoError(t, err) assert.EqualValues(t, aff, 1) - aff, err = testEngine.Unscoped().Delete(&ShadowCacheDeleteStruct{ + aff, err = testEngine.Unscoped().Delete(&CacheDeleteStruct{ Id: 1, }) assert.NoError(t, err) diff --git a/integrations/session_get_test.go b/integrations/session_get_test.go index 86f57fff..8d3bdaa1 100644 --- a/integrations/session_get_test.go +++ b/integrations/session_get_test.go @@ -27,7 +27,7 @@ func TestShadowGetVar(t *testing.T) { if testEngine.Dialect().URI().DBType != schemas.MYSQL { return } - type GetVar struct { + type GetVar1 struct { Id int64 `xorm:"autoincr pk"` Msg string `xorm:"varchar(255)"` Age int @@ -36,9 +36,9 @@ func TestShadowGetVar(t *testing.T) { } testEngine.SetShadow(dialects.NewFalseShadow()) - assert.NoError(t, testEngine.Context(context.Background()).Sync(new(GetVar))) + assert.NoError(t, testEngine.Context(context.Background()).Sync(new(GetVar1))) - data := GetVar{ + data := GetVar1{ Msg: "hi", Age: 28, Money: 1.5, diff --git a/integrations/session_update_test.go b/integrations/session_update_test.go index 146efc9d..b9b44383 100644 --- a/integrations/session_update_test.go +++ b/integrations/session_update_test.go @@ -301,6 +301,16 @@ type Article struct { Status int8 `xorm:"TINYINT(4)"` } +type ShadowArticle struct { + Id int32 `xorm:"pk INT autoincr"` + Name string `xorm:"VARCHAR(45)"` + Img string `xorm:"VARCHAR(100)"` + Aside string `xorm:"VARCHAR(200)"` + Desc string `xorm:"VARCHAR(200)"` + Content string `xorm:"TEXT"` + Status int8 `xorm:"TINYINT(4)"` +} + func TestUpdateMap2(t *testing.T) { assert.NoError(t, PrepareEngine()) assertSync(t, new(UpdateMustCols)) @@ -1472,25 +1482,37 @@ func TestNilFromDB(t *testing.T) { assert.NotNil(t, tt4.Field1.cb) } +type ShadowUserinfo struct { + Uid int64 `xorm:"id pk not null autoincr"` + Username string `xorm:"unique"` + Departname string + Alias string `xorm:"-"` + Created time.Time + Detail Userdetail `xorm:"detail_id int(11)"` + Height float64 + Avatar []byte + IsMan bool +} + func TestShadowMysqlUpdate1(t *testing.T) { if testEngine.Dialect().URI().DBType != schemas.MYSQL { return } testEngine.SetShadow(dialects.NewFalseShadow()) - assert.NoError(t, testEngine.Context(context.Background()).Sync(&Userinfo{})) + assert.NoError(t, testEngine.Context(context.Background()).Sync(&ShadowUserinfo{})) - _, err := testEngine.Insert(&Userinfo{ + _, err := testEngine.Insert(&ShadowUserinfo{ Username: "user1", }) assert.NoError(t, err) - var ori Userinfo + var ori ShadowUserinfo has, err := testEngine.Get(&ori) assert.NoError(t, err) assert.True(t, has) // update by id - user := Userinfo{Username: "xxx", Height: 1.2} + user := ShadowUserinfo{Username: "xxx", Height: 1.2} cnt, err := testEngine.ID(ori.Uid).Update(&user) assert.NoError(t, err) assert.EqualValues(t, 1, cnt) @@ -1500,7 +1522,7 @@ func TestShadowMysqlUpdate1(t *testing.T) { assert.NoError(t, err) assert.EqualValues(t, 1, cnt) - cnt, err = testEngine.Update(&Userinfo{Username: "yyy"}, &user) + cnt, err = testEngine.Update(&ShadowUserinfo{Username: "yyy"}, &user) assert.NoError(t, err) total, err := testEngine.Count(&user) @@ -1509,7 +1531,7 @@ func TestShadowMysqlUpdate1(t *testing.T) { // nullable update { - user := &Userinfo{Username: "not null data", Height: 180.5} + user := &ShadowUserinfo{Username: "not null data", Height: 180.5} _, err := testEngine.Insert(user) assert.NoError(t, err) userID := user.Uid @@ -1520,11 +1542,11 @@ func TestShadowMysqlUpdate1(t *testing.T) { And("`departname` = ?", ""). And("`detail_id` = ?", 0). And("`is_man` = ?", false). - Get(&Userinfo{}) + Get(&ShadowUserinfo{}) assert.NoError(t, err) assert.True(t, has, "cannot insert properly") - updatedUser := &Userinfo{Username: "null data"} + updatedUser := &ShadowUserinfo{Username: "null data"} cnt, err = testEngine.ID(userID). Nullable("height", "departname", "is_man", "created"). Update(updatedUser) @@ -1538,30 +1560,30 @@ func TestShadowMysqlUpdate1(t *testing.T) { And("`is_man` IS NULL"). And("`created` IS NULL"). And("`detail_id` = ?", 0). - Get(&Userinfo{}) + Get(&ShadowUserinfo{}) assert.NoError(t, err) assert.True(t, has, "cannot update with null properly") - cnt, err = testEngine.ID(userID).Delete(&Userinfo{}) + cnt, err = testEngine.ID(userID).Delete(&ShadowUserinfo{}) assert.NoError(t, err) assert.EqualValues(t, 1, cnt, "delete not returned 1") } - err = testEngine.StoreEngine("Innodb").Sync(&Article{}) + err = testEngine.StoreEngine("Innodb").Sync(&ShadowArticle{}) assert.NoError(t, err) defer func() { - err = testEngine.DropTables(&Article{}) + err = testEngine.DropTables(&ShadowArticle{}) assert.NoError(t, err) }() - a := &Article{0, "1", "2", "3", "4", "5", 2} + a := &ShadowArticle{0, "1", "2", "3", "4", "5", 2} cnt, err = testEngine.Insert(a) assert.NoError(t, err) assert.EqualValues(t, 1, cnt, fmt.Sprintf("insert not returned 1 but %d", cnt)) assert.Greater(t, a.Id, int32(0), "insert returned id is 0") - cnt, err = testEngine.ID(a.Id).Update(&Article{Name: "6"}) + cnt, err = testEngine.ID(a.Id).Update(&ShadowArticle{Name: "6"}) assert.NoError(t, err) assert.EqualValues(t, 1, cnt)