(t *testing.T, e env)
| 2502 | } |
| 2503 | |
| 2504 | func testMetadataUnaryRPC(t *testing.T, e env) { |
| 2505 | te := newTest(t, e) |
| 2506 | te.startServer(&testServer{security: e.security}) |
| 2507 | defer te.tearDown() |
| 2508 | tc := testgrpc.NewTestServiceClient(te.clientConn()) |
| 2509 | |
| 2510 | const argSize = 2718 |
| 2511 | const respSize = 314 |
| 2512 | |
| 2513 | payload, err := newPayload(testpb.PayloadType_COMPRESSABLE, argSize) |
| 2514 | if err != nil { |
| 2515 | t.Fatal(err) |
| 2516 | } |
| 2517 | |
| 2518 | req := &testpb.SimpleRequest{ |
| 2519 | ResponseType: testpb.PayloadType_COMPRESSABLE, |
| 2520 | ResponseSize: respSize, |
| 2521 | Payload: payload, |
| 2522 | } |
| 2523 | var header, trailer metadata.MD |
| 2524 | ctx, cancel := context.WithTimeout(context.Background(), defaultTestTimeout) |
| 2525 | defer cancel() |
| 2526 | ctx = metadata.NewOutgoingContext(ctx, testMetadata) |
| 2527 | if _, err := tc.UnaryCall(ctx, req, grpc.Header(&header), grpc.Trailer(&trailer)); err != nil { |
| 2528 | t.Fatalf("TestService.UnaryCall(%v, _, _, _) = _, %v; want _, <nil>", ctx, err) |
| 2529 | } |
| 2530 | // Ignore optional response headers that Servers may set: |
| 2531 | if header != nil { |
| 2532 | delete(header, "trailer") // RFC 2616 says server SHOULD (but optional) declare trailers |
| 2533 | delete(header, "date") // the Date header is also optional |
| 2534 | delete(header, "user-agent") |
| 2535 | delete(header, "content-type") |
| 2536 | delete(header, "grpc-accept-encoding") |
| 2537 | } |
| 2538 | if !reflect.DeepEqual(header, testMetadata) { |
| 2539 | t.Fatalf("Received header metadata %v, want %v", header, testMetadata) |
| 2540 | } |
| 2541 | if !reflect.DeepEqual(trailer, testTrailerMetadata) { |
| 2542 | t.Fatalf("Received trailer metadata %v, want %v", trailer, testTrailerMetadata) |
| 2543 | } |
| 2544 | } |
| 2545 | |
| 2546 | func (s) TestMetadataOrderUnaryRPC(t *testing.T) { |
| 2547 | for _, e := range listTestEnv() { |
no test coverage detected