signoz/pkg/config/config_test.go
Vibhu Pandey bfeceb0ed2
feat(web): add web package (#5743)
### Summary

Add a web package for serving frontend

#### Related Issues / PR's

https://github.com/SigNoz/signoz/pull/5710
2024-08-22 20:56:15 +05:30

62 lines
1.6 KiB
Go

package config
import (
"context"
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"go.opentelemetry.io/collector/confmap"
contribsdkconfig "go.opentelemetry.io/contrib/config"
"go.signoz.io/signoz/pkg/confmap/provider/signozenvprovider"
"go.signoz.io/signoz/pkg/instrumentation"
"go.signoz.io/signoz/pkg/web"
)
func TestNewWithSignozEnvProvider(t *testing.T) {
t.Setenv("SIGNOZ__INSTRUMENTATION__LOGS__ENABLED", "true")
t.Setenv("SIGNOZ__INSTRUMENTATION__LOGS__PROCESSORS__BATCH__EXPORTER__OTLP__ENDPOINT", "0.0.0.0:4317")
t.Setenv("SIGNOZ__INSTRUMENTATION__LOGS__PROCESSORS__BATCH__EXPORT_TIMEOUT", "10")
t.Setenv("SIGNOZ__WEB__PREFIX", "/web")
t.Setenv("SIGNOZ__WEB__DIRECTORY", "/build")
config, err := New(context.Background(), ProviderSettings{
ResolverSettings: confmap.ResolverSettings{
URIs: []string{"signozenv:"},
ProviderFactories: []confmap.ProviderFactory{
signozenvprovider.NewFactory(),
},
},
})
require.NoError(t, err)
i := 10
expected := &Config{
Instrumentation: instrumentation.Config{
Logs: instrumentation.LogsConfig{
Enabled: true,
LoggerProvider: contribsdkconfig.LoggerProvider{
Processors: []contribsdkconfig.LogRecordProcessor{
{
Batch: &contribsdkconfig.BatchLogRecordProcessor{
ExportTimeout: &i,
Exporter: contribsdkconfig.LogRecordExporter{
OTLP: &contribsdkconfig.OTLP{
Endpoint: "0.0.0.0:4317",
},
},
},
},
},
},
},
},
Web: web.Config{
Prefix: "/web",
Directory: "/build",
},
}
assert.Equal(t, expected, config)
}