improve tests

This commit is contained in:
Lunny Xiao 2019-03-13 19:12:00 +08:00
parent bc9947c62b
commit d4fadf0134
No known key found for this signature in database
GPG Key ID: C3B7C91B632F738A
2 changed files with 27 additions and 89 deletions

View File

@ -44,8 +44,14 @@ jobs:
- run: go test -v -race -db="sqlite3" -conn_str="./test.db" -coverprofile=coverage1-1.txt -covermode=atomic
- run: go test -v -race -db="sqlite3" -conn_str="./test.db" -cache=true -coverprofile=coverage1-2.txt -covermode=atomic
- run: go test -v -race -db="sqlite3" -conn_str="./test.db" -map_type=same -coverprofile=coverage1-3.txt -covermode=atomic
- run: go test -v -race -db="sqlite3" -conn_str="./test.db" -map_type=same -cache=true -coverprofile=coverage1-4.txt -covermode=atomic
- 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="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
- run: go test -v -race -db="postgres" -conn_str="dbname=xorm_test sslmode=disable" -coverprofile=coverage4-1.txt -covermode=atomic

View File

@ -271,10 +271,7 @@ func TestUpdateMap2(t *testing.T) {
_, err := testEngine.Table("update_must_cols").Where("id =?", 1).Update(map[string]interface{}{
"bool": true,
})
if err != nil {
t.Error(err)
panic(err)
}
assert.NoError(t, err)
}
func TestUpdate1(t *testing.T) {
@ -287,14 +284,8 @@ func TestUpdate1(t *testing.T) {
var ori Userinfo
has, err := testEngine.Get(&ori)
if err != nil {
t.Error(err)
panic(err)
}
if !has {
t.Error(errors.New("not exist"))
panic(errors.New("not exist"))
}
assert.NoError(t, err)
assert.True(t, has)
// update by id
user := Userinfo{Username: "xxx", Height: 1.2}
@ -318,12 +309,9 @@ func TestUpdate1(t *testing.T) {
{
user := &Userinfo{Username: "not null data", Height: 180.5}
_, err := testEngine.Insert(user)
if err != nil {
t.Error(err)
panic(err)
}
userID := user.Uid
assert.NoError(t, err)
userID := user.Uid
has, err := testEngine.ID(userID).
And("username = ?", user.Username).
And("height = ?", user.Height).
@ -331,29 +319,15 @@ func TestUpdate1(t *testing.T) {
And("detail_id = ?", 0).
And("is_man = ?", 0).
Get(&Userinfo{})
if err != nil {
t.Error(err)
panic(err)
}
if !has {
err = errors.New("cannot insert properly")
t.Error(err)
panic(err)
}
assert.NoError(t, err)
assert.True(t, has)
updatedUser := &Userinfo{Username: "null data"}
cnt, err = testEngine.ID(userID).
Nullable("height", "departname", "is_man", "created").
Update(updatedUser)
if err != nil {
t.Error(err)
panic(err)
}
if cnt != 1 {
err = errors.New("update not returned 1")
t.Error(err)
panic(err)
}
assert.NoError(t, err)
assert.EqualValues(t, 1, cnt)
has, err = testEngine.ID(userID).
And("username = ?", updatedUser.Username).
@ -363,60 +337,27 @@ func TestUpdate1(t *testing.T) {
And("created IS NULL").
And("detail_id = ?", 0).
Get(&Userinfo{})
if err != nil {
t.Error(err)
panic(err)
}
if !has {
err = errors.New("cannot update with null properly")
t.Error(err)
panic(err)
}
assert.NoError(t, err)
assert.True(t, has)
cnt, err = testEngine.ID(userID).Delete(&Userinfo{})
if err != nil {
t.Error(err)
panic(err)
}
if cnt != 1 {
err = errors.New("delete not returned 1")
t.Error(err)
panic(err)
}
assert.NoError(t, err)
assert.EqualValues(t, 1, cnt)
}
err = testEngine.StoreEngine("Innodb").Sync2(&Article{})
if err != nil {
t.Error(err)
panic(err)
}
assert.NoError(t, err)
defer func() {
err = testEngine.DropTables(&Article{})
if err != nil {
t.Error(err)
panic(err)
}
assert.NoError(t, err)
}()
a := &Article{0, "1", "2", "3", "4", "5", 2}
cnt, err = testEngine.Insert(a)
if err != nil {
t.Error(err)
panic(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)
}
assert.NoError(t, err)
assert.EqualValues(t, 1, cnt)
assert.True(t, a.Id > 0)
cnt, err = testEngine.ID(a.Id).Update(&Article{Name: "6"})
assert.NoError(t, err)
@ -445,25 +386,16 @@ func TestUpdate1(t *testing.T) {
col1 := &UpdateMustCols{}
err = testEngine.Sync(col1)
if err != nil {
t.Error(err)
panic(err)
}
assert.NoError(t, err)
_, err = testEngine.Insert(col1)
if err != nil {
t.Error(err)
panic(err)
}
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)
if err != nil {
t.Error(err)
panic(err)
}
assert.NoError(t, err)
col3 := &UpdateMustCols{}
has, err := testEngine.ID(col2.Id).Get(col3)