grafana/pkg/tsdb/prometheus/querydata/exemplar/sampler_test.go
Serge Zaitsev f8ec35e643
Chore: Fix goimports grouping (#62427)
* fix goimports order

* fix goimports order
2023-01-30 09:38:51 +01:00

46 lines
1.1 KiB
Go

package exemplar_test
import (
"testing"
"time"
"github.com/grafana/grafana-plugin-sdk-go/experimental"
"github.com/grafana/grafana/pkg/tsdb/prometheus/models"
"github.com/grafana/grafana/pkg/tsdb/prometheus/querydata/exemplar"
)
const update = true
func TestNoOpSampler(t *testing.T) {
sampler := exemplar.NewNoOpSampler().(*exemplar.NoOpSampler)
t.Run("no-op sampler", func(t *testing.T) {
tr := models.TimeRange{
Start: time.Unix(0, 0),
End: time.Unix(2000, 0),
}
ex := generateTestExemplars(tr)
for i := 0; i < len(ex); i++ {
sampler.Add(ex[i])
}
framer := exemplar.NewFramer(sampler, exemplar.NewLabelTracker())
experimental.CheckGoldenJSONFramer(t, "testdata", "noop_sampler", framer, update)
})
}
func generateTestExemplars(tr models.TimeRange) []models.Exemplar {
exemplars := []models.Exemplar{}
next := tr.Start.UTC()
for {
if next.Equal(tr.End) || next.After(tr.End) {
break
}
exemplars = append(exemplars, models.Exemplar{
Timestamp: next,
Value: float64(next.Unix()),
})
next = next.Add(time.Second).UTC()
}
return exemplars
}