36
36
}()
37
37
)
38
38
39
- func newNoopExportSender () Sender [request.Request ] {
40
- return newSender (func (ctx context.Context , req request.Request ) error {
41
- select {
42
- case <- ctx .Done ():
43
- return ctx .Err () // Returns the cancellation error
44
- default :
45
- return req .Export (ctx )
46
- }
47
- })
48
- }
49
-
50
39
func TestBaseExporter (t * testing.T ) {
51
- be , err := NewBaseExporter (defaultSettings , defaultSignal )
40
+ be , err := NewBaseExporter (defaultSettings , defaultSignal , noopExport )
52
41
require .NoError (t , err )
53
42
require .NoError (t , be .Start (context .Background (), componenttest .NewNopHost ()))
54
43
require .NoError (t , be .Shutdown (context .Background ()))
@@ -57,7 +46,7 @@ func TestBaseExporter(t *testing.T) {
57
46
func TestBaseExporterWithOptions (t * testing.T ) {
58
47
want := errors .New ("my error" )
59
48
be , err := NewBaseExporter (
60
- defaultSettings , defaultSignal ,
49
+ defaultSettings , defaultSignal , noopExport ,
61
50
WithStart (func (context.Context , component.Host ) error { return want }),
62
51
WithShutdown (func (context.Context ) error { return want }),
63
52
WithTimeout (NewDefaultTimeoutConfig ()),
@@ -68,18 +57,18 @@ func TestBaseExporterWithOptions(t *testing.T) {
68
57
}
69
58
70
59
func TestQueueOptionsWithRequestExporter (t * testing.T ) {
71
- bs , err := NewBaseExporter (exportertest .NewNopSettings (exportertest .NopType ), defaultSignal ,
60
+ bs , err := NewBaseExporter (exportertest .NewNopSettings (exportertest .NopType ), defaultSignal , noopExport ,
72
61
WithRetry (configretry .NewDefaultBackOffConfig ()))
73
62
require .NoError (t , err )
74
63
require .Nil (t , bs .encoding )
75
- _ , err = NewBaseExporter (exportertest .NewNopSettings (exportertest .NopType ), defaultSignal ,
64
+ _ , err = NewBaseExporter (exportertest .NewNopSettings (exportertest .NopType ), defaultSignal , noopExport ,
76
65
WithRetry (configretry .NewDefaultBackOffConfig ()), WithQueue (exporterqueue .NewDefaultConfig ()))
77
66
require .Error (t , err )
78
67
79
68
qCfg := exporterqueue .NewDefaultConfig ()
80
69
storageID := component .NewID (component .MustNewType ("test" ))
81
70
qCfg .StorageID = & storageID
82
- _ , err = NewBaseExporter (exportertest .NewNopSettings (exportertest .NopType ), defaultSignal ,
71
+ _ , err = NewBaseExporter (exportertest .NewNopSettings (exportertest .NopType ), defaultSignal , noopExport ,
83
72
WithEncoding (newFakeEncoding (& requesttest.FakeRequest {Items : 1 })),
84
73
WithRetry (configretry .NewDefaultBackOffConfig ()),
85
74
WithRequestQueue (qCfg , nil ))
@@ -94,14 +83,13 @@ func TestBaseExporterLogging(t *testing.T) {
94
83
rCfg .Enabled = false
95
84
qCfg := exporterqueue .NewDefaultConfig ()
96
85
qCfg .Enabled = false
97
- bs , err := NewBaseExporter (set , defaultSignal ,
86
+ bs , err := NewBaseExporter (set , defaultSignal , errExport ,
98
87
WithRequestQueue (qCfg , newFakeEncoding (& requesttest.FakeRequest {})),
99
88
WithBatcher (exporterbatcher .NewDefaultConfig ()),
100
89
WithRetry (rCfg ))
101
90
require .NoError (t , err )
102
91
require .NoError (t , bs .Start (context .Background (), componenttest .NewNopHost ()))
103
- sink := requesttest .NewSink ()
104
- sendErr := bs .Send (context .Background (), & requesttest.FakeRequest {Items : 2 , Sink : sink , ExportErr : errors .New ("my error" )})
92
+ sendErr := bs .Send (context .Background (), & requesttest.FakeRequest {Items : 2 })
105
93
require .Error (t , sendErr )
106
94
107
95
require .Len (t , observed .FilterLevelExact (zap .ErrorLevel ).All (), 2 )
@@ -155,16 +143,22 @@ func TestQueueRetryWithDisabledQueue(t *testing.T) {
155
143
set := exportertest .NewNopSettings (exportertest .NopType )
156
144
logger , observed := observer .New (zap .ErrorLevel )
157
145
set .Logger = zap .New (logger )
158
- be , err := NewBaseExporter (set , pipeline .SignalLogs , tt .queueOptions ... )
146
+ be , err := NewBaseExporter (set , pipeline .SignalLogs , errExport , tt .queueOptions ... )
159
147
require .NoError (t , err )
160
148
require .NoError (t , be .Start (context .Background (), componenttest .NewNopHost ()))
161
- sink := requesttest .NewSink ()
162
- mockR := & requesttest.FakeRequest {Items : 2 , Sink : sink , ExportErr : errors .New ("some error" )}
149
+ mockR := & requesttest.FakeRequest {Items : 2 }
163
150
require .Error (t , be .Send (context .Background (), mockR ))
164
151
assert .Len (t , observed .All (), 1 )
165
152
assert .Equal (t , "Exporting failed. Rejecting data. Try enabling sending_queue to survive temporary failures." , observed .All ()[0 ].Message )
166
153
require .NoError (t , be .Shutdown (context .Background ()))
167
- assert .Empty (t , 0 , sink .RequestsCount ())
168
154
})
169
155
}
170
156
}
157
+
158
+ func errExport (context.Context , request.Request ) error {
159
+ return errors .New ("my error" )
160
+ }
161
+
162
+ func noopExport (context.Context , request.Request ) error {
163
+ return nil
164
+ }
0 commit comments