test

package
Version: v0.0.0-...-9649366 Latest Latest
Warning

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

Go to latest
Published: Nov 21, 2019 License: Apache-2.0 Imports: 31 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// 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

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(id string) (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 given, namespace is 'namespace' Tags are "foo": "bar" and "baz": "qux"

func CompareLists

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

CompareLists compares series meta / index pairs

func CompareValues

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

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

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

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

NewBlockFromValuesWithMetaAndSeriesMeta creates a new block using the provided values.

func NewBlockFromValuesWithSeriesMeta

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

NewBlockFromValuesWithSeriesMeta creates a new block using the provided values.

func NewMultiUnconsolidatedBlocksFromValues

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

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

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

func NewSeriesMetaWithoutName

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

NewSeriesMetaWithoutName creates new metadata tags in the format [tagPrefix:i] for the number of series, without including the __name__.

func NewSlowStorage

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

NewSlowStorage creates a new slow storage

func NewUnconsolidatedBlockFromDatapoints

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

NewUnconsolidatedBlockFromDatapoints creates a new unconsolidated block using the provided values.

func NewUnconsolidatedBlockFromDatapointsWithMeta

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

func NoopMod(v []float64) []float64

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

func StringTagsSliceToTagSlice

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

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

func StringTagsToTags

func StringTagsToTags(s StringTags) models.Tags

StringTagsToTags converts string tags to tags.

func TagSliceSliceToTagSlice

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

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

func TagSliceToTags

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

TagSliceToTags converts a slice of tags to tags.

Types

type Datapoint

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

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

MockIteratorPool is an iterator pool used for testing

func MakeMockIteratorPool

func MakeMockIteratorPool() *MockIteratorPool

MakeMockIteratorPool builds a mock iterator pool

func (*MockIteratorPool) CheckedBytesWrapper

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

CheckedBytesWrapper exposes the session's CheckedBytesWrapperPool

func (*MockIteratorPool) ID

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

ID exposes the session's identity pool

func (*MockIteratorPool) MultiReaderIterator

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

MultiReaderIterator exposes the session's MultiReaderIteratorPool

func (*MockIteratorPool) MultiReaderIteratorArray

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

MultiReaderIteratorArray exposes the session's MultiReaderIteratorArrayPool

func (*MockIteratorPool) MutableSeriesIterators

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

MutableSeriesIterators exposes the session's MutableSeriesIteratorsPool

func (*MockIteratorPool) SeriesIterator

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

SeriesIterator exposes the session's SeriesIteratorPool

func (*MockIteratorPool) TagDecoder

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

TagDecoder exposes the session's tag decoder pool

func (*MockIteratorPool) TagEncoder

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

type StringTag struct {
	N, V string
}

StringTag is a tag containing string key value pairs.

type StringTags

type StringTags []StringTag

StringTags is a slice of string tags.

type ValueMod

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