mirror of
https://github.com/kongyuebin1/dongfeng-pay.git
synced 2025-11-26 20:56:21 +08:00
添加controller 测试代码
This commit is contained in:
74
gateway/controllers/gateway/payfor_controller_test.go
Normal file
74
gateway/controllers/gateway/payfor_controller_test.go
Normal file
@@ -0,0 +1,74 @@
|
||||
package gateway
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"gateway/utils"
|
||||
"io/ioutil"
|
||||
"log"
|
||||
"math/rand"
|
||||
"net/http"
|
||||
"testing"
|
||||
"time"
|
||||
)
|
||||
|
||||
func TestPayFor(t *testing.T) {
|
||||
u := "http://127.0.0.1:12309/gateway/payfor"
|
||||
m := make(map[string]string)
|
||||
m["merchantKey"] = "kkkkc254gk8isf001cqrj6p0"
|
||||
m["realname"] = "11"
|
||||
m["cardNo"] = "123"
|
||||
m["accType"] = "private"
|
||||
m["amount"] = "0.1"
|
||||
merchantOrderId := GenerateOrderNo()
|
||||
m["merchantOrderId"] = merchantOrderId
|
||||
sec := "ssssc254gk8isf001cqrj6pg"
|
||||
keys := utils.SortMap(m)
|
||||
sign := utils.GetMD5Sign(m, keys, sec)
|
||||
m["sign"] = sign
|
||||
|
||||
m1 := make(map[string]interface{})
|
||||
marshal, _ := json.Marshal(m)
|
||||
json.Unmarshal(marshal, &m1)
|
||||
req := new(utils.Request)
|
||||
req.SetParams(m1)
|
||||
req.SetURL(u)
|
||||
resp, err := req.GET()
|
||||
if err != nil {
|
||||
t.Fatal("err------>", err.Error())
|
||||
}
|
||||
defer resp.Body.Close()
|
||||
if resp.StatusCode != http.StatusOK {
|
||||
b, _ := ioutil.ReadAll(resp.Body)
|
||||
|
||||
t.Fatal("返回的http状态码不是200,body:", string(b))
|
||||
}
|
||||
b, _ := ioutil.ReadAll(resp.Body)
|
||||
log.Println("result--------->", string(b))
|
||||
/**
|
||||
result---------> {
|
||||
"resultCode": "00",
|
||||
"resultMsg": "银行处理中",
|
||||
"settAmount": "0.1"
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
func GetTimeTick64() int64 {
|
||||
return time.Now().UnixNano() / 1e6
|
||||
}
|
||||
|
||||
func GetFormatTime(time time.Time) string {
|
||||
return time.Format("20060102")
|
||||
}
|
||||
|
||||
// 基础做法 日期20191025时间戳1571987125435+3位随机数
|
||||
func GenerateOrderNo() string {
|
||||
date := GetFormatTime(time.Now())
|
||||
r := rand.Intn(1000)
|
||||
code := fmt.Sprintf("%s%d%03d", date, GetTimeTick64(), r)
|
||||
return code
|
||||
}
|
||||
func TestGenerateCode(t *testing.T) {
|
||||
GenerateOrderNo()
|
||||
}
|
||||
Reference in New Issue
Block a user