yao/network/request_test.go

66 lines
2 KiB
Go

package network
import (
"testing"
"github.com/stretchr/testify/assert"
"github.com/yaoapp/gou"
"github.com/yaoapp/kun/any"
)
func TestRequestGetHtml(t *testing.T) {
resp := RequestGet("https://api.github.com/zen", nil, nil)
assert.Equal(t, 200, resp.Status)
assert.Equal(t, nil, resp.Data)
}
func TestRequestGetJSON(t *testing.T) {
resp := RequestGet("https://api.github.com/users/yaoapp", nil, nil)
assert.Equal(t, 200, resp.Status)
data := any.Of(resp.Data).MapStr().Dot()
assert.Equal(t, "https://github.com/YaoApp", data.Get("html_url"))
}
func TestRequestPost(t *testing.T) {
resp := RequestPost("https://api.github.com/zen", map[string]interface{}{"foo": "bar"}, nil)
assert.Equal(t, 404, resp.Status)
}
func TestRequestPostJSON(t *testing.T) {
resp := RequestPostJSON("https://api.github.com/zen", map[string]interface{}{"foo": "bar"}, nil)
assert.Equal(t, 404, resp.Status)
}
func TestRequestProcessGet(t *testing.T) {
args := []interface{}{"https://api.github.com/zen"}
res := gou.NewProcess("xiang.network.Get", args...).Run()
resp, ok := res.(Response)
assert.True(t, ok)
assert.Equal(t, 200, resp.Status)
assert.Equal(t, nil, resp.Data)
}
func TestRequestProcessPost(t *testing.T) {
args := []interface{}{"https://api.github.com/zen", map[string]interface{}{"foo": "bar"}, nil}
res := gou.NewProcess("xiang.network.Post", args...).Run()
resp, ok := res.(Response)
assert.True(t, ok)
assert.Equal(t, 404, resp.Status)
}
func TestRequestProcessPostJSON(t *testing.T) {
args := []interface{}{"https://api.github.com/zen", map[string]interface{}{"foo": "bar"}, nil}
res := gou.NewProcess("xiang.network.PostJSON", args...).Run()
resp, ok := res.(Response)
assert.True(t, ok)
assert.Equal(t, 404, resp.Status)
}
func TestRequestProcessSend(t *testing.T) {
args := []interface{}{"GET", "https://api.github.com/zen"}
res := gou.NewProcess("xiang.network.Send", args...).Run()
resp, ok := res.(Response)
assert.True(t, ok)
assert.Equal(t, 200, resp.Status)
assert.Equal(t, nil, resp.Data)
}