feat(card_sender): 添加请求参数 extra 并补充签名测试用例

- 在 camel.go 中请求参数中新增 extra 字段,值为生成的唯一 ID
- 在 camel_test.go 中新增 TestSendCardTaskTypeCamel_sign 测试方法
- 测试中构造带 extra 的表单参数并对签名方法进行验证
- 使用 resty 客户端模拟请求验证接口可用性和签名正确性
This commit is contained in:
danial
2025-12-13 12:51:52 +08:00
parent 85587ce49b
commit 5d0c3d80c4
2 changed files with 28 additions and 0 deletions

View File

@@ -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())

View File

@@ -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)
}