63 lines
1.3 KiB
Go
63 lines
1.3 KiB
Go
package requests
|
|
|
|
import (
|
|
"net/http"
|
|
"testing"
|
|
|
|
"github.com/tidwall/gjson"
|
|
)
|
|
|
|
func TestFromHTTPResponse(t *testing.T) {
|
|
|
|
var gresp *http.Response
|
|
var err error
|
|
gresp, err = http.DefaultClient.Get("http://httpbin.org/get")
|
|
if err != nil {
|
|
t.Error(err)
|
|
}
|
|
resp, err := FromHTTPResponse(gresp, false)
|
|
if err != nil {
|
|
t.Error(err)
|
|
}
|
|
|
|
if gjson.Get(resp.Content(), "headers.Host").String() != "httpbin.org" {
|
|
t.Error("headers.Host != httpbin.org ?")
|
|
}
|
|
|
|
if resp.GetSrcResponse().StatusCode != 200 {
|
|
t.Error("StatusCode != 200")
|
|
}
|
|
|
|
if len(resp.GetSrcResponse().Header) == 0 {
|
|
t.Error("esp.GetSrcResponse().Header == nil")
|
|
}
|
|
|
|
if resp.GetStatue() != "200 OK" || resp.GetStatueCode() != 200 {
|
|
t.Error(" resp.GetStatue() != 200 OK")
|
|
}
|
|
|
|
if len(resp.GetHeader()["Content-Length"]) != 1 {
|
|
t.Error("resp.GetHeader() is error ?")
|
|
}
|
|
|
|
if int64(len(resp.Content())) != resp.GetContentLength() {
|
|
t.Error("content len is not equal")
|
|
}
|
|
}
|
|
|
|
func TestResponseDeflate(t *testing.T) {
|
|
ses := NewSession()
|
|
if wf := ses.Get("http://httpbin.org/get"); wf != nil {
|
|
wf.AddHeader("accept-encoding", "deflate")
|
|
resp, err := wf.Execute()
|
|
if err != nil {
|
|
t.Error(err)
|
|
} else {
|
|
if gjson.Get(resp.Content(), "headers.Accept-Encoding").String() != "deflate" {
|
|
t.Error("Accept-Encoding != deflate ?")
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|