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

Function TestCoalesceVersion

tempodb/encoding/versioned_test.go:16–68  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

14}
15
16func TestCoalesceVersion(t *testing.T) {
17 defaultVer := DefaultEncoding().Version()
18
19 tests := []struct {
20 name string
21 versions []string
22 expectedVer string
23 expectErr bool
24 }{
25 {
26 name: "no versions returns default",
27 versions: nil,
28 expectedVer: defaultVer,
29 },
30 {
31 name: "empty strings return default",
32 versions: []string{"", ""},
33 expectedVer: defaultVer,
34 },
35 {
36 name: "single version",
37 versions: []string{LatestEncoding().Version()},
38 expectedVer: LatestEncoding().Version(),
39 },
40 {
41 name: "later non-empty wins",
42 versions: []string{"vParquet4", "vParquet5"},
43 expectedVer: "vParquet5",
44 },
45 {
46 name: "empty string does not override",
47 versions: []string{"vParquet5", ""},
48 expectedVer: "vParquet5",
49 },
50 {
51 name: "invalid version returns error",
52 versions: []string{"invalid"},
53 expectErr: true,
54 },
55 }
56
57 for _, tt := range tests {
58 t.Run(tt.name, func(t *testing.T) {
59 enc, err := CoalesceVersion(tt.versions...)
60 if tt.expectErr {
61 require.Error(t, err)
62 return
63 }
64 require.NoError(t, err)
65 assert.Equal(t, tt.expectedVer, enc.Version())
66 })
67 }
68}
69
70func TestAllVersions(t *testing.T) {
71 for _, v := range AllEncodings() {

Callers

nothing calls this directly

Calls 7

DefaultEncodingFunction · 0.85
LatestEncodingFunction · 0.85
CoalesceVersionFunction · 0.85
VersionMethod · 0.65
ErrorMethod · 0.65
RunMethod · 0.45
EqualMethod · 0.45

Tested by

no test coverage detected