106 lines
2.2 KiB
Go
106 lines
2.2 KiB
Go
// Package simpleRequest -----------------------------
|
|
// file : simpleRequest_test.go
|
|
// author : JJXu
|
|
// contact : wavingBear@163.com
|
|
// time : 2022/12/9 20:34:52
|
|
// -------------------------------------------
|
|
package simpleRequest
|
|
|
|
import (
|
|
"encoding/json"
|
|
"fmt"
|
|
"io"
|
|
"net/http"
|
|
"testing"
|
|
)
|
|
|
|
type api struct {
|
|
Name string `json:"name" form:"name" query:"name"`
|
|
}
|
|
|
|
func httpserver() {
|
|
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
|
|
switch r.Method {
|
|
case "POST":
|
|
var data api
|
|
jsonDecoder := json.NewDecoder(r.Body)
|
|
jsonDecoder.Decode(&data)
|
|
if data.Name == "JJXu" {
|
|
io.WriteString(w, "ok")
|
|
} else {
|
|
io.WriteString(w, "false")
|
|
}
|
|
|
|
default:
|
|
io.WriteString(w, "false")
|
|
}
|
|
})
|
|
fmt.Println("http服务启动了")
|
|
http.ListenAndServe(":8989", nil)
|
|
}
|
|
|
|
func TestPost_withSet(t *testing.T) {
|
|
go httpserver()
|
|
var r = NewRequest()
|
|
r.Headers().ConentType_json()
|
|
r.Body().Set("name", "JJXu")
|
|
result, err := r.POST("http://localhost:8989/")
|
|
if err != nil {
|
|
t.Error(err.Error())
|
|
} else {
|
|
t.Log(string(result))
|
|
}
|
|
}
|
|
|
|
func TestPost_withSets(t *testing.T) {
|
|
go httpserver()
|
|
|
|
var r = NewRequest()
|
|
r.Headers().ConentType_json()
|
|
r.Body().Sets(map[string]any{
|
|
"name": "JJXu",
|
|
})
|
|
result, err := r.POST("http://localhost:8989/")
|
|
if err != nil {
|
|
t.Error(err.Error())
|
|
} else {
|
|
t.Log(string(result))
|
|
}
|
|
}
|
|
|
|
func TestPost_withSetModel(t *testing.T) {
|
|
go httpserver()
|
|
|
|
var r = NewRequest()
|
|
r.Headers().ConentType_json()
|
|
var entry = api{
|
|
Name: "JJXu",
|
|
}
|
|
r.Body().SetModel(&entry)
|
|
result, err := r.POST("http://localhost:8989/")
|
|
if err != nil {
|
|
t.Error(err.Error())
|
|
} else {
|
|
t.Log(string(result))
|
|
}
|
|
}
|
|
|
|
// url中的query param字符串参数会被r.QueryParams()中的key值覆盖
|
|
func TestQueryUrl2(t *testing.T) {
|
|
go httpserver()
|
|
|
|
var r = NewRequest()
|
|
r.Headers().ConentType_formUrlencoded()
|
|
r.QueryParams().Set("a", "123")
|
|
r.QueryParams().Set("b", "456")
|
|
_, err := r.POST("http://localhost:8989?a=1&b=2&c=3")
|
|
if err != nil {
|
|
t.Error(err.Error())
|
|
} else {
|
|
if r.Request.URL.RawQuery != "a=123&b=456&c=3" {
|
|
t.Errorf("query params wangt '%s' but get '%s'", "a=123&b=456&c=3", r.Request.URL.RawQuery)
|
|
}
|
|
}
|
|
|
|
}
|