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

Function TestNewTraceByIDV2

modules/frontend/combiner/trace_by_id_v2_test.go:135–172  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

133}
134
135func TestNewTraceByIDV2(t *testing.T) {
136 traceResponse := &tempopb.TraceByIDResponse{
137 Trace: test.MakeTrace(2, []byte{0x01, 0x02}),
138 Metrics: &tempopb.TraceByIDMetrics{},
139 }
140 resBytes, err := proto.Marshal(traceResponse)
141 require.NoError(t, err)
142 response := http.Response{
143 StatusCode: 200,
144 Header: map[string][]string{
145 "Content-Type": {"application/protobuf"},
146 },
147 Body: io.NopCloser(bytes.NewReader(resBytes)),
148 }
149
150 t.Run("returns a combined trace response as JSON", func(t *testing.T) {
151 combiner := NewTraceByIDV2(100_000, api.HeaderAcceptJSON, nil)
152 err = combiner.AddResponse(MockResponse{&response})
153 require.NoError(t, err)
154
155 res, err := combiner.HTTPFinal()
156 require.NoError(t, err)
157 assert.Equal(t, api.HeaderAcceptJSON, res.Header.Get(api.HeaderContentType))
158
159 actualResp := &tempopb.TraceByIDResponse{}
160 err = new(jsonpb.Unmarshaler).Unmarshal(res.Body, actualResp)
161 require.NoError(t, err)
162 })
163 t.Run("returns a combined trace response as protobuff", func(t *testing.T) {
164 combiner := NewTraceByIDV2(100_000, api.HeaderAcceptProtobuf, nil)
165 err = combiner.AddResponse(MockResponse{&response})
166 require.NoError(t, err)
167
168 res, err := combiner.HTTPFinal()
169 require.NoError(t, err)
170 require.NotNil(t, res)
171 })
172}

Callers

nothing calls this directly

Calls 9

MakeTraceFunction · 0.92
NewTraceByIDV2Function · 0.85
MarshalMethod · 0.65
AddResponseMethod · 0.65
HTTPFinalMethod · 0.65
GetMethod · 0.65
UnmarshalMethod · 0.65
RunMethod · 0.45
EqualMethod · 0.45

Tested by

no test coverage detected