master
go 48 lines 1.22 KB
Raw
1 // SPDX-License-Identifier: GPL-3.0-or-later
2
3 package metrix
4
5 import (
6 "testing"
7
8 "github.com/stretchr/testify/require"
9 )
10
11 func cycleController(t *testing.T, s CollectorStore) CycleController {
12 t.Helper()
13 managed, ok := AsCycleManagedStore(s)
14 require.True(t, ok, "store does not expose cycle control")
15 return managed.CycleController()
16 }
17
18 func expectPanic(t *testing.T, fn func()) {
19 t.Helper()
20 defer func() {
21 require.NotNil(t, recover(), "expected panic")
22 }()
23 fn()
24 }
25
26 func mustValue(t *testing.T, r Reader, name string, labels Labels, want SampleValue) {
27 t.Helper()
28 got, ok := r.Value(name, labels)
29 require.True(t, ok, "expected value for %s", name)
30 require.Equal(t, want, got, "unexpected value for %s", name)
31 }
32
33 func mustDelta(t *testing.T, r Reader, name string, labels Labels, want SampleValue) {
34 t.Helper()
35 got, ok := r.Delta(name, labels)
36 require.True(t, ok, "expected delta for %s", name)
37 require.Equal(t, want, got, "unexpected delta for %s", name)
38 }
39
40 func mustNoDelta(t *testing.T, r Reader, name string, labels Labels) {
41 t.Helper()
42 _, ok := r.Delta(name, labels)
43 require.False(t, ok, "expected no delta for %s", name)
44 }
45
46 func measureSetFieldLabels(field string) Labels {
47 return Labels{MeasureSetFieldLabel: field}
48 }