diff --git a/internal/k8sutil/finalizer_test.go b/internal/k8sutil/finalizer_test.go new file mode 100644 index 0000000..b6dc99b --- /dev/null +++ b/internal/k8sutil/finalizer_test.go @@ -0,0 +1,16 @@ +// SPDX-License-Identifier: BSD-3-Clause + +package k8sutil + +import ( + "testing" + + "github.com/go-openapi/testify/v2/require" +) + +func TestFinalizer(t *testing.T) { + t.Parallel() + + res := Finalizer("foo") + require.Equal(t, "finalizers.netbird.io/foo", res) +} diff --git a/internal/k8sutil/owner.go b/internal/k8sutil/owner.go index 62291f6..68f1e2e 100644 --- a/internal/k8sutil/owner.go +++ b/internal/k8sutil/owner.go @@ -3,13 +3,13 @@ package k8sutil import ( - "k8s.io/apimachinery/pkg/runtime" + kruntime "k8s.io/apimachinery/pkg/runtime" metav1ac "k8s.io/client-go/applyconfigurations/meta/v1" "sigs.k8s.io/controller-runtime/pkg/client" "sigs.k8s.io/controller-runtime/pkg/client/apiutil" ) -func ControllerReference(owner client.Object, scheme *runtime.Scheme) (*metav1ac.OwnerReferenceApplyConfiguration, error) { +func ControllerReference(owner client.Object, scheme *kruntime.Scheme) (*metav1ac.OwnerReferenceApplyConfiguration, error) { gvk, err := apiutil.GVKForObject(owner, scheme) if err != nil { return nil, err @@ -23,7 +23,7 @@ func ControllerReference(owner client.Object, scheme *runtime.Scheme) (*metav1ac WithBlockOwnerDeletion(true), nil } -func OwnerReference(owner client.Object, scheme *runtime.Scheme) (*metav1ac.OwnerReferenceApplyConfiguration, error) { +func OwnerReference(owner client.Object, scheme *kruntime.Scheme) (*metav1ac.OwnerReferenceApplyConfiguration, error) { gvk, err := apiutil.GVKForObject(owner, scheme) if err != nil { return nil, err diff --git a/internal/k8sutil/owner_test.go b/internal/k8sutil/owner_test.go new file mode 100644 index 0000000..5446617 --- /dev/null +++ b/internal/k8sutil/owner_test.go @@ -0,0 +1,56 @@ +// SPDX-License-Identifier: BSD-3-Clause + +package k8sutil + +import ( + "testing" + + "github.com/go-openapi/testify/v2/require" + corev1 "k8s.io/api/core/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + kruntime "k8s.io/apimachinery/pkg/runtime" +) + +func TestControllerReference(t *testing.T) { + t.Parallel() + + scheme := kruntime.NewScheme() + err := corev1.AddToScheme(scheme) + require.NoError(t, err) + pod := corev1.Pod{ + ObjectMeta: metav1.ObjectMeta{ + Name: "foo", + }, + } + + ownerRef, err := ControllerReference(&pod, scheme) + require.NoError(t, err) + require.EqualT(t, "v1", *ownerRef.APIVersion) + require.EqualT(t, "Pod", *ownerRef.Kind) + require.EqualT(t, "foo", *ownerRef.Name) + require.EqualT(t, pod.UID, *ownerRef.UID) + require.EqualT(t, true, *ownerRef.Controller) + require.EqualT(t, true, *ownerRef.BlockOwnerDeletion) +} + +func TestOwnerReference(t *testing.T) { + t.Parallel() + + scheme := kruntime.NewScheme() + err := corev1.AddToScheme(scheme) + require.NoError(t, err) + pod := corev1.Pod{ + ObjectMeta: metav1.ObjectMeta{ + Name: "foo", + }, + } + + ownerRef, err := OwnerReference(&pod, scheme) + require.NoError(t, err) + require.EqualT(t, "v1", *ownerRef.APIVersion) + require.EqualT(t, "Pod", *ownerRef.Kind) + require.EqualT(t, "foo", *ownerRef.Name) + require.EqualT(t, pod.UID, *ownerRef.UID) + require.EqualT(t, false, *ownerRef.Controller) + require.EqualT(t, false, *ownerRef.BlockOwnerDeletion) +}