Skip to content

Commit

Permalink
Use componenttest for ReceiverCreateSettings (open-telemetry#4151)
Browse files Browse the repository at this point in the history
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
  • Loading branch information
bogdandrutu committed Jul 12, 2021
1 parent 80705c5 commit a106af4
Show file tree
Hide file tree
Showing 45 changed files with 134 additions and 220 deletions.
15 changes: 5 additions & 10 deletions internal/stanza/factory_test.go
Expand Up @@ -20,16 +20,11 @@ import (
"time"

"github.com/stretchr/testify/require"
"go.opentelemetry.io/collector/component"
"go.opentelemetry.io/collector/component/componenttest"
"go.opentelemetry.io/collector/consumer/consumertest"
"go.uber.org/zap"
)

func TestCreateReceiver(t *testing.T) {
params := component.ReceiverCreateSettings{
Logger: zap.NewNop(),
}

t.Run("Success", func(t *testing.T) {
factory := NewFactory(TestReceiverType{})
cfg := factory.CreateDefaultConfig().(*TestConfig)
Expand All @@ -38,7 +33,7 @@ func TestCreateReceiver(t *testing.T) {
"type": "json_parser",
},
}
receiver, err := factory.CreateLogsReceiver(context.Background(), params, cfg, consumertest.NewNop())
receiver, err := factory.CreateLogsReceiver(context.Background(), componenttest.NewNopReceiverCreateSettings(), cfg, consumertest.NewNop())
require.NoError(t, err, "receiver creation failed")
require.NotNil(t, receiver, "receiver creation failed")
})
Expand All @@ -50,7 +45,7 @@ func TestCreateReceiver(t *testing.T) {
MaxFlushCount: 1,
FlushInterval: 3 * time.Second,
}
receiver, err := factory.CreateLogsReceiver(context.Background(), params, cfg, consumertest.NewNop())
receiver, err := factory.CreateLogsReceiver(context.Background(), componenttest.NewNopReceiverCreateSettings(), cfg, consumertest.NewNop())
require.NoError(t, err, "receiver creation failed")
require.NotNil(t, receiver, "receiver creation failed")
})
Expand All @@ -61,7 +56,7 @@ func TestCreateReceiver(t *testing.T) {
badCfg.Input = map[string]interface{}{
"type": "unknown",
}
receiver, err := factory.CreateLogsReceiver(context.Background(), params, badCfg, consumertest.NewNop())
receiver, err := factory.CreateLogsReceiver(context.Background(), componenttest.NewNopReceiverCreateSettings(), badCfg, consumertest.NewNop())
require.Error(t, err, "receiver creation should fail if input config isn't valid")
require.Nil(t, receiver, "receiver creation should fail if input config isn't valid")
})
Expand All @@ -74,7 +69,7 @@ func TestCreateReceiver(t *testing.T) {
"badparam": "badvalue",
},
}
receiver, err := factory.CreateLogsReceiver(context.Background(), params, badCfg, consumertest.NewNop())
receiver, err := factory.CreateLogsReceiver(context.Background(), componenttest.NewNopReceiverCreateSettings(), badCfg, consumertest.NewNop())
require.Error(t, err, "receiver creation should fail if parser configs aren't valid")
require.Nil(t, receiver, "receiver creation should fail if parser configs aren't valid")
})
Expand Down
17 changes: 3 additions & 14 deletions internal/stanza/receiver_test.go
Expand Up @@ -27,24 +27,19 @@ import (
"github.com/open-telemetry/opentelemetry-log-collection/pipeline"
"github.com/open-telemetry/opentelemetry-log-collection/testutil"
"github.com/stretchr/testify/require"
"go.opentelemetry.io/collector/component"
"go.opentelemetry.io/collector/component/componenttest"
"go.uber.org/zap"
"go.uber.org/zap/zaptest"
"gopkg.in/yaml.v2"
)

