|
7 | 7 |
|
8 | 8 | "github.com/armon/go-metrics"
|
9 | 9 | "github.com/armon/go-metrics/datadog"
|
| 10 | + "github.com/stretchr/testify/assert" |
10 | 11 | "github.com/stretchr/testify/require"
|
11 | 12 | "golang.org/x/net/nettest"
|
12 | 13 | )
|
@@ -69,3 +70,20 @@ func TestInMemorySink(t *testing.T) {
|
69 | 70 | require.Equal(t, "test.test_counter", met[0].Counters["test.test_counter"].Name)
|
70 | 71 | require.Equal(t, 1, met[0].Counters["test.test_counter"].Count)
|
71 | 72 | }
|
| 73 | + |
| 74 | +func TestIncWithLabels(t *testing.T) { |
| 75 | + sink, err := InitWithURL("test", "inmem://?interval=1s&retain=2s") |
| 76 | + require.NoError(t, err) |
| 77 | + require.IsType(t, &metrics.InmemSink{}, sink) |
| 78 | + |
| 79 | + Inc("test_counter", 1, L("tag", "value")) |
| 80 | + met := sink.(*metrics.InmemSink).Data() |
| 81 | + require.Len(t, met, 1) |
| 82 | + |
| 83 | + require.Len(t, met[0].Counters, 1) |
| 84 | + require.Contains(t, met[0].Counters, "test.test_counter;tag=value") |
| 85 | + incr := met[0].Counters["test.test_counter;tag=value"] |
| 86 | + assert.Len(t, incr.Labels, 1) |
| 87 | + assert.Equal(t, "value", incr.Labels[0].Value) |
| 88 | + assert.Equal(t, "tag", incr.Labels[0].Name) |
| 89 | +} |
0 commit comments