summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/armon/go-metrics/statsd_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/armon/go-metrics/statsd_test.go')
-rw-r--r--vendor/github.com/armon/go-metrics/statsd_test.go43
1 files changed, 43 insertions, 0 deletions
diff --git a/vendor/github.com/armon/go-metrics/statsd_test.go b/vendor/github.com/armon/go-metrics/statsd_test.go
index 622eb5d3a..0602b213f 100644
--- a/vendor/github.com/armon/go-metrics/statsd_test.go
+++ b/vendor/github.com/armon/go-metrics/statsd_test.go
@@ -4,6 +4,8 @@ import (
"bufio"
"bytes"
"net"
+ "net/url"
+ "strings"
"testing"
"time"
)
@@ -103,3 +105,44 @@ func TestStatsd_Conn(t *testing.T) {
t.Fatalf("timeout")
}
}
+
+func TestNewStatsdSinkFromURL(t *testing.T) {
+ for _, tc := range []struct {
+ desc string
+ input string
+ expectErr string
+ expectAddr string
+ }{
+ {
+ desc: "address is populated",
+ input: "statsd://statsd.service.consul",
+ expectAddr: "statsd.service.consul",
+ },
+ {
+ desc: "address includes port",
+ input: "statsd://statsd.service.consul:1234",
+ expectAddr: "statsd.service.consul:1234",
+ },
+ } {
+ t.Run(tc.desc, func(t *testing.T) {
+ u, err := url.Parse(tc.input)
+ if err != nil {
+ t.Fatalf("error parsing URL: %s", err)
+ }
+ ms, err := NewStatsdSinkFromURL(u)
+ if tc.expectErr != "" {
+ if !strings.Contains(err.Error(), tc.expectErr) {
+ t.Fatalf("expected err: %q, to contain: %q", err, tc.expectErr)
+ }
+ } else {
+ if err != nil {
+ t.Fatalf("unexpected err: %s", err)
+ }
+ is := ms.(*StatsdSink)
+ if is.addr != tc.expectAddr {
+ t.Fatalf("expected addr %s, got: %s", tc.expectAddr, is.addr)
+ }
+ }
+ })
+ }
+}