func TestStart(t *testing.T) {
params := component.ReceiverCreateSettings{
Logger: zaptest.NewLogger(t),
}
mockConsumer := mockLogsConsumer{}

factory := NewFactory(TestReceiverType{})

logsReceiver, err := factory.CreateLogsReceiver(
context.Background(),
params,
componenttest.NewNopReceiverCreateSettings(),
factory.CreateDefaultConfig(),
&mockConsumer,
)
Expand All @@ -67,31 +62,25 @@ func TestStart(t *testing.T) {
}

func TestHandleStartError(t *testing.T) {
params := component.ReceiverCreateSettings{
Logger: zaptest.NewLogger(t),
}
mockConsumer := mockLogsConsumer{}

factory := NewFactory(TestReceiverType{})

cfg := factory.CreateDefaultConfig().(*TestConfig)
cfg.Input = newUnstartableParams()

receiver, err := factory.CreateLogsReceiver(context.Background(), params, cfg, &mockConsumer)
receiver, err := factory.CreateLogsReceiver(context.Background(), componenttest.NewNopReceiverCreateSettings(), cfg, &mockConsumer)
require.NoError(t, err, "receiver should successfully build")

err = receiver.Start(context.Background(), componenttest.NewNopHost())
require.Error(t, err, "receiver fails to start under rare circumstances")
}

func TestHandleConsumeError(t *testing.T) {
params := component.ReceiverCreateSettings{
Logger: zaptest.NewLogger(t),
}
mockConsumer := mockLogsRejecter{}
factory := NewFactory(TestReceiverType{})

logsReceiver, err := factory.CreateLogsReceiver(context.Background(), params, factory.CreateDefaultConfig(), &mockConsumer)
logsReceiver, err := factory.CreateLogsReceiver(context.Background(), componenttest.NewNopReceiverCreateSettings(), factory.CreateDefaultConfig(), &mockConsumer)
require.NoError(t, err, "receiver should successfully build")

err = logsReceiver.Start(context.Background(), componenttest.NewNopHost())
Expand Down
5 changes: 2 additions & 3 deletions receiver/awscontainerinsightreceiver/factory_test.go
Expand Up @@ -20,9 +20,8 @@ import (

"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"go.opentelemetry.io/collector/component"
"go.opentelemetry.io/collector/component/componenttest"
"go.opentelemetry.io/collector/testbed/testbed"
"go.uber.org/zap"
)

func TestNewFactory(t *testing.T) {
Expand All @@ -33,7 +32,7 @@ func TestNewFactory(t *testing.T) {
func TestCreateMetricsReceiver(t *testing.T) {
metricsReceiver, _ := createMetricsReceiver(
context.Background(),
component.ReceiverCreateSettings{Logger: zap.NewNop()},
componenttest.NewNopReceiverCreateSettings(),
createDefaultConfig(),
&testbed.MockMetricConsumer{},
)
Expand Down
11 changes: 5 additions & 6 deletions receiver/awsecscontainermetricsreceiver/factory_test.go
Expand Up @@ -21,10 +21,9 @@ import (
"testing"

"github.com/stretchr/testify/require"
"go.opentelemetry.io/collector/component"
"go.opentelemetry.io/collector/component/componenttest"
"go.opentelemetry.io/collector/config/configcheck"
"go.opentelemetry.io/collector/testbed/testbed"
"go.uber.org/zap"

"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/awsecscontainermetricsreceiver/awsecscontainermetrics"
)
Expand All @@ -39,7 +38,7 @@ func TestCreateMetricsReceiver(t *testing.T) {

metricsReceiver, err := createMetricsReceiver(
context.Background(),
component.ReceiverCreateSettings{Logger: zap.NewNop()},
componenttest.NewNopReceiverCreateSettings(),
createDefaultConfig(),
&testbed.MockMetricConsumer{},
)
Expand All @@ -52,7 +51,7 @@ func TestCreateMetricsReceiverWithEnv(t *testing.T) {

metricsReceiver, err := createMetricsReceiver(
context.Background(),
component.ReceiverCreateSettings{Logger: zap.NewNop()},
componenttest.NewNopReceiverCreateSettings(),
createDefaultConfig(),
&testbed.MockMetricConsumer{},
)
Expand All @@ -65,7 +64,7 @@ func TestCreateMetricsReceiverWithBadUrl(t *testing.T) {

metricsReceiver, err := createMetricsReceiver(
context.Background(),
component.ReceiverCreateSettings{Logger: zap.NewNop()},
componenttest.NewNopReceiverCreateSettings(),
createDefaultConfig(),
&testbed.MockMetricConsumer{},
)
Expand All @@ -76,7 +75,7 @@ func TestCreateMetricsReceiverWithBadUrl(t *testing.T) {
func TestCreateMetricsReceiverWithNilConsumer(t *testing.T) {
metricsReceiver, err := createMetricsReceiver(
context.Background(),
component.ReceiverCreateSettings{Logger: zap.NewNop()},
componenttest.NewNopReceiverCreateSettings(),
createDefaultConfig(),
nil,
)
Expand Down
11 changes: 3 additions & 8 deletions receiver/awsxrayreceiver/factory_test.go
Expand Up @@ -22,12 +22,11 @@ import (
"testing"

"github.com/stretchr/testify/assert"
"go.opentelemetry.io/collector/component"
"go.opentelemetry.io/collector/component/componenterror"
"go.opentelemetry.io/collector/component/componenttest"
"go.opentelemetry.io/collector/config"
"go.opentelemetry.io/collector/config/configcheck"
"go.opentelemetry.io/collector/consumer/consumertest"
"go.uber.org/zap"

awsxray "github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/xray"
)
Expand All @@ -54,9 +53,7 @@ func TestCreateTracesReceiver(t *testing.T) {
factory := NewFactory()
_, err := factory.CreateTracesReceiver(
context.Background(),
component.ReceiverCreateSettings{
Logger: zap.NewNop(),
},
componenttest.NewNopReceiverCreateSettings(),
factory.CreateDefaultConfig().(*Config),
consumertest.NewNop(),
)
Expand All @@ -67,9 +64,7 @@ func TestCreateMetricsReceiver(t *testing.T) {
factory := NewFactory()
_, err := factory.CreateMetricsReceiver(
context.Background(),
component.ReceiverCreateSettings{
Logger: zap.NewNop(),
},
componenttest.NewNopReceiverCreateSettings(),
factory.CreateDefaultConfig().(*Config),
consumertest.NewNop(),
)
Expand Down
5 changes: 2 additions & 3 deletions receiver/carbonreceiver/factory_test.go
Expand Up @@ -19,10 +19,9 @@ import (
"testing"

"github.com/stretchr/testify/assert"
"go.opentelemetry.io/collector/component"
"go.opentelemetry.io/collector/component/componenttest"
"go.opentelemetry.io/collector/config/configcheck"
"go.opentelemetry.io/collector/consumer/consumertest"
"go.uber.org/zap"
)

func TestCreateDefaultConfig(t *testing.T) {
Expand All @@ -36,7 +35,7 @@ func TestCreateReceiver(t *testing.T) {
cfg := createDefaultConfig().(*Config)
cfg.Endpoint = "localhost:0" // Endpoint is required, not going to be used here.

params := component.ReceiverCreateSettings{Logger: zap.NewNop()}
params := componenttest.NewNopReceiverCreateSettings()
tReceiver, err := createMetricsReceiver(context.Background(), params, cfg, consumertest.NewNop())
assert.NoError(t, err)
assert.NotNil(t, tReceiver, "receiver creation failed")
Expand Down
5 changes: 2 additions & 3 deletions receiver/collectdreceiver/factory_test.go
Expand Up @@ -19,10 +19,9 @@ import (
"testing"

"github.com/stretchr/testify/assert"
"go.opentelemetry.io/collector/component"
"go.opentelemetry.io/collector/component/componenttest"
"go.opentelemetry.io/collector/config/configcheck"
"go.opentelemetry.io/collector/consumer/consumertest"
"go.uber.org/zap"
)

func TestCreateDefaultConfig(t *testing.T) {
Expand All @@ -36,7 +35,7 @@ func TestCreateReceiver(t *testing.T) {
factory := NewFactory()
cfg := factory.CreateDefaultConfig()

params := component.ReceiverCreateSettings{Logger: zap.NewNop()}
params := componenttest.NewNopReceiverCreateSettings()
tReceiver, err := factory.CreateMetricsReceiver(context.Background(), params, cfg, consumertest.NewNop())
assert.NoError(t, err)
assert.NotNil(t, tReceiver, "receiver creation failed")
Expand Down
7 changes: 3 additions & 4 deletions receiver/dockerstatsreceiver/factory_test.go
Expand Up @@ -19,11 +19,10 @@ import (
"testing"

"github.com/stretchr/testify/assert"
"go.opentelemetry.io/collector/component"
"go.opentelemetry.io/collector/component/componenterror"
"go.opentelemetry.io/collector/component/componenttest"
"go.opentelemetry.io/collector/config/configcheck"
"go.opentelemetry.io/collector/testbed/testbed"
"go.uber.org/zap"
)

func TestCreateDefaultConfig(t *testing.T) {
Expand All @@ -39,7 +38,7 @@ func TestCreateReceiver(t *testing.T) {
factory := NewFactory()
config := factory.CreateDefaultConfig()

params := component.ReceiverCreateSettings{Logger: zap.NewNop()}
params := componenttest.NewNopReceiverCreateSettings()
traceReceiver, err := factory.CreateTracesReceiver(context.Background(), params, config, &testbed.MockTraceConsumer{})
assert.ErrorIs(t, err, componenterror.ErrDataTypeIsNotSupported)
assert.Nil(t, traceReceiver)
Expand All @@ -56,7 +55,7 @@ func TestCreateInvalidHTTPEndpoint(t *testing.T) {

receiverCfg.Endpoint = ""

params := component.ReceiverCreateSettings{Logger: zap.NewNop()}
params := componenttest.NewNopReceiverCreateSettings()
consumer := &testbed.MockMetricConsumer{}
receiver, err := factory.CreateMetricsReceiver(context.Background(), params, receiverCfg, consumer)
assert.Nil(t, receiver)
Expand Down
5 changes: 2 additions & 3 deletions receiver/dotnetdiagnosticsreceiver/factory_test.go
Expand Up @@ -21,10 +21,9 @@ import (

"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"go.opentelemetry.io/collector/component"
"go.opentelemetry.io/collector/component/componenttest"
"go.opentelemetry.io/collector/config/configcheck"
"go.opentelemetry.io/collector/consumer/consumertest"
"go.uber.org/zap"
)

func TestCreateDefaultConfig(t *testing.T) {
Expand All @@ -43,7 +42,7 @@ func TestCreateDefaultConfig(t *testing.T) {
func TestNewFactory(t *testing.T) {
f := NewFactory()
cfg := f.CreateDefaultConfig()
params := component.ReceiverCreateSettings{Logger: zap.NewNop()}
params := componenttest.NewNopReceiverCreateSettings()
r, err := f.CreateMetricsReceiver(context.Background(), params, cfg, consumertest.NewNop())
assert.NoError(t, err)
assert.NotNil(t, r)
Expand Down
12 changes: 3 additions & 9 deletions receiver/filelogreceiver/filelog_test.go
Expand Up @@ -30,14 +30,12 @@ import (
"github.com/open-telemetry/opentelemetry-log-collection/entry"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"go.opentelemetry.io/collector/component"
"go.opentelemetry.io/collector/component/componenttest"
"go.opentelemetry.io/collector/config"
"go.opentelemetry.io/collector/config/configcheck"
"go.opentelemetry.io/collector/config/configtest"
"go.opentelemetry.io/collector/consumer/consumertest"
"go.opentelemetry.io/collector/model/pdata"
"go.uber.org/zap/zaptest"

"github.com/open-telemetry/opentelemetry-collector-contrib/internal/stanza"
)
Expand Down Expand Up @@ -72,9 +70,7 @@ func TestCreateWithInvalidInputConfig(t *testing.T) {

_, err := NewFactory().CreateLogsReceiver(
context.Background(),
component.ReceiverCreateSettings{
Logger: zaptest.NewLogger(t),
},
componenttest.NewNopReceiverCreateSettings(),
cfg,
new(consumertest.LogsSink),
)
Expand All @@ -88,7 +84,6 @@ func TestReadStaticFile(t *testing.T) {

f := NewFactory()
sink := new(consumertest.LogsSink)
params := component.ReceiverCreateSettings{Logger: zaptest.NewLogger(t)}

cfg := testdataConfigYamlAsMap()
cfg.Converter.MaxFlushCount = 10
Expand All @@ -102,7 +97,7 @@ func TestReadStaticFile(t *testing.T) {
wg.Add(1)
go consumeNLogsFromConverter(converter.OutChannel(), 3, &wg)

rcvr, err := f.CreateLogsReceiver(context.Background(), params, cfg, sink)
rcvr, err := f.CreateLogsReceiver(context.Background(), componenttest.NewNopReceiverCreateSettings(), cfg, sink)
require.NoError(t, err, "failed to create receiver")
require.NoError(t, rcvr.Start(context.Background(), componenttest.NewNopHost()))

Expand Down Expand Up @@ -178,7 +173,6 @@ func (rt *rotationTest) Run(t *testing.T) {

f := NewFactory()
sink := new(consumertest.LogsSink)
params := component.ReceiverCreateSettings{Logger: zaptest.NewLogger(t)}

cfg := testdataRotateTestYamlAsMap(tempDir)
cfg.Converter.MaxFlushCount = 1
Expand All @@ -199,7 +193,7 @@ func (rt *rotationTest) Run(t *testing.T) {
wg.Add(1)
go consumeNLogsFromConverter(converter.OutChannel(), numLogs, &wg)

rcvr, err := f.CreateLogsReceiver(context.Background(), params, cfg, sink)
rcvr, err := f.CreateLogsReceiver(context.Background(), componenttest.NewNopReceiverCreateSettings(), cfg, sink)
require.NoError(t, err, "failed to create receiver")
require.NoError(t, rcvr.Start(context.Background(), componenttest.NewNopHost()))

Expand Down

0 comments on commit a106af4

Please sign in to comment.