Add unit tests to new controllers and fix minor bugs (#12)

This commit is contained in:
M. Essam
2025-03-28 08:55:41 +01:00
committed by GitHub
parent ac8348cda6
commit 6a33bffb65
22 changed files with 3788 additions and 313 deletions
+2 -3
View File
@@ -1,8 +1,7 @@
package v1
import (
"slices"
"github.com/netbirdio/kubernetes-operator/internal/util"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)
@@ -23,7 +22,7 @@ type NBGroupStatus struct {
// Equal returns if NBGroupStatus is equal to this one
func (a NBGroupStatus) Equal(b NBGroupStatus) bool {
return a.GroupID == b.GroupID && slices.Equal(a.Conditions, b.Conditions)
return (a.GroupID == b.GroupID || (a.GroupID != nil && b.GroupID != nil && *a.GroupID == *b.GroupID)) && util.Equivalent(a.Conditions, b.Conditions)
}
// +kubebuilder:object:root=true
+3 -4
View File
@@ -1,8 +1,7 @@
package v1
import (
"slices"
"github.com/netbirdio/kubernetes-operator/internal/util"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)
@@ -50,8 +49,8 @@ func (a NBPolicyStatus) Equal(b NBPolicyStatus) bool {
return a.TCPPolicyID == b.TCPPolicyID &&
a.UDPPolicyID == b.UDPPolicyID &&
a.LastUpdatedAt == b.LastUpdatedAt &&
slices.Equal(a.ManagedServiceList, b.ManagedServiceList) &&
slices.Equal(a.Conditions, b.Conditions)
util.Equivalent(a.ManagedServiceList, b.ManagedServiceList) &&
util.Equivalent(a.Conditions, b.Conditions)
}
// +kubebuilder:object:root=true
+16 -6
View File
@@ -1,8 +1,7 @@
package v1
import (
"slices"
"github.com/netbirdio/kubernetes-operator/internal/util"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)
@@ -24,6 +23,17 @@ type NBResourceSpec struct {
UDPPorts []int32 `json:"udpPorts,omitempty"`
}
// Equal returns if NBResource is equal to this one
func (a NBResourceSpec) Equal(b NBResourceSpec) bool {
return a.Name == b.Name &&
a.NetworkID == b.NetworkID &&
a.Address == b.Address &&
util.Equivalent(a.Groups, b.Groups) &&
a.PolicyName == b.PolicyName &&
util.Equivalent(a.TCPPorts, b.TCPPorts) &&
util.Equivalent(a.UDPPorts, b.UDPPorts)
}
// NBResourceStatus defines the observed state of NBResource.
type NBResourceStatus struct {
// +optional
@@ -44,10 +54,10 @@ type NBResourceStatus struct {
func (a NBResourceStatus) Equal(b NBResourceStatus) bool {
return a.NetworkResourceID == b.NetworkResourceID &&
a.PolicyName == b.PolicyName &&
slices.Equal(a.TCPPorts, b.TCPPorts) &&
slices.Equal(a.UDPPorts, b.UDPPorts) &&
slices.Equal(a.Groups, b.Groups) &&
slices.Equal(a.Conditions, b.Conditions)
util.Equivalent(a.TCPPorts, b.TCPPorts) &&
util.Equivalent(a.UDPPorts, b.UDPPorts) &&
util.Equivalent(a.Groups, b.Groups) &&
util.Equivalent(a.Conditions, b.Conditions)
}
// +kubebuilder:object:root=true
+2 -3
View File
@@ -1,8 +1,7 @@
package v1
import (
"slices"
"github.com/netbirdio/kubernetes-operator/internal/util"
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)
@@ -40,7 +39,7 @@ func (a NBRoutingPeerStatus) Equal(b NBRoutingPeerStatus) bool {
return a.NetworkID == b.NetworkID &&
a.SetupKeyID == b.SetupKeyID &&
a.RouterID == b.RouterID &&
slices.Equal(a.Conditions, b.Conditions)
util.Equivalent(a.Conditions, b.Conditions)
}
// +kubebuilder:object:root=true