go-common/app/interface/main/favorite/http/http_test.go
2019-04-22 18:49:16 +08:00

641 lines
22 KiB
Go

package http
import (
"context"
"crypto/md5"
"encoding/hex"
"fmt"
"net/http"
"net/url"
"strconv"
"testing"
"time"
"go-common/app/interface/main/favorite/conf"
"go-common/app/interface/main/favorite/service"
xhttp "go-common/library/net/http/blademaster"
)
const (
_mid = 88888894
_vmid = 12345
_aid = 5463438
_aids = "5463438,5463439"
_fid = 1852
_delFid = 123
_oldFid = 1791
_newFid = 1792
_fidsSort = "1107,1852,1792,1791"
_name = "folder-name-test"
_rename = "folder-rename-test"
_public = 1
_tpid = 2659 // TopicID
_type = 1 // Article
_v3Fid = 0
_searchFid = 0
_oid = 123
_pn = 1
_ps = 30
// video folder
_videoFolders = "http://127.0.0.1:6010/x/internal/v2/fav/folder"
_addVideoFolder = "http://127.0.0.1:6010/x/internal/v2/fav/folder/add"
_delVideoFolder = "http://127.0.0.1:6010/x/internal/v2/fav/folder/del"
_renameVideoFolder = "http://127.0.0.1:6010/x/internal/v2/fav/folder/rename"
_upStateVideoFolder = "http://127.0.0.1:6010/x/internal/v2/fav/folder/public"
_sortVideoFolders = "http://127.0.0.1:6010/x/internal/v2/fav/folder/sort"
// video
_favVideo = "http://127.0.0.1:6010/x/internal/v2/fav/video"
_favVideoNewest = "http://127.0.0.1:6010/x/internal/v2/fav/video/newest"
_addFavVideo = "http://127.0.0.1:6010/x/internal/v2/fav/video/add"
_delFavVideo = "http://127.0.0.1:6010/x/internal/v2/fav/video/del"
_delFavVideos = "http://127.0.0.1:6010/x/internal/v2/fav/video/mdel"
_moveFavVideos = "http://127.0.0.1:6010/x/internal/v2/fav/video/move"
_copyFavVideos = "http://127.0.0.1:6010/x/internal/v2/fav/video/copy"
_isFavoureds = "http://127.0.0.1:6010/x/internal/v2/fav/video/favoureds"
_isFavoured = "http://127.0.0.1:6010/x/internal/v2/fav/video/favoured"
_inDefaultFav = "http://127.0.0.1:6010/x/internal/v2/fav/video/default"
// topic
_favTopics = "http://127.0.0.1:6010/x/internal/v2/fav/topic"
_addFavTopic = "http://127.0.0.1:6010/x/internal/v2/fav/topic/add"
_delFavTopic = "http://127.0.0.1:6010/x/internal/v2/fav/topic/del"
_isTopicFavoured = "http://127.0.0.1:6010/x/internal/v2/fav/topic/favoured"
// fav v3
_favorites = "http://127.0.0.1:6010/x/internal/v3/fav"
_addFav = "http://127.0.0.1:6010/x/internal/v3/fav/add"
_isFavored = "http://127.0.0.1:6010/x/internal/v3/fav/favored"
_delFav = "http://127.0.0.1:6010/x/internal/v3/fav/del"
)
func TestHttp(t *testing.T) {
if err := conf.Init(); err != nil {
t.Fatalf("conf.Init() error(%v)", err)
}
svr := service.New(conf.Conf)
client := xhttp.NewClient(conf.Conf.HTTPClient)
Init(conf.Conf, svr)
// video foler
testVideoFolders(client, t, _mid, _vmid, _aid)
testRenameVideoFolder(client, t, _mid, _fid, _rename)
testAddVideoFolder(client, t, _mid, _public, _name)
testSortVideoFolder(client, t, _mid, _fidsSort)
testUpStateVideoFolder(client, t, _mid, _fid, _public)
testDelVideoFolder(client, t, _mid, _delFid)
// video
testVideos(client, t, _mid, _vmid, _fid)
testFavVideoNewest(client, t, _mid, _vmid, _searchFid, _pn, _ps)
testAddFavVideo(client, t, _mid, _fid, _aid)
testMoveFavVideos(client, t, _mid, _oldFid, _newFid, _aids)
testCopyFavVideos(client, t, _mid, _oldFid, _newFid, _aids)
testIsFavoured(client, t, _mid, _aid)
testIsFavoureds(client, t, _mid, _aids)
testInDefaultFav(client, t, _mid, _aid)
testDelVideo(client, t, _mid, _fid, _aid)
testDelVideos(client, t, _mid, _fid, _aids)
// topic
testFavTopics(client, t, _mid, _pn, _ps)
testAddFavTopic(client, t, _mid, _tpid)
testIsTopicFavoured(client, t, _mid, _tpid)
testDelFavTopic(client, t, _mid, _tpid)
// fav v3
testFavorites(client, t, _type, _mid, _vmid, _v3Fid)
testAddFav(client, t, _type, _mid, _v3Fid, _oid)
testIsFavored(client, t, _type, _mid, _v3Fid, _oid)
testDelFav(client, t, _type, _mid, _v3Fid, _oid)
}
func testVideoFolders(client *xhttp.Client, t *testing.T, mid, vmid, aid int64) {
params := &url.Values{}
params.Set("mid", strconv.FormatInt(mid, 10))
params.Set("appkey", conf.Conf.App.Key)
params.Set("ts", strconv.FormatInt(time.Now().Unix(), 10))
params.Set("sign", createSign(params.Encode()))
// send
req, err := http.NewRequest("GET", _videoFolders+"?"+params.Encode(), nil)
t.Log(req.URL.String())
if err != nil {
t.Errorf("NewRequest() error(%v)", err)
}
res := map[string]interface{}{}
if err = client.Do(context.TODO(), req, &res); err != nil {
t.Errorf("client.Do() error(%v)", err)
} else {
result("VideoFolders", t, res)
}
}
func testAddVideoFolder(client *xhttp.Client, t *testing.T, mid, public int64, name string) {
params := &url.Values{}
params.Set("mid", strconv.FormatInt(mid, 10))
params.Set("public", strconv.FormatInt(public, 10))
params.Set("name", name)
params.Set("appkey", conf.Conf.App.Key)
params.Set("ts", strconv.FormatInt(time.Now().Unix(), 10))
params.Set("sign", createSign(params.Encode()))
// send
req, err := http.NewRequest("POST", _addVideoFolder+"?"+params.Encode(), nil)
t.Log(req.URL.String())
if err != nil {
t.Errorf("NewRequest() error(%v)", err)
}
res := map[string]interface{}{}
if err = client.Do(context.TODO(), req, &res); err != nil {
t.Errorf("client.Do() error(%v)", err)
} else {
result("DelVideoFolder", t, res)
}
}
func testRenameVideoFolder(client *xhttp.Client, t *testing.T, mid, fid int64, name string) {
params := &url.Values{}
params.Set("mid", strconv.FormatInt(mid, 10))
params.Set("fid", strconv.FormatInt(fid, 10))
params.Set("name", name)
params.Set("appkey", conf.Conf.App.Key)
params.Set("ts", strconv.FormatInt(time.Now().Unix(), 10))
params.Set("sign", createSign(params.Encode()))
// send
req, err := http.NewRequest("POST", _renameVideoFolder+"?"+params.Encode(), nil)
t.Log(req.URL.String())
if err != nil {
t.Errorf("NewRequest() error(%v)", err)
}
res := map[string]interface{}{}
if err = client.Do(context.TODO(), req, &res); err != nil {
t.Errorf("client.Do() error(%v)", err)
} else {
result("RenameVideoFolder", t, res)
}
}
func testUpStateVideoFolder(client *xhttp.Client, t *testing.T, mid, fid, public int64) {
params := &url.Values{}
params.Set("mid", strconv.FormatInt(mid, 10))
params.Set("fid", strconv.FormatInt(fid, 10))
params.Set("public", strconv.FormatInt(public, 10))
params.Set("appkey", conf.Conf.App.Key)
params.Set("ts", strconv.FormatInt(time.Now().Unix(), 10))
params.Set("sign", createSign(params.Encode()))
// send
req, err := http.NewRequest("POST", _upStateVideoFolder+"?"+params.Encode(), nil)
t.Log(req.URL.String())
if err != nil {
t.Errorf("NewRequest() error(%v)", err)
}
res := map[string]interface{}{}
if err = client.Do(context.TODO(), req, &res); err != nil {
t.Errorf("client.Do() error(%v)", err)
} else {
result("RenameVideoFolder", t, res)
}
}
func testSortVideoFolder(client *xhttp.Client, t *testing.T, mid int64, fids string) {
params := &url.Values{}
params.Set("mid", strconv.FormatInt(mid, 10))
params.Set("fids", fids)
params.Set("appkey", conf.Conf.App.Key)
params.Set("ts", strconv.FormatInt(time.Now().Unix(), 10))
params.Set("sign", createSign(params.Encode()))
// send
req, err := http.NewRequest("POST", _sortVideoFolders+"?"+params.Encode(), nil)
t.Log(req.URL.String())
if err != nil {
t.Errorf("NewRequest() error(%v)", err)
}
res := map[string]interface{}{}
if err = client.Do(context.TODO(), req, &res); err != nil {
t.Errorf("client.Do() error(%v)", err)
} else {
result("RenameVideoFolder", t, res)
}
}
func testDelVideoFolder(client *xhttp.Client, t *testing.T, mid, fid int64) {
params := &url.Values{}
params.Set("mid", strconv.FormatInt(mid, 10))
params.Set("fid", strconv.FormatInt(fid, 10))
params.Set("appkey", conf.Conf.App.Key)
params.Set("ts", strconv.FormatInt(time.Now().Unix(), 10))
params.Set("sign", createSign(params.Encode()))
// send
req, err := http.NewRequest("POST", _delVideoFolder+"?"+params.Encode(), nil)
t.Log(req.URL.String())
if err != nil {
t.Errorf("NewRequest() error(%v)", err)
}
res := map[string]interface{}{}
if err = client.Do(context.TODO(), req, &res); err != nil {
t.Errorf("client.Do() error(%v)", err)
} else {
result("DelVideoFolder", t, res)
}
}
func testVideos(client *xhttp.Client, t *testing.T, mid, vmid, fid int64) {
params := &url.Values{}
params.Set("mid", strconv.FormatInt(mid, 10))
params.Set("fid", strconv.FormatInt(fid, 10))
params.Set("appkey", conf.Conf.App.Key)
params.Set("ts", strconv.FormatInt(time.Now().Unix(), 10))
params.Set("sign", createSign(params.Encode()))
// send
req, err := http.NewRequest("GET", _favVideo+"?"+params.Encode(), nil)
t.Log(req.URL.String())
if err != nil {
t.Errorf("NewRequest() error(%v)", err)
}
res := map[string]interface{}{}
if err = client.Do(context.TODO(), req, &res); err != nil {
t.Errorf("client.Do() error(%v)", err)
} else {
result("Videos", t, res)
}
}
func testFavVideoNewest(client *xhttp.Client, t *testing.T, mid, vmid, fid, pn, ps int64) {
params := &url.Values{}
params.Set("mid", strconv.FormatInt(mid, 10))
params.Set("fid", strconv.FormatInt(fid, 10))
params.Set("pn", strconv.FormatInt(pn, 10))
params.Set("ps", strconv.FormatInt(ps, 10))
params.Set("appkey", conf.Conf.App.Key)
params.Set("ts", strconv.FormatInt(time.Now().Unix(), 10))
params.Set("sign", createSign(params.Encode()))
// send
req, err := http.NewRequest("GET", _favVideoNewest+"?"+params.Encode(), nil)
t.Log(req.URL.String())
if err != nil {
t.Errorf("NewRequest() error(%v)", err)
}
res := map[string]interface{}{}
if err = client.Do(context.TODO(), req, &res); err != nil {
t.Errorf("client.Do() error(%v)", err)
} else {
result("FavVideoNewest", t, res)
}
}
func testAddFavVideo(client *xhttp.Client, t *testing.T, mid, fid, aid int64) {
params := &url.Values{}
params.Set("mid", strconv.FormatInt(mid, 10))
params.Set("fid", strconv.FormatInt(fid, 10))
params.Set("aid", strconv.FormatInt(aid, 10))
params.Set("appkey", conf.Conf.App.Key)
params.Set("ts", strconv.FormatInt(time.Now().Unix(), 10))
params.Set("sign", createSign(params.Encode()))
// send
req, err := http.NewRequest("POST", _addFavVideo+"?"+params.Encode(), nil)
t.Log(req.URL.String())
if err != nil {
t.Errorf("NewRequest() error(%v)", err)
}
res := map[string]interface{}{}
if err = client.Do(context.TODO(), req, &res); err != nil {
t.Errorf("client.Do() error(%v)", err)
} else {
result("AddFavVideo", t, res)
}
}
func testMoveFavVideos(client *xhttp.Client, t *testing.T, mid, oldFid, newFid int64, aids string) {
params := &url.Values{}
params.Set("mid", strconv.FormatInt(mid, 10))
params.Set("old_fid", strconv.FormatInt(oldFid, 10))
params.Set("new_fid", strconv.FormatInt(newFid, 10))
params.Set("aids", aids)
params.Set("appkey", conf.Conf.App.Key)
params.Set("ts", strconv.FormatInt(time.Now().Unix(), 10))
params.Set("sign", createSign(params.Encode()))
// send
req, err := http.NewRequest("POST", _moveFavVideos+"?"+params.Encode(), nil)
t.Log(req.URL.String())
if err != nil {
t.Errorf("NewRequest() error(%v)", err)
}
res := map[string]interface{}{}
if err = client.Do(context.TODO(), req, &res); err != nil {
t.Errorf("client.Do() error(%v)", err)
} else {
result("MoveFavVideos", t, res)
}
}
func testCopyFavVideos(client *xhttp.Client, t *testing.T, mid, oldFid, newFid int64, aids string) {
params := &url.Values{}
params.Set("mid", strconv.FormatInt(mid, 10))
params.Set("old_fid", strconv.FormatInt(oldFid, 10))
params.Set("new_fid", strconv.FormatInt(newFid, 10))
params.Set("aids", aids)
params.Set("appkey", conf.Conf.App.Key)
params.Set("ts", strconv.FormatInt(time.Now().Unix(), 10))
params.Set("sign", createSign(params.Encode()))
// send
req, err := http.NewRequest("POST", _copyFavVideos+"?"+params.Encode(), nil)
t.Log(req.URL.String())
if err != nil {
t.Errorf("NewRequest() error(%v)", err)
}
res := map[string]interface{}{}
if err = client.Do(context.TODO(), req, &res); err != nil {
t.Errorf("client.Do() error(%v)", err)
} else {
result("CopyFavVideos", t, res)
}
}
func testIsFavoured(client *xhttp.Client, t *testing.T, mid, aid int64) {
params := &url.Values{}
params.Set("mid", strconv.FormatInt(mid, 10))
params.Set("aid", strconv.FormatInt(aid, 10))
params.Set("appkey", conf.Conf.App.Key)
params.Set("ts", strconv.FormatInt(time.Now().Unix(), 10))
params.Set("sign", createSign(params.Encode()))
// send
req, err := http.NewRequest("GET", _isFavoured+"?"+params.Encode(), nil)
t.Log(req.URL.String())
if err != nil {
t.Errorf("NewRequest() error(%v)", err)
}
res := map[string]interface{}{}
if err = client.Do(context.TODO(), req, &res); err != nil {
t.Errorf("client.Do() error(%v)", err)
} else {
result("IsFavoured", t, res)
}
}
func testIsFavoureds(client *xhttp.Client, t *testing.T, mid int64, aids string) {
params := &url.Values{}
params.Set("mid", strconv.FormatInt(mid, 10))
params.Set("aids", aids)
params.Set("appkey", conf.Conf.App.Key)
params.Set("ts", strconv.FormatInt(time.Now().Unix(), 10))
params.Set("sign", createSign(params.Encode()))
// send
req, err := http.NewRequest("GET", _isFavoureds+"?"+params.Encode(), nil)
t.Log(req.URL.String())
if err != nil {
t.Errorf("NewRequest() error(%v)", err)
}
res := map[string]interface{}{}
if err = client.Do(context.TODO(), req, &res); err != nil {
t.Errorf("client.Do() error(%v)", err)
} else {
result("IsFavoureds", t, res)
}
}
func testInDefaultFav(client *xhttp.Client, t *testing.T, mid, aid int64) {
params := &url.Values{}
params.Set("mid", strconv.FormatInt(mid, 10))
params.Set("aid", strconv.FormatInt(aid, 10))
params.Set("appkey", conf.Conf.App.Key)
params.Set("ts", strconv.FormatInt(time.Now().Unix(), 10))
params.Set("sign", createSign(params.Encode()))
// send
req, err := http.NewRequest("GET", _inDefaultFav+"?"+params.Encode(), nil)
t.Log(req.URL.String())
if err != nil {
t.Errorf("NewRequest() error(%v)", err)
}
res := map[string]interface{}{}
if err = client.Do(context.TODO(), req, &res); err != nil {
t.Errorf("client.Do() error(%v)", err)
} else {
result("IsFavoureds", t, res)
}
}
func testDelVideo(client *xhttp.Client, t *testing.T, mid, fid, aid int64) {
params := &url.Values{}
params.Set("mid", strconv.FormatInt(mid, 10))
params.Set("aid", strconv.FormatInt(aid, 10))
params.Set("appkey", conf.Conf.App.Key)
params.Set("ts", strconv.FormatInt(time.Now().Unix(), 10))
params.Set("sign", createSign(params.Encode()))
// send
req, err := http.NewRequest("POST", _delFavVideo+"?"+params.Encode(), nil)
t.Log(req.URL.String())
if err != nil {
t.Errorf("NewRequest() error(%v)", err)
}
res := map[string]interface{}{}
if err = client.Do(context.TODO(), req, &res); err != nil {
t.Errorf("client.Do() error(%v)", err)
} else {
result("DelVideo", t, res)
}
}
func testDelVideos(client *xhttp.Client, t *testing.T, mid, fid int64, aids string) {
params := &url.Values{}
params.Set("mid", strconv.FormatInt(mid, 10))
params.Set("fid", strconv.FormatInt(fid, 10))
params.Set("aids", aids)
params.Set("appkey", conf.Conf.App.Key)
params.Set("ts", strconv.FormatInt(time.Now().Unix(), 10))
params.Set("sign", createSign(params.Encode()))
// send
req, err := http.NewRequest("POST", _delFavVideos+"?"+params.Encode(), nil)
t.Log(req.URL.String())
if err != nil {
t.Errorf("NewRequest() error(%v)", err)
}
res := map[string]interface{}{}
if err = client.Do(context.TODO(), req, &res); err != nil {
t.Errorf("client.Do() error(%v)", err)
} else {
result("DelVideos", t, res)
}
}
func testFavTopics(client *xhttp.Client, t *testing.T, mid, pn, ps int64) {
params := &url.Values{}
params.Set("mid", strconv.FormatInt(mid, 10))
params.Set("pn", strconv.FormatInt(pn, 10))
params.Set("ps", strconv.FormatInt(ps, 10))
params.Set("appkey", conf.Conf.App.Key)
params.Set("ts", strconv.FormatInt(time.Now().Unix(), 10))
params.Set("sign", createSign(params.Encode()))
// send
req, err := http.NewRequest("GET", _favTopics+"?"+params.Encode(), nil)
t.Log(req.URL.String())
if err != nil {
t.Errorf("NewRequest() error(%v)", err)
}
res := map[string]interface{}{}
if err = client.Do(context.TODO(), req, &res); err != nil {
t.Errorf("client.Do() error(%v)", err)
} else {
result("FavTopics", t, res)
}
}
func testAddFavTopic(client *xhttp.Client, t *testing.T, mid, tpid int64) {
params := &url.Values{}
params.Set("mid", strconv.FormatInt(mid, 10))
params.Set("tpid", strconv.FormatInt(tpid, 10))
params.Set("appkey", conf.Conf.App.Key)
params.Set("ts", strconv.FormatInt(time.Now().Unix(), 10))
params.Set("sign", createSign(params.Encode()))
// send
req, err := http.NewRequest("POST", _addFavTopic+"?"+params.Encode(), nil)
t.Log(req.URL.String())
if err != nil {
t.Errorf("NewRequest() error(%v)", err)
}
res := map[string]interface{}{}
if err = client.Do(context.TODO(), req, &res); err != nil {
t.Errorf("client.Do() error(%v)", err)
} else {
result("AddFavTopic", t, res)
}
}
func testIsTopicFavoured(client *xhttp.Client, t *testing.T, mid, tpid int64) {
params := &url.Values{}
params.Set("mid", strconv.FormatInt(mid, 10))
params.Set("tpid", strconv.FormatInt(tpid, 10))
params.Set("appkey", conf.Conf.App.Key)
params.Set("ts", strconv.FormatInt(time.Now().Unix(), 10))
params.Set("sign", createSign(params.Encode()))
// send
req, err := http.NewRequest("GET", _isTopicFavoured+"?"+params.Encode(), nil)
t.Log(req.URL.String())
if err != nil {
t.Errorf("NewRequest() error(%v)", err)
}
res := map[string]interface{}{}
if err = client.Do(context.TODO(), req, &res); err != nil {
t.Errorf("client.Do() error(%v)", err)
} else {
result("IsTopicFavoured", t, res)
}
}
func testDelFavTopic(client *xhttp.Client, t *testing.T, mid, tpid int64) {
params := &url.Values{}
params.Set("mid", strconv.FormatInt(mid, 10))
params.Set("tpid", strconv.FormatInt(tpid, 10))
params.Set("appkey", conf.Conf.App.Key)
params.Set("ts", strconv.FormatInt(time.Now().Unix(), 10))
params.Set("sign", createSign(params.Encode()))
// send
req, err := http.NewRequest("POST", _delFavTopic+"?"+params.Encode(), nil)
t.Log(req.URL.String())
if err != nil {
t.Errorf("NewRequest() error(%v)", err)
}
res := map[string]interface{}{}
if err = client.Do(context.TODO(), req, &res); err != nil {
t.Errorf("client.Do() error(%v)", err)
} else {
result("DelFavTopic", t, res)
}
}
func testFavorites(client *xhttp.Client, t *testing.T, tp, mid, vmid, fid int64) {
params := &url.Values{}
params.Set("type", strconv.FormatInt(tp, 10))
params.Set("mid", strconv.FormatInt(mid, 10))
params.Set("fid", strconv.FormatInt(fid, 10))
params.Set("appkey", conf.Conf.App.Key)
params.Set("ts", strconv.FormatInt(time.Now().Unix(), 10))
params.Set("sign", createSign(params.Encode()))
// send
req, err := http.NewRequest("GET", _favorites+"?"+params.Encode(), nil)
t.Log(req.URL.String())
if err != nil {
t.Errorf("NewRequest() error(%v)", err)
}
res := map[string]interface{}{}
if err = client.Do(context.TODO(), req, &res); err != nil {
t.Errorf("client.Do() error(%v)", err)
} else {
result("Favorites", t, res)
}
}
func testAddFav(client *xhttp.Client, t *testing.T, tp, mid, fid, oid int64) {
params := &url.Values{}
params.Set("type", strconv.FormatInt(tp, 10))
params.Set("mid", strconv.FormatInt(mid, 10))
params.Set("fid", strconv.FormatInt(fid, 10))
params.Set("oid", strconv.FormatInt(oid, 10))
params.Set("appkey", conf.Conf.App.Key)
params.Set("ts", strconv.FormatInt(time.Now().Unix(), 10))
params.Set("sign", createSign(params.Encode()))
// send
req, err := http.NewRequest("POST", _addFav+"?"+params.Encode(), nil)
t.Log(req.URL.String())
if err != nil {
t.Errorf("NewRequest() error(%v)", err)
}
res := map[string]interface{}{}
if err = client.Do(context.TODO(), req, &res); err != nil {
t.Errorf("client.Do() error(%v)", err)
} else {
result("AddFav", t, res)
}
}
func testIsFavored(client *xhttp.Client, t *testing.T, tp, mid, fid, oid int64) {
params := &url.Values{}
params.Set("type", strconv.FormatInt(tp, 10))
params.Set("mid", strconv.FormatInt(mid, 10))
params.Set("fid", strconv.FormatInt(fid, 10))
params.Set("oid", strconv.FormatInt(oid, 10))
params.Set("appkey", conf.Conf.App.Key)
params.Set("ts", strconv.FormatInt(time.Now().Unix(), 10))
params.Set("sign", createSign(params.Encode()))
// send
req, err := http.NewRequest("GET", _isFavored+"?"+params.Encode(), nil)
t.Log(req.URL.String())
if err != nil {
t.Errorf("NewRequest() error(%v)", err)
}
res := map[string]interface{}{}
if err = client.Do(context.TODO(), req, &res); err != nil {
t.Errorf("client.Do() error(%v)", err)
} else {
result("IsFavored", t, res)
}
}
func testDelFav(client *xhttp.Client, t *testing.T, tp, mid, fid, oid int64) {
params := &url.Values{}
params.Set("type", strconv.FormatInt(tp, 10))
params.Set("mid", strconv.FormatInt(mid, 10))
params.Set("fid", strconv.FormatInt(fid, 10))
params.Set("oid", strconv.FormatInt(oid, 10))
params.Set("appkey", conf.Conf.App.Key)
params.Set("ts", strconv.FormatInt(time.Now().Unix(), 10))
params.Set("sign", createSign(params.Encode()))
// send
req, err := http.NewRequest("POST", _delFav+"?"+params.Encode(), nil)
t.Log(req.URL.String())
if err != nil {
t.Errorf("NewRequest() error(%v)", err)
}
res := map[string]interface{}{}
if err = client.Do(context.TODO(), req, &res); err != nil {
t.Errorf("client.Do() error(%v)", err)
} else {
result("DelFav", t, res)
}
}
func createSign(params string) string {
mh := md5.Sum([]byte(params + conf.Conf.App.Secret))
return hex.EncodeToString(mh[:])
}
func result(name string, t *testing.T, res map[string]interface{}) {
t.Log("[==========" + name + " Testing Result==========]")
if rs, ok := res["code"]; ok {
t.Log(fmt.Sprintf("code:%v, message:%s, data:%v", rs, res["message"], res["data"]))
}
t.Log("[↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑]\r\n")
}