diff --git a/go.mod b/go.mod index efb37cea7613..f64181420f83 100644 --- a/go.mod +++ b/go.mod @@ -19,7 +19,7 @@ require ( github.com/coreos/go-oidc/v3 v3.9.0 github.com/doublerebel/bellows v0.0.0-20160303004610-f177d92a03d3 github.com/evanphx/json-patch v5.8.0+incompatible - github.com/expr-lang/expr v1.17.0 + github.com/expr-lang/expr v1.17.7 github.com/gavv/httpexpect/v2 v2.16.0 github.com/go-git/go-git/v5 v5.14.0 github.com/go-jose/go-jose/v3 v3.0.4 diff --git a/go.sum b/go.sum index ccd95abe2914..81c07f275796 100644 --- a/go.sum +++ b/go.sum @@ -249,8 +249,8 @@ github.com/evilmonkeyinc/jsonpath v0.8.1 h1:W8K4t8u7aipkQE0hcTICGAdAN0Xph349Ltjg github.com/evilmonkeyinc/jsonpath v0.8.1/go.mod h1:EQhs0ZsoD4uD56ZJbO30gMTfHLQ6DEa0/5rT5Ymy42s= github.com/exponent-io/jsonpath v0.0.0-20210407135951-1de76d718b3f h1:Wl78ApPPB2Wvf/TIe2xdyJxTlb6obmF18d8QdkxNDu4= github.com/exponent-io/jsonpath v0.0.0-20210407135951-1de76d718b3f/go.mod h1:OSYXu++VVOHnXeitef/D8n/6y4QV8uLHSFXX4NeXMGc= -github.com/expr-lang/expr v1.17.0 h1:+vpszOyzKLQXC9VF+wA8cVA0tlA984/Wabc/1hF9Whg= -github.com/expr-lang/expr v1.17.0/go.mod h1:8/vRC7+7HBzESEqt5kKpYXxrxkr31SaO8r40VO/1IT4= +github.com/expr-lang/expr v1.17.7 h1:Q0xY/e/2aCIp8g9s/LGvMDCC5PxYlvHgDZRQ4y16JX8= +github.com/expr-lang/expr v1.17.7/go.mod h1:8/vRC7+7HBzESEqt5kKpYXxrxkr31SaO8r40VO/1IT4= github.com/fatih/camelcase v1.0.0 h1:hxNvNX/xYBp0ovncs8WyWZrOrpBNub/JfaMvbURyft8= github.com/fatih/camelcase v1.0.0/go.mod h1:yN2Sb0lFhZJUdVvtELVWefmrXpuZESvPmqwoZc+/fpc= github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM= diff --git a/util/template/replace_test.go b/util/template/replace_test.go index 1f0ffddd7235..c8dfe338e80a 100644 --- a/util/template/replace_test.go +++ b/util/template/replace_test.go @@ -41,6 +41,11 @@ func Test_Replace(t *testing.T) { require.NoError(t, err) assert.Equal(t, toJsonString("bar"), r) }) + t.Run("Valid With Variadic Sprig Expression", func(t *testing.T) { + r, err := Replace(toJsonString("{{=sprig.dig('status', nil, workflow)}}"), map[string]string{"workflow.status": "Succeeded"}, false) + require.NoError(t, err) + assert.Equal(t, toJsonString("Succeeded"), r) + }) t.Run("Valid WorkflowStatus", func(t *testing.T) { replaced, err := Replace(toJsonString(`{{=workflow.status == "Succeeded" ? "SUCCESSFUL" : "FAILED"}}`), map[string]string{"workflow.status": "Succeeded"}, false) require.NoError(t, err)