session Transaction test
This commit is contained in:
parent
cb7396945b
commit
67e6f060d8
|
@ -10,10 +10,46 @@ import (
|
|||
"time"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
|
||||
"xorm.io/xorm"
|
||||
"xorm.io/xorm/internal/utils"
|
||||
"xorm.io/xorm/names"
|
||||
)
|
||||
|
||||
func TestSessionTransaction(t *testing.T) {
|
||||
assert.NoError(t, PrepareEngine())
|
||||
assertSync(t, new(Userinfo))
|
||||
|
||||
counter := func(t *testing.T) {
|
||||
_, err := testEngine.Count(&Userinfo{})
|
||||
assert.NoError(t, err)
|
||||
}
|
||||
|
||||
counter(t)
|
||||
// defer counter()
|
||||
session := testEngine.NewSession()
|
||||
_, err := session.Transaction(func(session *xorm.Session) (interface{}, error) {
|
||||
user1 := Userinfo{Username: "xiaoxiaosession", Departname: "dev", Alias: "lunny", Created: time.Now()}
|
||||
_, err := session.Insert(&user1)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
user2 := Userinfo{Username: "yyysession"}
|
||||
_, err = session.Where("`id` = ?", 0).Update(&user2)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
_, err = session.Delete(&user2)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return nil, nil
|
||||
})
|
||||
assert.NoError(t, err)
|
||||
}
|
||||
|
||||
func TestTransaction(t *testing.T) {
|
||||
assert.NoError(t, PrepareEngine())
|
||||
assertSync(t, new(Userinfo))
|
||||
|
|
Loading…
Reference in New Issue