@@ -10,7 +10,6 @@ import (
1010 appsv1 "k8s.io/api/apps/v1"
1111 batchv1 "k8s.io/api/batch/v1"
1212 v1 "k8s.io/api/core/v1"
13- meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
1413 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
1514 "k8s.io/apimachinery/pkg/runtime"
1615 watch "k8s.io/apimachinery/pkg/watch"
@@ -93,7 +92,7 @@ func TestUpdateRollout(t *testing.T) {
9392 t .Errorf ("updating rollout: %v" , err )
9493 }
9594 rollout , err = clients .ArgoRolloutClient .ArgoprojV1alpha1 ().Rollouts (
96- namespace ).Get (context .TODO (), rollout .Name , meta_v1 .GetOptions {})
95+ namespace ).Get (context .TODO (), rollout .Name , metav1 .GetOptions {})
9796
9897 if err != nil {
9998 t .Errorf ("getting rollout: %v" , err )
@@ -285,8 +284,21 @@ func TestCreateJobFromCronjob(t *testing.T) {
285284 cronJob , err := createTestCronJobWithAnnotations (clients , fixtures .namespace , "1" )
286285 assert .NoError (t , err )
287286
288- err = callbacks .CreateJobFromCronjob (clients , fixtures .namespace , cronJob .( * batchv1. CronJob ) )
287+ err = callbacks .CreateJobFromCronjob (clients , fixtures .namespace , cronJob )
289288 assert .NoError (t , err )
289+
290+ jobList , err := clients .KubernetesClient .BatchV1 ().Jobs (fixtures .namespace ).List (context .TODO (), metav1.ListOptions {})
291+ assert .NoError (t , err )
292+
293+ ownerFound := false
294+ for _ , job := range jobList .Items {
295+ fmt .Println (cronJob .Kind )
296+ if isControllerOwner ("CronJob" , cronJob .Name , job .OwnerReferences ) {
297+ ownerFound = true
298+ break
299+ }
300+ }
301+ assert .Truef (t , ownerFound , "Missing CronJob owner reference" )
290302}
291303
292304func TestReCreateJobFromJob (t * testing.T ) {
@@ -330,7 +342,7 @@ func isRestartStrategy(rollout *argorolloutv1alpha1.Rollout) bool {
330342func watchRollout (name , namespace string ) chan interface {} {
331343 timeOut := int64 (1 )
332344 modifiedChan := make (chan interface {})
333- watcher , _ := clients .ArgoRolloutClient .ArgoprojV1alpha1 ().Rollouts (namespace ).Watch (context .Background (), meta_v1 .ListOptions {TimeoutSeconds : & timeOut })
345+ watcher , _ := clients .ArgoRolloutClient .ArgoprojV1alpha1 ().Rollouts (namespace ).Watch (context .Background (), metav1 .ListOptions {TimeoutSeconds : & timeOut })
334346 go watchModified (watcher , name , modifiedChan )
335347 return modifiedChan
336348}
@@ -501,7 +513,7 @@ func createTestStatefulSetWithAnnotations(clients kube.Clients, namespace, versi
501513 return clients .KubernetesClient .AppsV1 ().StatefulSets (namespace ).Create (context .TODO (), statefulSet , metav1.CreateOptions {})
502514}
503515
504- func createTestCronJobWithAnnotations (clients kube.Clients , namespace , version string ) (runtime. Object , error ) {
516+ func createTestCronJobWithAnnotations (clients kube.Clients , namespace , version string ) (* batchv1. CronJob , error ) {
505517 cronJob := & batchv1.CronJob {
506518 ObjectMeta : metav1.ObjectMeta {
507519 Name : "test-cronjob" ,
@@ -522,3 +534,12 @@ func createTestJobWithAnnotations(clients kube.Clients, namespace, version strin
522534 }
523535 return clients .KubernetesClient .BatchV1 ().Jobs (namespace ).Create (context .TODO (), job , metav1.CreateOptions {})
524536}
537+
538+ func isControllerOwner (kind , name string , ownerRefs []metav1.OwnerReference ) bool {
539+ for _ , ownerRef := range ownerRefs {
540+ if * ownerRef .Controller && ownerRef .Kind == kind && ownerRef .Name == name {
541+ return true
542+ }
543+ }
544+ return false
545+ }
0 commit comments