mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-11 13:02:14 +00:00
Re-enable PATCH integration test for v1beta3
This commit is contained in:
parent
c048e6fcbf
commit
5ce15b7840
@ -598,10 +598,6 @@ func runAtomicPutTest(c *client.Client) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func runPatchTest(c *client.Client) {
|
func runPatchTest(c *client.Client) {
|
||||||
if c.APIVersion() != "v1beta1" {
|
|
||||||
glog.Info("Skipping PATCH tests for non-v1beta1 for now.")
|
|
||||||
return
|
|
||||||
}
|
|
||||||
name := "patchservice"
|
name := "patchservice"
|
||||||
resource := "services"
|
resource := "services"
|
||||||
svcBody := api.Service{
|
svcBody := api.Service{
|
||||||
@ -630,31 +626,61 @@ func runPatchTest(c *client.Client) {
|
|||||||
glog.Fatalf("Failed creating patchservice: %v", err)
|
glog.Fatalf("Failed creating patchservice: %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
patchBodies := map[api.PatchType]struct {
|
patchBodies := map[string]map[api.PatchType]struct {
|
||||||
AddLabelBody []byte
|
AddLabelBody []byte
|
||||||
RemoveLabelBody []byte
|
RemoveLabelBody []byte
|
||||||
RemoveAllLabelsBody []byte
|
RemoveAllLabelsBody []byte
|
||||||
}{
|
}{
|
||||||
api.JSONPatchType: {
|
"v1beta1": {
|
||||||
[]byte(`[{"op":"add","path":"/labels","value":{"foo":"bar","baz":"qux"}}]`),
|
api.JSONPatchType: {
|
||||||
[]byte(`[{"op":"remove","path":"/labels/foo"}]`),
|
[]byte(`[{"op":"add","path":"/labels","value":{"foo":"bar","baz":"qux"}}]`),
|
||||||
[]byte(`[{"op":"remove","path":"/labels"}]`),
|
[]byte(`[{"op":"remove","path":"/labels/foo"}]`),
|
||||||
|
[]byte(`[{"op":"remove","path":"/labels"}]`),
|
||||||
|
},
|
||||||
|
api.MergePatchType: {
|
||||||
|
[]byte(`{"labels":{"foo":"bar","baz":"qux"}}`),
|
||||||
|
[]byte(`{"labels":{"foo":null}}`),
|
||||||
|
[]byte(`{"labels":null}`),
|
||||||
|
},
|
||||||
|
api.StrategicMergePatchType: {
|
||||||
|
[]byte(`{"labels":{"foo":"bar","baz":"qux"}}`),
|
||||||
|
[]byte(`{"labels":{"foo":null}}`),
|
||||||
|
[]byte(`{"labels":{"$patch":"replace"}}`),
|
||||||
|
},
|
||||||
},
|
},
|
||||||
api.MergePatchType: {
|
"v1beta3": {
|
||||||
[]byte(`{"labels":{"foo":"bar","baz":"qux"}}`),
|
api.JSONPatchType: {
|
||||||
[]byte(`{"labels":{"foo":null}}`),
|
[]byte(`[{"op":"add","path":"/metadata/labels","value":{"foo":"bar","baz":"qux"}}]`),
|
||||||
[]byte(`{"labels":null}`),
|
[]byte(`[{"op":"remove","path":"/metadata/labels/foo"}]`),
|
||||||
},
|
[]byte(`[{"op":"remove","path":"/metadata/labels"}]`),
|
||||||
api.StrategicMergePatchType: {
|
},
|
||||||
[]byte(`{"labels":{"foo":"bar","baz":"qux"}}`),
|
api.MergePatchType: {
|
||||||
[]byte(`{"labels":{"foo":null}}`),
|
[]byte(`{"metadata":{"labels":{"foo":"bar","baz":"qux"}}}`),
|
||||||
[]byte(`{"labels":{"$patch":"replace"}}`),
|
[]byte(`{"metadata":{"labels":{"foo":null}}}`),
|
||||||
|
[]byte(`{"metadata":{"labels":null}}`),
|
||||||
|
},
|
||||||
|
api.StrategicMergePatchType: {
|
||||||
|
[]byte(`{"metadata":{"labels":{"foo":"bar","baz":"qux"}}}`),
|
||||||
|
[]byte(`{"metadata":{"labels":{"foo":null}}}`),
|
||||||
|
[]byte(`{"metadata":{"labels":{"$patch":"replace"}}}`),
|
||||||
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
for k, v := range patchBodies {
|
pb := patchBodies[c.APIVersion()]
|
||||||
|
|
||||||
|
execPatch := func(pt api.PatchType, body []byte) error {
|
||||||
|
return c.Patch(pt).
|
||||||
|
Resource(resource).
|
||||||
|
Namespace(api.NamespaceDefault).
|
||||||
|
Name(name).
|
||||||
|
Body(body).
|
||||||
|
Do().
|
||||||
|
Error()
|
||||||
|
}
|
||||||
|
for k, v := range pb {
|
||||||
// add label
|
// add label
|
||||||
_, err := c.Patch(k).Resource(resource).Name(name).Body(v.AddLabelBody).Do().Get()
|
err := execPatch(k, v.AddLabelBody)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
glog.Fatalf("Failed updating patchservice with patch type %s: %v", k, err)
|
glog.Fatalf("Failed updating patchservice with patch type %s: %v", k, err)
|
||||||
}
|
}
|
||||||
@ -667,7 +693,7 @@ func runPatchTest(c *client.Client) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// remove one label
|
// remove one label
|
||||||
_, err = c.Patch(k).Resource(resource).Name(name).Body(v.RemoveLabelBody).Do().Get()
|
err = execPatch(k, v.RemoveLabelBody)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
glog.Fatalf("Failed updating patchservice with patch type %s: %v", k, err)
|
glog.Fatalf("Failed updating patchservice with patch type %s: %v", k, err)
|
||||||
}
|
}
|
||||||
@ -680,7 +706,7 @@ func runPatchTest(c *client.Client) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// remove all labels
|
// remove all labels
|
||||||
_, err = c.Patch(k).Resource(resource).Name(name).Body(v.RemoveAllLabelsBody).Do().Get()
|
err = execPatch(k, v.RemoveAllLabelsBody)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
glog.Fatalf("Failed updating patchservice with patch type %s: %v", k, err)
|
glog.Fatalf("Failed updating patchservice with patch type %s: %v", k, err)
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user