MCPcopy
hub / github.com/grafana/dskit / TestGrpcLimitCheckMalformedMethodName

Function TestGrpcLimitCheckMalformedMethodName

server/limits_test.go:27–47  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

25)
26
27func TestGrpcLimitCheckMalformedMethodName(t *testing.T) {
28 const badMethodName = "bad_method_name"
29
30 ts := &testServer{finishRequest: make(chan struct{})}
31 ml := &methodLimiter{protectedMethod: badMethodName}
32
33 limitCheck := newGrpcInflightLimitCheck(ml, log.NewNopLogger())
34
35 c := setupGrpcServerWithCheckAndClient(t, ts, limitCheck)
36
37 out := &emptypb.Empty{}
38 err := c.(*fakeServerClient).cc.Invoke(context.Background(), badMethodName, &emptypb.Empty{}, out)
39
40 require.Error(t, err)
41 s, ok := status.FromError(err)
42 require.True(t, ok)
43 require.Equal(t, codes.Unimplemented, s.Code())
44 require.Contains(t, s.Message(), "malformed method name")
45 require.Equal(t, int64(0), ml.allInflight.Load())
46 require.Equal(t, int64(0), ml.protectedMethodInflight.Load())
47}
48
49func checkGrpcStatusError(t *testing.T, err error, code codes.Code, msg string) {
50 require.Error(t, err)

Callers

nothing calls this directly

Calls 5

MessageMethod · 0.80
ErrorMethod · 0.45
EqualMethod · 0.45

Tested by

no test coverage detected