diff --git a/pkg/kubectl/cmd/testdata/edit/testcase-unknown-field-known-group-kind/0.request b/pkg/kubectl/cmd/testdata/edit/testcase-unknown-field-known-group-kind/0.request new file mode 100755 index 00000000000..e69de29bb2d diff --git a/pkg/kubectl/cmd/testdata/edit/testcase-unknown-field-known-group-kind/0.response b/pkg/kubectl/cmd/testdata/edit/testcase-unknown-field-known-group-kind/0.response new file mode 100755 index 00000000000..86205eb3a7e --- /dev/null +++ b/pkg/kubectl/cmd/testdata/edit/testcase-unknown-field-known-group-kind/0.response @@ -0,0 +1,25 @@ +{ + "kind": "StorageClass", + "apiVersion": "storage.k8s.io/v1beta1", + "metadata": { + "name": "foo", + "selfLink": "/apis/storage.k8s.io/v1beta1/storageclassesfoo", + "uid": "b2287558-f190-11e6-b041-acbc32c1ca87", + "resourceVersion": "21388", + "creationTimestamp": "2017-02-13T02:04:04Z", + "labels": { + "label1": "value1" + } + }, + "provisioner": "foo", + "parameters": { + "baz": "qux", + "foo": "bar" + }, + "unknownServerField1": { + "data": true + }, + "unknownServerField2": { + "data": true + } +} diff --git a/pkg/kubectl/cmd/testdata/edit/testcase-unknown-field-known-group-kind/1.edited b/pkg/kubectl/cmd/testdata/edit/testcase-unknown-field-known-group-kind/1.edited new file mode 100755 index 00000000000..9992272a81c --- /dev/null +++ b/pkg/kubectl/cmd/testdata/edit/testcase-unknown-field-known-group-kind/1.edited @@ -0,0 +1,23 @@ +# Please edit the object below. Lines beginning with a '#' will be ignored, +# and an empty file will abort the edit. If an error occurs while saving this file will be +# reopened with the relevant failures. +# +apiVersion: storage.k8s.io/v1beta1 +kind: StorageClass +metadata: + creationTimestamp: 2017-02-13T02:04:04Z + labels: + label1: value1 + label2: value2 + name: foo + resourceVersion: "21388" + selfLink: /apis/storage.k8s.io/v1beta1/storageclassesfoo + uid: b2287558-f190-11e6-b041-acbc32c1ca87 +parameters: + baz: qux + foo: bar +provisioner: foo +unknownClientField: + clientdata: true +unknownServerField1: + data: true diff --git a/pkg/kubectl/cmd/testdata/edit/testcase-unknown-field-known-group-kind/1.original b/pkg/kubectl/cmd/testdata/edit/testcase-unknown-field-known-group-kind/1.original new file mode 100755 index 00000000000..fe70875d008 --- /dev/null +++ b/pkg/kubectl/cmd/testdata/edit/testcase-unknown-field-known-group-kind/1.original @@ -0,0 +1,22 @@ +# Please edit the object below. Lines beginning with a '#' will be ignored, +# and an empty file will abort the edit. If an error occurs while saving this file will be +# reopened with the relevant failures. +# +apiVersion: storage.k8s.io/v1beta1 +kind: StorageClass +metadata: + creationTimestamp: 2017-02-13T02:04:04Z + labels: + label1: value1 + name: foo + resourceVersion: "21388" + selfLink: /apis/storage.k8s.io/v1beta1/storageclassesfoo + uid: b2287558-f190-11e6-b041-acbc32c1ca87 +parameters: + baz: qux + foo: bar +provisioner: foo +unknownServerField1: + data: true +unknownServerField2: + data: true diff --git a/pkg/kubectl/cmd/testdata/edit/testcase-unknown-field-known-group-kind/2.request b/pkg/kubectl/cmd/testdata/edit/testcase-unknown-field-known-group-kind/2.request new file mode 100755 index 00000000000..c8ee0725e9c --- /dev/null +++ b/pkg/kubectl/cmd/testdata/edit/testcase-unknown-field-known-group-kind/2.request @@ -0,0 +1,12 @@ +{ + "metadata": { + "labels": { + "label2": "value2" + }, + "namespace": "" + }, + "unknownClientField": { + "clientdata": true + }, + "unknownServerField2": null +} \ No newline at end of file diff --git a/pkg/kubectl/cmd/testdata/edit/testcase-unknown-field-known-group-kind/2.response b/pkg/kubectl/cmd/testdata/edit/testcase-unknown-field-known-group-kind/2.response new file mode 100755 index 00000000000..a61eab5a70a --- /dev/null +++ b/pkg/kubectl/cmd/testdata/edit/testcase-unknown-field-known-group-kind/2.response @@ -0,0 +1,26 @@ +{ + "kind": "StorageClass", + "apiVersion": "storage.k8s.io/v1beta1", + "metadata": { + "name": "foo", + "selfLink": "/apis/storage.k8s.io/v1beta1/storageclassesfoo", + "uid": "b2287558-f190-11e6-b041-acbc32c1ca87", + "resourceVersion": "21431", + "creationTimestamp": "2017-02-13T02:04:04Z", + "labels": { + "label1": "value1", + "label2": "value2" + } + }, + "provisioner": "foo", + "parameters": { + "baz": "qux", + "foo": "bar" + }, + "unknownClientField": { + "clientdata": true + }, + "unknownServerField1": { + "data": true + } +} diff --git a/pkg/kubectl/cmd/testdata/edit/testcase-unknown-field-known-group-kind/test.yaml b/pkg/kubectl/cmd/testdata/edit/testcase-unknown-field-known-group-kind/test.yaml new file mode 100755 index 00000000000..867222abc16 --- /dev/null +++ b/pkg/kubectl/cmd/testdata/edit/testcase-unknown-field-known-group-kind/test.yaml @@ -0,0 +1,25 @@ +description: edit an unknown version of a known group/kind +mode: edit +args: +- storageclasses.v1beta1.storage.k8s.io/foo +namespace: default +expectedStdout: +- "storageclass \"foo\" edited" +expectedExitCode: 0 +steps: +- type: request + expectedMethod: GET + expectedPath: /apis/storage.k8s.io/v1beta1/storageclasses/foo + expectedInput: 0.request + resultingStatusCode: 200 + resultingOutput: 0.response +- type: edit + expectedInput: 1.original + resultingOutput: 1.edited +- type: request + expectedMethod: PATCH + expectedPath: /apis/storage.k8s.io/v1beta1/storageclasses/foo + expectedContentType: application/strategic-merge-patch+json + expectedInput: 2.request + resultingStatusCode: 200 + resultingOutput: 2.response