Documentation
¶
Overview ¶
Package storetest is imported exclusively by tests for Store implementations.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RunStoreImplementationTests ¶
func RunStoreImplementationTests(t *testing.T, ctx context.Context, opts TestOptions)
RunStoreImplementationTests runs all the standard tests that all store implementations are expected to pass. When you write a new Store implementation you should ensure you run these tests against it.
Types ¶
type FakeMetric ¶
type FakeMetric struct {
types.MetricInfo
types.MetricMetadata
}
FakeMetric is a fake Metric implementation.
func (*FakeMetric) Metadata ¶
func (m *FakeMetric) Metadata() types.MetricMetadata
Metadata implements Metric.Metadata
func (*FakeMetric) SetFixedResetTime ¶
func (m *FakeMetric) SetFixedResetTime(t time.Time)
SetFixedResetTime implements Metric.SetFixedResetTime.
type Store ¶
type Store interface {
DefaultTarget() types.Target
SetDefaultTarget(t types.Target)
Get(c context.Context, m types.Metric, resetTime time.Time, fieldVals []interface{}) interface{}
Set(c context.Context, m types.Metric, resetTime time.Time, fieldVals []interface{}, value interface{})
Incr(c context.Context, m types.Metric, resetTime time.Time, fieldVals []interface{}, delta interface{})
GetAll(c context.Context) []types.Cell
Reset(c context.Context, m types.Metric)
}
Store is a store under test.
It is a copy of store.Store interface to break module dependency cycle.
type TestOptions ¶
type TestOptions struct {
// Factory creates and returns a new Store implementation.
Factory func() Store
// RegistrationFinished is called after all metrics have been registered.
// Store implementations that need to do expensive initialization (that would
// otherwise be done in iface.go) can do that here.
RegistrationFinished func(Store)
// GetNumRegisteredMetrics returns the number of metrics registered in the
// store.
GetNumRegisteredMetrics func(Store) int
}
TestOptions contains options for RunStoreImplementationTests.
Click to show internal directories.
Click to hide internal directories.