package main import ( "crypto/md5" "fmt" "net/url" "testing" "github.com/stretchr/testify/assert" ) func TestMD5Sum(t *testing.T) { var s = "123" var h = md5.New() fmt.Printf("md5=%x\n", h.Sum([]byte(s))) //t.Errorf("something is wrong %d ", 1) } func buildForm() url.Values { // receiveUrl= [http://publicapi.lwork.com:8080/notify/default_notify] // orderAmount= [1200] // customerId= [123] // signType= [MD5] // orderCurrency= [CNY] // sign= [06bcbd40cf6b914ef8ea6596730571ba] // orderNo= [200306220049TW002184000000000001] // pickupUrl= [http://trader.supertraderfx.com/fund/tradingFlow] // my md5=06bcbd40cf6b914ef8ea6596730571ba form := url.Values{} form.Add("pickupUrl", "http://trader.supertraderfx.com/fund/tradingFlow") form.Add("receiveUrl", "http://publicapi.lwork.com:8080/notify/default_notify") form.Add("signType", "MD5") form.Add("orderNo", "200306220049TW002184000000000001") form.Add("orderAmount", "1200") form.Add("orderCurrency", "CNY") form.Add("customerId", "123") form.Add("sign", "06bcbd40cf6b914ef8ea6596730571ba") return form } func TestRequestForm(t *testing.T) { form := buildForm() md5key := "492815086935204" expected := "06bcbd40cf6b914ef8ea6596730571ba" s := "" if _, ok := form["pickupUrl"]; ok { s += form["pickupUrl"][0] s += form["receiveUrl"][0] s += form["signType"][0] s += form["orderNo"][0] s += form["orderAmount"][0] s += form["orderCurrency"][0] s += form["customerId"][0] s += md5key } assert := assert.New(t) assert.Equal(expected, md5str(s), "the md5 result should be equal") } func TestMd5Form(t *testing.T) { form := buildForm() expected := "06bcbd40cf6b914ef8ea6596730571ba" expectedkey := "492815086935204" assert := assert.New(t) assert.Equal(expectedkey, Config.LeanWork.MD5Key, "md5key should be 492815086935204") result := md5LeanworkForm(form) assert.Equal(expected, result, "expected signature should be equal") }