opentelemetry-collector/scraper/scraperhelper/config_test.go

52 lines
1.0 KiB
Go

// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
package scraperhelper
import (
"testing"
"time"
"github.com/stretchr/testify/assert"
)
func TestScrapeControllerSettings(t *testing.T) {
t.Parallel()
for _, tc := range []struct {
name string
set ControllerConfig
errVal string
}{
{
name: "default configuration",
set: NewDefaultControllerConfig(),
errVal: "",
},
{
name: "zero value configuration",
set: ControllerConfig{},
errVal: `"collection_interval": requires positive value`,
},
{
name: "invalid timeout",
set: ControllerConfig{
CollectionInterval: time.Minute,
Timeout: -1 * time.Minute,
},
errVal: `"timeout": requires positive value`,
},
} {
t.Run(tc.name, func(t *testing.T) {
t.Parallel()
err := tc.set.Validate()
if tc.errVal == "" {
assert.NoError(t, err, "Must not error")
return
}
assert.EqualError(t, err, tc.errVal, "Must match the expected error")
})
}
}