Skip to content

Commit e2929a9

Browse files
authored
Add componenttest.NewNop*CreateSettings to simplify tests (#3375)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
1 parent 44a4ae7 commit e2929a9

File tree

72 files changed

+341
-382
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

72 files changed

+341
-382
lines changed

component/componenttest/nop_exporter.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,22 @@ package componenttest
1717
import (
1818
"context"
1919

20+
"go.uber.org/zap"
21+
2022
"go.opentelemetry.io/collector/component"
2123
"go.opentelemetry.io/collector/component/componenthelper"
2224
"go.opentelemetry.io/collector/config"
2325
"go.opentelemetry.io/collector/consumer/consumertest"
2426
)
2527

28+
// NewNopExporterCreateSettings returns a new nop settings for Create*Exporter functions.
29+
func NewNopExporterCreateSettings() component.ExporterCreateSettings {
30+
return component.ExporterCreateSettings{
31+
Logger: zap.NewNop(),
32+
BuildInfo: component.DefaultBuildInfo(),
33+
}
34+
}
35+
2636
type nopExporterConfig struct {
2737
config.ExporterSettings `mapstructure:",squash"` // squash ensures fields are correctly decoded in embedded struct
2838
}

component/componenttest/nop_exporter_test.go

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ import (
2121
"github.com/stretchr/testify/assert"
2222
"github.com/stretchr/testify/require"
2323

24-
"go.opentelemetry.io/collector/component"
2524
"go.opentelemetry.io/collector/config"
2625
"go.opentelemetry.io/collector/consumer/pdata"
2726
)
@@ -33,19 +32,19 @@ func TestNewNopExporterFactory(t *testing.T) {
3332
cfg := factory.CreateDefaultConfig()
3433
assert.Equal(t, &nopExporterConfig{ExporterSettings: config.NewExporterSettings(config.NewID("nop"))}, cfg)
3534

36-
traces, err := factory.CreateTracesExporter(context.Background(), component.ExporterCreateSettings{}, cfg)
35+
traces, err := factory.CreateTracesExporter(context.Background(), NewNopExporterCreateSettings(), cfg)
3736
require.NoError(t, err)
3837
assert.NoError(t, traces.Start(context.Background(), NewNopHost()))
3938
assert.NoError(t, traces.ConsumeTraces(context.Background(), pdata.NewTraces()))
4039
assert.NoError(t, traces.Shutdown(context.Background()))
4140

42-
metrics, err := factory.CreateMetricsExporter(context.Background(), component.ExporterCreateSettings{}, cfg)
41+
metrics, err := factory.CreateMetricsExporter(context.Background(), NewNopExporterCreateSettings(), cfg)
4342
require.NoError(t, err)
4443
assert.NoError(t, metrics.Start(context.Background(), NewNopHost()))
4544
assert.NoError(t, metrics.ConsumeMetrics(context.Background(), pdata.NewMetrics()))
4645
assert.NoError(t, metrics.Shutdown(context.Background()))
4746

48-
logs, err := factory.CreateLogsExporter(context.Background(), component.ExporterCreateSettings{}, cfg)
47+
logs, err := factory.CreateLogsExporter(context.Background(), NewNopExporterCreateSettings(), cfg)
4948
require.NoError(t, err)
5049
assert.NoError(t, logs.Start(context.Background(), NewNopHost()))
5150
assert.NoError(t, logs.ConsumeLogs(context.Background(), pdata.NewLogs()))

component/componenttest/nop_extension.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,21 @@ package componenttest
1717
import (
1818
"context"
1919

20+
"go.uber.org/zap"
21+
2022
"go.opentelemetry.io/collector/component"
2123
"go.opentelemetry.io/collector/component/componenthelper"
2224
"go.opentelemetry.io/collector/config"
2325
)
2426

27+
// NewNopExtensionCreateSettings returns a new nop settings for Create*Extension functions.
28+
func NewNopExtensionCreateSettings() component.ExtensionCreateSettings {
29+
return component.ExtensionCreateSettings{
30+
Logger: zap.NewNop(),
31+
BuildInfo: component.DefaultBuildInfo(),
32+
}
33+
}
34+
2535
type nopExtensionConfig struct {
2636
config.ExtensionSettings `mapstructure:",squash"` // squash ensures fields are correctly decoded in embedded struct
2737
}

component/componenttest/nop_extension_test.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ import (
2121
"github.com/stretchr/testify/assert"
2222
"github.com/stretchr/testify/require"
2323

24-
"go.opentelemetry.io/collector/component"
2524
"go.opentelemetry.io/collector/config"
2625
)
2726

@@ -32,7 +31,7 @@ func TestNewNopExtensionFactory(t *testing.T) {
3231
cfg := factory.CreateDefaultConfig()
3332
assert.Equal(t, &nopExtensionConfig{ExtensionSettings: config.NewExtensionSettings(config.NewID("nop"))}, cfg)
3433

35-
traces, err := factory.CreateExtension(context.Background(), component.ExtensionCreateSettings{}, cfg)
34+
traces, err := factory.CreateExtension(context.Background(), NewNopExtensionCreateSettings(), cfg)
3635
require.NoError(t, err)
3736
assert.NoError(t, traces.Start(context.Background(), NewNopHost()))
3837
assert.NoError(t, traces.Shutdown(context.Background()))

component/componenttest/nop_processor.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,23 @@ package componenttest
1717
import (
1818
"context"
1919

20+
"go.uber.org/zap"
21+
2022
"go.opentelemetry.io/collector/component"
2123
"go.opentelemetry.io/collector/component/componenthelper"
2224
"go.opentelemetry.io/collector/config"
2325
"go.opentelemetry.io/collector/consumer"
2426
"go.opentelemetry.io/collector/consumer/consumertest"
2527
)
2628

29+
// NewNopProcessorCreateSettings returns a new nop settings for Create*Processor functions.
30+
func NewNopProcessorCreateSettings() component.ProcessorCreateSettings {
31+
return component.ProcessorCreateSettings{
32+
Logger: zap.NewNop(),
33+
BuildInfo: component.DefaultBuildInfo(),
34+
}
35+
}
36+
2737
type nopProcessorConfig struct {
2838
config.ProcessorSettings `mapstructure:",squash"` // squash ensures fields are correctly decoded in embedded struct
2939
}

component/componenttest/nop_processor_test.go

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ import (
2121
"github.com/stretchr/testify/assert"
2222
"github.com/stretchr/testify/require"
2323

24-
"go.opentelemetry.io/collector/component"
2524
"go.opentelemetry.io/collector/config"
2625
"go.opentelemetry.io/collector/consumer"
2726
"go.opentelemetry.io/collector/consumer/consumertest"
@@ -35,21 +34,21 @@ func TestNewNopProcessorFactory(t *testing.T) {
3534
cfg := factory.CreateDefaultConfig()
3635
assert.Equal(t, &nopProcessorConfig{ProcessorSettings: config.NewProcessorSettings(config.NewID("nop"))}, cfg)
3736

38-
traces, err := factory.CreateTracesProcessor(context.Background(), component.ProcessorCreateSettings{}, cfg, consumertest.NewNop())
37+
traces, err := factory.CreateTracesProcessor(context.Background(), NewNopProcessorCreateSettings(), cfg, consumertest.NewNop())
3938
require.NoError(t, err)
4039
assert.Equal(t, consumer.Capabilities{MutatesData: false}, traces.Capabilities())
4140
assert.NoError(t, traces.Start(context.Background(), NewNopHost()))
4241
assert.NoError(t, traces.ConsumeTraces(context.Background(), pdata.NewTraces()))
4342
assert.NoError(t, traces.Shutdown(context.Background()))
4443

45-
metrics, err := factory.CreateMetricsProcessor(context.Background(), component.ProcessorCreateSettings{}, cfg, consumertest.NewNop())
44+
metrics, err := factory.CreateMetricsProcessor(context.Background(), NewNopProcessorCreateSettings(), cfg, consumertest.NewNop())
4645
require.NoError(t, err)
4746
assert.Equal(t, consumer.Capabilities{MutatesData: false}, metrics.Capabilities())
4847
assert.NoError(t, metrics.Start(context.Background(), NewNopHost()))
4948
assert.NoError(t, metrics.ConsumeMetrics(context.Background(), pdata.NewMetrics()))
5049
assert.NoError(t, metrics.Shutdown(context.Background()))
5150

52-
logs, err := factory.CreateLogsProcessor(context.Background(), component.ProcessorCreateSettings{}, cfg, consumertest.NewNop())
51+
logs, err := factory.CreateLogsProcessor(context.Background(), NewNopProcessorCreateSettings(), cfg, consumertest.NewNop())
5352
require.NoError(t, err)
5453
assert.Equal(t, consumer.Capabilities{MutatesData: false}, logs.Capabilities())
5554
assert.NoError(t, logs.Start(context.Background(), NewNopHost()))

component/componenttest/nop_receiver.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,22 @@ package componenttest
1717
import (
1818
"context"
1919

20+
"go.uber.org/zap"
21+
2022
"go.opentelemetry.io/collector/component"
2123
"go.opentelemetry.io/collector/component/componenthelper"
2224
"go.opentelemetry.io/collector/config"
2325
"go.opentelemetry.io/collector/consumer"
2426
)
2527

28+
// NewNopReceiverCreateSettings returns a new nop settings for Create*Receiver functions.
29+
func NewNopReceiverCreateSettings() component.ReceiverCreateSettings {
30+
return component.ReceiverCreateSettings{
31+
Logger: zap.NewNop(),
32+
BuildInfo: component.DefaultBuildInfo(),
33+
}
34+
}
35+
2636
type nopReceiverConfig struct {
2737
config.ReceiverSettings `mapstructure:",squash"` // squash ensures fields are correctly decoded in embedded struct
2838
}

component/componenttest/nop_receiver_test.go

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ import (
2121
"github.com/stretchr/testify/assert"
2222
"github.com/stretchr/testify/require"
2323

24-
"go.opentelemetry.io/collector/component"
2524
"go.opentelemetry.io/collector/config"
2625
"go.opentelemetry.io/collector/consumer/consumertest"
2726
)
@@ -33,17 +32,17 @@ func TestNewNopReceiverFactory(t *testing.T) {
3332
cfg := factory.CreateDefaultConfig()
3433
assert.Equal(t, &nopReceiverConfig{ReceiverSettings: config.NewReceiverSettings(config.NewID("nop"))}, cfg)
3534

36-
traces, err := factory.CreateTracesReceiver(context.Background(), component.ReceiverCreateSettings{}, cfg, consumertest.NewNop())
35+
traces, err := factory.CreateTracesReceiver(context.Background(), NewNopReceiverCreateSettings(), cfg, consumertest.NewNop())
3736
require.NoError(t, err)
3837
assert.NoError(t, traces.Start(context.Background(), NewNopHost()))
3938
assert.NoError(t, traces.Shutdown(context.Background()))
4039

41-
metrics, err := factory.CreateMetricsReceiver(context.Background(), component.ReceiverCreateSettings{}, cfg, consumertest.NewNop())
40+
metrics, err := factory.CreateMetricsReceiver(context.Background(), NewNopReceiverCreateSettings(), cfg, consumertest.NewNop())
4241
require.NoError(t, err)
4342
assert.NoError(t, metrics.Start(context.Background(), NewNopHost()))
4443
assert.NoError(t, metrics.Shutdown(context.Background()))
4544

46-
logs, err := factory.CreateLogsReceiver(context.Background(), component.ReceiverCreateSettings{}, cfg, consumertest.NewNop())
45+
logs, err := factory.CreateLogsReceiver(context.Background(), NewNopReceiverCreateSettings(), cfg, consumertest.NewNop())
4746
require.NoError(t, err)
4847
assert.NoError(t, logs.Start(context.Background(), NewNopHost()))
4948
assert.NoError(t, logs.Shutdown(context.Background()))

component/componenttest/shutdown_verifier.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ import (
2020

2121
"github.com/stretchr/testify/assert"
2222
"github.com/stretchr/testify/require"
23-
"go.uber.org/zap"
2423

2524
"go.opentelemetry.io/collector/component"
2625
"go.opentelemetry.io/collector/component/componenterror"
@@ -34,7 +33,7 @@ func verifyTracesProcessorDoesntProduceAfterShutdown(t *testing.T, factory compo
3433
nextSink := new(consumertest.TracesSink)
3534
processor, err := factory.CreateTracesProcessor(
3635
context.Background(),
37-
component.ProcessorCreateSettings{Logger: zap.NewNop()},
36+
NewNopProcessorCreateSettings(),
3837
cfg,
3938
nextSink,
4039
)

exporter/exporterhelper/factory_test.go

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import (
2323

2424
"go.opentelemetry.io/collector/component"
2525
"go.opentelemetry.io/collector/component/componenterror"
26+
"go.opentelemetry.io/collector/component/componenttest"
2627
"go.opentelemetry.io/collector/config"
2728
"go.opentelemetry.io/collector/consumer/pdata"
2829
)
@@ -48,11 +49,11 @@ func TestNewFactory(t *testing.T) {
4849
defaultConfig)
4950
assert.EqualValues(t, typeStr, factory.Type())
5051
assert.EqualValues(t, &defaultCfg, factory.CreateDefaultConfig())
51-
_, err := factory.CreateTracesExporter(context.Background(), component.ExporterCreateSettings{Logger: zap.NewNop()}, &defaultCfg)
52+
_, err := factory.CreateTracesExporter(context.Background(), componenttest.NewNopExporterCreateSettings(), &defaultCfg)
5253
assert.Equal(t, componenterror.ErrDataTypeIsNotSupported, err)
53-
_, err = factory.CreateMetricsExporter(context.Background(), component.ExporterCreateSettings{Logger: zap.NewNop()}, &defaultCfg)
54+
_, err = factory.CreateMetricsExporter(context.Background(), componenttest.NewNopExporterCreateSettings(), &defaultCfg)
5455
assert.Equal(t, componenterror.ErrDataTypeIsNotSupported, err)
55-
_, err = factory.CreateLogsExporter(context.Background(), component.ExporterCreateSettings{Logger: zap.NewNop()}, &defaultCfg)
56+
_, err = factory.CreateLogsExporter(context.Background(), componenttest.NewNopExporterCreateSettings(), &defaultCfg)
5657
assert.Equal(t, componenterror.ErrDataTypeIsNotSupported, err)
5758
}
5859

@@ -66,15 +67,15 @@ func TestNewFactory_WithConstructors(t *testing.T) {
6667
assert.EqualValues(t, typeStr, factory.Type())
6768
assert.EqualValues(t, &defaultCfg, factory.CreateDefaultConfig())
6869

69-
te, err := factory.CreateTracesExporter(context.Background(), component.ExporterCreateSettings{Logger: zap.NewNop()}, &defaultCfg)
70+
te, err := factory.CreateTracesExporter(context.Background(), componenttest.NewNopExporterCreateSettings(), &defaultCfg)
7071
assert.NoError(t, err)
7172
assert.Same(t, nopTracesExporter, te)
7273

73-
me, err := factory.CreateMetricsExporter(context.Background(), component.ExporterCreateSettings{Logger: zap.NewNop()}, &defaultCfg)
74+
me, err := factory.CreateMetricsExporter(context.Background(), componenttest.NewNopExporterCreateSettings(), &defaultCfg)
7475
assert.NoError(t, err)
7576
assert.Same(t, nopMetricsExporter, me)
7677

77-
le, err := factory.CreateLogsExporter(context.Background(), component.ExporterCreateSettings{Logger: zap.NewNop()}, &defaultCfg)
78+
le, err := factory.CreateLogsExporter(context.Background(), componenttest.NewNopExporterCreateSettings(), &defaultCfg)
7879
assert.NoError(t, err)
7980
assert.Same(t, nopLogsExporter, le)
8081
}

0 commit comments

Comments
 (0)