package metrics // Tests for Prometheus metrics registration with a custom registry. import ( "testing" "github.com/prometheus/client_golang/prometheus" "github.com/stretchr/testify/require" ) // TestNewMetrics_WithCustomRegistry verifies metrics register on a provided registry. func TestNewMetrics_WithCustomRegistry(t *testing.T) { registry := prometheus.NewRegistry() m := NewMetrics(Config{ServiceName: "svc", Enabled: true, Registry: registry}) require.NotNil(t, m) require.NotNil(t, m.HTTPRequestsTotal) require.NotNil(t, m.DBConnectionsActive) require.NotNil(t, m.ScoreDistribution) } // TestConfigFromEnvDefaults verifies default env behavior. func TestConfigFromEnvDefaults(t *testing.T) { t.Setenv("METRICS_ENABLED", "") t.Setenv("METRICS_SERVICE_NAME", "") cfg := ConfigFromEnv() def := DefaultConfig() require.Equal(t, def, cfg) } // TestConfigFromEnvOverrides verifies valid env overrides. func TestConfigFromEnvOverrides(t *testing.T) { t.Setenv("METRICS_ENABLED", "false") t.Setenv("METRICS_SERVICE_NAME", "admin-service") cfg := ConfigFromEnv() require.False(t, cfg.Enabled) require.Equal(t, "admin-service", cfg.ServiceName) }