micro-client-http/http_test.go
Vasiliy Tolstov ce49e7d867 extend test case
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2021-02-06 19:05:55 +03:00

41 lines
819 B
Go

package http
import (
"net/url"
"strings"
"testing"
)
type Request struct {
Name string `json:"name"`
Field1 string
Field2 string
Field3 int64
}
func TestValidPath(t *testing.T) {
req := &Request{Name: "vtolstov", Field1: "field1", Field2: "field2", Field3: 10}
p, m, err := newPathRequest("/api/v1/{name}/list", "GET", "", req)
if err != nil {
t.Fatal(err)
}
u, err := url.Parse(p)
if err != nil {
t.Fatal(err)
}
_ = m
parts := strings.Split(u.RawQuery, "&")
if len(parts) != 3 {
t.Fatalf("invalid path: %v", parts)
}
}
func TestInvalidPath(t *testing.T) {
req := &Request{Name: "vtolstov", Field1: "field1", Field2: "field2", Field3: 10}
p, m, err := newPathRequest("/api/v1/{xname}/list", "GET", "", req)
if err == nil {
t.Fatalf("path param must not be filled")
}
_, _ = p, m
}