mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 19:56:01 +00:00
Merge pull request #103248 from sttts/sttts-crd-converison-test
apiextension: fix typo and test case in conversion integration test
This commit is contained in:
commit
92726bf0f3
@ -677,7 +677,13 @@ func expectConversionFailureMessage(id, message string) func(t *testing.T, ctc *
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
for _, verb := range []string{"get", "list", "create", "udpate", "patch", "delete", "deletecollection"} {
|
|
||||||
|
// manually convert
|
||||||
|
objv1beta2 := newConversionMultiVersionFixture(ns, id, "v1beta2")
|
||||||
|
meta, _, _ := unstructured.NestedFieldCopy(obj.Object, "metadata")
|
||||||
|
unstructured.SetNestedField(objv1beta2.Object, meta, "metadata")
|
||||||
|
|
||||||
|
for _, verb := range []string{"get", "list", "create", "update", "patch", "delete", "deletecollection"} {
|
||||||
t.Run(verb, func(t *testing.T) {
|
t.Run(verb, func(t *testing.T) {
|
||||||
switch verb {
|
switch verb {
|
||||||
case "get":
|
case "get":
|
||||||
@ -687,13 +693,15 @@ func expectConversionFailureMessage(id, message string) func(t *testing.T, ctc *
|
|||||||
case "create":
|
case "create":
|
||||||
_, err = clients["v1beta2"].Create(context.TODO(), newConversionMultiVersionFixture(ns, id, "v1beta2"), metav1.CreateOptions{})
|
_, err = clients["v1beta2"].Create(context.TODO(), newConversionMultiVersionFixture(ns, id, "v1beta2"), metav1.CreateOptions{})
|
||||||
case "update":
|
case "update":
|
||||||
_, err = clients["v1beta2"].Update(context.TODO(), obj, metav1.UpdateOptions{})
|
_, err = clients["v1beta2"].Update(context.TODO(), objv1beta2, metav1.UpdateOptions{})
|
||||||
case "patch":
|
case "patch":
|
||||||
_, err = clients["v1beta2"].Patch(context.TODO(), obj.GetName(), types.MergePatchType, []byte(`{"metadata":{"annotations":{"patch":"true"}}}`), metav1.PatchOptions{})
|
_, err = clients["v1beta2"].Patch(context.TODO(), obj.GetName(), types.MergePatchType, []byte(`{"metadata":{"annotations":{"patch":"true"}}}`), metav1.PatchOptions{})
|
||||||
case "delete":
|
case "delete":
|
||||||
err = clients["v1beta2"].Delete(context.TODO(), obj.GetName(), metav1.DeleteOptions{})
|
err = clients["v1beta2"].Delete(context.TODO(), obj.GetName(), metav1.DeleteOptions{})
|
||||||
case "deletecollection":
|
case "deletecollection":
|
||||||
err = clients["v1beta2"].DeleteCollection(context.TODO(), metav1.DeleteOptions{}, metav1.ListOptions{})
|
err = clients["v1beta2"].DeleteCollection(context.TODO(), metav1.DeleteOptions{}, metav1.ListOptions{})
|
||||||
|
default:
|
||||||
|
t.Errorf("unknown verb %q", verb)
|
||||||
}
|
}
|
||||||
|
|
||||||
if err == nil {
|
if err == nil {
|
||||||
@ -704,15 +712,32 @@ func expectConversionFailureMessage(id, message string) func(t *testing.T, ctc *
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
for _, subresource := range []string{"status", "scale"} {
|
for _, subresource := range []string{"status", "scale"} {
|
||||||
for _, verb := range []string{"get", "udpate", "patch"} {
|
for _, verb := range []string{"get", "update", "patch"} {
|
||||||
t.Run(fmt.Sprintf("%s-%s", subresource, verb), func(t *testing.T) {
|
t.Run(fmt.Sprintf("%s-%s", subresource, verb), func(t *testing.T) {
|
||||||
switch verb {
|
switch verb {
|
||||||
case "create":
|
case "get":
|
||||||
_, err = clients["v1beta2"].Create(context.TODO(), newConversionMultiVersionFixture(ns, id, "v1beta2"), metav1.CreateOptions{}, subresource)
|
_, err = clients["v1beta2"].Get(context.TODO(), obj.GetName(), metav1.GetOptions{}, subresource)
|
||||||
case "update":
|
case "update":
|
||||||
_, err = clients["v1beta2"].Update(context.TODO(), obj, metav1.UpdateOptions{}, subresource)
|
o := objv1beta2
|
||||||
|
if subresource == "scale" {
|
||||||
|
o = &unstructured.Unstructured{
|
||||||
|
Object: map[string]interface{}{
|
||||||
|
"apiVersion": "autoscaling/v1",
|
||||||
|
"kind": "Scale",
|
||||||
|
"metadata": map[string]interface{}{
|
||||||
|
"name": obj.GetName(),
|
||||||
|
},
|
||||||
|
"spec": map[string]interface{}{
|
||||||
|
"replicas": 42,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
_, err = clients["v1beta2"].Update(context.TODO(), o, metav1.UpdateOptions{}, subresource)
|
||||||
case "patch":
|
case "patch":
|
||||||
_, err = clients["v1beta2"].Patch(context.TODO(), obj.GetName(), types.MergePatchType, []byte(`{"metadata":{"annotations":{"patch":"true"}}}`), metav1.PatchOptions{}, subresource)
|
_, err = clients["v1beta2"].Patch(context.TODO(), obj.GetName(), types.MergePatchType, []byte(`{"metadata":{"annotations":{"patch":"true"}}}`), metav1.PatchOptions{}, subresource)
|
||||||
|
default:
|
||||||
|
t.Errorf("unknown subresource verb %q", verb)
|
||||||
}
|
}
|
||||||
|
|
||||||
if err == nil {
|
if err == nil {
|
||||||
|
Loading…
Reference in New Issue
Block a user