1
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

36 lines
795 B

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(_ context.Context, _ string) bool {
return true
}
func (usm *UsageStatsMock) RegisterSendReportCallback(_ SendReportCallbackFunc) {}