test

package
v0.8.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 20, 2019 License: Apache-2.0 Imports: 30 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// SeriesID is the expected id for the generated series
	SeriesID string
	// SeriesNamespace is the expected namespace for the generated series
	SeriesNamespace string
	// TestTags is the expected tags for the generated series
	TestTags map[string]string
	// BlockSize is the expected block size for the generated series
	BlockSize time.Duration
	// Start is the expected start time for the first block in the generated series
	Start time.Time
	// SeriesStart is the expected start time for the generated series
	SeriesStart time.Time
	// Middle is the expected end for the first block, and start of the second block
	Middle time.Time
	// End is the expected end time for the generated series
	End time.Time
)

Functions

func BuildCustomIterator added in v0.5.0

func BuildCustomIterator(
	dps [][]Datapoint,
	testTags map[string]string,
	seriesID, seriesNamespace string,
	start time.Time,
	blockSize, stepSize time.Duration,
) (encoding.SeriesIterator, models.Bounds, error)

BuildCustomIterator builds a custom iterator with bounds

func BuildTestSeriesIterator

func BuildTestSeriesIterator() (encoding.SeriesIterator, error)

BuildTestSeriesIterator creates a sample SeriesIterator This series iterator has two identical replicas. Each replica has two blocks. The first block in each replica is merged and has values 1->30 The values 1 and 2 appear before the SeriesIterator start time, and are not expected to appear when reading through the iterator The second block is unmerged; when it was merged, it has values 101 -> 130 from two readers, one with even values and other with odd values Expected data points for reading through the iterator: [3..30,101..130], 58 in total SeriesIterator ID is 'foo', namespace is 'namespace' Tags are "foo": "bar" and "baz": "qux"

func CompareLists added in v0.4.2

func CompareLists(t *testing.T, meta, exMeta []block.SeriesMeta, index, exIndex [][]int)

CompareLists compares series meta / index pairs

func CompareValues added in v0.4.2

func CompareValues(t *testing.T, meta, exMeta []block.SeriesMeta, vals, exVals [][]float64)

CompareValues compares series meta / value pairs

func EqualsWithNans

func EqualsWithNans(t *testing.T, expected interface{}, actual interface{})

EqualsWithNans helps compare float slices which have NaNs in them

func EqualsWithNansWithDelta added in v0.4.2

func EqualsWithNansWithDelta(t *testing.T, expected interface{}, actual interface{}, delta float64)

EqualsWithNansWithDelta helps compare float slices which have NaNs in them allowing a delta for float comparisons.

func GeneratePromReadBody

func GeneratePromReadBody(t *testing.T) io.Reader

GeneratePromReadBody generates a sample snappy encoded prometheus remote read request body

func GeneratePromReadRequest

func GeneratePromReadRequest() *prompb.ReadRequest

GeneratePromReadRequest generates a sample prometheus remote read request

func GenerateValuesAndBounds

func GenerateValuesAndBounds(vals [][]float64, b *models.Bounds) ([][]float64, models.Bounds)

GenerateValuesAndBounds generates a list of sample values and bounds while allowing overrides

func MakeMockPoolWrapper added in v0.4.6

func MakeMockPoolWrapper() *pools.PoolWrapper

MakeMockPoolWrapper builds a pool wrapper wrapping a mock iterator

func NewBlockFromValues

func NewBlockFromValues(bounds models.Bounds, seriesValues [][]float64) block.Block

NewBlockFromValues creates a new block using the provided values

func NewBlockFromValuesWithMetaAndSeriesMeta added in v0.4.1

func NewBlockFromValuesWithMetaAndSeriesMeta(
	meta block.Metadata,
	seriesMeta []block.SeriesMeta,
	seriesValues [][]float64,
) block.Block

NewBlockFromValuesWithMetaAndSeriesMeta creates a new block using the provided values Note: panics on errors, since this is a testutil

func NewBlockFromValuesWithSeriesMeta added in v0.4.1

func NewBlockFromValuesWithSeriesMeta(
	bounds models.Bounds,
	seriesMeta []block.SeriesMeta,
	seriesValues [][]float64,
) block.Block

NewBlockFromValuesWithSeriesMeta creates a new block using the provided values

func NewMultiUnconsolidatedBlocksFromValues added in v0.4.6

func NewMultiUnconsolidatedBlocksFromValues(bounds models.Bounds, seriesValues [][]float64, valueMod ValueMod, numBlocks int) []block.Block

NewMultiUnconsolidatedBlocksFromValues creates new blocks using the provided values and a modifier

func NewSeriesMeta added in v0.4.1

func NewSeriesMeta(tagPrefix string, count int) []block.SeriesMeta

NewSeriesMeta creates new metadata tags in the format [tagPrefix:i] for the number of series

func NewSlowStorage

func NewSlowStorage(
	storage storage.Storage,
	delay time.Duration,
) storage.Storage

NewSlowStorage creates a new slow storage

