@@ -24,7 +24,9 @@ import (
24
24
"go.uber.org/zap"
25
25
26
26
"go.opentelemetry.io/collector/component"
27
+ "go.opentelemetry.io/collector/component/componenttest"
27
28
"go.opentelemetry.io/collector/config"
29
+ "go.opentelemetry.io/collector/consumer"
28
30
"go.opentelemetry.io/collector/consumer/consumererror"
29
31
"go.opentelemetry.io/collector/consumer/consumerhelper"
30
32
"go.opentelemetry.io/collector/consumer/pdata"
@@ -74,25 +76,36 @@ func TestMetricsExporter_NilPushMetricsData(t *testing.T) {
74
76
func TestMetricsExporter_Default (t * testing.T ) {
75
77
md := testdata .GenerateMetricsEmpty ()
76
78
me , err := NewMetricsExporter (& fakeMetricsExporterConfig , zap .NewNop (), newPushMetricsData (nil ))
79
+ assert .NoError (t , err )
77
80
assert .NotNil (t , me )
81
+
82
+ assert .Equal (t , consumer.Capabilities {MutatesData : false }, me .Capabilities ())
83
+ assert .NoError (t , me .Start (context .Background (), componenttest .NewNopHost ()))
84
+ assert .NoError (t , me .ConsumeMetrics (context .Background (), md ))
85
+ assert .NoError (t , me .Shutdown (context .Background ()))
86
+ }
87
+
88
+ func TestMetricsExporter_WithCapabilities (t * testing.T ) {
89
+ capabilities := consumer.Capabilities {MutatesData : true }
90
+ me , err := NewMetricsExporter (& fakeMetricsExporterConfig , zap .NewNop (), newPushMetricsData (nil ), WithCapabilities (capabilities ))
78
91
assert .NoError (t , err )
92
+ assert .NotNil (t , me )
79
93
80
- assert .Nil (t , me .ConsumeMetrics (context .Background (), md ))
81
- assert .Nil (t , me .Shutdown (context .Background ()))
94
+ assert .Equal (t , capabilities , me .Capabilities ())
82
95
}
83
96
84
97
func TestMetricsExporter_Default_ReturnError (t * testing.T ) {
85
98
md := testdata .GenerateMetricsEmpty ()
86
99
want := errors .New ("my_error" )
87
100
me , err := NewMetricsExporter (& fakeMetricsExporterConfig , zap .NewNop (), newPushMetricsData (want ))
88
- require .Nil (t , err )
101
+ require .NoError (t , err )
89
102
require .NotNil (t , me )
90
103
require .Equal (t , want , me .ConsumeMetrics (context .Background (), md ))
91
104
}
92
105
93
106
func TestMetricsExporter_WithRecordMetrics (t * testing.T ) {
94
107
me , err := NewMetricsExporter (& fakeMetricsExporterConfig , zap .NewNop (), newPushMetricsData (nil ))
95
- require .Nil (t , err )
108
+ require .NoError (t , err )
96
109
require .NotNil (t , me )
97
110
98
111
checkRecordedMetricsForMetricsExporter (t , me , nil )
@@ -101,23 +114,23 @@ func TestMetricsExporter_WithRecordMetrics(t *testing.T) {
101
114
func TestMetricsExporter_WithRecordMetrics_ReturnError (t * testing.T ) {
102
115
want := errors .New ("my_error" )
103
116
me , err := NewMetricsExporter (& fakeMetricsExporterConfig , zap .NewNop (), newPushMetricsData (want ))
104
- require .Nil (t , err )
117
+ require .NoError (t , err )
105
118
require .NotNil (t , me )
106
119
107
120
checkRecordedMetricsForMetricsExporter (t , me , want )
108
121
}
109
122
110
123
func TestMetricsExporter_WithSpan (t * testing.T ) {
111
124
me , err := NewMetricsExporter (& fakeMetricsExporterConfig , zap .NewNop (), newPushMetricsData (nil ))
112
- require .Nil (t , err )
125
+ require .NoError (t , err )
113
126
require .NotNil (t , me )
114
127
checkWrapSpanForMetricsExporter (t , me , nil , 1 )
115
128
}
116
129
117
130
func TestMetricsExporter_WithSpan_ReturnError (t * testing.T ) {
118
131
want := errors .New ("my_error" )
119
132
me , err := NewMetricsExporter (& fakeMetricsExporterConfig , zap .NewNop (), newPushMetricsData (want ))
120
- require .Nil (t , err )
133
+ require .NoError (t , err )
121
134
require .NotNil (t , me )
122
135
checkWrapSpanForMetricsExporter (t , me , want , 1 )
123
136
}
@@ -130,7 +143,8 @@ func TestMetricsExporter_WithShutdown(t *testing.T) {
130
143
assert .NotNil (t , me )
131
144
assert .NoError (t , err )
132
145
133
- assert .Nil (t , me .Shutdown (context .Background ()))
146
+ assert .NoError (t , me .Start (context .Background (), componenttest .NewNopHost ()))
147
+ assert .NoError (t , me .Shutdown (context .Background ()))
134
148
assert .True (t , shutdownCalled )
135
149
}
136
150
@@ -140,18 +154,20 @@ func TestMetricsExporter_WithResourceToTelemetryConversionDisabled(t *testing.T)
140
154
assert .NotNil (t , me )
141
155
assert .NoError (t , err )
142
156
143
- assert .Nil (t , me .ConsumeMetrics (context .Background (), md ))
144
- assert .Nil (t , me .Shutdown (context .Background ()))
157
+ assert .NoError (t , me .Start (context .Background (), componenttest .NewNopHost ()))
158
+ assert .NoError (t , me .ConsumeMetrics (context .Background (), md ))
159
+ assert .NoError (t , me .Shutdown (context .Background ()))
145
160
}
146
161
147
- func TestMetricsExporter_WithResourceToTelemetryConversionEbabled (t * testing.T ) {
162
+ func TestMetricsExporter_WithResourceToTelemetryConversionEnabled (t * testing.T ) {
148
163
md := testdata .GenerateMetricsTwoMetrics ()
149
164
me , err := NewMetricsExporter (& fakeMetricsExporterConfig , zap .NewNop (), newPushMetricsData (nil ), WithResourceToTelemetryConversion (ResourceToTelemetrySettings {Enabled : true }))
150
165
assert .NotNil (t , me )
151
166
assert .NoError (t , err )
152
167
153
- assert .Nil (t , me .ConsumeMetrics (context .Background (), md ))
154
- assert .Nil (t , me .Shutdown (context .Background ()))
168
+ assert .NoError (t , me .Start (context .Background (), componenttest .NewNopHost ()))
169
+ assert .NoError (t , me .ConsumeMetrics (context .Background (), md ))
170
+ assert .NoError (t , me .Shutdown (context .Background ()))
155
171
}
156
172
157
173
func TestMetricsExporter_WithShutdown_ReturnError (t * testing.T ) {
@@ -162,7 +178,8 @@ func TestMetricsExporter_WithShutdown_ReturnError(t *testing.T) {
162
178
assert .NotNil (t , me )
163
179
assert .NoError (t , err )
164
180
165
- assert .Equal (t , me .Shutdown (context .Background ()), want )
181
+ assert .NoError (t , me .Start (context .Background (), componenttest .NewNopHost ()))
182
+ assert .Equal (t , want , me .Shutdown (context .Background ()))
166
183
}
167
184
168
185
func newPushMetricsData (retError error ) consumerhelper.ConsumeMetricsFunc {
0 commit comments