pomerium/internal/telemetry/metrics/kv_test.go

34 lines
732 B
Go

package metrics
import (
"testing"
redis "github.com/go-redis/redis/v8"
"go.opencensus.io/metric/metricdata"
)
func Test_AddRedisMetrics(t *testing.T) {
t.Parallel()
tests := []struct {
name string
stat redis.PoolStats
want int64
}{
{"redis_conns", redis.PoolStats{TotalConns: 7}, 7},
{"redis_idle_conns", redis.PoolStats{IdleConns: 3}, 3},
{"redis_miss_count_total", redis.PoolStats{Misses: 2}, 2},
}
labelValues := []metricdata.LabelValue{
metricdata.NewLabelValue("redis"),
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
AddRedisMetrics(func() *redis.PoolStats { return &tt.stat })
testMetricRetrieval(registry.registry.Read(), t, labelValues, tt.want, tt.name)
})
}
}