labels: Extra tests and comment for WithoutLabels method. (#8024)
Signed-off-by: Bartlomiej Plotka <bwplotka@gmail.com>
This commit is contained in:
parent
71577e45eb
commit
dee6ac274e
|
@ -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 != "" {
|
||||
|
|
|
@ -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"},
|
||||
},
|
||||
expected: Labels{},
|
||||
},
|
||||
{
|
||||
Name: "foo",
|
||||
input: Labels{
|
||||
{Name: "foo"},
|
||||
{Name: "bar"},
|
||||
{Name: "baz"},
|
||||
},
|
||||
expected: Labels{},
|
||||
},
|
||||
{
|
||||
Name: "hostname",
|
||||
Value: "localhost",
|
||||
},
|
||||
{
|
||||
Name: "bar",
|
||||
},
|
||||
{
|
||||
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: "hostname",
|
||||
Value: "localhost",
|
||||
},
|
||||
{
|
||||
Name: "job",
|
||||
Value: "check",
|
||||
},
|
||||
{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: "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",
|
||||
input: Labels{
|
||||
{Name: "__name__", Value: "test"},
|
||||
{Name: "foo"},
|
||||
{Name: "hostname", Value: "localhost"},
|
||||
{Name: "bar"},
|
||||
{Name: "job", Value: "check"},
|
||||
},
|
||||
expected: Labels{
|
||||
{Name: "__name__", Value: "test"},
|
||||
{Name: "hostname", Value: "localhost"},
|
||||
{Name: "job", Value: "check"},
|
||||
},
|
||||
},
|
||||
{
|
||||
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…
Reference in New Issue