liuhaijun e94826ce29 add server
Change-Id: I0760f17f6a01c0121b59fcbfafc666032dbc30af
2024-09-19 09:44:15 +00:00

139 lines
2.6 KiB
Go

package common
import (
"errors"
"testing"
)
func TestNewPaginationQuery(t *testing.T) {
resource := []struct {
label string
from int
size int
}{
{
"normal",
1,
10,
},
{
"normal",
0,
10,
},
{
"sizeError",
0,
0,
},
{
"fromError",
-1,
1,
},
{
"doubleError",
-1,
-1,
},
}
for _, item := range resource {
pgq := NewPaginationQuery(item.from, item.size)
flag := pgq.IsValid()
if !flag && item.label == "normal" {
t.Error(errors.New("IsValid error"))
}
str := pgq.String()
if str == "" && item.label == "normal" {
t.Error(errors.New("string error"))
}
}
if !NoPagination.IsValid() {
t.Error(errors.New("IsValid error"))
}
if NoPagination.String() != "" {
t.Error(errors.New("string error"))
}
}
func TestNewSortQuery(t *testing.T) {
resource := []string{"a", "param1", "d", "param2", "d", "param3"}
fake1 := []string{}
fake2 := []string{"a"}
fake3 := []string{"a", "p1", "b", "p2"}
sq := NewSortQuery(resource)
if sq.String() == "" {
t.Error(errors.New("string error"))
}
fakeSq1 := NewSortQuery(fake1)
if fakeSq1.String() != "" {
t.Error(errors.New("string error"))
}
fakeSq2 := NewSortQuery(fake2)
if fakeSq2.String() != "" {
t.Error(errors.New("string error"))
}
fakeSq3 := NewSortQuery(fake3)
if fakeSq3.String() != "" {
t.Error(errors.New("string error"))
}
if NoSort.String() != "" {
t.Error(errors.New("string error"))
}
}
func TestNewFilterQuery(t *testing.T) {
resource := []string{"type", "param"}
fake1 := []string{}
fake2 := []string{"type"}
fake3 := []string{"_neqtype", "param"}
fake4 := []string{"_eqtype", "param"}
fq := NewFilterQuery(resource)
if fq.String() == " '1' = '1' " {
t.Error(errors.New("string error"))
}
fqFake1 := NewFilterQuery(fake1)
if fqFake1.String() != " '1' = '1' " {
t.Error(errors.New("string error"))
}
fqFake2 := NewFilterQuery(fake2)
if fqFake2.String() != " '1' = '1' " {
t.Error(errors.New("string error"))
}
fqFake3 := NewFilterQuery(fake3)
if fqFake3.String() == " '1' = '1' " {
t.Error(errors.New("string error"))
}
fqFake4 := NewFilterQuery(fake4)
if fqFake4.String() == " '1' = '1' " {
t.Error(errors.New("string error"))
}
}
func TestNewDataSelectQuery(t *testing.T) {
resource1 := []string{"type", "param"}
resource2 := []string{"a", "param"}
pgq := NewPaginationQuery(0, 10)
sq := NewSortQuery(resource2)
fq := NewFilterQuery(resource1)
NewDataSelectQuery(nil, nil, nil)
NewDataSelectQuery(pgq, nil, nil)
NewDataSelectQuery(pgq, sq, nil)
NewDataSelectQuery(pgq, sq, fq)
}