func TestPodUpdateAnnotations(t *testing.T) { channel, ch, _ := createPodConfigTester(PodConfigNotificationIncremental) pod := CreateValidPod("foo2", "new") pod.Annotations = make(map[string]string, 0) pod.Annotations["kubernetes.io/blah"] = "blah" clone, err := conversion.NewCloner().DeepCopy(pod) if err != nil { t.Fatalf("%v", err) } podUpdate := CreatePodUpdate(kubelet.SET, TestSource, CreateValidPod("foo1", "new"), clone.(*api.Pod), CreateValidPod("foo3", "new")) channel <- podUpdate expectPodUpdate(t, ch, CreatePodUpdate(kubelet.ADD, TestSource, CreateValidPod("foo1", "new"), pod, CreateValidPod("foo3", "new"))) pod.Annotations["kubenetes.io/blah"] = "superblah" podUpdate = CreatePodUpdate(kubelet.SET, TestSource, CreateValidPod("foo1", "new"), pod, CreateValidPod("foo3", "new")) channel <- podUpdate expectPodUpdate(t, ch, CreatePodUpdate(kubelet.UPDATE, TestSource, pod)) pod.Annotations["kubernetes.io/otherblah"] = "doh" podUpdate = CreatePodUpdate(kubelet.SET, TestSource, CreateValidPod("foo1", "new"), pod, CreateValidPod("foo3", "new")) channel <- podUpdate expectPodUpdate(t, ch, CreatePodUpdate(kubelet.UPDATE, TestSource, pod)) delete(pod.Annotations, "kubernetes.io/blah") podUpdate = CreatePodUpdate(kubelet.SET, TestSource, CreateValidPod("foo1", "new"), pod, CreateValidPod("foo3", "new")) channel <- podUpdate expectPodUpdate(t, ch, CreatePodUpdate(kubelet.UPDATE, TestSource, pod)) }
func TestPodUpdateLables(t *testing.T) { channel, ch, _ := createPodConfigTester(PodConfigNotificationIncremental) pod := CreateValidPod("foo2", "new") pod.Labels = make(map[string]string, 0) pod.Labels["key"] = "value" clone, err := conversion.NewCloner().DeepCopy(pod) if err != nil { t.Fatalf("%v", err) } podUpdate := CreatePodUpdate(kubelet.SET, TestSource, clone.(*api.Pod)) channel <- podUpdate expectPodUpdate(t, ch, CreatePodUpdate(kubelet.ADD, TestSource, pod)) pod.Labels["key"] = "newValue" podUpdate = CreatePodUpdate(kubelet.SET, TestSource, pod) channel <- podUpdate expectPodUpdate(t, ch, CreatePodUpdate(kubelet.UPDATE, TestSource, pod)) }