Merge pull request #5338 from anujagrawal699/improveTestCoverage-pkg/util/eventfilter
Added new test cases and improved test coverage of pkg/util/eventfilter
This commit is contained in:
commit
62c5d8bca2
|
|
@ -26,6 +26,7 @@ import (
|
|||
"k8s.io/utils/ptr"
|
||||
|
||||
workloadv1alpha1 "github.com/karmada-io/karmada/examples/customresourceinterpreter/apis/workload/v1alpha1"
|
||||
policyv1alpha1 "github.com/karmada-io/karmada/pkg/apis/policy/v1alpha1"
|
||||
"github.com/karmada-io/karmada/pkg/util/helper"
|
||||
)
|
||||
|
||||
|
|
@ -196,6 +197,104 @@ func TestSpecificationChanged(t *testing.T) {
|
|||
},
|
||||
wantChange: true,
|
||||
},
|
||||
{
|
||||
name: "No change in Service",
|
||||
oldObj: &corev1.Service{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
ResourceVersion: "123456",
|
||||
ManagedFields: []metav1.ManagedFieldsEntry{{}},
|
||||
},
|
||||
Spec: corev1.ServiceSpec{
|
||||
Ports: []corev1.ServicePort{{Port: 80}},
|
||||
},
|
||||
},
|
||||
newObj: &corev1.Service{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
ResourceVersion: "123457",
|
||||
ManagedFields: []metav1.ManagedFieldsEntry{{}, {}},
|
||||
},
|
||||
Spec: corev1.ServiceSpec{
|
||||
Ports: []corev1.ServicePort{{Port: 80}},
|
||||
},
|
||||
},
|
||||
wantChange: false,
|
||||
},
|
||||
{
|
||||
name: "Change in Service ports",
|
||||
oldObj: &corev1.Service{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
ResourceVersion: "123456",
|
||||
ManagedFields: []metav1.ManagedFieldsEntry{{}},
|
||||
},
|
||||
Spec: corev1.ServiceSpec{
|
||||
Ports: []corev1.ServicePort{{Port: 80}},
|
||||
},
|
||||
},
|
||||
newObj: &corev1.Service{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
ResourceVersion: "123457",
|
||||
ManagedFields: []metav1.ManagedFieldsEntry{{}, {}},
|
||||
},
|
||||
Spec: corev1.ServiceSpec{
|
||||
Ports: []corev1.ServicePort{{Port: 8080}},
|
||||
},
|
||||
},
|
||||
wantChange: true,
|
||||
},
|
||||
{
|
||||
name: "Change in labels",
|
||||
oldObj: &corev1.ConfigMap{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
ResourceVersion: "123456",
|
||||
Labels: map[string]string{"app": "v1"},
|
||||
},
|
||||
Data: map[string]string{"key": "value"},
|
||||
},
|
||||
newObj: &corev1.ConfigMap{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
ResourceVersion: "123457",
|
||||
Labels: map[string]string{"app": "v2"},
|
||||
},
|
||||
Data: map[string]string{"key": "value"},
|
||||
},
|
||||
wantChange: true,
|
||||
},
|
||||
{
|
||||
name: "Change in annotations",
|
||||
oldObj: &corev1.ConfigMap{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
ResourceVersion: "123456",
|
||||
Annotations: map[string]string{"note": "v1"},
|
||||
},
|
||||
Data: map[string]string{"key": "value"},
|
||||
},
|
||||
newObj: &corev1.ConfigMap{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
ResourceVersion: "123457",
|
||||
Annotations: map[string]string{"note": "v2"},
|
||||
},
|
||||
Data: map[string]string{"key": "value"},
|
||||
},
|
||||
wantChange: true,
|
||||
},
|
||||
{
|
||||
name: "Change with user Karmada labels",
|
||||
oldObj: &corev1.ConfigMap{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
ResourceVersion: "123456",
|
||||
Labels: map[string]string{policyv1alpha1.NamespaceSkipAutoPropagationLabel: "true"},
|
||||
},
|
||||
Data: map[string]string{"key": "value"},
|
||||
},
|
||||
newObj: &corev1.ConfigMap{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
ResourceVersion: "123457",
|
||||
Labels: map[string]string{policyv1alpha1.NamespaceSkipAutoPropagationLabel: "false"},
|
||||
},
|
||||
Data: map[string]string{"key": "value"},
|
||||
},
|
||||
wantChange: true,
|
||||
},
|
||||
}
|
||||
|
||||
for _, tt := range tests {
|
||||
|
|
@ -219,3 +318,85 @@ func TestSpecificationChanged(t *testing.T) {
|
|||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestResourceChangeByKarmada(t *testing.T) {
|
||||
tests := []struct {
|
||||
name string
|
||||
oldObj interface{}
|
||||
newObj interface{}
|
||||
wantChangeByKarmada bool
|
||||
}{
|
||||
{
|
||||
name: "Change by Karmada",
|
||||
oldObj: &corev1.ConfigMap{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
ResourceVersion: "123456",
|
||||
Labels: map[string]string{"app.karmada.io/managed": "true"},
|
||||
},
|
||||
Data: map[string]string{"key": "value"},
|
||||
},
|
||||
newObj: &corev1.ConfigMap{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
ResourceVersion: "123457",
|
||||
Labels: map[string]string{"app.karmada.io/managed": "false"},
|
||||
},
|
||||
Data: map[string]string{"key": "value"},
|
||||
},
|
||||
wantChangeByKarmada: true,
|
||||
},
|
||||
{
|
||||
name: "Change not by Karmada",
|
||||
oldObj: &corev1.ConfigMap{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
ResourceVersion: "123456",
|
||||
Labels: map[string]string{"app": "v1"},
|
||||
},
|
||||
Data: map[string]string{"key": "value"},
|
||||
},
|
||||
newObj: &corev1.ConfigMap{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
ResourceVersion: "123457",
|
||||
Labels: map[string]string{"app": "v2"},
|
||||
},
|
||||
Data: map[string]string{"key": "value"},
|
||||
},
|
||||
wantChangeByKarmada: false,
|
||||
},
|
||||
{
|
||||
name: "Change in Karmada annotations",
|
||||
oldObj: &corev1.ConfigMap{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
ResourceVersion: "123456",
|
||||
Annotations: map[string]string{"note.karmada.io/managed": "true"},
|
||||
},
|
||||
Data: map[string]string{"key": "value"},
|
||||
},
|
||||
newObj: &corev1.ConfigMap{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
ResourceVersion: "123457",
|
||||
Annotations: map[string]string{"note.karmada.io/managed": "false"},
|
||||
},
|
||||
Data: map[string]string{"key": "value"},
|
||||
},
|
||||
wantChangeByKarmada: true,
|
||||
},
|
||||
}
|
||||
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
oldUnstructured, err := helper.ToUnstructured(tt.oldObj)
|
||||
if err != nil {
|
||||
t.Fatalf("Failed to convert oldObj to unstructured: %v", err)
|
||||
}
|
||||
newUnstructured, err := helper.ToUnstructured(tt.newObj)
|
||||
if err != nil {
|
||||
t.Fatalf("Failed to convert newObj to unstructured: %v", err)
|
||||
}
|
||||
|
||||
got := ResourceChangeByKarmada(oldUnstructured, newUnstructured)
|
||||
if got != tt.wantChangeByKarmada {
|
||||
t.Errorf("ResourceChangeByKarmada() = %v, want %v", got, tt.wantChangeByKarmada)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue