add tag support
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
This commit is contained in:
57
util_test.go
57
util_test.go
@@ -5,10 +5,19 @@ import (
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestTemplate(t *testing.T) {
|
||||
tpl, err := newTemplate("/v1/{ClientID}/list")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
_ = tpl
|
||||
// fmt.Printf("%#+v\n", tpl.Pool)
|
||||
}
|
||||
|
||||
func TestNewPathRequest(t *testing.T) {
|
||||
type Message struct {
|
||||
Name string
|
||||
Val1 string
|
||||
Name string `json:"name"`
|
||||
Val1 string `protobuf:"bytes,1,opt,name=val1,proto3" json:"val1"`
|
||||
Val2 int64
|
||||
Val3 []string
|
||||
}
|
||||
@@ -16,7 +25,8 @@ func TestNewPathRequest(t *testing.T) {
|
||||
omsg := &Message{Name: "test_name", Val1: "test_val1", Val2: 100, Val3: []string{"slice"}}
|
||||
|
||||
for _, m := range []string{"POST", "PUT", "PATCH", "GET", "DELETE"} {
|
||||
path, nmsg, err := newPathRequest("/v1/test", m, "", omsg)
|
||||
body := ""
|
||||
path, nmsg, err := newPathRequest("/v1/test", m, body, omsg, []string{"protobuf", "json"})
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
@@ -26,7 +36,46 @@ func TestNewPathRequest(t *testing.T) {
|
||||
}
|
||||
vals := u.Query()
|
||||
if v, ok := vals["name"]; !ok || v[0] != "test_name" {
|
||||
t.Fatalf("invlid path: %v nmsg: %v", path, nmsg)
|
||||
t.Fatalf("invalid path: %v nmsg: %v", path, nmsg)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestNewPathVarRequest(t *testing.T) {
|
||||
type Message struct {
|
||||
Name string `json:"name"`
|
||||
Val1 string `protobuf:"bytes,1,opt,name=val1,proto3" json:"val1"`
|
||||
Val2 int64
|
||||
Val3 []string
|
||||
}
|
||||
|
||||
omsg := &Message{Name: "test_name", Val1: "test_val1", Val2: 100, Val3: []string{"slice"}}
|
||||
|
||||
for _, m := range []string{"POST", "PUT", "PATCH", "GET", "DELETE"} {
|
||||
body := ""
|
||||
if m != "GET" {
|
||||
body = "*"
|
||||
}
|
||||
path, nmsg, err := newPathRequest("/v1/test/{val1}", m, body, omsg, []string{"protobuf", "json"})
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
u, err := url.Parse(path)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if m != "GET" {
|
||||
if _, ok := nmsg.(*Message); !ok {
|
||||
t.Fatalf("invalid nmsg: %#+v\n", nmsg)
|
||||
}
|
||||
if nmsg.(*Message).Name != "test_name" {
|
||||
t.Fatalf("invalid nmsg: %v nmsg: %v", path, nmsg)
|
||||
}
|
||||
} else {
|
||||
vals := u.Query()
|
||||
if v, ok := vals["val2"]; !ok || v[0] != "100" {
|
||||
t.Fatalf("invalid path: %v nmsg: %v", path, nmsg)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user