66 lines
2 KiB
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)
|
|
}
|