func NewUnconsolidatedBlockFromDatapoints added in v0.4.6

func NewUnconsolidatedBlockFromDatapoints(bounds models.Bounds, seriesValues [][]float64) block.Block

NewUnconsolidatedBlockFromDatapoints creates a new unconsolidated block using the provided values

func NewUnconsolidatedBlockFromDatapointsWithMeta added in v0.4.6

func NewUnconsolidatedBlockFromDatapointsWithMeta(bounds models.Bounds, meta []block.SeriesMeta, seriesValues [][]float64) block.Block

NewUnconsolidatedBlockFromDatapointsWithMeta creates a new unconsolidated block using the provided values and metadata

func NoopMod added in v0.4.1

func NoopMod(v []float64) []float64

NoopMod can be used to generate multi blocks when no value modification is needed

func StringTagsSliceToTagSlice added in v0.4.6

func StringTagsSliceToTagSlice(s []StringTags) []models.Tags

StringTagsSliceToTagSlice converts a slice of string tags to a slice of tags.

func StringTagsToTags added in v0.4.6

func StringTagsToTags(s StringTags) models.Tags

StringTagsToTags converts string tags to tags.

func TagSliceSliceToTagSlice added in v0.4.8

func TagSliceSliceToTagSlice(s [][]models.Tag) []models.Tags

TagSliceSliceToTagSlice converts a slice of tag slices to a slice of tags.

func TagSliceToTags added in v0.4.8

func TagSliceToTags(s []models.Tag) models.Tags

TagSliceToTags converts a slice of tags to tags.

Types

type Datapoint added in v0.5.0

type Datapoint struct {
	Value  float64
	Offset time.Duration
}

Datapoint is a datapoint with a value and an offset for building a custom iterator

type MockIteratorPool added in v0.4.6

type MockIteratorPool struct {
	MriPoolUsed, SiPoolUsed, MsiPoolUsed, MriaPoolUsed,
	CbwPoolUsed, IdentPoolUsed, EncodePoolUsed, DecodePoolUsed bool
}

MockIteratorPool is an iterator pool used for testing

func MakeMockIteratorPool added in v0.4.6

func MakeMockIteratorPool() *MockIteratorPool

MakeMockIteratorPool builds a mock iterator pool

func (*MockIteratorPool) CheckedBytesWrapper added in v0.4.6

func (ip *MockIteratorPool) CheckedBytesWrapper() xpool.CheckedBytesWrapperPool

CheckedBytesWrapper exposes the session's CheckedBytesWrapperPool

func (*MockIteratorPool) ID added in v0.4.6

func (ip *MockIteratorPool) ID() ident.Pool

ID exposes the session's identity pool

func (*MockIteratorPool) MultiReaderIterator added in v0.4.6

func (ip *MockIteratorPool) MultiReaderIterator() encoding.MultiReaderIteratorPool

MultiReaderIterator exposes the session's MultiReaderIteratorPool

func (*MockIteratorPool) MultiReaderIteratorArray added in v0.4.6

func (ip *MockIteratorPool) MultiReaderIteratorArray() encoding.MultiReaderIteratorArrayPool

MultiReaderIteratorArray exposes the session's MultiReaderIteratorArrayPool

func (*MockIteratorPool) MutableSeriesIterators added in v0.4.6

func (ip *MockIteratorPool) MutableSeriesIterators() encoding.MutableSeriesIteratorsPool

MutableSeriesIterators exposes the session's MutableSeriesIteratorsPool

func (*MockIteratorPool) SeriesIterator added in v0.4.6

func (ip *MockIteratorPool) SeriesIterator() encoding.SeriesIteratorPool

SeriesIterator exposes the session's SeriesIteratorPool

func (*MockIteratorPool) TagDecoder added in v0.4.6

func (ip *MockIteratorPool) TagDecoder() serialize.TagDecoderPool

TagDecoder exposes the session's tag decoder pool

func (*MockIteratorPool) TagEncoder added in v0.4.6

func (ip *MockIteratorPool) TagEncoder() serialize.TagEncoderPool

TagEncoder exposes the session's tag encoder pool

type SlowHandler

type SlowHandler struct {
	// contains filtered or unexported fields
}

SlowHandler slows down a request by delay

func NewSlowHandler

func NewSlowHandler(handler http.Handler, delay time.Duration) *SlowHandler

NewSlowHandler creates a new slow handler

func (*SlowHandler) ServeHTTP

func (h *SlowHandler) ServeHTTP(w http.ResponseWriter, r *http.Request)

ServeHTTP implements http.handler

type StringTag added in v0.4.6

type StringTag struct {
	N, V string
}

StringTag is a tag containing string key value pairs.

type StringTags added in v0.4.6

type StringTags []StringTag

StringTags is a slice of string tags.

type ValueMod added in v0.4.1

type ValueMod func([]float64) []float64

ValueMod can be used to modify provided values for testing

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL