Merge pull request #119577 from jiahuif-forks/tests/validating-admission-policy/lazy-map-short-circuiting

CEL lazy map: add test for boolean short-circuiting

Kubernetes-commit: 112a4726a4af33b5e3d7cb3f6d51547262587669
This commit is contained in:
Kubernetes Publisher 2023-08-15 19:43:04 -07:00
commit a11da9bae8
3 changed files with 15 additions and 4 deletions

4
go.mod
View File

@ -43,7 +43,7 @@ require (
gopkg.in/square/go-jose.v2 v2.6.0
k8s.io/api v0.0.0-20230810042731-2f6eec10c476
k8s.io/apimachinery v0.0.0-20230815235018-4c378f8a8a61
k8s.io/client-go v0.0.0-20230816000758-856e847bb7cb
k8s.io/client-go v0.0.0-20230816040348-b97d8af0937c
k8s.io/component-base v0.0.0-20230807211050-31137ad9f7f2
k8s.io/klog/v2 v2.100.1
k8s.io/kms v0.0.0-20230807211544-e54c40adc2b2
@ -128,7 +128,7 @@ require (
replace (
k8s.io/api => k8s.io/api v0.0.0-20230810042731-2f6eec10c476
k8s.io/apimachinery => k8s.io/apimachinery v0.0.0-20230815235018-4c378f8a8a61
k8s.io/client-go => k8s.io/client-go v0.0.0-20230816000758-856e847bb7cb
k8s.io/client-go => k8s.io/client-go v0.0.0-20230816040348-b97d8af0937c
k8s.io/component-base => k8s.io/component-base v0.0.0-20230807211050-31137ad9f7f2
k8s.io/kms => k8s.io/kms v0.0.0-20230807211544-e54c40adc2b2
)

4
go.sum
View File

@ -674,8 +674,8 @@ k8s.io/api v0.0.0-20230810042731-2f6eec10c476 h1:1LpPoqkYurARQ/TQ0U3DRAclyCkM7hM
k8s.io/api v0.0.0-20230810042731-2f6eec10c476/go.mod h1:RFi7MZgMNqcWc0azfutkpPR/OdHWZjnTAwdFHTKjAUQ=
k8s.io/apimachinery v0.0.0-20230815235018-4c378f8a8a61 h1:PQAKasgkOolbHn5mI2MIMaytDF453zUaMrnG6nrqwy4=
k8s.io/apimachinery v0.0.0-20230815235018-4c378f8a8a61/go.mod h1:X0xh/chESs2hP9koe+SdIAcXWcQ+RM5hy0ZynB+yEvw=
k8s.io/client-go v0.0.0-20230816000758-856e847bb7cb h1:QLY5cHaZwawHP6394w6miAQAaJ2fwlA/TfRHXmG4U3M=
k8s.io/client-go v0.0.0-20230816000758-856e847bb7cb/go.mod h1:xt/XQN6z9voSDnQ/uCIJ3a5n5sk2lhhnwzWGeuDhsvE=
k8s.io/client-go v0.0.0-20230816040348-b97d8af0937c h1:P3i5n8yHv4kog3UH5DsTY/Ea/lKR5kIABlNHdpi3IVA=
k8s.io/client-go v0.0.0-20230816040348-b97d8af0937c/go.mod h1:8j1NqdeVD9eU4kSF8iq14yzTJQLAM897lcLSv3p/JB4=
k8s.io/component-base v0.0.0-20230807211050-31137ad9f7f2 h1:bgkLpsQhIRm8Rd6h9V/n50sN63k6sEzX+Q8nCpZCCX4=
k8s.io/component-base v0.0.0-20230807211050-31137ad9f7f2/go.mod h1:wjy+fowSTnR9NfN23CZuwDq+yF+viZTN5nbGbXcOYBM=
k8s.io/klog/v2 v2.100.1 h1:7WCHKK6K8fNhTqfBhISHQ97KrnJNFZMcQvKp7gP/tmg=

View File

@ -93,6 +93,17 @@ func TestLazyMapType(t *testing.T) {
if evalCounter != 1 {
t.Errorf("expected eval %d times but got %d", 1, evalCounter)
}
// unused due to boolean short-circuiting
// if `variables.unused` is evaluated, the whole test will have a fatal error and exit.
exp = "variables.dict.a == 'wrong' && variables.unused == 'unused'"
v, err = compileAndRun(env, activation, exp)
if err != nil {
t.Fatalf("%q: %v", exp, err)
}
if v.Value().(bool) != false {
t.Errorf("%q: wrong result: %v", exp, v.Value())
}
}
type testActivation struct {