Files
virtual-kubelet/vendor/github.com/hyperhq/libcompose/labels/labels_test.go
2017-12-05 17:53:58 -06:00

51 lines
1.1 KiB
Go

package labels
import (
"testing"
)
func TestLabelEq(t *testing.T) {
label := Label("labelName")
m := label.Eq("value")
values, ok := m["label"]
if !ok {
t.Fatalf("expected a label key, got %v", m)
}
if len(values) != 1 {
t.Fatalf("expected only one value, got %v", values)
}
if values[0] != "labelName=value" {
t.Fatalf("expected 'labelName=value', got %s", values)
}
}
func TestLabelEqString(t *testing.T) {
label := Label("labelName")
value := label.EqString("value")
if value != `{"label":["labelName=value"]}` {
t.Fatalf("expected '{labelName=value}', got %s", value)
}
}
func TestLabelFilter(t *testing.T) {
filters := []struct {
key string
value string
expected string
}{
{
"key", "value", `{"label":["key=value"]}`,
}, {
"key", "", `{"label":["key="]}`,
}, {
"", "", `{"label":["="]}`,
},
}
for _, filter := range filters {
actual := LabelFilterString(filter.key, filter.value)
if actual != filter.expected {
t.Fatalf("Expected '%s for key=%s and value=%s, got %s", filter.expected, filter.key, filter.value, actual)
}
}
}