64 lines
1.6 KiB
Go
64 lines
1.6 KiB
Go
package metrics
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/influxdata/platform/pkg/testing/assert"
|
|
)
|
|
|
|
func TestRegistry_MustRegisterCounter(t *testing.T) {
|
|
r := NewRegistry()
|
|
id := r.MustRegisterCounter("counter")
|
|
assert.Equal(t, id, ID(0), "invalid id")
|
|
}
|
|
|
|
func TestRegistry_MustRegisterCounter_Panics(t *testing.T) {
|
|
r := NewRegistry()
|
|
r.MustRegisterCounter("counter")
|
|
assert.PanicsWithValue(t, "metric name 'counter' already in use", func() {
|
|
r.MustRegisterCounter("counter")
|
|
})
|
|
}
|
|
|
|
func TestRegistry_NewGroup_CounterIsZero(t *testing.T) {
|
|
r := NewRegistry()
|
|
id := r.MustRegisterCounter("counter")
|
|
|
|
c := r.NewGroup(DefaultGroup).GetCounter(id)
|
|
c.Add(1)
|
|
assert.Equal(t, int64(1), c.Value())
|
|
|
|
c = r.NewGroup(DefaultGroup).GetCounter(id)
|
|
assert.Equal(t, int64(0), c.Value())
|
|
}
|
|
|
|
func TestRegistry_MustRegisterTimer(t *testing.T) {
|
|
r := NewRegistry()
|
|
id := r.MustRegisterTimer("timer")
|
|
assert.Equal(t, ID(0), id, "invalid id")
|
|
}
|
|
|
|
func TestRegistry_MustRegisterTimer_Panics(t *testing.T) {
|
|
r := NewRegistry()
|
|
r.MustRegisterCounter("timer")
|
|
assert.PanicsWithValue(t, "metric name 'timer' already in use", func() {
|
|
r.MustRegisterCounter("timer")
|
|
})
|
|
}
|
|
|
|
func TestRegistry_MustRegisterMultiple(t *testing.T) {
|
|
r := NewRegistry()
|
|
cnt := r.MustRegisterCounter("counter")
|
|
tmr := r.MustRegisterTimer("timer")
|
|
assert.Equal(t, ID(0), cnt, "invalid id")
|
|
assert.Equal(t, ID(0), tmr, "invalid id")
|
|
}
|
|
|
|
func TestRegistry_MustRegister_Panics_Across_Measurements(t *testing.T) {
|
|
r := NewRegistry()
|
|
r.MustRegisterCounter("foo")
|
|
assert.PanicsWithValue(t, "metric name 'foo' already in use", func() {
|
|
r.MustRegisterCounter("foo")
|
|
})
|
|
}
|