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

Function TestDetectLegacyOverrides

cmd/tempo-cli/cmd-migrate-config_test.go:81–140  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

79}
80
81func TestDetectLegacyOverrides(t *testing.T) {
82 tests := []struct {
83 name string
84 m map[string]interface{}
85 expectErr bool
86 }{
87 {
88 name: "new format with defaults key",
89 m: map[string]interface{}{
90 "overrides": map[string]interface{}{
91 "defaults": map[string]interface{}{
92 "ingestion": map[string]interface{}{
93 "rate_limit_bytes": 5000000,
94 },
95 },
96 },
97 },
98 expectErr: false,
99 },
100 {
101 name: "legacy format detected",
102 m: map[string]interface{}{
103 "overrides": map[string]interface{}{
104 "ingestion_rate_strategy": "global",
105 "ingestion_rate_limit_bytes": 5000000,
106 "max_traces_per_user": 50000,
107 },
108 },
109 expectErr: true,
110 },
111 {
112 name: "no overrides section",
113 m: map[string]interface{}{},
114 expectErr: false,
115 },
116 {
117 name: "unknown keys without legacy keys is fine",
118 m: map[string]interface{}{
119 "overrides": map[string]interface{}{
120 "defaults": map[string]interface{}{},
121 "some_unknown_key": "value",
122 },
123 },
124 expectErr: false,
125 },
126 }
127
128 for _, tt := range tests {
129 t.Run(tt.name, func(t *testing.T) {
130 err := detectLegacyOverrides(tt.m)
131 if tt.expectErr {
132 require.Error(t, err)
133 assert.Contains(t, err.Error(), "legacy overrides format detected")
134 assert.Contains(t, err.Error(), "tempo-cli migrate overrides-config")
135 } else {
136 require.NoError(t, err)
137 }
138 })

Callers

nothing calls this directly

Calls 3

detectLegacyOverridesFunction · 0.85
ErrorMethod · 0.65
RunMethod · 0.45

Tested by

no test coverage detected