Merge pull request #2187 from nwt/notifications-fix-expvar
notifications: fix expvar for Go 1.7
This commit is contained in:
commit
df5327f76f
2 changed files with 29 additions and 1 deletions
|
@ -13,7 +13,7 @@ type EndpointConfig struct {
|
||||||
Threshold int
|
Threshold int
|
||||||
Backoff time.Duration
|
Backoff time.Duration
|
||||||
IgnoredMediaTypes []string
|
IgnoredMediaTypes []string
|
||||||
Transport *http.Transport
|
Transport *http.Transport `json:"-"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// defaults set any zero-valued fields to a reasonable default.
|
// defaults set any zero-valued fields to a reasonable default.
|
||||||
|
|
28
notifications/metrics_test.go
Normal file
28
notifications/metrics_test.go
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
package notifications
|
||||||
|
|
||||||
|
import (
|
||||||
|
"encoding/json"
|
||||||
|
"expvar"
|
||||||
|
"testing"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestMetricsExpvar(t *testing.T) {
|
||||||
|
endpointsVar := expvar.Get("registry").(*expvar.Map).Get("notifications").(*expvar.Map).Get("endpoints")
|
||||||
|
|
||||||
|
var v interface{}
|
||||||
|
if err := json.Unmarshal([]byte(endpointsVar.String()), &v); err != nil {
|
||||||
|
t.Fatalf("unexpected error unmarshaling endpoints: %v", err)
|
||||||
|
}
|
||||||
|
if v != nil {
|
||||||
|
t.Fatalf("expected nil, got %#v", v)
|
||||||
|
}
|
||||||
|
|
||||||
|
NewEndpoint("x", "y", EndpointConfig{})
|
||||||
|
|
||||||
|
if err := json.Unmarshal([]byte(endpointsVar.String()), &v); err != nil {
|
||||||
|
t.Fatalf("unexpected error unmarshaling endpoints: %v", err)
|
||||||
|
}
|
||||||
|
if slice, ok := v.([]interface{}); !ok || len(slice) != 1 {
|
||||||
|
t.Logf("expected one-element []interface{}, got %#v", v)
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue