Files
full/module/base/sender/test/grpc/mail_test.go

57 lines
1.2 KiB
Go
Raw Normal View History

//go:build integration
package test
import (
"context"
"log"
"testing"
"time"
pb "bsm/full/module/base/sender/pb"
"git.apinb.com/bsm-sdk/core/utils"
"google.golang.org/grpc"
"google.golang.org/grpc/credentials/insecure"
"google.golang.org/grpc/metadata"
)
func TestMail(t *testing.T) {
conn, err := grpc.NewClient("api.apinb.com:10020",
grpc.WithTransportCredentials(insecure.NewCredentials()))
if err != nil {
log.Fatalf("连接失败: %v", err)
}
defer conn.Close()
client := pb.NewMailClient(conn)
ctx, cancel := createContext()
defer cancel()
req := &pb.SendMailRequest{
TemplateKey: "default",
To: "271055687@qq.com",
Paramters: map[string]string{
"code": "123456",
},
Provider: "gmail",
}
res, err := client.Send(ctx, req)
if err != nil {
log.Fatalf("RPC调用失败: %v", err)
}
log.Printf("响应结果: %v", res.String())
}
// 创建上下文和元数据
func createContext() (context.Context, context.CancelFunc) {
ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
newMetaData := metadata.New(nil)
newMetaData.Set("request_id", utils.UUID())
outCtx := metadata.NewOutgoingContext(ctx, newMetaData)
return outCtx, cancel
}