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

Function TestResponseFixture

cmd/tempo-vulture/main_test.go:76–109  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

74}
75
76func TestResponseFixture(t *testing.T) {
77 seed := time.Unix(1636729665, 0)
78 info := util.NewTraceInfo(seed, "")
79
80 generatedTrace, err := info.ConstructTraceFromEpoch()
81 require.NoError(t, err)
82
83 // Regenerate fixture when TEMPO_VULTURE_REGENERATE_TRACE_FIXTURE=1 (e.g. after adding new attributes)
84 if os.Getenv("TEMPO_VULTURE_REGENERATE_TRACE_FIXTURE") == "1" {
85 var jsonTrace bytes.Buffer
86 marshaller := &jsonpb.Marshaler{}
87 err = marshaller.Marshal(&jsonTrace, generatedTrace)
88 require.NoError(t, err)
89 require.NoError(t, os.WriteFile("testdata/trace.json", jsonTrace.Bytes(), 0o644))
90 t.Log("Wrote testdata/trace.json")
91 return
92 }
93
94 f, err := os.Open("testdata/trace.json")
95 require.NoError(t, err)
96 defer f.Close()
97
98 expected := &tempopb.Trace{}
99 err = jsonpb.Unmarshal(f, expected)
100 require.NoError(t, err)
101
102 assert.True(t, equalTraces(expected, generatedTrace))
103
104 if diff := deep.Equal(expected, generatedTrace); diff != nil {
105 for _, d := range diff {
106 t.Error(d)
107 }
108 }
109}
110
111func TestEqualTraces(t *testing.T) {
112 seed := time.Now()

Callers

nothing calls this directly

Calls 10

NewTraceInfoFunction · 0.92
equalTracesFunction · 0.85
BytesMethod · 0.80
MarshalMethod · 0.65
LogMethod · 0.65
CloseMethod · 0.65
UnmarshalMethod · 0.65
ErrorMethod · 0.65
EqualMethod · 0.45

Tested by

no test coverage detected