104 lines
2.4 KiB
Go
104 lines
2.4 KiB
Go
package ymt_v3_2_test
|
|
|
|
import (
|
|
"context"
|
|
"fmt"
|
|
"testing"
|
|
"time"
|
|
|
|
"ymt_v3_2"
|
|
)
|
|
|
|
const (
|
|
testAppID = "xxx"
|
|
testPrivateKey = `-----BEGIN PRIVATE KEY-----
|
|
xxx
|
|
-----END PRIVATE KEY-----`
|
|
testPublicKey = `-----BEGIN PUBLIC KEY-----
|
|
xxx
|
|
-----END PUBLIC KEY-----`
|
|
testAESKey = "xxxx"
|
|
testActivityNo = "xxxx"
|
|
)
|
|
|
|
func newTestClient() *ymt_v3_2.Client {
|
|
return ymt_v3_2.NewClient(
|
|
ymt_v3_2.WithBaseURL("https://gateway.dev.cdlsxd.cn"),
|
|
ymt_v3_2.WithAppID(testAppID),
|
|
ymt_v3_2.WithPrivateKeyPEM(testPrivateKey),
|
|
ymt_v3_2.WithPublicKeyPEM(testPublicKey),
|
|
ymt_v3_2.WithAESKey(testAESKey),
|
|
ymt_v3_2.WithTimeout(10*time.Second),
|
|
)
|
|
}
|
|
|
|
func TestGetKey(t *testing.T) {
|
|
client := newTestClient()
|
|
ctx := context.Background()
|
|
req := &ymt_v3_2.GetKeyRequest{
|
|
OutBizNo: fmt.Sprintf("test_%d", time.Now().UnixNano()),
|
|
ActivityNo: testActivityNo,
|
|
Account: "18666666666",
|
|
NotifyURL: "https://notify.example.com/openapi",
|
|
}
|
|
resp, err := client.GetKey(ctx, req)
|
|
if err != nil {
|
|
t.Fatalf("GetKey failed: %v", err)
|
|
}
|
|
t.Logf("GetKey response: %+v", resp)
|
|
}
|
|
|
|
func TestQueryKey(t *testing.T) {
|
|
client := newTestClient()
|
|
ctx := context.Background()
|
|
req := &ymt_v3_2.QueryKeyRequest{
|
|
OutBizNo: "order_001",
|
|
}
|
|
resp, err := client.QueryKey(ctx, req)
|
|
if err != nil {
|
|
t.Fatalf("QueryKey failed: %v", err)
|
|
}
|
|
t.Logf("QueryKey response: %+v", resp)
|
|
}
|
|
|
|
func TestDiscardKey(t *testing.T) {
|
|
client := newTestClient()
|
|
ctx := context.Background()
|
|
req := &ymt_v3_2.DiscardKeyRequest{
|
|
TradeNo: "7251449503000383488",
|
|
}
|
|
resp, err := client.DiscardKey(ctx, req)
|
|
if err != nil {
|
|
t.Fatalf("DiscardKey failed: %v", err)
|
|
}
|
|
t.Logf("DiscardKey response: %+v", resp)
|
|
}
|
|
|
|
func TestBatchOrder(t *testing.T) {
|
|
client := newTestClient()
|
|
ctx := context.Background()
|
|
req := &ymt_v3_2.BatchOrderRequest{
|
|
OutBizNo: fmt.Sprintf("batch_%d", time.Now().UnixNano()),
|
|
ActivityNo: testActivityNo,
|
|
Number: 10,
|
|
NotifyURL: "https://notify.example.com/openapi",
|
|
}
|
|
resp, err := client.BatchOrder(ctx, req)
|
|
if err != nil {
|
|
t.Fatalf("BatchOrder failed: %v", err)
|
|
}
|
|
t.Logf("BatchOrder response: %+v", resp)
|
|
}
|
|
|
|
func TestBatchQuery(t *testing.T) {
|
|
client := newTestClient()
|
|
ctx := context.Background()
|
|
req := &ymt_v3_2.BatchQueryRequest{
|
|
OutBizNo: "batch_001",
|
|
}
|
|
resp, err := client.BatchQuery(ctx, req)
|
|
if err != nil {
|
|
t.Fatalf("BatchQuery failed: %v", err)
|
|
}
|
|
t.Logf("BatchQuery response: %+v", resp)
|
|
} |