TestMetricsAndTracesDisabled verifies that RPCs call succeed as expected when metrics and traces are disabled in the OpenTelemetry instrumentation.
(t *testing.T)
| 1324 | // TestMetricsAndTracesDisabled verifies that RPCs call succeed as expected |
| 1325 | // when metrics and traces are disabled in the OpenTelemetry instrumentation. |
| 1326 | func (s) TestMetricsAndTracesDisabled(t *testing.T) { |
| 1327 | ss := &stubserver.StubServer{ |
| 1328 | UnaryCallF: func(_ context.Context, in *testpb.SimpleRequest) (*testpb.SimpleResponse, error) { |
| 1329 | return &testpb.SimpleResponse{Payload: &testpb.Payload{ |
| 1330 | Body: make([]byte, len(in.GetPayload().GetBody())), |
| 1331 | }}, nil |
| 1332 | }, |
| 1333 | FullDuplexCallF: func(stream testgrpc.TestService_FullDuplexCallServer) error { |
| 1334 | for { |
| 1335 | _, err := stream.Recv() |
| 1336 | if err == io.EOF { |
| 1337 | return nil |
| 1338 | } |
| 1339 | } |
| 1340 | }, |
| 1341 | } |
| 1342 | |
| 1343 | if err := ss.Start(nil); err != nil { |
| 1344 | t.Fatalf("Error starting endpoint server: %v", err) |
| 1345 | } |
| 1346 | defer ss.Stop() |
| 1347 | |
| 1348 | ctx, cancel := context.WithTimeout(context.Background(), defaultTestTimeout) |
| 1349 | defer cancel() |
| 1350 | |
| 1351 | // Make two RPCs, a unary RPC and a streaming RPC. |
| 1352 | if _, err := ss.Client.UnaryCall(ctx, &testpb.SimpleRequest{Payload: &testpb.Payload{ |
| 1353 | Body: make([]byte, 10000), |
| 1354 | }}); err != nil { |
| 1355 | t.Fatalf("Unexpected error from UnaryCall: %v", err) |
| 1356 | } |
| 1357 | stream, err := ss.Client.FullDuplexCall(ctx) |
| 1358 | if err != nil { |
| 1359 | t.Fatalf("ss.Client.FullDuplexCall failed: %v", err) |
| 1360 | } |
| 1361 | |
| 1362 | stream.CloseSend() |
| 1363 | if _, err = stream.Recv(); err != io.EOF { |
| 1364 | t.Fatalf("stream.Recv received an unexpected error: %v, expected an EOF error", err) |
| 1365 | } |
| 1366 | } |
| 1367 | |
| 1368 | // TestRPCSpanErrorStatus verifies that errors during RPC calls are correctly |
| 1369 | // reflected in the span status. It simulates a unary RPC that returns an error |
nothing calls this directly
no test coverage detected