From a86c0213420120efe1c3ec3f6b24e69daffdd59e Mon Sep 17 00:00:00 2001 From: wulemao <1194736083@qq.com> Date: Mon, 30 Sep 2024 12:34:40 +0800 Subject: [PATCH] add realted ut for migration rollback feature Signed-off-by: wulemao <1194736083@qq.com> --- pkg/karmadactl/unregister/unregister_test.go | 67 ++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 pkg/karmadactl/unregister/unregister_test.go diff --git a/pkg/karmadactl/unregister/unregister_test.go b/pkg/karmadactl/unregister/unregister_test.go new file mode 100644 index 000000000000..d5b39cecbaab --- /dev/null +++ b/pkg/karmadactl/unregister/unregister_test.go @@ -0,0 +1,67 @@ +package unregister + +import ( + "testing" + + appsv1 "k8s.io/api/apps/v1" + corev1 "k8s.io/api/core/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/client-go/kubernetes/fake" + + "github.com/karmada-io/karmada/pkg/karmadactl/register" +) + +const agentNamespace = "karmada-system" + +func TestCommandUnregisterOption_getSpecifiedKarmadaContext(t *testing.T) { + tests := []struct { + name string + deploy *appsv1.Deployment + want string + }{ + { + name: "context specified", + deploy: &appsv1.Deployment{ + ObjectMeta: metav1.ObjectMeta{Name: register.KarmadaAgentName, Namespace: agentNamespace}, + Spec: appsv1.DeploymentSpec{ + Template: corev1.PodTemplateSpec{ + Spec: corev1.PodSpec{ + Containers: []corev1.Container{{Command: []string{"/bin/karmada-agent", "--karmada-context=karmada-apiserver"}}}, + }, + }, + }, + }, + want: "karmada-apiserver", + }, + { + name: "context not specified", + deploy: &appsv1.Deployment{ + ObjectMeta: metav1.ObjectMeta{Name: register.KarmadaAgentName, Namespace: agentNamespace}, + Spec: appsv1.DeploymentSpec{ + Template: corev1.PodTemplateSpec{ + Spec: corev1.PodSpec{ + Containers: []corev1.Container{{Command: []string{"/bin/karmada-agent"}}}, + }, + }, + }, + }, + want: "", + }, + { + name: "deploy not found", + deploy: &appsv1.Deployment{}, + want: "", + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + j := &CommandUnregisterOption{ + Namespace: agentNamespace, + } + client := fake.NewSimpleClientset(tt.deploy) + if got := j.getSpecifiedKarmadaContext(client); got != tt.want { + t.Errorf("getSpecifiedKarmadaContext() = %v, want %v", got, tt.want) + } + }) + } +}