(t *testing.T)
| 2111 | } |
| 2112 | |
| 2113 | func 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 | |
| 2158 | func TestTracePushMiddlewareFailsOpen(t *testing.T) { |
| 2159 | limits := overrides.Config{} |
nothing calls this directly
no test coverage detected