diff --git a/receiver/aerospikereceiver/config_test.go b/receiver/aerospikereceiver/config_test.go index 52a64021a0f8b..97ccc2ff0e466 100644 --- a/receiver/aerospikereceiver/config_test.go +++ b/receiver/aerospikereceiver/config_test.go @@ -15,11 +15,14 @@ package aerospikereceiver import ( + "path/filepath" "testing" "time" "github.com/stretchr/testify/require" + "go.opentelemetry.io/collector/config" "go.opentelemetry.io/collector/config/configtls" + "go.opentelemetry.io/collector/confmap/confmaptest" ) func TestValidate(t *testing.T) { @@ -130,3 +133,21 @@ func TestValidate(t *testing.T) { }) } } + +func TestLoadConfig(t *testing.T) { + cm, err := confmaptest.LoadConf(filepath.Join("testdata", "config.yaml")) + require.NoError(t, err) + + factory := NewFactory() + cfg := factory.CreateDefaultConfig() + + sub, err := cm.Sub(config.NewComponentIDWithName(typeStr, "").String()) + require.NoError(t, err) + require.NoError(t, config.UnmarshalReceiver(sub, cfg)) + + expected := factory.CreateDefaultConfig().(*Config) + expected.Endpoint = "localhost:3000" + expected.CollectionInterval = 30 * time.Second + + require.Equal(t, expected, cfg) +} diff --git a/receiver/apachereceiver/config_test.go b/receiver/apachereceiver/config_test.go index d54275507c2f8..977027d7d0b74 100644 --- a/receiver/apachereceiver/config_test.go +++ b/receiver/apachereceiver/config_test.go @@ -15,9 +15,13 @@ package apachereceiver import ( + "path/filepath" "testing" + "time" "github.com/stretchr/testify/require" + "go.opentelemetry.io/collector/config" + "go.opentelemetry.io/collector/confmap/confmaptest" ) func TestValidate(t *testing.T) { @@ -85,3 +89,21 @@ func TestValidate(t *testing.T) { }) } } + +func TestLoadConfig(t *testing.T) { + cm, err := confmaptest.LoadConf(filepath.Join("testdata", "config.yaml")) + require.NoError(t, err) + + factory := NewFactory() + cfg := factory.CreateDefaultConfig() + + sub, err := cm.Sub(config.NewComponentIDWithName(typeStr, "").String()) + require.NoError(t, err) + require.NoError(t, config.UnmarshalReceiver(sub, cfg)) + + expected := factory.CreateDefaultConfig().(*Config) + expected.Endpoint = "http://localhost:8080/server-status?auto" + expected.CollectionInterval = 10 * time.Second + + require.Equal(t, expected, cfg) +} diff --git a/receiver/couchdbreceiver/config_test.go b/receiver/couchdbreceiver/config_test.go index dbbaaa2d5d2c4..d2fd6bfb4421a 100644 --- a/receiver/couchdbreceiver/config_test.go +++ b/receiver/couchdbreceiver/config_test.go @@ -16,10 +16,14 @@ package couchdbreceiver // import "github.com/open-telemetry/opentelemetry-colle import ( "fmt" + "path/filepath" "testing" + "time" "github.com/stretchr/testify/require" + "go.opentelemetry.io/collector/config" "go.opentelemetry.io/collector/config/confighttp" + "go.opentelemetry.io/collector/confmap/confmaptest" "go.uber.org/multierr" ) @@ -98,3 +102,23 @@ func TestValidate(t *testing.T) { }) } } + +func TestLoadConfig(t *testing.T) { + cm, err := confmaptest.LoadConf(filepath.Join("testdata", "config.yaml")) + require.NoError(t, err) + + factory := NewFactory() + cfg := factory.CreateDefaultConfig() + + sub, err := cm.Sub(config.NewComponentIDWithName(typeStr, "").String()) + require.NoError(t, err) + require.NoError(t, config.UnmarshalReceiver(sub, cfg)) + + expected := factory.CreateDefaultConfig().(*Config) + expected.Endpoint = "http://localhost:5984" + expected.Username = "otelu" + expected.Password = "$COUCHDB_PASSWORD" + expected.CollectionInterval = time.Minute + + require.Equal(t, expected, cfg) +} diff --git a/receiver/flinkmetricsreceiver/config_test.go b/receiver/flinkmetricsreceiver/config_test.go index 078624cbef843..aad31fc8bef49 100644 --- a/receiver/flinkmetricsreceiver/config_test.go +++ b/receiver/flinkmetricsreceiver/config_test.go @@ -17,10 +17,14 @@ package flinkmetricsreceiver // import "github.com/open-telemetry/opentelemetry- import ( "errors" "fmt" + "path/filepath" "testing" + "time" "github.com/stretchr/testify/require" + "go.opentelemetry.io/collector/config" "go.opentelemetry.io/collector/config/confighttp" + "go.opentelemetry.io/collector/confmap/confmaptest" ) func TestValidate(t *testing.T) { @@ -61,3 +65,21 @@ func TestValidate(t *testing.T) { }) } } + +func TestLoadConfig(t *testing.T) { + cm, err := confmaptest.LoadConf(filepath.Join("testdata", "config.yaml")) + require.NoError(t, err) + + factory := NewFactory() + cfg := factory.CreateDefaultConfig() + + sub, err := cm.Sub(config.NewComponentIDWithName(typeStr, "").String()) + require.NoError(t, err) + require.NoError(t, config.UnmarshalReceiver(sub, cfg)) + + expected := factory.CreateDefaultConfig().(*Config) + expected.Endpoint = "http://localhost:8081" + expected.CollectionInterval = 10 * time.Second + + require.Equal(t, expected, cfg) +} diff --git a/receiver/mongodbreceiver/config_test.go b/receiver/mongodbreceiver/config_test.go index 514238b8cd697..7506f3b356a94 100644 --- a/receiver/mongodbreceiver/config_test.go +++ b/receiver/mongodbreceiver/config_test.go @@ -21,8 +21,10 @@ import ( "time" "github.com/stretchr/testify/require" + "go.opentelemetry.io/collector/config" "go.opentelemetry.io/collector/config/confignet" "go.opentelemetry.io/collector/config/configtls" + "go.opentelemetry.io/collector/confmap/confmaptest" ) func TestValidate(t *testing.T) { @@ -197,3 +199,27 @@ func TestOptionsTLS(t *testing.T) { opts := cfg.ClientOptions() require.NotNil(t, opts.TLSConfig) } + +func TestLoadConfig(t *testing.T) { + cm, err := confmaptest.LoadConf(filepath.Join("testdata", "config.yaml")) + require.NoError(t, err) + + factory := NewFactory() + cfg := factory.CreateDefaultConfig() + + sub, err := cm.Sub(config.NewComponentIDWithName(typeStr, "").String()) + require.NoError(t, err) + require.NoError(t, config.UnmarshalReceiver(sub, cfg)) + + expected := factory.CreateDefaultConfig().(*Config) + expected.Hosts = []confignet.NetAddr{ + { + Endpoint: "localhost:27017", + }, + } + expected.Username = "otel" + expected.Password = "$MONGO_PASSWORD" + expected.CollectionInterval = time.Minute + + require.Equal(t, expected, cfg) +} diff --git a/receiver/mysqlreceiver/config_test.go b/receiver/mysqlreceiver/config_test.go new file mode 100644 index 0000000000000..a326d56770984 --- /dev/null +++ b/receiver/mysqlreceiver/config_test.go @@ -0,0 +1,46 @@ +// Copyright The OpenTelemetry Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package mysqlreceiver // import "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/mysqlreceiver" + +import ( + "path/filepath" + "testing" + "time" + + "github.com/stretchr/testify/require" + "go.opentelemetry.io/collector/config" + "go.opentelemetry.io/collector/confmap/confmaptest" +) + +func TestLoadConfig(t *testing.T) { + cm, err := confmaptest.LoadConf(filepath.Join("testdata", "config.yaml")) + require.NoError(t, err) + + factory := NewFactory() + cfg := factory.CreateDefaultConfig() + + sub, err := cm.Sub(config.NewComponentIDWithName(typeStr, "").String()) + require.NoError(t, err) + require.NoError(t, config.UnmarshalReceiver(sub, cfg)) + + expected := factory.CreateDefaultConfig().(*Config) + expected.Endpoint = "localhost:3306" + expected.Username = "otel" + expected.Password = "$MYSQL_PASSWORD" + expected.Database = "otel" + expected.CollectionInterval = 10 * time.Second + + require.Equal(t, expected, cfg) +} diff --git a/receiver/nsxtreceiver/config_test.go b/receiver/nsxtreceiver/config_test.go index 1a48297e63eb7..8bdd4ffee26a6 100644 --- a/receiver/nsxtreceiver/config_test.go +++ b/receiver/nsxtreceiver/config_test.go @@ -16,10 +16,14 @@ package nsxtreceiver // import "github.com/open-telemetry/opentelemetry-collecto import ( "errors" + "path/filepath" "testing" + "time" "github.com/stretchr/testify/require" + "go.opentelemetry.io/collector/config" "go.opentelemetry.io/collector/config/confighttp" + "go.opentelemetry.io/collector/confmap/confmaptest" ) func TestMetricValidation(t *testing.T) { @@ -84,3 +88,24 @@ func TestMetricValidation(t *testing.T) { }) } } + +func TestLoadConfig(t *testing.T) { + cm, err := confmaptest.LoadConf(filepath.Join("testdata", "config.yaml")) + require.NoError(t, err) + + factory := NewFactory() + cfg := factory.CreateDefaultConfig() + + sub, err := cm.Sub(config.NewComponentIDWithName(typeStr, "").String()) + require.NoError(t, err) + require.NoError(t, config.UnmarshalReceiver(sub, cfg)) + + expected := factory.CreateDefaultConfig().(*Config) + expected.Endpoint = "https://nsx-manager-endpoint" + expected.Username = "admin" + expected.Password = "$NSXT_PASSWORD" + expected.TLSSetting.Insecure = true + expected.CollectionInterval = time.Minute + + require.Equal(t, expected, cfg) +} diff --git a/receiver/nsxtreceiver/testdata/config.yaml b/receiver/nsxtreceiver/testdata/config.yaml index 9e871976c43a2..09929d8cef84c 100644 --- a/receiver/nsxtreceiver/testdata/config.yaml +++ b/receiver/nsxtreceiver/testdata/config.yaml @@ -2,6 +2,6 @@ nsxt: collection_interval: 1m endpoint: https://nsx-manager-endpoint username: admin - password: password123 + password: $NSXT_PASSWORD tls: insecure: true diff --git a/receiver/postgresqlreceiver/config_test.go b/receiver/postgresqlreceiver/config_test.go index a9277d0ad65be..55cdebf408347 100644 --- a/receiver/postgresqlreceiver/config_test.go +++ b/receiver/postgresqlreceiver/config_test.go @@ -17,9 +17,14 @@ package postgresqlreceiver import ( "errors" "fmt" + "path/filepath" "testing" + "time" "github.com/stretchr/testify/require" + "go.opentelemetry.io/collector/config" + "go.opentelemetry.io/collector/config/configtls" + "go.opentelemetry.io/collector/confmap/confmaptest" "go.uber.org/multierr" ) @@ -111,3 +116,49 @@ func TestValidate(t *testing.T) { }) } } + +func TestLoadConfig(t *testing.T) { + cm, err := confmaptest.LoadConf(filepath.Join("testdata", "config.yaml")) + require.NoError(t, err) + + factory := NewFactory() + cfg := factory.CreateDefaultConfig() + + t.Run("postgresql", func(t *testing.T) { + sub, err := cm.Sub(config.NewComponentIDWithName(typeStr, "").String()) + require.NoError(t, err) + require.NoError(t, config.UnmarshalReceiver(sub, cfg)) + + expected := factory.CreateDefaultConfig().(*Config) + expected.Endpoint = "localhost:5432" + expected.Username = "otel" + expected.Password = "$POSTGRESQL_PASSWORD" + + require.Equal(t, expected, cfg) + }) + + t.Run("postgresql/all", func(t *testing.T) { + sub, err := cm.Sub(config.NewComponentIDWithName(typeStr, "all").String()) + require.NoError(t, err) + require.NoError(t, config.UnmarshalReceiver(sub, cfg)) + + expected := factory.CreateDefaultConfig().(*Config) + expected.Endpoint = "localhost:5432" + expected.NetAddr.Transport = "tcp" + expected.Username = "otel" + expected.Password = "$POSTGRESQL_PASSWORD" + expected.Databases = []string{"otel"} + expected.CollectionInterval = 10 * time.Second + expected.TLSClientSetting = configtls.TLSClientSetting{ + Insecure: false, + InsecureSkipVerify: false, + TLSSetting: configtls.TLSSetting{ + CAFile: "/home/otel/authorities.crt", + CertFile: "/home/otel/mypostgrescert.crt", + KeyFile: "/home/otel/mypostgreskey.key", + }, + } + + require.Equal(t, expected, cfg) + }) +} diff --git a/receiver/postgresqlreceiver/testdata/config.yaml b/receiver/postgresqlreceiver/testdata/config.yaml index b36f23b77b6e2..3f84ad13f37a9 100644 --- a/receiver/postgresqlreceiver/testdata/config.yaml +++ b/receiver/postgresqlreceiver/testdata/config.yaml @@ -12,7 +12,7 @@ postgresql/all: collection_interval: 10s tls: insecure: false - unsecure_skip_verify: false + insecure_skip_verify: false ca_file: /home/otel/authorities.crt cert_file: /home/otel/mypostgrescert.crt key_file: /home/otel/mypostgreskey.key diff --git a/receiver/rabbitmqreceiver/config_test.go b/receiver/rabbitmqreceiver/config_test.go index 26a7fc549ac18..5e9e95ff6ba70 100644 --- a/receiver/rabbitmqreceiver/config_test.go +++ b/receiver/rabbitmqreceiver/config_test.go @@ -17,10 +17,14 @@ package rabbitmqreceiver // import "github.com/open-telemetry/opentelemetry-coll import ( "errors" "fmt" + "path/filepath" "testing" + "time" "github.com/stretchr/testify/require" + "go.opentelemetry.io/collector/config" "go.opentelemetry.io/collector/config/confighttp" + "go.opentelemetry.io/collector/confmap/confmaptest" "go.uber.org/multierr" ) @@ -107,3 +111,23 @@ func TestValidate(t *testing.T) { }) } } + +func TestLoadConfig(t *testing.T) { + cm, err := confmaptest.LoadConf(filepath.Join("testdata", "config.yaml")) + require.NoError(t, err) + + factory := NewFactory() + cfg := factory.CreateDefaultConfig() + + sub, err := cm.Sub(config.NewComponentIDWithName(typeStr, "").String()) + require.NoError(t, err) + require.NoError(t, config.UnmarshalReceiver(sub, cfg)) + + expected := factory.CreateDefaultConfig().(*Config) + expected.Endpoint = "http://localhost:15672" + expected.Username = "otelu" + expected.Password = "$RABBITMQ_PASSWORD" + expected.CollectionInterval = 10 * time.Second + + require.Equal(t, expected, cfg) +} diff --git a/receiver/saphanareceiver/config_test.go b/receiver/saphanareceiver/config_test.go index 8b1cf70e75d8c..fe8adcf292836 100644 --- a/receiver/saphanareceiver/config_test.go +++ b/receiver/saphanareceiver/config_test.go @@ -16,10 +16,16 @@ package saphanareceiver import ( "errors" + "path/filepath" "testing" + "time" "github.com/stretchr/testify/require" + "go.opentelemetry.io/collector/config" + "go.opentelemetry.io/collector/confmap/confmaptest" "go.uber.org/multierr" + + "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/saphanareceiver/internal/metadata" ) func TestValidate(t *testing.T) { @@ -73,3 +79,25 @@ func TestValidate(t *testing.T) { }) } } + +func TestLoadConfig(t *testing.T) { + cm, err := confmaptest.LoadConf(filepath.Join("testdata", "config.yaml")) + require.NoError(t, err) + + factory := NewFactory() + cfg := factory.CreateDefaultConfig() + + sub, err := cm.Sub(config.NewComponentIDWithName(typeStr, "").String()) + require.NoError(t, err) + require.NoError(t, config.UnmarshalReceiver(sub, cfg)) + + expected := factory.CreateDefaultConfig().(*Config) + expected.Metrics = metadata.DefaultMetricsSettings() + expected.Metrics.SaphanaCPUUsed.Enabled = false + expected.Endpoint = "example.com:30015" + expected.Username = "otel" + expected.Password = "password" + expected.CollectionInterval = 2 * time.Minute + + require.Equal(t, expected, cfg) +} diff --git a/receiver/vcenterreceiver/config_test.go b/receiver/vcenterreceiver/config_test.go index 8e912351f9b0a..d85a39cb6673a 100644 --- a/receiver/vcenterreceiver/config_test.go +++ b/receiver/vcenterreceiver/config_test.go @@ -16,10 +16,16 @@ package vcenterreceiver // import github.com/open-telemetry/opentelemetry-collec import ( "errors" + "path/filepath" "testing" + "time" "github.com/stretchr/testify/require" + "go.opentelemetry.io/collector/config" "go.opentelemetry.io/collector/config/configtls" + "go.opentelemetry.io/collector/confmap/confmaptest" + + "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vcenterreceiver/internal/metadata" ) func TestConfigValidation(t *testing.T) { @@ -84,3 +90,25 @@ func TestConfigValidation(t *testing.T) { }) } } + +func TestLoadConfig(t *testing.T) { + cm, err := confmaptest.LoadConf(filepath.Join("testdata", "config.yaml")) + require.NoError(t, err) + + factory := NewFactory() + cfg := factory.CreateDefaultConfig() + + sub, err := cm.Sub(config.NewComponentIDWithName(typeStr, "").String()) + require.NoError(t, err) + require.NoError(t, config.UnmarshalReceiver(sub, cfg)) + + expected := factory.CreateDefaultConfig().(*Config) + expected.Endpoint = "http://vcsa.host.localnet" + expected.Username = "otelu" + expected.Password = "$VCENTER_PASSWORD" + expected.Metrics = metadata.DefaultMetricsSettings() + expected.Metrics.VcenterHostCPUUtilization.Enabled = false + expected.CollectionInterval = 5 * time.Minute + + require.Equal(t, expected, cfg) +}