Re-enable PATCH integration test for v1beta3

This commit is contained in:
Sam Ghods 2015-04-05 02:14:05 -07:00
parent c048e6fcbf
commit 5ce15b7840

View File

@ -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)
} }