receiver/adapter/accumulator/testutil.go (53 lines of code) (raw):

// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: MIT package accumulator import ( "time" "github.com/influxdata/telegraf" "github.com/influxdata/telegraf/models" "github.com/stretchr/testify/assert" "go.opentelemetry.io/collector/consumer" "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/pmetric" "go.uber.org/zap" ) const ( defaultInstanceId = "instance_id" defaultInstanceIdValue = "mock" ) type TestRunningInput struct{} var _ telegraf.Input = (*TestRunningInput)(nil) func (t *TestRunningInput) Description() string { return "" } func (t *TestRunningInput) SampleConfig() string { return "" } func (t *TestRunningInput) Gather(_ telegraf.Accumulator) error { return nil } type TestServiceRunningInput struct{} var _ telegraf.ServiceInput = (*TestServiceRunningInput)(nil) func (t *TestServiceRunningInput) Description() string { return "" } func (t *TestServiceRunningInput) SampleConfig() string { return "" } func (t *TestServiceRunningInput) Gather(_ telegraf.Accumulator) error { return nil } func (t *TestServiceRunningInput) Start(_ telegraf.Accumulator) error { return nil } func (t *TestServiceRunningInput) Stop() {} func generateExpectedAttributes() pcommon.Map { sampleAttributes := pcommon.NewMap() sampleAttributes.PutStr(defaultInstanceId, defaultInstanceIdValue) return sampleAttributes } func newOtelAccumulatorWithTestRunningInputs(as *assert.Assertions, consumer consumer.Metrics, isServiceInput bool) *otelAccumulator { return newOtelAccumulatorWithConfig(as, consumer, isServiceInput, &models.InputConfig{}) } func newOtelAccumulatorWithConfig(as *assert.Assertions, consumer consumer.Metrics, isServiceInput bool, cfg *models.InputConfig) *otelAccumulator { var input telegraf.Input if isServiceInput { input = &TestServiceRunningInput{} } else { input = &TestRunningInput{} } ri := models.NewRunningInput(input, cfg) as.NoError(ri.Config.Filter.Compile()) return &otelAccumulator{ input: ri, isServiceInput: isServiceInput, logger: zap.NewNop(), precision: time.Nanosecond, metrics: pmetric.NewMetrics(), consumer: consumer, } }