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  }