mirror of
https://github.com/imgproxy/imgproxy.git
synced 2025-10-09 11:42:48 +02:00
Add tests for deprecated OTel configs mapping
This commit is contained in:
117
metrics/otel/otel_test.go
Normal file
117
metrics/otel/otel_test.go
Normal file
@@ -0,0 +1,117 @@
|
||||
package otel
|
||||
|
||||
import (
|
||||
"io"
|
||||
"os"
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
"github.com/sirupsen/logrus"
|
||||
"github.com/stretchr/testify/require"
|
||||
"github.com/stretchr/testify/suite"
|
||||
|
||||
"github.com/imgproxy/imgproxy/v3/config"
|
||||
)
|
||||
|
||||
type OtelTestSuite struct{ suite.Suite }
|
||||
|
||||
func (s *OtelTestSuite) SetupSuite() {
|
||||
logrus.SetOutput(io.Discard)
|
||||
}
|
||||
|
||||
func (s *OtelTestSuite) SetupTest() {
|
||||
for _, env := range os.Environ() {
|
||||
keyVal := strings.Split(env, "=")
|
||||
if strings.HasPrefix(keyVal[0], "OTEL_") || strings.HasPrefix(keyVal[0], "IMGPROXY_OPEN_TELEMETRY_") {
|
||||
os.Unsetenv(keyVal[0])
|
||||
}
|
||||
}
|
||||
|
||||
config.Reset()
|
||||
}
|
||||
|
||||
func (s *OtelTestSuite) TestMapDeprecatedConfigEndpointNoProtocol() {
|
||||
os.Setenv("IMGPROXY_OPEN_TELEMETRY_ENDPOINT", "otel_endpoint:1234")
|
||||
|
||||
mapDeprecatedConfig()
|
||||
|
||||
require.True(s.T(), config.OpenTelemetryEnable)
|
||||
require.Equal(s.T(), "https://otel_endpoint:1234", os.Getenv("OTEL_EXPORTER_OTLP_ENDPOINT"))
|
||||
require.Equal(s.T(), "", os.Getenv("OTEL_EXPORTER_OTLP_PROTOCOL"))
|
||||
}
|
||||
|
||||
func (s *OtelTestSuite) TestMapDeprecatedConfigEndpointGrpcProtocol() {
|
||||
os.Setenv("IMGPROXY_OPEN_TELEMETRY_ENDPOINT", "otel_endpoint:1234")
|
||||
os.Setenv("IMGPROXY_OPEN_TELEMETRY_PROTOCOL", "grpc")
|
||||
|
||||
mapDeprecatedConfig()
|
||||
|
||||
require.True(s.T(), config.OpenTelemetryEnable)
|
||||
require.Equal(s.T(), "https://otel_endpoint:1234", os.Getenv("OTEL_EXPORTER_OTLP_ENDPOINT"))
|
||||
require.Equal(s.T(), "grpc", os.Getenv("OTEL_EXPORTER_OTLP_PROTOCOL"))
|
||||
}
|
||||
|
||||
func (s *OtelTestSuite) TestMapDeprecatedConfigEndpointGrpcProtocolInsecure() {
|
||||
os.Setenv("IMGPROXY_OPEN_TELEMETRY_ENDPOINT", "otel_endpoint:1234")
|
||||
os.Setenv("IMGPROXY_OPEN_TELEMETRY_PROTOCOL", "grpc")
|
||||
os.Setenv("IMGPROXY_OPEN_TELEMETRY_GRPC_INSECURE", "1")
|
||||
|
||||
mapDeprecatedConfig()
|
||||
|
||||
require.True(s.T(), config.OpenTelemetryEnable)
|
||||
require.Equal(s.T(), "http://otel_endpoint:1234", os.Getenv("OTEL_EXPORTER_OTLP_ENDPOINT"))
|
||||
require.Equal(s.T(), "grpc", os.Getenv("OTEL_EXPORTER_OTLP_PROTOCOL"))
|
||||
}
|
||||
|
||||
func (s *OtelTestSuite) TestMapDeprecatedConfigEndpointHttpsProtocol() {
|
||||
os.Setenv("IMGPROXY_OPEN_TELEMETRY_ENDPOINT", "otel_endpoint:1234")
|
||||
os.Setenv("IMGPROXY_OPEN_TELEMETRY_PROTOCOL", "https")
|
||||
|
||||
mapDeprecatedConfig()
|
||||
|
||||
require.True(s.T(), config.OpenTelemetryEnable)
|
||||
require.Equal(s.T(), "https://otel_endpoint:1234", os.Getenv("OTEL_EXPORTER_OTLP_ENDPOINT"))
|
||||
require.Equal(s.T(), "https", os.Getenv("OTEL_EXPORTER_OTLP_PROTOCOL"))
|
||||
}
|
||||
|
||||
func (s *OtelTestSuite) TestMapDeprecatedConfigEndpointHttpProtocol() {
|
||||
os.Setenv("IMGPROXY_OPEN_TELEMETRY_ENDPOINT", "otel_endpoint:1234")
|
||||
os.Setenv("IMGPROXY_OPEN_TELEMETRY_PROTOCOL", "http")
|
||||
|
||||
mapDeprecatedConfig()
|
||||
|
||||
require.True(s.T(), config.OpenTelemetryEnable)
|
||||
require.Equal(s.T(), "http://otel_endpoint:1234", os.Getenv("OTEL_EXPORTER_OTLP_ENDPOINT"))
|
||||
require.Equal(s.T(), "http", os.Getenv("OTEL_EXPORTER_OTLP_PROTOCOL"))
|
||||
}
|
||||
|
||||
func (s *OtelTestSuite) TestMapDeprecatedConfigServiceName() {
|
||||
os.Setenv("IMGPROXY_OPEN_TELEMETRY_SERVICE_NAME", "testtest")
|
||||
|
||||
config.OpenTelemetryEnable = true
|
||||
mapDeprecatedConfig()
|
||||
|
||||
require.Equal(s.T(), "testtest", os.Getenv("OTEL_SERVICE_NAME"))
|
||||
}
|
||||
|
||||
func (s *OtelTestSuite) TestMapDeprecatedConfigPropagators() {
|
||||
os.Setenv("IMGPROXY_OPEN_TELEMETRY_PROPAGATORS", "testtest")
|
||||
|
||||
config.OpenTelemetryEnable = true
|
||||
mapDeprecatedConfig()
|
||||
|
||||
require.Equal(s.T(), "testtest", os.Getenv("OTEL_PROPAGATORS"))
|
||||
}
|
||||
|
||||
func (s *OtelTestSuite) TestMapDeprecatedConfigConnectionTimeout() {
|
||||
os.Setenv("IMGPROXY_OPEN_TELEMETRY_CONNECTION_TIMEOUT", "15")
|
||||
|
||||
config.OpenTelemetryEnable = true
|
||||
mapDeprecatedConfig()
|
||||
|
||||
require.Equal(s.T(), "15000", os.Getenv("OTEL_EXPORTER_OTLP_TIMEOUT"))
|
||||
}
|
||||
|
||||
func TestPresets(t *testing.T) {
|
||||
suite.Run(t, new(OtelTestSuite))
|
||||
}
|
Reference in New Issue
Block a user