MCPcopy
hub / github.com/grpc/grpc-go / testSetAndSendHeaderStreamingRPC

Function testSetAndSendHeaderStreamingRPC

test/end2end_test.go:2808–2839  ·  view source on GitHub ↗

To test header metadata is sent on SendHeader().

(t *testing.T, e env)

Source from the content-addressed store, hash-verified

2806
2807// To test header metadata is sent on SendHeader().
2808func testSetAndSendHeaderStreamingRPC(t *testing.T, e env) {
2809 te := newTest(t, e)
2810 te.startServer(&testServer{security: e.security, setAndSendHeader: true})
2811 defer te.tearDown()
2812 tc := testgrpc.NewTestServiceClient(te.clientConn())
2813
2814 ctx, cancel := context.WithTimeout(context.Background(), defaultTestTimeout)
2815 defer cancel()
2816 ctx = metadata.NewOutgoingContext(ctx, testMetadata)
2817 stream, err := tc.FullDuplexCall(ctx)
2818 if err != nil {
2819 t.Fatalf("%v.FullDuplexCall(_) = _, %v, want <nil>", tc, err)
2820 }
2821 if err := stream.CloseSend(); err != nil {
2822 t.Fatalf("%v.CloseSend() got %v, want %v", stream, err, nil)
2823 }
2824 if _, err := stream.Recv(); err != io.EOF {
2825 t.Fatalf("%v failed to complele the FullDuplexCall: %v", stream, err)
2826 }
2827
2828 header, err := stream.Header()
2829 if err != nil {
2830 t.Fatalf("%v.Header() = _, %v, want _, <nil>", stream, err)
2831 }
2832 delete(header, "user-agent")
2833 delete(header, "content-type")
2834 delete(header, "grpc-accept-encoding")
2835 expectedHeader := metadata.Join(testMetadata, testMetadata2)
2836 if !reflect.DeepEqual(header, expectedHeader) {
2837 t.Fatalf("Received header metadata %v, want %v", header, expectedHeader)
2838 }
2839}
2840
2841func (s) TestMultipleSetHeaderStreamingRPC(t *testing.T) {
2842 for _, e := range listTestEnv() {

Callers 1

Calls 11

FullDuplexCallMethod · 0.95
NewOutgoingContextFunction · 0.92
JoinFunction · 0.92
newTestFunction · 0.70
FatalfMethod · 0.65
CloseSendMethod · 0.65
RecvMethod · 0.65
HeaderMethod · 0.65
startServerMethod · 0.45
tearDownMethod · 0.45
clientConnMethod · 0.45

Tested by

no test coverage detected