mirror of
https://github.com/kyverno/kyverno.git
synced 2025-03-07 00:17:13 +00:00
* updates for foreach and mutate Signed-off-by: Jim Bugwadia <jim@nirmata.com> * allow tests to pass on Windows Signed-off-by: Jim Bugwadia <jim@nirmata.com> * fix tests Signed-off-by: Jim Bugwadia <jim@nirmata.com> * fix linter check Signed-off-by: Jim Bugwadia <jim@nirmata.com> * add elementIndex variable Signed-off-by: Jim Bugwadia <jim@nirmata.com> * fmt Signed-off-by: Jim Bugwadia <jim@nirmata.com> * fix jsonResult usage Signed-off-by: Jim Bugwadia <jim@nirmata.com> * add mutate validation and fix error in validate.foreach Signed-off-by: Jim Bugwadia <jim@nirmata.com> * format Signed-off-by: Jim Bugwadia <jim@nirmata.com> * update message Signed-off-by: Jim Bugwadia <jim@nirmata.com> * do not skip validation for all array entries when one is skipped Signed-off-by: Jim Bugwadia <jim@nirmata.com> * add foreach tests Signed-off-by: Jim Bugwadia <jim@nirmata.com> * fix fmt Signed-off-by: Jim Bugwadia <jim@nirmata.com> * fix format errors Signed-off-by: Jim Bugwadia <jim@nirmata.com> * remove unused declarations Signed-off-by: Jim Bugwadia <jim@nirmata.com> * revert namespaceWithLabelYaml Signed-off-by: Jim Bugwadia <jim@nirmata.com> * fix mutate of element list Signed-off-by: Jim Bugwadia <jim@nirmata.com> * update CRDs Signed-off-by: Jim Bugwadia <jim@nirmata.com> * Update api/kyverno/v1/policy_types.go Co-authored-by: Steven E. Harris <seh@panix.com> * Update pkg/engine/forceMutate.go Co-authored-by: Steven E. Harris <seh@panix.com> * Update pkg/engine/forceMutate.go Co-authored-by: Steven E. Harris <seh@panix.com> * Update pkg/engine/forceMutate.go Co-authored-by: Steven E. Harris <seh@panix.com> * Update pkg/engine/mutation.go Co-authored-by: Steven E. Harris <seh@panix.com> * Update pkg/engine/mutation.go Co-authored-by: Steven E. Harris <seh@panix.com> * Update pkg/engine/mutation.go Co-authored-by: Steven E. Harris <seh@panix.com> * Update pkg/engine/validate/validate.go Co-authored-by: Steven E. Harris <seh@panix.com> * Update pkg/engine/validate/validate.go Co-authored-by: Steven E. Harris <seh@panix.com> * Update test/cli/test/custom-functions/policy.yaml Co-authored-by: Steven E. Harris <seh@panix.com> * Update test/cli/test/foreach/policies.yaml Co-authored-by: Steven E. Harris <seh@panix.com> * accept review comments and format Signed-off-by: Jim Bugwadia <jim@nirmata.com> * add comments to strategicMergePatch buffer Signed-off-by: Jim Bugwadia <jim@nirmata.com> * load context and evaluate preconditions foreach element Signed-off-by: Jim Bugwadia <jim@nirmata.com> * add test for foreach mutate context and precondition * precondition testcase * address review comments Signed-off-by: Jim Bugwadia <jim@nirmata.com> * update message Signed-off-by: Jim Bugwadia <jim@nirmata.com> * format Signed-off-by: Jim Bugwadia <jim@nirmata.com> Co-authored-by: Steven E. Harris <seh@panix.com> Co-authored-by: Vyankatesh Kudtarkar <vyankateshkd@gmail.com>
68 lines
1.7 KiB
Go
68 lines
1.7 KiB
Go
package anchor
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"gotest.tools/assert"
|
|
)
|
|
|
|
func TestWrappedWithParentheses_StringIsWrappedWithParentheses(t *testing.T) {
|
|
str := "(something)"
|
|
assert.Assert(t, IsConditionAnchor(str))
|
|
}
|
|
|
|
func TestWrappedWithParentheses_StringHasOnlyParentheses(t *testing.T) {
|
|
str := "()"
|
|
assert.Assert(t, IsConditionAnchor(str))
|
|
}
|
|
|
|
func TestWrappedWithParentheses_StringHasNoParentheses(t *testing.T) {
|
|
str := "something"
|
|
assert.Assert(t, !IsConditionAnchor(str))
|
|
}
|
|
|
|
func TestWrappedWithParentheses_StringHasLeftParentheses(t *testing.T) {
|
|
str := "(something"
|
|
assert.Assert(t, !IsConditionAnchor(str))
|
|
}
|
|
|
|
func TestWrappedWithParentheses_StringHasRightParentheses(t *testing.T) {
|
|
str := "something)"
|
|
assert.Assert(t, !IsConditionAnchor(str))
|
|
}
|
|
|
|
func TestWrappedWithParentheses_StringParenthesesInside(t *testing.T) {
|
|
str := "so)m(et(hin)g"
|
|
assert.Assert(t, !IsConditionAnchor(str))
|
|
}
|
|
|
|
func TestWrappedWithParentheses_Empty(t *testing.T) {
|
|
str := ""
|
|
assert.Assert(t, !IsConditionAnchor(str))
|
|
}
|
|
|
|
func TestIsExistenceAnchor_Yes(t *testing.T) {
|
|
assert.Assert(t, IsExistenceAnchor("^(abc)"))
|
|
}
|
|
|
|
func TestIsExistenceAnchor_NoRightBracket(t *testing.T) {
|
|
assert.Assert(t, !IsExistenceAnchor("^(abc"))
|
|
}
|
|
|
|
func TestIsExistenceAnchor_OnlyHat(t *testing.T) {
|
|
assert.Assert(t, !IsExistenceAnchor("^abc"))
|
|
}
|
|
|
|
func TestIsExistenceAnchor_ConditionAnchor(t *testing.T) {
|
|
assert.Assert(t, !IsExistenceAnchor("(abc)"))
|
|
}
|
|
|
|
func TestRemoveAnchorsFromPath_WorksWithAbsolutePath(t *testing.T) {
|
|
newPath := RemoveAnchorsFromPath("/path/(to)/X(anchors)")
|
|
assert.Equal(t, newPath, "/path/to/anchors")
|
|
}
|
|
|
|
func TestRemoveAnchorsFromPath_WorksWithRelativePath(t *testing.T) {
|
|
newPath := RemoveAnchorsFromPath("path/(to)/X(anchors)")
|
|
assert.Equal(t, newPath, "path/to/anchors")
|
|
}
|