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

Method TestClientRPCEventsLogAll

gcp/observability/logging_test.go:129–337  ·  view source on GitHub ↗

TestClientRPCEventsLogAll tests the observability system configured with a client RPC event that logs every call. It performs a Unary and Bidirectional Streaming RPC, and expects certain grpcLogEntries to make it's way to the exporter.

(t *testing.T)

Source from the content-addressed store, hash-verified

127// Streaming RPC, and expects certain grpcLogEntries to make it's way to the
128// exporter.
129func (s) TestClientRPCEventsLogAll(t *testing.T) {
130 fle := &fakeLoggingExporter{
131 t: t,
132 }
133 defer func(ne func(ctx context.Context, config *config) (loggingExporter, error)) {
134 newLoggingExporter = ne
135 }(newLoggingExporter)
136
137 newLoggingExporter = func(context.Context, *config) (loggingExporter, error) {
138 return fle, nil
139 }
140
141 clientRPCEventLogAllConfig := &config{
142 ProjectID: "fake",
143 CloudLogging: &cloudLogging{
144 ClientRPCEvents: []clientRPCEvents{
145 {
146 Methods: []string{"*"},
147 MaxMetadataBytes: 30,
148 MaxMessageBytes: 30,
149 },
150 },
151 },
152 }
153 cleanup, err := setupObservabilitySystemWithConfig(clientRPCEventLogAllConfig)
154 if err != nil {
155 t.Fatalf("error setting up observability: %v", err)
156 }
157 defer cleanup()
158
159 ss := &stubserver.StubServer{
160 UnaryCallF: func(context.Context, *testpb.SimpleRequest) (*testpb.SimpleResponse, error) {
161 return &testpb.SimpleResponse{}, nil
162 },
163 FullDuplexCallF: func(stream testgrpc.TestService_FullDuplexCallServer) error {
164 if _, err := stream.Recv(); err != nil {
165 return err
166 }
167 if err := stream.Send(&testpb.StreamingOutputCallResponse{}); err != nil {
168 return err
169 }
170 if _, err := stream.Recv(); err != io.EOF {
171 return err
172 }
173 return nil
174 },
175 }
176 if err := ss.Start(nil); err != nil {
177 t.Fatalf("Error starting endpoint server: %v", err)
178 }
179 defer ss.Stop()
180
181 ctx, cancel := context.WithTimeout(context.Background(), defaultTestTimeout)
182 defer cancel()
183 if _, err := ss.Client.UnaryCall(ctx, &testpb.SimpleRequest{}); err != nil {
184 t.Fatalf("Unexpected error from UnaryCall: %v", err)
185 }
186

Callers

nothing calls this directly

Calls 12

StartMethod · 0.95
StopMethod · 0.95
cmpLoggingEntryListFunction · 0.85
FatalfMethod · 0.65
RecvMethod · 0.65
SendMethod · 0.65
UnaryCallMethod · 0.65
FullDuplexCallMethod · 0.65
CloseSendMethod · 0.65
LockMethod · 0.45
UnlockMethod · 0.45

Tested by

no test coverage detected