package test import ( "context" "joybuywork/internal/config" "joybuywork/internal/consts" "joybuywork/internal/server" "joybuywork/internal/server/depend" "errors" "fmt" "github.com/valyala/fasthttp" "gits.branchcn.com/backend/microcode/micro" "go-micro.dev/v4/client" "io" "net/http" "os" "sync" "testing" "time" ) func rpc() { os.Args = []string{} depend.M = micro.Grpc(micro.GrpcConfig{ ServerName: "test", EtcdAddress: config.Config.Etcd.Address, CallWrapper: []client.CallWrapper{ server.CallWrapper(), }, }) } func TestSignIn(t *testing.T) { rpc() ctx := context.Background() //ser := w_campaign_userpb.NewWCampaignUserService(consts.ServiceName, depend.M.Client()) timer := time.NewTicker(time.Second) defer timer.Stop() wg := sync.WaitGroup{} for { select { //case <-timer.C: // for i := 0; i < 100; i++ { // wg.Add(1) // go func() { // defer wg.Done() // res, err := ser.SignIn(ctx, &w_campaign_userpb.SignInReq{ // UserId: 238719644948271104, // NowMouth: "2025-4", // PageType: 0, // CampaignId: 4295, // }) // // t.Logf("%v, %v", err, res) // }() // } case <-timer.C: for i := 0; i < 100; i++ { wg.Add(1) go func() { defer wg.Done() cli := &http.Client{} // 创建请求 req, err := http.NewRequest("GET", "http://127.0.0.1:13100/deep-view/fission-user/sign-in?now_mouth=&page_type=0", nil) if err != nil { err = errors.New(fmt.Sprintf("创建请求失败: %v", err)) return } req.Header.Set(fasthttp.HeaderContentType, "application/json") req.Header.Set("X-Message-Id", fmt.Sprint(ctx.Value(consts.TraceIdKey))) req.Header.Set(fasthttp.HeaderAuthorization, "Bearer eyJhbGciOiJIUzI1NiIsInNhbHQiOiJ5eXRCdXoiLCJzaWduIjoiNzFmYTIxYjBjMGZmYzAwOWRhYjNmOTcxMzdmMTVjZWMiLCJ0eXAiOiJKV1QiLCJ2ZXIiOiJ2MSJ9.eyJiaWQiOiIyMzg3MTk2NDQ5NDgyNzExMDQiLCJjYW1wYWlnbl9pZCI6NDI5NSwiY2hhbm5lbF9pZCI6ODIyOCwicGlkIjoyMzg3MTk2NDQ5NDgyNzExMDQsImxhbmciOiJ6aCIsInNob3dfbGFuZyI6InpoIiwidHoiOiJHTVQiLCJ0el9vZmZzZXQiOjgsImlzcyI6ImNlcnRpZmllZCIsImV4cCI6MTc0NDE3Mzk1OCwibmJmIjoxNzQ0MTY2NzU4LCJpYXQiOjE3NDQxNjY3NTgsImp0aSI6ImN2cXR1cG1yZGo3b2VtM3JxbGxnIn0.dC6bDlOfXmNpHdRQmPU68c4GOgFf9vIYI1d0kjQ5JMA") // 发送请求 resp, err := cli.Do(req) if err != nil { err = errors.New(fmt.Sprintf("请求失败: %v", err)) return } defer resp.Body.Close() // 可以通过 resp.Body 获取响应内容 data, _ := io.ReadAll(resp.Body) t.Logf("%v, %s", err, string(data)) }() } } } wg.Wait() }