feat(card_sender): 添加请求参数 extra 并补充签名测试用例
- 在 camel.go 中请求参数中新增 extra 字段,值为生成的唯一 ID - 在 camel_test.go 中新增 TestSendCardTaskTypeCamel_sign 测试方法 - 测试中构造带 extra 的表单参数并对签名方法进行验证 - 使用 resty 客户端模拟请求验证接口可用性和签名正确性
This commit is contained in:
@@ -44,6 +44,7 @@ func (s *SendCardTaskTypeCamel) CreateOrder(ctx context.Context, roadUid string,
|
||||
"notifyUrl": fmt.Sprintf("%s%s", cfg.GatewayAddr(), "/camel/notify"),
|
||||
"clientIp": utils.GenerateIpv4(),
|
||||
"device": "android",
|
||||
"extra": utils.GenerateId(),
|
||||
}
|
||||
|
||||
formData["sign"] = s.sign(ctx, formData, gojson.Json(roadInfo.Params).Get("key").Tostring())
|
||||
|
||||
@@ -1,8 +1,13 @@
|
||||
package card_sender
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"gateway/internal/service/supplier"
|
||||
"gateway/internal/utils"
|
||||
"github.com/dubonzi/otelresty"
|
||||
"github.com/go-resty/resty/v2"
|
||||
"testing"
|
||||
"time"
|
||||
)
|
||||
|
||||
func TestSendCardTaskTypeCamel_CreateOrder(t *testing.T) {
|
||||
@@ -16,3 +21,25 @@ func TestSendCardTaskTypeCamel_CreateOrder(t *testing.T) {
|
||||
})
|
||||
t.Log(orderInfo)
|
||||
}
|
||||
|
||||
func TestSendCardTaskTypeCamel_sign(t *testing.T) {
|
||||
formData := map[string]string{
|
||||
"mchId": "1051",
|
||||
"mchOrderNo": utils.GenerateId(),
|
||||
"productId": "1",
|
||||
"orderAmount": fmt.Sprintf("%d", 10*100),
|
||||
"notifyUrl": "baidu.com",
|
||||
"clientIp": utils.GenerateIpv4(),
|
||||
"device": "android",
|
||||
"extra": utils.GenerateId(),
|
||||
}
|
||||
|
||||
formData["sign"] = (&SendCardTaskTypeCamel{}).sign(t.Context(), formData, "f527b85c595c45108bbf006bb01c95d7")
|
||||
|
||||
client := resty.New().SetTimeout(time.Second * 10).SetRetryCount(2).SetRetryMaxWaitTime(time.Second * 3)
|
||||
otelresty.TraceClient(client)
|
||||
|
||||
createdOrderUrl := "http://47.243.53.92:8089/api/pay/create_order"
|
||||
response, err := client.R().SetContext(t.Context()).SetFormData(formData).Post(createdOrderUrl)
|
||||
t.Log(response.String(), err)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user