(t *testing.T)
| 133 | } |
| 134 | |
| 135 | func 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 | } |
nothing calls this directly
no test coverage detected