caddy/modules/metrics/metrics_test.go
Dave Henderson ebc278ec98
metrics: allow disabling OpenMetrics negotiation (#3944)
* metrics: allow disabling OpenMetrics negotiation

Signed-off-by: Dave Henderson <dhenderson@gmail.com>

* fixup! metrics: allow disabling OpenMetrics negotiation
2020-12-30 11:44:02 -07:00

46 lines
1022 B
Go

package metrics
import (
"testing"
"github.com/caddyserver/caddy/v2/caddyconfig/caddyfile"
)
func TestMetricsUnmarshalCaddyfile(t *testing.T) {
m := &Metrics{}
d := caddyfile.NewTestDispenser(`metrics bogus`)
err := m.UnmarshalCaddyfile(d)
if err == nil {
t.Errorf("expected error")
}
m = &Metrics{}
d = caddyfile.NewTestDispenser(`metrics`)
err = m.UnmarshalCaddyfile(d)
if err != nil {
t.Errorf("unexpected error: %v", err)
}
if m.DisableOpenMetrics != false {
t.Errorf("DisableOpenMetrics should've been false: %v", m.DisableOpenMetrics)
}
m = &Metrics{}
d = caddyfile.NewTestDispenser(`metrics { disable_openmetrics }`)
err = m.UnmarshalCaddyfile(d)
if err != nil {
t.Errorf("unexpected error: %v", err)
}
if m.DisableOpenMetrics != true {
t.Errorf("DisableOpenMetrics should've been true: %v", m.DisableOpenMetrics)
}
m = &Metrics{}
d = caddyfile.NewTestDispenser(`metrics { bogus }`)
err = m.UnmarshalCaddyfile(d)
if err == nil {
t.Errorf("expected error: %v", err)
}
}