You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
1.4 KiB
61 lines
1.4 KiB
package http |
|
|
|
import ( |
|
"context" |
|
"net/url" |
|
"testing" |
|
"time" |
|
|
|
"go-common/app/admin/main/reply/conf" |
|
"go-common/library/log" |
|
bm "go-common/library/net/http/blademaster" |
|
xtime "go-common/library/time" |
|
) |
|
|
|
const ( |
|
_monitorState = "http://127.0.0.1:6711/x/internal/replyadmin/monitor/state" |
|
) |
|
|
|
func TestHttp(t *testing.T) { |
|
var ( |
|
err error |
|
) |
|
if err = conf.Init(); err != nil { |
|
t.Errorf("conf.Init() error(%v)", err) |
|
t.FailNow() |
|
} |
|
log.Init(conf.Conf.Log) |
|
defer log.Close() |
|
client := bm.NewClient(&bm.ClientConfig{ |
|
Dial: xtime.Duration(time.Second), |
|
Timeout: xtime.Duration(time.Second), |
|
}) |
|
Init(conf.Conf) |
|
// test |
|
testMonitorState(client, t) |
|
} |
|
|
|
func testMonitorState(client *bm.Client, t *testing.T) { |
|
var err error |
|
params := url.Values{} |
|
params.Set("type", "1") |
|
params.Set("oid", "1") |
|
params.Set("state", "1") |
|
params.Set("adid", "11") |
|
params.Set("remark", "test") |
|
// send |
|
res := map[string]interface{}{} |
|
if err = client.Post(context.Background(), _monitorState, "", params, &res); err != nil { |
|
t.Errorf("client.Post() error(%v)", err) |
|
t.FailNow() |
|
} |
|
validRes(_monitorState, params, res, t) |
|
} |
|
|
|
func validRes(url string, params url.Values, res map[string]interface{}, t *testing.T) { |
|
if code, ok := res["code"]; ok && code.(float64) == 0 { |
|
t.Logf("\nurl:%s\nparams:%s\nres:%v", url, params.Encode(), res) |
|
} else { |
|
t.Errorf("\nurl:%s\nparams:%s\nres:%v", url, params.Encode(), res) |
|
} |
|
}
|
|
|