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.
81 lines
1.7 KiB
81 lines
1.7 KiB
package datacenter |
|
|
|
import ( |
|
"context" |
|
"crypto/md5" |
|
"fmt" |
|
"go-common/library/log" |
|
"net/url" |
|
"os" |
|
"testing" |
|
) |
|
|
|
func TestMain(m *testing.M) { |
|
log.Init(nil) |
|
os.Exit(m.Run()) |
|
} |
|
|
|
func TestSign(t *testing.T) { |
|
var params = url.Values{ |
|
"timestamp": {"2018-11-19 18:50:28"}, |
|
"version": {"1.0"}, |
|
} |
|
var result = "appKey12345timestamp2018-11-19 18:50:28version1.0" |
|
var md5hash = md5.New() |
|
var conf = ClientConfig{ |
|
Key: "12345", Secret: "56473", |
|
} |
|
md5hash.Write([]byte(conf.Secret + result + conf.Secret)) |
|
var signString = fmt.Sprintf("%X", md5hash.Sum(nil)) |
|
t.Logf("sign string=%s", signString) |
|
c := New(&conf) |
|
s, e := c.sign(params) |
|
if e != nil { |
|
t.Errorf("err happend, %+v", e) |
|
t.FailNow() |
|
return |
|
} |
|
if s != signString { |
|
t.Logf("fail, expect=%s, get=%s", signString, s) |
|
t.FailNow() |
|
return |
|
} |
|
} |
|
|
|
func TestAPI(t *testing.T) { |
|
var q = &Query{} |
|
q.Select("id, day"). |
|
Where( |
|
ConditionMapType{"day": ConditionLte("2018-10-28")}). |
|
Limit(20, 0).Order("day") |
|
var params = url.Values{ |
|
//"timestamp": {"2018-11-19 18:50:28"}, |
|
//"version": {"1.0"}, |
|
"query": {q.String()}, |
|
} |
|
var conf = ClientConfig{ |
|
Key: "b9739fc84d087c4b3c1aa297d01999e6", Secret: "5018928e83a23c0cc9773f2571de01e5", |
|
} |
|
c := New(&conf) |
|
var res = &Response{} |
|
|
|
var realResult struct { |
|
Result []struct { |
|
ID int `json:"id"` |
|
Day string `json:"day"` |
|
} |
|
} |
|
var middle interface{} = &realResult.Result |
|
res.Result = middle |
|
c.Debug = true |
|
var e = c.Get(context.Background(), "http://berserker.bilibili.co/avenger/api/151/query", params, res) |
|
if e != nil { |
|
t.Errorf("err=%+v", e) |
|
t.FailNow() |
|
} |
|
|
|
t.Logf("result=%+v", res) |
|
for k, v := range realResult.Result { |
|
t.Logf("k=%v, v=%+v", k, v) |
|
} |
|
}
|
|
|