summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/armon/go-metrics/statsite_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/armon/go-metrics/statsite_test.go')
-rw-r--r--[-rwxr-xr-x]vendor/github.com/armon/go-metrics/statsite_test.go43
1 files changed, 43 insertions, 0 deletions
diff --git a/vendor/github.com/armon/go-metrics/statsite_test.go b/vendor/github.com/armon/go-metrics/statsite_test.go
index d9c744f41..704474f43 100755..100644
--- a/vendor/github.com/armon/go-metrics/statsite_test.go
+++ b/vendor/github.com/armon/go-metrics/statsite_test.go
@@ -3,6 +3,8 @@ package metrics
import (
"bufio"
"net"
+ "net/url"
+ "strings"
"testing"
"time"
)
@@ -99,3 +101,44 @@ func TestStatsite_Conn(t *testing.T) {
t.Fatalf("timeout")
}
}
+
+func TestNewStatsiteSinkFromURL(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 := NewStatsiteSinkFromURL(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.(*StatsiteSink)
+ if is.addr != tc.expectAddr {
+ t.Fatalf("expected addr %s, got: %s", tc.expectAddr, is.addr)
+ }
+ }
+ })
+ }
+}