added
reflect test
This commit is contained in:
parent
b6b4c5e02d
commit
c8cfb12d17
@ -9,6 +9,7 @@ import (
|
||||
"fmt"
|
||||
|
||||
"git.loafle.net/overflow/overflow_proxy_service/proxy/member"
|
||||
"git.loafle.net/overflow/overflow_proxy_service/proxy/target"
|
||||
)
|
||||
|
||||
func TestServices(t *testing.T) {
|
||||
@ -124,3 +125,98 @@ func TestConvertParamModel(t *testing.T) {
|
||||
|
||||
fmt.Println(mem.Email)
|
||||
}
|
||||
|
||||
func TestParamTypeCreate(t *testing.T) {
|
||||
|
||||
ms := member.NewMemberService()
|
||||
|
||||
res := `{"email":"geek@loafle.com","pwSalt":"dssdft","company":"loafle"}`
|
||||
|
||||
method := reflect.ValueOf(ms).MethodByName("Regist")
|
||||
|
||||
var NewObj reflect.Value;
|
||||
for i := 0; i < method.Type().NumIn(); i++ {
|
||||
tt := method.Type().In(i)
|
||||
|
||||
t.Log(tt)
|
||||
|
||||
switch tt.Kind() {
|
||||
case reflect.Ptr :
|
||||
NewObj = reflect.New(tt.Elem())
|
||||
}
|
||||
|
||||
|
||||
//obj = NewObj.Elem().Interface()
|
||||
|
||||
//intPtr := reflect.New(tt)
|
||||
//obj := intPtr.Elem().Interface()
|
||||
|
||||
err := json.Unmarshal([]byte(res), NewObj.Interface())
|
||||
if err != nil {
|
||||
t.Log(err)
|
||||
}
|
||||
|
||||
t.Log(NewObj)
|
||||
}
|
||||
|
||||
params := make([]reflect.Value, method.Type().NumIn())
|
||||
|
||||
params[0] = NewObj;
|
||||
|
||||
result := method.Call(params)[0].String()
|
||||
|
||||
t.Log(result)
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
func TestListReflect(t *testing.T) {
|
||||
|
||||
res := "[{\"id\":1,\"ip\":3232235882,\"port\":5432,\"targetType\":\"DATABASE\",\"vendorName\":\"PostgreSQL 9.5.0\",\"kinds\":\"PostgreSQL\",\"version\":\"9.5.0\",\"createDate\":1496631864025,\"member\":{\"id\":1,\"email\":\"ddddd@loafle.com\",\"pwSalt\":\"salktttt\",\"digest\":\"bbbbbbbbb\",\"name\":\"snnnnn\",\"company\":\"loafle\",\"phone\":\"000-000-0000\",\"authorizedDate\":null}},{\"id\":2,\"ip\":3232235882,\"port\":5432,\"targetType\":\"DATABASE\",\"vendorName\":\"PostgreSQL 9.5.0\",\"kinds\":\"PostgreSQL\",\"version\":\"9.5.0\",\"createDate\":1496635285090,\"member\":{\"id\":1,\"email\":\"ddddd@loafle.com\",\"pwSalt\":\"salktttt\",\"digest\":\"bbbbbbbbb\",\"name\":\"snnnnn\",\"company\":\"loafle\",\"phone\":\"000-000-0000\",\"authorizedDate\":null}},{\"id\":3,\"ip\":3232235882,\"port\":5432,\"targetType\":\"DATABASE\",\"vendorName\":\"PostgreSQL 9.5.0\",\"kinds\":\"PostgreSQL\",\"version\":\"9.5.0\",\"createDate\":1496642868260,\"member\":{\"id\":1,\"email\":\"ddddd@loafle.com\",\"pwSalt\":\"salktttt\",\"digest\":\"bbbbbbbbb\",\"name\":\"snnnnn\",\"company\":\"loafle\",\"phone\":\"000-000-0000\",\"authorizedDate\":null}},{\"id\":4,\"ip\":3232235882,\"port\":5432,\"targetType\":\"DATABASE\",\"vendorName\":\"PostgreSQL 9.5.0\",\"kinds\":\"PostgreSQL\",\"version\":\"9.5.0\",\"createDate\":1496814093714,\"member\":{\"id\":1,\"email\":\"ddddd@loafle.com\",\"pwSalt\":\"salktttt\",\"digest\":\"bbbbbbbbb\",\"name\":\"snnnnn\",\"company\":\"loafle\",\"phone\":\"000-000-0000\",\"authorizedDate\":null}},{\"id\":5,\"ip\":3232235882,\"port\":5432,\"targetType\":\"DATABASE\",\"vendorName\":\"PostgreSQL 9.5.0\",\"kinds\":\"PostgreSQL\",\"version\":\"9.5.0\",\"createDate\":1496814103052,\"member\":{\"id\":1,\"email\":\"ddddd@loafle.com\",\"pwSalt\":\"salktttt\",\"digest\":\"bbbbbbbbb\",\"name\":\"snnnnn\",\"company\":\"loafle\",\"phone\":\"000-000-0000\",\"authorizedDate\":null}},{\"id\":6,\"ip\":3232235882,\"port\":5432,\"targetType\":\"DATABASE\",\"vendorName\":\"PostgreSQL 9.5.0\",\"kinds\":\"PostgreSQL\",\"version\":\"9.5.0\",\"createDate\":1496814184478,\"member\":{\"id\":1,\"email\":\"ddddd@loafle.com\",\"pwSalt\":\"salktttt\",\"digest\":\"bbbbbbbbb\",\"name\":\"snnnnn\",\"company\":\"loafle\",\"phone\":\"000-000-0000\",\"authorizedDate\":null}}]";
|
||||
|
||||
t.Log(res)
|
||||
|
||||
|
||||
ts := target.NewTargetService()
|
||||
|
||||
|
||||
method := reflect.ValueOf(ts).MethodByName("CreateList")
|
||||
|
||||
|
||||
var NewObj reflect.Value;
|
||||
for i := 0; i < method.Type().NumIn(); i++ {
|
||||
tt := method.Type().In(i)
|
||||
|
||||
t.Log(tt)
|
||||
|
||||
switch tt.Kind() {
|
||||
case reflect.Ptr :
|
||||
NewObj = reflect.New(tt.Elem())
|
||||
case reflect.Slice :
|
||||
NewObj = reflect.MakeSlice(tt, 0, 0)
|
||||
}
|
||||
|
||||
err := json.Unmarshal([]byte(res), NewObj.Interface())
|
||||
if err != nil {
|
||||
t.Log(err)
|
||||
}
|
||||
|
||||
t.Log(NewObj)
|
||||
|
||||
}
|
||||
|
||||
params := make([]reflect.Value, method.Type().NumIn())
|
||||
|
||||
params[0] = NewObj;
|
||||
|
||||
result := method.Call(params)[0].String()
|
||||
|
||||
t.Log(result)
|
||||
|
||||
|
||||
//ts.cre
|
||||
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user