grafana/pkg/infra/usagestats/mock.go
idafurjes 9340430723
Chore: Add alert ctx (#41161)
* Add context for alert

* Remove context.TODO

* Remove xorm

* Remove context.TODO

* Fix UsageStatsQuerier interface
2021-11-03 14:10:39 +01:00

37 lines
776 B
Go

package usagestats
import (
"context"
"testing"
"github.com/stretchr/testify/require"
)
type UsageStatsMock struct {
T testing.TB
metricsFuncs []MetricsFunc
}
func (usm *UsageStatsMock) RegisterMetricsFunc(fn MetricsFunc) {
usm.metricsFuncs = append(usm.metricsFuncs, fn)
}
func (usm *UsageStatsMock) GetUsageReport(ctx context.Context) (Report, error) {
all := make(map[string]interface{})
for _, fn := range usm.metricsFuncs {
fnMetrics, err := fn(ctx)
require.NoError(usm.T, err)
for name, value := range fnMetrics {
all[name] = value
}
}
return Report{Metrics: all}, nil
}
func (usm *UsageStatsMock) ShouldBeReported(_ string) bool {
return true
}
func (usm *UsageStatsMock) RegisterSendReportCallback(_ SendReportCallbackFunc) {}