Skip to content

Instantly share code, notes, and snippets.

@diegs
Created August 14, 2017 18:57
Show Gist options
  • Select an option

  • Save diegs/431a921997678044bade734f22b3a501 to your computer and use it in GitHub Desktop.

Select an option

Save diegs/431a921997678044bade734f22b3a501 to your computer and use it in GitHub Desktop.
func TestSimpleMerge(t *testing.T) {
old := &v1beta1extensions.Deployment{
ObjectMeta: metav1.ObjectMeta{
Annotations: map[string]string{
"scheduler.alpha.kubernetes.io/critical-pod": "",
"dummy": "dummy",
},
},
}
new := &v1beta1extensions.Deployment{
ObjectMeta: metav1.ObjectMeta{
Annotations: map[string]string{
"dummy": "dummy",
},
},
}
cur := &v1beta1extensions.Deployment{
ObjectMeta: metav1.ObjectMeta{
Annotations: map[string]string{
"scheduler.alpha.kubernetes.io/critical-pod": "",
"deployment.kubernetes.io/revision": "1",
},
},
}
oldData, err := json.Marshal(old)
if err != nil {
t.Fatal(err)
}
newData, err := json.Marshal(new)
if err != nil {
t.Fatal(err)
}
curData, err := json.Marshal(cur)
if err != nil {
t.Fatal(err)
}
patch, err := strategicpatch.CreateThreeWayMergePatch(oldData, newData, curData, old, false /* overwrite */)
if err != nil {
t.Error(err)
} else {
fmt.Printf("patch: %s\n\n", patch)
}
}
@diegs
Copy link
Author

diegs commented Aug 14, 2017

=== RUN   TestSimpleMerge
--- FAIL: TestSimpleMerge (0.00s)
	e2e_test.go:150: patch:
		metadata:
		  annotations:
		    dummy: dummy
		    scheduler.alpha.kubernetes.io/critical-pod: null
		
		conflicts with changes made from original to current:
		metadata:
		  annotations:
		    deployment.kubernetes.io/revision: "1"
		    dummy: null

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment