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.