karmada/pkg/detector/compare_test.go

172 lines
3.5 KiB
Go

package detector
import (
"testing"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
policyv1alpha1 "github.com/karmada-io/karmada/pkg/apis/policy/v1alpha1"
)
func Test_GetHigherPriorityPropagationPolicy(t *testing.T) {
type args struct {
a *policyv1alpha1.PropagationPolicy
b *policyv1alpha1.PropagationPolicy
}
tests := []struct {
name string
args args
want *policyv1alpha1.PropagationPolicy
}{
{
name: "Test 1",
args: args{
a: &policyv1alpha1.PropagationPolicy{
ObjectMeta: metav1.ObjectMeta{
Name: "A",
},
},
b: &policyv1alpha1.PropagationPolicy{
ObjectMeta: metav1.ObjectMeta{
Name: "B",
},
},
},
want: &policyv1alpha1.PropagationPolicy{
ObjectMeta: metav1.ObjectMeta{
Name: "A",
},
},
},
{
name: "Test 2",
args: args{
a: &policyv1alpha1.PropagationPolicy{
ObjectMeta: metav1.ObjectMeta{
Name: "abc",
},
},
b: &policyv1alpha1.PropagationPolicy{
ObjectMeta: metav1.ObjectMeta{
Name: "ab",
},
},
},
want: &policyv1alpha1.PropagationPolicy{
ObjectMeta: metav1.ObjectMeta{
Name: "ab",
},
},
},
{
name: "Test 3",
args: args{
a: &policyv1alpha1.PropagationPolicy{
ObjectMeta: metav1.ObjectMeta{
Name: "",
},
},
b: &policyv1alpha1.PropagationPolicy{
ObjectMeta: metav1.ObjectMeta{
Name: "ab",
},
},
},
want: &policyv1alpha1.PropagationPolicy{
ObjectMeta: metav1.ObjectMeta{
Name: "",
},
},
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
result := GetHigherPriorityPropagationPolicy(tt.args.a, tt.args.b)
if result.Name != tt.want.Name {
t.Errorf("divideRemainingReplicas() got = %v, want %v", result.Name, tt.want.Name)
}
})
}
}
func Test_GetHigherPriorityClusterPropagationPolicy(t *testing.T) {
type args struct {
a *policyv1alpha1.ClusterPropagationPolicy
b *policyv1alpha1.ClusterPropagationPolicy
}
tests := []struct {
name string
args args
want *policyv1alpha1.ClusterPropagationPolicy
}{
{
name: "Test 1",
args: args{
a: &policyv1alpha1.ClusterPropagationPolicy{
ObjectMeta: metav1.ObjectMeta{
Name: "A",
},
},
b: &policyv1alpha1.ClusterPropagationPolicy{
ObjectMeta: metav1.ObjectMeta{
Name: "B",
},
},
},
want: &policyv1alpha1.ClusterPropagationPolicy{
ObjectMeta: metav1.ObjectMeta{
Name: "A",
},
},
},
{
name: "Test 2",
args: args{
a: &policyv1alpha1.ClusterPropagationPolicy{
ObjectMeta: metav1.ObjectMeta{
Name: "abc",
},
},
b: &policyv1alpha1.ClusterPropagationPolicy{
ObjectMeta: metav1.ObjectMeta{
Name: "ab",
},
},
},
want: &policyv1alpha1.ClusterPropagationPolicy{
ObjectMeta: metav1.ObjectMeta{
Name: "ab",
},
},
},
{
name: "Test 3",
args: args{
a: &policyv1alpha1.ClusterPropagationPolicy{
ObjectMeta: metav1.ObjectMeta{
Name: "",
},
},
b: &policyv1alpha1.ClusterPropagationPolicy{
ObjectMeta: metav1.ObjectMeta{
Name: "ab",
},
},
},
want: &policyv1alpha1.ClusterPropagationPolicy{
ObjectMeta: metav1.ObjectMeta{
Name: "",
},
},
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
result := GetHigherPriorityClusterPropagationPolicy(tt.args.a, tt.args.b)
if result.Name != tt.want.Name {
t.Errorf("divideRemainingReplicas() got = %v, want %v", result.Name, tt.want.Name)
}
})
}
}