Negative index regression test for json-patch (#122625)
* add testcase with negative index * exercise successful negative index patching * use different values for testing Co-authored-by: Chris Bandy <bandy.chris@gmail.com> --------- Co-authored-by: Chris Bandy <bandy.chris@gmail.com> Kubernetes-commit: 83ff8a2f49f820fb355b24c65b8629710dca8a54
This commit is contained in:
parent
2d05e1425e
commit
3731515d71
6
go.mod
6
go.mod
|
|
@ -33,7 +33,7 @@ require (
|
|||
k8s.io/api v0.0.0-20240114225744-c9c2aecc731b
|
||||
k8s.io/apimachinery v0.0.0-20240111211623-02a41040d88d
|
||||
k8s.io/cli-runtime v0.0.0-20240111214841-fbee7b86e8a2
|
||||
k8s.io/client-go v0.0.0-20240111212147-fb1e77b99241
|
||||
k8s.io/client-go v0.0.0-20240118092131-aa81cb55f079
|
||||
k8s.io/component-base v0.0.0-20240112172947-d5ddea0e47af
|
||||
k8s.io/component-helpers v0.0.0-20240111213024-93623d0a83ac
|
||||
k8s.io/klog/v2 v2.120.0
|
||||
|
|
@ -99,8 +99,8 @@ replace (
|
|||
k8s.io/api => k8s.io/api v0.0.0-20240114225744-c9c2aecc731b
|
||||
k8s.io/apimachinery => k8s.io/apimachinery v0.0.0-20240111211623-02a41040d88d
|
||||
k8s.io/cli-runtime => k8s.io/cli-runtime v0.0.0-20240111214841-fbee7b86e8a2
|
||||
k8s.io/client-go => k8s.io/client-go v0.0.0-20240111212147-fb1e77b99241
|
||||
k8s.io/code-generator => k8s.io/code-generator v0.0.0-20240115022731-e0047a82e158
|
||||
k8s.io/client-go => k8s.io/client-go v0.0.0-20240118092131-aa81cb55f079
|
||||
k8s.io/code-generator => k8s.io/code-generator v0.0.0-20240116211422-70ef78956abf
|
||||
k8s.io/component-base => k8s.io/component-base v0.0.0-20240112172947-d5ddea0e47af
|
||||
k8s.io/component-helpers => k8s.io/component-helpers v0.0.0-20240111213024-93623d0a83ac
|
||||
k8s.io/metrics => k8s.io/metrics v0.0.0-20240111214713-7e16510c7ec5
|
||||
|
|
|
|||
4
go.sum
4
go.sum
|
|
@ -286,8 +286,8 @@ k8s.io/apimachinery v0.0.0-20240111211623-02a41040d88d h1:3/zPMR6GopaaAWJTZvob/e
|
|||
k8s.io/apimachinery v0.0.0-20240111211623-02a41040d88d/go.mod h1:TZi5dqCSETF0//y9r5QGBxc7W2udb08uXh6atA++S6Q=
|
||||
k8s.io/cli-runtime v0.0.0-20240111214841-fbee7b86e8a2 h1:KIUJZsM00aNnmsZgrjv521uRYgJWNsIiQXWYXGyBUbQ=
|
||||
k8s.io/cli-runtime v0.0.0-20240111214841-fbee7b86e8a2/go.mod h1:UhluuBdyJ/2kqz2zakJet8rx2qgzKpH5MdTuHP1DD9A=
|
||||
k8s.io/client-go v0.0.0-20240111212147-fb1e77b99241 h1:ptuJm4+/UW4OAXQq3H8tU0Mau5zsy0JsdK2oZLsrYe4=
|
||||
k8s.io/client-go v0.0.0-20240111212147-fb1e77b99241/go.mod h1:B4ZkmfpCL1KtqmMTMnauyvTmVOirVaiWhDpbzuOi1Hg=
|
||||
k8s.io/client-go v0.0.0-20240118092131-aa81cb55f079 h1:OUOuImKaT5CAaXQKtil1TGER6bMwTQW2YhXK/68y0j8=
|
||||
k8s.io/client-go v0.0.0-20240118092131-aa81cb55f079/go.mod h1:RHFbuYYVOW+tqnpm2Bvn3TrprsmyfSrWCkThHfNfMTs=
|
||||
k8s.io/component-base v0.0.0-20240112172947-d5ddea0e47af h1:bJSaAg0h8WGd7ikCLu6f3Sk5dCpmdVVJHOpZSSdjnMw=
|
||||
k8s.io/component-base v0.0.0-20240112172947-d5ddea0e47af/go.mod h1:Thds9qLVzSOQnlg48NUrI852KTAXfgCPELf8JVSjVwE=
|
||||
k8s.io/component-helpers v0.0.0-20240111213024-93623d0a83ac h1:CFbMxJn92tD4U7dO5xM/xvusZkVXbqSHHgxmdgFeAgg=
|
||||
|
|
|
|||
|
|
@ -289,6 +289,26 @@ func TestJSONPatch(t *testing.T) {
|
|||
fragment: `[ {"op": "add", "path": "/metadata/labels/foo", "value": "bar"} ]`,
|
||||
expectErr: true,
|
||||
},
|
||||
{
|
||||
obj: &corev1.Pod{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
Name: "foo",
|
||||
Finalizers: []string{"foo", "bar", "test"},
|
||||
},
|
||||
},
|
||||
fragment: `[ {"op": "replace", "path": "/metadata/finalizers/-1", "value": "baz"} ]`,
|
||||
expected: &corev1.Pod{
|
||||
TypeMeta: metav1.TypeMeta{
|
||||
Kind: "Pod",
|
||||
APIVersion: "v1",
|
||||
},
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
Name: "foo",
|
||||
Finalizers: []string{"foo", "bar", "baz"},
|
||||
},
|
||||
Spec: corev1.PodSpec{},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
codec := runtime.NewCodec(scheme.DefaultJSONEncoder(),
|
||||
|
|
|
|||
Loading…
Reference in New Issue