karmada/pkg/util/condition_test.go

59 lines
2.0 KiB
Go

package util
import (
"testing"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
workv1alpha2 "github.com/karmada-io/karmada/pkg/apis/work/v1alpha2"
)
const (
fakeEventSuccessReason = "Success"
fakeEventFailedReason = "Failed"
fakeSuccessMessage = "Successful event message"
fakeFailedMessage = "Failed event message"
)
func TestIsConditionsEqual(t *testing.T) {
tests := []struct {
name string
newCondition, oldCondition metav1.Condition
expected bool
}{
{
name: "Case 1: not equal",
newCondition: NewCondition(workv1alpha2.Scheduled, fakeEventSuccessReason, fakeSuccessMessage, metav1.ConditionTrue),
oldCondition: NewCondition(workv1alpha2.Scheduled, fakeEventFailedReason, fakeFailedMessage, metav1.ConditionFalse),
expected: false,
},
{
name: "Case 2: not equal",
newCondition: NewCondition(workv1alpha2.Scheduled, fakeEventSuccessReason, fakeSuccessMessage, metav1.ConditionTrue),
oldCondition: NewCondition(workv1alpha2.Scheduled, fakeEventSuccessReason, fakeFailedMessage, metav1.ConditionFalse),
expected: false,
},
{
name: "Case 3: not equal",
newCondition: NewCondition(workv1alpha2.Scheduled, fakeEventSuccessReason, fakeSuccessMessage, metav1.ConditionTrue),
oldCondition: NewCondition(workv1alpha2.Scheduled, fakeEventSuccessReason, fakeSuccessMessage, metav1.ConditionFalse),
expected: false,
},
{
name: "equal",
newCondition: NewCondition(workv1alpha2.Scheduled, fakeEventSuccessReason, fakeSuccessMessage, metav1.ConditionTrue),
oldCondition: NewCondition(workv1alpha2.Scheduled, fakeEventSuccessReason, fakeSuccessMessage, metav1.ConditionTrue),
expected: true,
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
res := IsConditionsEqual(tt.newCondition, tt.oldCondition)
if res != tt.expected {
t.Errorf("IsConditionsEqual() = %v, want %v", res, tt.expected)
}
})
}
}