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

Function testMultipleSetHeaderUnaryRPCError

test/end2end_test.go:2762–2796  ·  view source on GitHub ↗

To test header metadata is sent when sending status.

(t *testing.T, e env)

Source from the content-addressed store, hash-verified

2760
2761// To test header metadata is sent when sending status.
2762func testMultipleSetHeaderUnaryRPCError(t *testing.T, e env) {
2763 te := newTest(t, e)
2764 te.startServer(&testServer{security: e.security, setHeaderOnly: true})
2765 defer te.tearDown()
2766 tc := testgrpc.NewTestServiceClient(te.clientConn())
2767
2768 const (
2769 argSize = 1
2770 respSize = -1 // Invalid respSize to make RPC fail.
2771 )
2772 payload, err := newPayload(testpb.PayloadType_COMPRESSABLE, argSize)
2773 if err != nil {
2774 t.Fatal(err)
2775 }
2776
2777 req := &testpb.SimpleRequest{
2778 ResponseType: testpb.PayloadType_COMPRESSABLE,
2779 ResponseSize: respSize,
2780 Payload: payload,
2781 }
2782 var header metadata.MD
2783 ctx, cancel := context.WithTimeout(context.Background(), defaultTestTimeout)
2784 defer cancel()
2785 ctx = metadata.NewOutgoingContext(ctx, testMetadata)
2786 if _, err := tc.UnaryCall(ctx, req, grpc.Header(&header), grpc.WaitForReady(true)); err == nil {
2787 t.Fatalf("TestService.UnaryCall(%v, _, _, _) = _, %v; want _, <non-nil>", ctx, err)
2788 }
2789 delete(header, "user-agent")
2790 delete(header, "content-type")
2791 delete(header, "grpc-accept-encoding")
2792 expectedHeader := metadata.Join(testMetadata, testMetadata2)
2793 if !reflect.DeepEqual(header, expectedHeader) {
2794 t.Fatalf("Received header metadata %v, want %v", header, expectedHeader)
2795 }
2796}
2797
2798func (s) TestSetAndSendHeaderStreamingRPC(t *testing.T) {
2799 for _, e := range listTestEnv() {

Callers 1

Calls 12

UnaryCallMethod · 0.95
NewOutgoingContextFunction · 0.92
HeaderFunction · 0.92
WaitForReadyFunction · 0.92
JoinFunction · 0.92
newPayloadFunction · 0.85
newTestFunction · 0.70
FatalMethod · 0.65
FatalfMethod · 0.65
startServerMethod · 0.45
tearDownMethod · 0.45
clientConnMethod · 0.45

Tested by

no test coverage detected