(t *testing.T)
| 88 | } |
| 89 | |
| 90 | func TestClientPeer(t *testing.T) { |
| 91 | t.Parallel() |
| 92 | mux := http.NewServeMux() |
| 93 | mux.Handle(pingv1connect.NewPingServiceHandler(pingServer{})) |
| 94 | server := memhttptest.NewServer(t, mux) |
| 95 | |
| 96 | run := func(t *testing.T, unaryHTTPMethod string, opts ...connect.ClientOption) { |
| 97 | t.Helper() |
| 98 | client := pingv1connect.NewPingServiceClient( |
| 99 | server.Client(), |
| 100 | server.URL(), |
| 101 | connect.WithClientOptions(opts...), |
| 102 | connect.WithInterceptors(&assertPeerInterceptor{t}), |
| 103 | ) |
| 104 | ctx := t.Context() |
| 105 | t.Run("unary", func(t *testing.T) { |
| 106 | unaryReq := connect.NewRequest[pingv1.PingRequest](nil) |
| 107 | _, err := client.Ping(ctx, unaryReq) |
| 108 | assert.Nil(t, err) |
| 109 | assert.Equal(t, unaryHTTPMethod, unaryReq.HTTPMethod()) |
| 110 | text := strings.Repeat(".", 256) |
| 111 | r, err := client.Ping(ctx, connect.NewRequest(&pingv1.PingRequest{Text: text})) |
| 112 | assert.Nil(t, err) |
| 113 | assert.Equal(t, r.Msg.GetText(), text) |
| 114 | }) |
| 115 | t.Run("client_stream", func(t *testing.T) { |
| 116 | clientStream := client.Sum(ctx) |
| 117 | t.Cleanup(func() { |
| 118 | _, closeErr := clientStream.CloseAndReceive() |
| 119 | assert.Nil(t, closeErr) |
| 120 | }) |
| 121 | assert.NotZero(t, clientStream.Peer().Addr) |
| 122 | assert.NotZero(t, clientStream.Peer().Protocol) |
| 123 | err := clientStream.Send(&pingv1.SumRequest{}) |
| 124 | assert.Nil(t, err) |
| 125 | }) |
| 126 | t.Run("server_stream", func(t *testing.T) { |
| 127 | serverStream, err := client.CountUp(ctx, connect.NewRequest(&pingv1.CountUpRequest{})) |
| 128 | t.Cleanup(func() { |
| 129 | assert.Nil(t, serverStream.Close()) |
| 130 | }) |
| 131 | assert.Nil(t, err) |
| 132 | }) |
| 133 | t.Run("bidi_stream", func(t *testing.T) { |
| 134 | bidiStream := client.CumSum(ctx) |
| 135 | t.Cleanup(func() { |
| 136 | assert.Nil(t, bidiStream.CloseRequest()) |
| 137 | assert.Nil(t, bidiStream.CloseResponse()) |
| 138 | }) |
| 139 | assert.NotZero(t, bidiStream.Peer().Addr) |
| 140 | assert.NotZero(t, bidiStream.Peer().Protocol) |
| 141 | err := bidiStream.Send(&pingv1.CumSumRequest{}) |
| 142 | assert.Nil(t, err) |
| 143 | }) |
| 144 | } |
| 145 | |
| 146 | t.Run("connect", func(t *testing.T) { |
| 147 | t.Parallel() |
nothing calls this directly
no test coverage detected