MCPcopy Index your code
hub / github.com/coder/coder / TestMetricsResetsStaleProviderSeries

Function TestMetricsResetsStaleProviderSeries

coderd/aibridged/metrics_test.go:51–70  ·  view source on GitHub ↗

TestMetricsResetsStaleProviderSeries verifies that providers removed from the outcome set between reloads do not leave behind stale series.

(t *testing.T)

Source from the content-addressed store, hash-verified

49// from the outcome set between reloads do not leave behind stale
50// series.
51func TestMetricsResetsStaleProviderSeries(t *testing.T) {
52 t.Parallel()
53
54 reg := prometheus.NewRegistry()
55 m := aibridged.NewMetrics(reg)
56
57 m.RecordReloadSuccess([]aibridged.ProviderOutcome{
58 {Name: "alpha", Type: "openai", Status: aibridged.ProviderStatusEnabled},
59 {Name: "beta", Type: "anthropic", Status: aibridged.ProviderStatusEnabled},
60 })
61 require.Equal(t, 2, promtest.CollectAndCount(m.ProviderInfo))
62
63 m.RecordReloadSuccess([]aibridged.ProviderOutcome{
64 {Name: "alpha", Type: "openai", Status: aibridged.ProviderStatusEnabled},
65 })
66
67 assert.Equal(t, 1, promtest.CollectAndCount(m.ProviderInfo),
68 "beta should have been Reset out of the GaugeVec")
69 assert.Equal(t, 1.0, promtest.ToFloat64(m.ProviderInfo.WithLabelValues("alpha", "openai", "enabled")))
70}
71
72// TestMetricsNilSafe asserts the helpers tolerate a nil receiver so
73// callers can pass `nil` to disable metric updates without guarding

Callers

nothing calls this directly

Calls 4

RecordReloadSuccessMethod · 0.95
NewMetricsFunction · 0.92
WithLabelValuesMethod · 0.80
EqualMethod · 0.45

Tested by

no test coverage detected