diff options
Diffstat (limited to 'test/security/k8s/src/check/validators/master/boolean/boolean.go')
-rw-r--r-- | test/security/k8s/src/check/validators/master/boolean/boolean.go | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/test/security/k8s/src/check/validators/master/boolean/boolean.go b/test/security/k8s/src/check/validators/master/boolean/boolean.go new file mode 100644 index 000000000..dba73c1e8 --- /dev/null +++ b/test/security/k8s/src/check/validators/master/boolean/boolean.go @@ -0,0 +1,34 @@ +package boolean + +import ( + "strings" +) + +// IsSingleFlagPresent checks presence of selected flag and whether it was used once. +func IsSingleFlagPresent(flag string, params []string) bool { + found := filterFlags(params, flag) + if len(found) != 1 { + return false + } + return true +} + +// IsFlagAbsent checks absence of selected flag in parameters. +func IsFlagAbsent(flag string, params []string) bool { + found := filterFlags(params, flag) + if len(found) != 0 { + return false + } + return true +} + +// filterFlags returns all occurrences of selected flag. +func filterFlags(strs []string, flag string) []string { + var filtered []string + for _, str := range strs { + if strings.HasPrefix(str, flag) { + filtered = append(filtered, str) + } + } + return filtered +} |