MCPcopy
hub / github.com/grafana/tempo / TestTracePushMiddlewareCalled

Function TestTracePushMiddlewareCalled

modules/distributor/distributor_test.go:2113–2156  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

2111}
2112
2113func TestTracePushMiddlewareCalled(t *testing.T) {
2114 limits := overrides.Config{}
2115 limitCfg := &flag.FlagSet{}
2116 limits.RegisterFlagsAndApplyDefaults(limitCfg)
2117
2118 distributorCfg, overridesSvc, loggingLevel, middleware := setupDependencies(t, limits)
2119
2120 // Track middleware calls
2121 var middlewareCalled bool
2122 var receivedTraces ptrace.Traces
2123
2124 // Create a test middleware
2125 testMiddleware := func(_ context.Context, td ptrace.Traces) error {
2126 middlewareCalled = true
2127 receivedTraces = td
2128 return nil
2129 }
2130
2131 distributorCfg.TracePushMiddlewares = []TracePushMiddleware{testMiddleware}
2132
2133 d, err := New(
2134 distributorCfg,
2135 LocalPushTargets{},
2136 nil,
2137 overridesSvc,
2138 middleware,
2139 kitlog.NewLogfmtLogger(os.Stdout),
2140 loggingLevel,
2141 prometheus.NewRegistry(),
2142 )
2143 require.NoError(t, err)
2144
2145 // Create test traces
2146 traces := batchesToTraces(t, []*v1.ResourceSpans{test.MakeBatch(10, nil)})
2147
2148 // Call PushTraces
2149 _, err = d.PushTraces(ctx, traces)
2150 require.NoError(t, err)
2151
2152 // Verify middleware was called
2153 assert.True(t, middlewareCalled, "TracePushMiddleware should have been called")
2154 assert.NotNil(t, receivedTraces, "Middleware should have received traces")
2155 assert.Equal(t, traces.SpanCount(), receivedTraces.SpanCount(), "Middleware should receive the same traces")
2156}
2157
2158func TestTracePushMiddlewareFailsOpen(t *testing.T) {
2159 limits := overrides.Config{}

Callers

nothing calls this directly

Calls 7

MakeBatchFunction · 0.92
batchesToTracesFunction · 0.85
setupDependenciesFunction · 0.70
NewFunction · 0.70
PushTracesMethod · 0.65
EqualMethod · 0.45

Tested by

no test coverage detected