Merge pull request #2526 from erictune/addhelper

Add selector making helper
This commit is contained in:
bgrant0607 2014-11-21 14:27:18 -08:00
commit 7ca2e06553
2 changed files with 15 additions and 0 deletions

View File

@ -483,3 +483,9 @@ func ParseSelector(selector string) (Selector, error) {
}
return andTerm(items), nil
}
// OneTermEqualSelector returns an object that matches objects where one label/field equals one value.
// Cannot return an error.
func OneTermEqualSelector(k, v string) Selector {
return &hasTerm{label: k, value: v}
}

View File

@ -113,6 +113,15 @@ func TestSelectorMatches(t *testing.T) {
expectNoMatch(t, "foo=bar,foobar=bar,baz=blah", labelset)
}
func TestOneTermEqualSelector(t *testing.T) {
if !OneTermEqualSelector("x", "y").Matches(Set{"x": "y"}) {
t.Errorf("No match when match expected.")
}
if OneTermEqualSelector("x", "y").Matches(Set{"x": "z"}) {
t.Errorf("Match when none expected.")
}
}
func expectMatchDirect(t *testing.T, selector, ls Set) {
if !SelectorFromSet(selector).Matches(ls) {
t.Errorf("Wanted %s to match '%s', but it did not.\n", selector, ls)