-
Notifications
You must be signed in to change notification settings - Fork 215
/
Copy pathcomponents_test.go
105 lines (97 loc) · 2.38 KB
/
components_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
// SPDX-License-Identifier: MIT
package defaultcomponents
import (
"testing"
"github.com/stretchr/testify/assert"
"go.opentelemetry.io/collector/component"
"golang.org/x/exp/maps"
"github.com/aws/amazon-cloudwatch-agent/internal/util/collections"
)
func TestComponents(t *testing.T) {
factories, err := Factories()
assert.NoError(t, err)
wantReceivers := []string{
"awscontainerinsightreceiver",
"awscontainerinsightskueuereceiver",
"awsecscontainermetrics",
"awsxray",
"filelog",
"jaeger",
"jmx",
"kafka",
"nop",
"otlp",
"prometheus",
"statsd",
"tcplog",
"udplog",
"zipkin",
}
gotReceivers := collections.MapSlice(maps.Keys(factories.Receivers), component.Type.String)
assert.Equal(t, len(wantReceivers), len(gotReceivers))
for _, typeStr := range wantReceivers {
assert.Contains(t, gotReceivers, typeStr)
}
wantProcessors := []string{
"awsapplicationsignals",
"awsentity",
"attributes",
"batch",
"cumulativetodelta",
"deltatocumulative",
"deltatorate",
"ec2tagger",
"metricsgeneration",
"filter",
"gpuattributes",
"kueueattributes",
"groupbytrace",
"k8sattributes",
"memory_limiter",
"metricstransform",
"resourcedetection",
"resource",
"rollup",
"probabilistic_sampler",
"span",
"tail_sampling",
"transform",
}
gotProcessors := collections.MapSlice(maps.Keys(factories.Processors), component.Type.String)
assert.Equal(t, len(wantProcessors), len(gotProcessors))
for _, typeStr := range wantProcessors {
assert.Contains(t, gotProcessors, typeStr)
}
wantExporters := []string{
"awscloudwatchlogs",
"awsemf",
"awscloudwatch",
"awsxray",
"debug",
"nop",
"prometheusremotewrite",
}
gotExporters := collections.MapSlice(maps.Keys(factories.Exporters), component.Type.String)
assert.Equal(t, len(wantExporters), len(gotExporters))
for _, typeStr := range wantExporters {
assert.Contains(t, gotExporters, typeStr)
}
wantExtensions := []string{
"agenthealth",
"awsproxy",
"ecs_observer",
"entitystore",
"file_storage",
"health_check",
"pprof",
"server",
"sigv4auth",
"zpages",
}
gotExtensions := collections.MapSlice(maps.Keys(factories.Extensions), component.Type.String)
assert.Equal(t, len(wantExtensions), len(gotExtensions))
for _, typeStr := range wantExtensions {
assert.Contains(t, gotExtensions, typeStr)
}
}