Browse Source

labels: Extra tests and comment for WithoutLabels method. (#8024)

Signed-off-by: Bartlomiej Plotka <bwplotka@gmail.com>
pull/8048/head
Bartlomiej Plotka 4 years ago committed by GitHub
parent
commit
dee6ac274e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 1
      pkg/labels/labels.go
  2. 94
      pkg/labels/labels_test.go

1
pkg/labels/labels.go

@ -275,6 +275,7 @@ func (ls Labels) WithoutEmpty() Labels {
if v.Value != "" {
continue
}
// Do not copy the slice until it's necessary.
els := make(Labels, 0, len(ls)-1)
for _, v := range ls {
if v.Value != "" {

94
pkg/labels/labels_test.go

@ -210,81 +210,83 @@ func TestLabels_HasDuplicateLabelNames(t *testing.T) {
}
func TestLabels_WithoutEmpty(t *testing.T) {
tests := []struct {
for _, test := range []struct {
input Labels
expected Labels
}{
{
input: Labels{
{
Name: "__name__",
Value: "test",
{Name: "foo"},
{Name: "bar"},
},
{
Name: "foo",
expected: Labels{},
},
{
Name: "hostname",
Value: "localhost",
input: Labels{
{Name: "foo"},
{Name: "bar"},
{Name: "baz"},
},
{
Name: "bar",
expected: Labels{},
},
{
Name: "job",
Value: "check",
},
input: Labels{
{Name: "__name__", Value: "test"},
{Name: "hostname", Value: "localhost"},
{Name: "job", Value: "check"},
},
expected: Labels{
{
Name: "__name__",
Value: "test",
{Name: "__name__", Value: "test"},
{Name: "hostname", Value: "localhost"},
{Name: "job", Value: "check"},
},
{
Name: "hostname",
Value: "localhost",
},
{
Name: "job",
Value: "check",
input: Labels{
{Name: "__name__", Value: "test"},
{Name: "hostname", Value: "localhost"},
{Name: "bar"},
{Name: "job", Value: "check"},
},
expected: Labels{
{Name: "__name__", Value: "test"},
{Name: "hostname", Value: "localhost"},
{Name: "job", Value: "check"},
},
},
{
input: Labels{
{
Name: "__name__",
Value: "test",
},
{
Name: "hostname",
Value: "localhost",
},
{
Name: "job",
Value: "check",
},
{Name: "__name__", Value: "test"},
{Name: "foo"},
{Name: "hostname", Value: "localhost"},
{Name: "bar"},
{Name: "job", Value: "check"},
},
expected: Labels{
{
Name: "__name__",
Value: "test",
{Name: "__name__", Value: "test"},
{Name: "hostname", Value: "localhost"},
{Name: "job", Value: "check"},
},
{
Name: "hostname",
Value: "localhost",
},
{
Name: "job",
Value: "check",
input: Labels{
{Name: "__name__", Value: "test"},
{Name: "foo"},
{Name: "baz"},
{Name: "hostname", Value: "localhost"},
{Name: "bar"},
{Name: "job", Value: "check"},
},
expected: Labels{
{Name: "__name__", Value: "test"},
{Name: "hostname", Value: "localhost"},
{Name: "job", Value: "check"},
},
},
}
for i, test := range tests {
got := test.input.WithoutEmpty()
testutil.Equals(t, test.expected, got, "unexpected labelset for test case %d", i)
} {
t.Run("", func(t *testing.T) {
testutil.Equals(t, test.expected, test.input.WithoutEmpty())
})
}
}

Loading…
Cancel
Save