...
1 package workloads
2
3 import (
4 "reflect"
5 "testing"
6
7 "gotest.tools/v3/assert"
8 appsv1 "k8s.io/api/apps/v1"
9 corev1 "k8s.io/api/core/v1"
10 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
11 )
12
13 func TestGetOwnerReference(t *testing.T) {
14 var (
15 notRestartable = metav1.OwnerReference{Kind: reflect.TypeOf(corev1.Namespace{}).Name(), Name: "notRestartable"}
16 replicaSet = metav1.OwnerReference{Kind: reflect.TypeOf(appsv1.ReplicaSet{}).Name(), Name: "replicaSet"}
17 restartable = metav1.OwnerReference{Kind: reflect.TypeOf(appsv1.Deployment{}).Name(), Name: "restartable"}
18 )
19 workloadMeta := metav1.ObjectMeta{Name: "test", Namespace: "default", OwnerReferences: []metav1.OwnerReference{notRestartable}}
20 ownerRef := getOwnerReference(workloadMeta)
21 assert.Equal(t, metav1.OwnerReference{}, ownerRef)
22
23 workloadMeta = metav1.ObjectMeta{Name: "test", Namespace: "default", OwnerReferences: []metav1.OwnerReference{replicaSet}}
24 ownerRef = getOwnerReference(workloadMeta)
25 assert.Equal(t, replicaSet, ownerRef)
26
27 workloadMeta = metav1.ObjectMeta{Name: "test", Namespace: "default", OwnerReferences: []metav1.OwnerReference{restartable}}
28 ownerRef = getOwnerReference(workloadMeta)
29 assert.Equal(t, restartable, ownerRef)
30 }
31
View as plain text