To test header metadata is sent on SendHeader().
(t *testing.T, e env)
| 2806 | |
| 2807 | // To test header metadata is sent on SendHeader(). |
| 2808 | func 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 | |
| 2841 | func (s) TestMultipleSetHeaderStreamingRPC(t *testing.T) { |
| 2842 | for _, e := range listTestEnv() { |
no test coverage detected