Skip to content

Commit 25073a7

Browse files
Add context propagation checks to component lifecycle tests
- Introduced context_check_consumer.go to validate context handling during Consume* calls - Updated component_test.go.tmpl to inject context into generated component tests - Regenerated component test files across all sample components
1 parent d800ad3 commit 25073a7

File tree

6 files changed

+106
-53
lines changed

6 files changed

+106
-53
lines changed
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
package testhelpers
2+
3+
import (
4+
"context"
5+
"testing"
6+
7+
"github.com/stretchr/testify/require"
8+
"go.opentelemetry.io/collector/pdata/plog"
9+
"go.opentelemetry.io/collector/pdata/pmetric"
10+
"go.opentelemetry.io/collector/pdata/ptrace"
11+
)
12+
13+
const (
14+
TestKey = "ctx-prop-key"
15+
TestValue = "expected-value"
16+
)
17+
18+
type ContextCheckLogsConsumer struct {
19+
T *testing.T
20+
}
21+
22+
func (c *ContextCheckLogsConsumer) ConsumeLogs(ctx context.Context, logs plog.Logs) error {
23+
val := ctx.Value(TestKey)
24+
require.Equal(c.T, TestValue, val)
25+
return nil
26+
}
27+
28+
type ContextCheckMetricsConsumer struct {
29+
T *testing.T
30+
}
31+
32+
func (c *ContextCheckMetricsConsumer) ConsumeMetrics(ctx context.Context, metrics pmetric.Metrics) error {
33+
val := ctx.Value(TestKey)
34+
require.Equal(c.T, TestValue, val)
35+
return nil
36+
}
37+
38+
type ContextCheckTracesConsumer struct {
39+
T *testing.T
40+
}
41+
42+
func (c *ContextCheckTracesConsumer) ConsumeTraces(ctx context.Context, traces ptrace.Traces) error {
43+
val := ctx.Value(TestKey)
44+
require.Equal(c.T, TestValue, val)
45+
return nil
46+
}

cmd/mdatagen/internal/sampleconnector/generated_component_test.go

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

cmd/mdatagen/internal/sampleprocessor/generated_component_test.go

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

cmd/mdatagen/internal/samplereceiver/generated_component_test.go

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

cmd/mdatagen/internal/samplescraper/generated_component_test.go

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)