github.com/skippbox/kompose-origin@v0.0.0-20160524133224-16a9dca7bac2/labels/labels_test.go (about) 1 package labels 2 3 import ( 4 "testing" 5 ) 6 7 func TestLabelEq(t *testing.T) { 8 label := Label("labelName") 9 m := label.Eq("value") 10 values, ok := m["label"] 11 if !ok { 12 t.Fatalf("expected a label key, got %v", m) 13 } 14 if len(values) != 1 { 15 t.Fatalf("expected only one value, got %v", values) 16 } 17 if values[0] != "labelName=value" { 18 t.Fatalf("expected 'labelName=value', got %s", values) 19 } 20 } 21 22 func TestLabelEqString(t *testing.T) { 23 label := Label("labelName") 24 value := label.EqString("value") 25 if value != `{"label":["labelName=value"]}` { 26 t.Fatalf("expected '{labelName=value}', got %s", value) 27 } 28 } 29 30 func TestLabelFilter(t *testing.T) { 31 filters := []struct { 32 key string 33 value string 34 expected string 35 }{ 36 { 37 "key", "value", `{"label":["key=value"]}`, 38 }, { 39 "key", "", `{"label":["key="]}`, 40 }, { 41 "", "", `{"label":["="]}`, 42 }, 43 } 44 for _, filter := range filters { 45 actual := LabelFilterString(filter.key, filter.value) 46 if actual != filter.expected { 47 t.Fatalf("Expected '%s for key=%s and value=%s, got %s", filter.expected, filter.key, filter.value, actual) 48 } 49 } 50 }