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) } }