mirror of
https://github.com/kemko/nomad.git
synced 2026-01-04 17:35:43 +03:00
test for setcontainsany, and treat set_contains same as set_contains_all
This commit is contained in:
@@ -484,8 +484,8 @@ func checkConstraint(ctx Context, operand string, lVal, rVal interface{}) bool {
|
||||
func checkAffinity(ctx Context, operand string, lVal, rVal interface{}) bool {
|
||||
switch operand {
|
||||
case structs.AffinitySetContainsAny:
|
||||
return checkSetContainsAny(ctx, lVal, rVal)
|
||||
case structs.AffinitySetContainsAll:
|
||||
return checkSetContainsAny(lVal, rVal)
|
||||
case structs.AffinitySetContainsAll, structs.ConstraintSetContains:
|
||||
return checkSetContainsAll(ctx, lVal, rVal)
|
||||
default:
|
||||
return checkConstraint(ctx, operand, lVal, rVal)
|
||||
@@ -628,7 +628,7 @@ func checkSetContainsAll(ctx Context, lVal, rVal interface{}) bool {
|
||||
|
||||
// checkSetContainsAny is used to see if the left hand side contains any
|
||||
// values on the right hand side
|
||||
func checkSetContainsAny(ctx Context, lVal, rVal interface{}) bool {
|
||||
func checkSetContainsAny(lVal, rVal interface{}) bool {
|
||||
// Ensure left-hand is string
|
||||
lStr, ok := lVal.(string)
|
||||
if !ok {
|
||||
|
||||
@@ -1611,3 +1611,11 @@ func TestFeasibilityWrapper_JobEligible_TgEscaped(t *testing.T) {
|
||||
t.Fatalf("bad: %v %v", e, ok)
|
||||
}
|
||||
}
|
||||
|
||||
func TestSetContainsAny(t *testing.T) {
|
||||
require.True(t, checkSetContainsAny("a", "a"))
|
||||
require.True(t, checkSetContainsAny("a,b", "a"))
|
||||
require.True(t, checkSetContainsAny(" a,b ", "a "))
|
||||
require.True(t, checkSetContainsAny("a", "a"))
|
||||
require.False(t, checkSetContainsAny("b", "a"))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user