signoz/pkg/instrumentation/config_test.go
Shivanshu Raj Shrivastava efd4e30edf
fix: publish signoz as package (#7378)
Signed-off-by: Shivanshu Raj Shrivastava <shivanshu1333@gmail.com>
2025-03-20 15:31:41 +00:00

46 lines
1.1 KiB
Go

package instrumentation
import (
"context"
"log/slog"
"testing"
"github.com/SigNoz/signoz/pkg/config"
"github.com/SigNoz/signoz/pkg/config/envprovider"
"github.com/SigNoz/signoz/pkg/factory"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func TestNewWithEnvProvider(t *testing.T) {
t.Setenv("SIGNOZ_INSTRUMENTATION_LOGS_LEVEL", "debug")
t.Setenv("SIGNOZ_INSTRUMENTATION_METRICS_READERS_PULL_EXPORTER_PROMETHEUS_PORT", "1111")
t.Setenv("SIGNOZ_INSTRUMENTATION_TRACES_ENABLED", "true")
conf, err := config.New(
context.Background(),
config.ResolverConfig{
Uris: []string{"env:"},
ProviderFactories: []config.ProviderFactory{
envprovider.NewFactory(),
},
},
[]factory.ConfigFactory{
NewConfigFactory(),
},
)
require.NoError(t, err)
actual := Config{}
err = conf.Unmarshal("instrumentation", &actual)
require.NoError(t, err)
port := 1111
expected := NewConfigFactory().New().(Config)
expected.Logs.Level = slog.LevelDebug
expected.Traces.Enabled = true
expected.Metrics.Readers.Pull.Exporter.Prometheus.Port = &port
assert.Equal(t, expected, actual)
}