fix test
This commit is contained in:
parent
13f149064b
commit
8e54d77d59
|
@ -19,14 +19,14 @@ type LevelDBStore struct {
|
|||
|
||||
var _ CacheStore = &LevelDBStore{}
|
||||
|
||||
func NewLevelDBStore(dbfile string) *LevelDBStore {
|
||||
func NewLevelDBStore(dbfile string) (*LevelDBStore, error) {
|
||||
db := &LevelDBStore{}
|
||||
if h, err := leveldb.OpenFile(dbfile, nil); err != nil {
|
||||
panic(err)
|
||||
} else {
|
||||
db.store = h
|
||||
h, err := leveldb.OpenFile(dbfile, nil)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return db
|
||||
db.store = h
|
||||
return db, nil
|
||||
}
|
||||
|
||||
func (s *LevelDBStore) Put(key string, value interface{}) error {
|
||||
|
|
|
@ -11,7 +11,9 @@ import (
|
|||
)
|
||||
|
||||
func TestLevelDBStore(t *testing.T) {
|
||||
store := NewLevelDBStore("./level.db")
|
||||
store, err := NewLevelDBStore("./level.db")
|
||||
assert.NoError(t, err)
|
||||
|
||||
var kvs = map[string]interface{}{
|
||||
"a": "b",
|
||||
}
|
||||
|
|
|
@ -6,6 +6,7 @@ package statements
|
|||
|
||||
import (
|
||||
"database/sql/driver"
|
||||
"errors"
|
||||
"fmt"
|
||||
"reflect"
|
||||
"time"
|
||||
|
@ -200,8 +201,7 @@ func (statement *Statement) BuildUpdates(bean interface{},
|
|||
continue
|
||||
}
|
||||
} else {
|
||||
// TODO: how to handler?
|
||||
panic("not supported")
|
||||
return nil, nil, errors.New("Not supported multiple primary keys")
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
@ -209,7 +209,7 @@ func (statement *Statement) BuildUpdates(bean interface{},
|
|||
if requiredField || !utils.IsStructZero(fieldValue) {
|
||||
bytes, err := json.DefaultJSONHandler.Marshal(fieldValue.Interface())
|
||||
if err != nil {
|
||||
panic(fmt.Sprintf("mashal %v failed", fieldValue.Interface()))
|
||||
return nil, nil, fmt.Errorf("mashal %v failed", fieldValue.Interface())
|
||||
}
|
||||
if col.SQLType.IsText() {
|
||||
val = string(bytes)
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
package xorm
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"sync"
|
||||
"testing"
|
||||
|
@ -291,10 +290,7 @@ func TestUpdate1(t *testing.T) {
|
|||
var ori Userinfo
|
||||
has, err := testEngine.Get(&ori)
|
||||
assert.NoError(t, err)
|
||||
if !has {
|
||||
t.Error(errors.New("not exist"))
|
||||
panic(errors.New("not exist"))
|
||||
}
|
||||
assert.True(t, has)
|
||||
|
||||
// update by id
|
||||
user := Userinfo{Username: "xxx", Height: 1.2}
|
||||
|
@ -318,10 +314,7 @@ 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)
|
||||
}
|
||||
assert.NoError(t, err)
|
||||
userID := user.Uid
|
||||
|
||||
has, err := testEngine.ID(userID).
|
||||
|
@ -362,10 +355,7 @@ func TestUpdate1(t *testing.T) {
|
|||
|
||||
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}
|
||||
|
|
151
tags_test.go
151
tags_test.go
|
@ -5,7 +5,6 @@
|
|||
package xorm
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"strings"
|
||||
"testing"
|
||||
|
@ -326,36 +325,14 @@ func TestExtends3(t *testing.T) {
|
|||
Join("LEFT", []string{typeTableName, "type"}, "`type`.`"+mapper("Id")+"`="+msgTableName+".`"+mapper("Id")+"`").
|
||||
Find(&list)
|
||||
assert.NoError(t, err)
|
||||
|
||||
if len(list) != 1 {
|
||||
err = errors.New(fmt.Sprintln("should have 1 message, got", len(list)))
|
||||
t.Error(err)
|
||||
panic(err)
|
||||
}
|
||||
|
||||
if list[0].Message.Id != msg.Id {
|
||||
err = errors.New(fmt.Sprintln("should message equal", list[0].Message, msg))
|
||||
t.Error(err)
|
||||
panic(err)
|
||||
}
|
||||
|
||||
if list[0].Sender.Id != sender.Id || list[0].Sender.Name != sender.Name {
|
||||
err = errors.New(fmt.Sprintln("should sender equal", list[0].Sender, sender))
|
||||
t.Error(err)
|
||||
panic(err)
|
||||
}
|
||||
|
||||
if list[0].Receiver.Id != receiver.Id || list[0].Receiver.Name != receiver.Name {
|
||||
err = errors.New(fmt.Sprintln("should receiver equal", list[0].Receiver, receiver))
|
||||
t.Error(err)
|
||||
panic(err)
|
||||
}
|
||||
|
||||
if list[0].Type.Id != msgtype.Id || list[0].Type.Name != msgtype.Name {
|
||||
err = errors.New(fmt.Sprintln("should msgtype equal", list[0].Type, msgtype))
|
||||
t.Error(err)
|
||||
panic(err)
|
||||
}
|
||||
assert.EqualValues(t, 1, len(list))
|
||||
assert.EqualValues(t, list[0].Message.Id, msg.Id)
|
||||
assert.EqualValues(t, list[0].Sender.Id, sender.Id)
|
||||
assert.EqualValues(t, list[0].Sender.Name, sender.Name)
|
||||
assert.EqualValues(t, list[0].Receiver.Id, receiver.Id)
|
||||
assert.EqualValues(t, list[0].Receiver.Name, receiver.Name)
|
||||
assert.EqualValues(t, list[0].Type.Id, msgtype.Id)
|
||||
assert.EqualValues(t, list[0].Type.Name, msgtype.Name)
|
||||
}
|
||||
|
||||
func TestExtends4(t *testing.T) {
|
||||
|
@ -410,30 +387,12 @@ func TestExtends4(t *testing.T) {
|
|||
Join("LEFT", typeTableName, typeTableName+".`"+mapper("Id")+"`="+msgTableName+".`"+mapper("Id")+"`").
|
||||
Find(&list)
|
||||
assert.NoError(t, err)
|
||||
|
||||
if len(list) != 1 {
|
||||
err = errors.New(fmt.Sprintln("should have 1 message, got", len(list)))
|
||||
t.Error(err)
|
||||
panic(err)
|
||||
}
|
||||
|
||||
if list[0].Message.Id != msg.Id {
|
||||
err = errors.New(fmt.Sprintln("should message equal", list[0].Message, msg))
|
||||
t.Error(err)
|
||||
panic(err)
|
||||
}
|
||||
|
||||
if list[0].MessageUser.Id != sender.Id || list[0].MessageUser.Name != sender.Name {
|
||||
err = errors.New(fmt.Sprintln("should sender equal", list[0].MessageUser, sender))
|
||||
t.Error(err)
|
||||
panic(err)
|
||||
}
|
||||
|
||||
if list[0].MessageType.Id != msgtype.Id || list[0].MessageType.Name != msgtype.Name {
|
||||
err = errors.New(fmt.Sprintln("should msgtype equal", list[0].MessageType, msgtype))
|
||||
t.Error(err)
|
||||
panic(err)
|
||||
}
|
||||
assert.EqualValues(t, len(list), 1)
|
||||
assert.EqualValues(t, list[0].Message.Id, msg.Id)
|
||||
assert.EqualValues(t, list[0].MessageUser.Id, sender.Id)
|
||||
assert.EqualValues(t, list[0].MessageUser.Name, sender.Name)
|
||||
assert.EqualValues(t, list[0].MessageType.Id, msgtype.Id)
|
||||
assert.EqualValues(t, list[0].MessageType.Name, msgtype.Name)
|
||||
}
|
||||
|
||||
type Size struct {
|
||||
|
@ -1240,45 +1199,23 @@ func TestVersion1(t *testing.T) {
|
|||
ver := &VersionS{Name: "sfsfdsfds"}
|
||||
_, err = testEngine.Insert(ver)
|
||||
assert.NoError(t, err)
|
||||
fmt.Println(ver)
|
||||
if ver.Ver != 1 {
|
||||
err = errors.New("insert error")
|
||||
t.Error(err)
|
||||
panic(err)
|
||||
}
|
||||
assert.EqualValues(t, ver.Ver, 1)
|
||||
|
||||
newVer := new(VersionS)
|
||||
has, err := testEngine.ID(ver.Id).Get(newVer)
|
||||
assert.NoError(t, err)
|
||||
|
||||
if !has {
|
||||
t.Error(fmt.Errorf("no version id is %v", ver.Id))
|
||||
panic(err)
|
||||
}
|
||||
fmt.Println(newVer)
|
||||
if newVer.Ver != 1 {
|
||||
err = errors.New("insert error")
|
||||
t.Error(err)
|
||||
panic(err)
|
||||
}
|
||||
assert.True(t, has)
|
||||
assert.EqualValues(t, newVer.Ver, 1)
|
||||
|
||||
newVer.Name = "-------"
|
||||
_, err = testEngine.ID(ver.Id).Update(newVer)
|
||||
assert.NoError(t, err)
|
||||
if newVer.Ver != 2 {
|
||||
err = errors.New("update should set version back to struct")
|
||||
t.Error(err)
|
||||
}
|
||||
assert.EqualValues(t, newVer.Ver, 2)
|
||||
|
||||
newVer = new(VersionS)
|
||||
has, err = testEngine.ID(ver.Id).Get(newVer)
|
||||
assert.NoError(t, err)
|
||||
fmt.Println(newVer)
|
||||
if newVer.Ver != 2 {
|
||||
err = errors.New("update error")
|
||||
t.Error(err)
|
||||
panic(err)
|
||||
}
|
||||
assert.EqualValues(t, newVer.Ver, 2)
|
||||
}
|
||||
|
||||
func TestVersion2(t *testing.T) {
|
||||
|
@ -1296,15 +1233,8 @@ func TestVersion2(t *testing.T) {
|
|||
}
|
||||
_, err = testEngine.Insert(vers)
|
||||
assert.NoError(t, err)
|
||||
|
||||
fmt.Println(vers)
|
||||
|
||||
for _, v := range vers {
|
||||
if v.Ver != 1 {
|
||||
err := errors.New("version should be 1")
|
||||
t.Error(err)
|
||||
panic(err)
|
||||
}
|
||||
assert.EqualValues(t, v.Ver, 1)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1327,45 +1257,23 @@ func TestVersion3(t *testing.T) {
|
|||
ver := &VersionUintS{Name: "sfsfdsfds"}
|
||||
_, err = testEngine.Insert(ver)
|
||||
assert.NoError(t, err)
|
||||
fmt.Println(ver)
|
||||
if ver.Ver != 1 {
|
||||
err = errors.New("insert error")
|
||||
t.Error(err)
|
||||
panic(err)
|
||||
}
|
||||
assert.EqualValues(t, ver.Ver, 1)
|
||||
|
||||
newVer := new(VersionUintS)
|
||||
has, err := testEngine.ID(ver.Id).Get(newVer)
|
||||
assert.NoError(t, err)
|
||||
|
||||
if !has {
|
||||
t.Error(fmt.Errorf("no version id is %v", ver.Id))
|
||||
panic(err)
|
||||
}
|
||||
fmt.Println(newVer)
|
||||
if newVer.Ver != 1 {
|
||||
err = errors.New("insert error")
|
||||
t.Error(err)
|
||||
panic(err)
|
||||
}
|
||||
assert.True(t, has)
|
||||
assert.EqualValues(t, newVer.Ver, 1)
|
||||
|
||||
newVer.Name = "-------"
|
||||
_, err = testEngine.ID(ver.Id).Update(newVer)
|
||||
assert.NoError(t, err)
|
||||
if newVer.Ver != 2 {
|
||||
err = errors.New("update should set version back to struct")
|
||||
t.Error(err)
|
||||
}
|
||||
assert.EqualValues(t, newVer.Ver, 2)
|
||||
|
||||
newVer = new(VersionUintS)
|
||||
has, err = testEngine.ID(ver.Id).Get(newVer)
|
||||
assert.NoError(t, err)
|
||||
fmt.Println(newVer)
|
||||
if newVer.Ver != 2 {
|
||||
err = errors.New("update error")
|
||||
t.Error(err)
|
||||
panic(err)
|
||||
}
|
||||
assert.EqualValues(t, newVer.Ver, 2)
|
||||
}
|
||||
|
||||
func TestVersion4(t *testing.T) {
|
||||
|
@ -1383,14 +1291,7 @@ func TestVersion4(t *testing.T) {
|
|||
}
|
||||
_, err = testEngine.Insert(vers)
|
||||
assert.NoError(t, err)
|
||||
|
||||
fmt.Println(vers)
|
||||
|
||||
for _, v := range vers {
|
||||
if v.Ver != 1 {
|
||||
err := errors.New("version should be 1")
|
||||
t.Error(err)
|
||||
panic(err)
|
||||
}
|
||||
assert.EqualValues(t, v.Ver, 1)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -77,16 +77,8 @@ func TestNullStructInsert(t *testing.T) {
|
|||
if true {
|
||||
item := new(NullType)
|
||||
_, err := testEngine.Insert(item)
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
panic(err)
|
||||
}
|
||||
fmt.Println(item)
|
||||
if item.Id != 1 {
|
||||
err = errors.New("insert error")
|
||||
t.Error(err)
|
||||
panic(err)
|
||||
}
|
||||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, item.Id, 1)
|
||||
}
|
||||
|
||||
if true {
|
||||
|
@ -97,16 +89,8 @@ func TestNullStructInsert(t *testing.T) {
|
|||
IsMan: sql.NullBool{Bool: true, Valid: true},
|
||||
}
|
||||
_, err := testEngine.Insert(&item)
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
panic(err)
|
||||
}
|
||||
fmt.Println(item)
|
||||
if item.Id != 2 {
|
||||
err = errors.New("insert error")
|
||||
t.Error(err)
|
||||
panic(err)
|
||||
}
|
||||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, item.Id, 2)
|
||||
}
|
||||
|
||||
if true {
|
||||
|
@ -125,11 +109,7 @@ func TestNullStructInsert(t *testing.T) {
|
|||
}
|
||||
|
||||
_, err := testEngine.Insert(&items)
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
panic(err)
|
||||
}
|
||||
fmt.Println(items)
|
||||
assert.NoError(t, err)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -171,30 +151,16 @@ func TestNullStructUpdate(t *testing.T) {
|
|||
item.Height = sql.NullFloat64{Float64: 0, Valid: false} // update to NULL
|
||||
|
||||
affected, err := testEngine.ID(2).Cols("age", "height", "is_man").Update(item)
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
panic(err)
|
||||
}
|
||||
if affected != 1 {
|
||||
err := errors.New("update failed")
|
||||
t.Error(err)
|
||||
panic(err)
|
||||
}
|
||||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, affected, 1)
|
||||
}
|
||||
|
||||
if true { // 测试In update
|
||||
item := new(NullType)
|
||||
item.Age = sql.NullInt64{Int64: 23, Valid: true}
|
||||
affected, err := testEngine.In("id", 3, 4).Cols("age", "height", "is_man").Update(item)
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
panic(err)
|
||||
}
|
||||
if affected != 2 {
|
||||
err := errors.New("update failed")
|
||||
t.Error(err)
|
||||
panic(err)
|
||||
}
|
||||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, affected, 2)
|
||||
}
|
||||
|
||||
if true { // 测试where
|
||||
|
@ -204,10 +170,7 @@ func TestNullStructUpdate(t *testing.T) {
|
|||
item.Age = sql.NullInt64{Int64: 34, Valid: true}
|
||||
|
||||
_, err := testEngine.Where("age > ?", 34).Update(item)
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
panic(err)
|
||||
}
|
||||
assert.NoError(t, err)
|
||||
}
|
||||
|
||||
if true { // 修改全部时,插入空值
|
||||
|
@ -219,10 +182,7 @@ func TestNullStructUpdate(t *testing.T) {
|
|||
}
|
||||
|
||||
_, err := testEngine.AllCols().ID(6).Update(item)
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
panic(err)
|
||||
}
|
||||
assert.NoError(t, err)
|
||||
fmt.Println(item)
|
||||
}
|
||||
|
||||
|
@ -263,63 +223,33 @@ func TestNullStructFind(t *testing.T) {
|
|||
if true {
|
||||
item := new(NullType)
|
||||
has, err := testEngine.ID(1).Get(item)
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
panic(err)
|
||||
}
|
||||
if !has {
|
||||
t.Error(errors.New("no find id 1"))
|
||||
panic(err)
|
||||
}
|
||||
fmt.Println(item)
|
||||
if item.Id != 1 || item.Name.Valid || item.Age.Valid || item.Height.Valid ||
|
||||
item.IsMan.Valid {
|
||||
err = errors.New("insert error")
|
||||
t.Error(err)
|
||||
panic(err)
|
||||
}
|
||||
assert.NoError(t, err)
|
||||
assert.True(t, has)
|
||||
assert.EqualValues(t, item.Id, 1)
|
||||
assert.False(t, item.Name.Valid)
|
||||
assert.False(t, item.Age.Valid)
|
||||
assert.False(t, item.Height.Valid)
|
||||
assert.False(t, item.IsMan.Valid)
|
||||
}
|
||||
|
||||
if true {
|
||||
item := new(NullType)
|
||||
item.Id = 2
|
||||
|
||||
has, err := testEngine.Get(item)
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
panic(err)
|
||||
}
|
||||
if !has {
|
||||
t.Error(errors.New("no find id 2"))
|
||||
panic(err)
|
||||
}
|
||||
fmt.Println(item)
|
||||
assert.NoError(t, err)
|
||||
assert.True(t, has)
|
||||
}
|
||||
|
||||
if true {
|
||||
item := make([]NullType, 0)
|
||||
|
||||
err := testEngine.ID(2).Find(&item)
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
panic(err)
|
||||
}
|
||||
|
||||
fmt.Println(item)
|
||||
assert.NoError(t, err)
|
||||
}
|
||||
|
||||
if true {
|
||||
item := make([]NullType, 0)
|
||||
|
||||
err := testEngine.Asc("age").Find(&item)
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
panic(err)
|
||||
}
|
||||
|
||||
for k, v := range item {
|
||||
fmt.Println(k, v)
|
||||
}
|
||||
assert.NoError(t, err)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -334,10 +264,7 @@ func TestNullStructIterate(t *testing.T) {
|
|||
fmt.Println(i, nultype)
|
||||
return nil
|
||||
})
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
panic(err)
|
||||
}
|
||||
assert.NoError(t, err)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -348,10 +275,7 @@ func TestNullStructCount(t *testing.T) {
|
|||
if true {
|
||||
item := new(NullType)
|
||||
total, err := testEngine.Where("age IS NOT NULL").Count(item)
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
panic(err)
|
||||
}
|
||||
assert.NoError(t, err)
|
||||
fmt.Println(total)
|
||||
}
|
||||
}
|
||||
|
@ -367,10 +291,7 @@ func TestNullStructRows(t *testing.T) {
|
|||
|
||||
for rows.Next() {
|
||||
err = rows.Scan(item)
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
panic(err)
|
||||
}
|
||||
assert.NoError(t, err)
|
||||
fmt.Println(item)
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue