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

Function TestOverridesExtension_UnmarshalYAML

modules/overrides/extension_test.go:235–317  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

233}
234
235func TestOverridesExtension_UnmarshalYAML(t *testing.T) {
236 t.Run("overrides", func(t *testing.T) {
237 resetRegistryForTesting(t)
238 get := RegisterExtension(&testExtension{})
239
240 input := `
241ingestion:
242 max_traces_per_user: 1000
243test_extension:
244 field_a: from_yaml
245 field_b: 11
246`
247 var o Overrides
248 require.NoError(t, yaml.Unmarshal([]byte(input), &o))
249
250 assert.Equal(t, 1000, o.Ingestion.MaxLocalTracesPerUser)
251 ext := get(&o)
252 require.NotNil(t, ext)
253 assert.Equal(t, "from_yaml", ext.FieldA)
254 assert.Equal(t, 11, *ext.FieldB)
255 })
256
257 t.Run("Overrides_strict_decoder_absorbs_extension_key", func(t *testing.T) {
258 resetRegistryForTesting(t)
259 RegisterExtension(&testExtension{})
260
261 input := `
262ingestion:
263 max_traces_per_user: 500
264test_extension:
265 field_a: strict_ok
266`
267 var o Overrides
268 decoder := yaml.NewDecoder(strings.NewReader(input))
269 decoder.SetStrict(true)
270 require.NoError(t, decoder.Decode(&o), "strict YAML decoder must not error on registered extension keys")
271 })
272
273 t.Run("overrides unregistered key", func(t *testing.T) {
274 resetRegistryForTesting(t)
275
276 input := `
277ingestion:
278 max_traces_per_user: 1
279unknown_ext:
280 x: 1
281`
282 var o Overrides
283 err := yaml.Unmarshal([]byte(input), &o)
284 require.ErrorContains(t, err, "unknown extension key")
285 })
286
287 t.Run("legacy overrides", func(t *testing.T) {
288 resetRegistryForTesting(t)
289 get := RegisterExtension(&testExtension{})
290
291 input := `
292max_traces_per_user: 1000

Callers

nothing calls this directly

Calls 8

DecodeMethod · 0.95
toNewLimitsMethod · 0.95
resetRegistryForTestingFunction · 0.85
RegisterExtensionFunction · 0.85
processExtensionsFunction · 0.85
UnmarshalMethod · 0.65
RunMethod · 0.45
EqualMethod · 0.45

Tested by

no test coverage detected