From 2fa0935c19eeb2691d5d6b28581f246084c98f85 Mon Sep 17 00:00:00 2001 From: NickrenREN Date: Tue, 3 Jan 2017 11:08:39 +0800 Subject: [PATCH] Add unit test function to test DeletePod Add unit test function to test DeletePod() of podManager --- pkg/kubelet/pod/BUILD | 1 + pkg/kubelet/pod/pod_manager_test.go | 56 +++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+) diff --git a/pkg/kubelet/pod/BUILD b/pkg/kubelet/pod/BUILD index f11afe6e5f..c0fd88010b 100644 --- a/pkg/kubelet/pod/BUILD +++ b/pkg/kubelet/pod/BUILD @@ -39,5 +39,6 @@ go_test( "//pkg/kubelet/container:go_default_library", "//pkg/kubelet/pod/testing:go_default_library", "//pkg/kubelet/types:go_default_library", + "//pkg/types:go_default_library", ], ) diff --git a/pkg/kubelet/pod/pod_manager_test.go b/pkg/kubelet/pod/pod_manager_test.go index 594a4de11e..683361929f 100644 --- a/pkg/kubelet/pod/pod_manager_test.go +++ b/pkg/kubelet/pod/pod_manager_test.go @@ -23,6 +23,7 @@ import ( "k8s.io/kubernetes/pkg/api/v1" podtest "k8s.io/kubernetes/pkg/kubelet/pod/testing" kubetypes "k8s.io/kubernetes/pkg/kubelet/types" + "k8s.io/kubernetes/pkg/types" ) // Stub out mirror client for testing purpose. @@ -108,3 +109,58 @@ func TestGetSetPods(t *testing.T) { } } + +func TestDeletePods(t *testing.T) { + mirrorPod := &v1.Pod{ + ObjectMeta: v1.ObjectMeta{ + UID: types.UID("mirror-pod-uid"), + Name: "mirror-static-pod-name", + Namespace: v1.NamespaceDefault, + Annotations: map[string]string{ + kubetypes.ConfigSourceAnnotationKey: "api", + kubetypes.ConfigMirrorAnnotationKey: "mirror", + }, + }, + } + staticPod := &v1.Pod{ + ObjectMeta: v1.ObjectMeta{ + UID: types.UID("static-pod-uid"), + Name: "mirror-static-pod-name", + Namespace: v1.NamespaceDefault, + Annotations: map[string]string{kubetypes.ConfigSourceAnnotationKey: "file"}, + }, + } + + expectedPods := []*v1.Pod{ + { + ObjectMeta: v1.ObjectMeta{ + UID: types.UID("extra-pod-uid"), + Name: "extra-pod-name", + Namespace: v1.NamespaceDefault, + Annotations: map[string]string{kubetypes.ConfigSourceAnnotationKey: "api"}, + }, + }, + staticPod, + } + updates := append(expectedPods, mirrorPod) + podManager, _ := newTestManager() + podManager.SetPods(updates) + + podManager.DeletePod(staticPod) + + actualPods := podManager.GetPods() + if len(actualPods) == len(expectedPods) { + t.Fatalf("Run DeletePod() error, expected %d pods, got %d pods; ", len(expectedPods)-1, len(actualPods)) + } + + orphanedMirrorPodNames := podManager.getOrphanedMirrorPodNames() + expectedOrphanedMirrorPodNameNum := 1 + if len(orphanedMirrorPodNames) != expectedOrphanedMirrorPodNameNum { + t.Fatalf("Run getOrphanedMirrorPodNames() error, expected %d orphaned mirror pods, got %d orphaned mirror pods; ", expectedOrphanedMirrorPodNameNum, len(orphanedMirrorPodNames)) + } + + expectedOrphanedMirrorPodName := mirrorPod.Name + "_" + mirrorPod.Namespace + if orphanedMirrorPodNames[0] != expectedOrphanedMirrorPodName { + t.Fatalf("Run getOrphanedMirrorPodNames() error, expected orphaned mirror pod name : %s, got orphaned mirror pod name %s; ", expectedOrphanedMirrorPodName, orphanedMirrorPodNames[0]) + } +}