@@ -404,7 +404,7 @@ func TestModuleTemplatesRepo_RunningAssociatedResourcesOfModule(t *testing.T) {
404404 require .Len (t , result , 0 )
405405 })
406406
407- t .Run ("excludes spec.data resource" , func (t * testing.T ) {
407+ t .Run ("includes spec.data resource" , func (t * testing.T ) {
408408 fakeRootlessDynamicClient := fake.RootlessDynamicClient {
409409 ReturnListObjs : & unstructured.UnstructuredList {
410410 Items : []unstructured.Unstructured {
@@ -442,8 +442,9 @@ func TestModuleTemplatesRepo_RunningAssociatedResourcesOfModule(t *testing.T) {
442442 resources , err := repo .RunningAssociatedResourcesOfModule (context .Background (), mod )
443443
444444 require .NoError (t , err )
445- require .Len (t , resources , 1 )
445+ require .Len (t , resources , 2 )
446446 require .Equal (t , "res1" , resources [0 ].GetName ())
447+ require .Equal (t , "res1" , resources [1 ].GetName ())
447448 })
448449
449450 t .Run ("running resources found" , func (t * testing.T ) {
@@ -480,6 +481,110 @@ func TestModuleTemplatesRepo_RunningAssociatedResourcesOfModule(t *testing.T) {
480481 })
481482}
482483
484+ func TestModuleTemplatesRepo_RunningUserDefinedResourcesOfModule (t * testing.T ) {
485+ t .Run ("fails to list running resources" , func (t * testing.T ) {
486+ fakeRootlessDynamicClient := fake.RootlessDynamicClient {
487+ ReturnErr : errors .New ("list-error" ),
488+ }
489+ fakeKubeClient := fake.KubeClient {
490+ TestRootlessDynamicInterface : & fakeRootlessDynamicClient ,
491+ }
492+ repo := NewModuleTemplatesRepo (& fakeKubeClient )
493+ mod := kyma.ModuleTemplate {
494+ Spec : kyma.ModuleTemplateSpec {
495+ AssociatedResources : []metav1.GroupVersionKind {{Group : "g" , Version : "v1" , Kind : "Kind" }},
496+ },
497+ }
498+
499+ result , err := repo .RunningUserDefinedResourcesOfModule (context .Background (), mod )
500+
501+ require .NoError (t , err )
502+ require .Len (t , result , 0 )
503+ })
504+
505+ t .Run ("excludes spec.data resource" , func (t * testing.T ) {
506+ fakeRootlessDynamicClient := fake.RootlessDynamicClient {
507+ ReturnListObjs : & unstructured.UnstructuredList {
508+ Items : []unstructured.Unstructured {
509+ {
510+ Object : map [string ]any {
511+ "apiVersion" : "g/v1" ,
512+ "kind" : "Operator" ,
513+ "metadata" : map [string ]any {
514+ "name" : "res1" ,
515+ },
516+ },
517+ },
518+ },
519+ },
520+ }
521+
522+ fakeKubeClient := fake.KubeClient {
523+ TestRootlessDynamicInterface : & fakeRootlessDynamicClient ,
524+ }
525+ repo := NewModuleTemplatesRepo (& fakeKubeClient )
526+
527+ mod := kyma.ModuleTemplate {
528+ Spec : kyma.ModuleTemplateSpec {
529+ AssociatedResources : []metav1.GroupVersionKind {
530+ {Group : "g" , Version : "v1" , Kind : "Kind" },
531+ {Group : "g" , Version : "v1" , Kind : "Operator" },
532+ },
533+ Data : unstructured.Unstructured {
534+ Object : map [string ]any {
535+ "apiVersion" : "g/v1" ,
536+ "kind" : "Operator" ,
537+ },
538+ },
539+ },
540+ }
541+
542+ resources , err := repo .RunningUserDefinedResourcesOfModule (context .Background (), mod )
543+
544+ require .NoError (t , err )
545+ require .Len (t , resources , 0 )
546+ })
547+
548+ t .Run ("running resources found" , func (t * testing.T ) {
549+ fakeRootlessDynamicClient := fake.RootlessDynamicClient {
550+ ReturnListObjs : & unstructured.UnstructuredList {
551+ Items : []unstructured.Unstructured {
552+ {
553+ Object : map [string ]any {
554+ "metadata" : map [string ]any {
555+ "name" : "res1" ,
556+ },
557+ },
558+ },
559+ },
560+ },
561+ }
562+
563+ fakeKubeClient := fake.KubeClient {
564+ TestRootlessDynamicInterface : & fakeRootlessDynamicClient ,
565+ }
566+ repo := NewModuleTemplatesRepo (& fakeKubeClient )
567+
568+ mod := kyma.ModuleTemplate {
569+ Spec : kyma.ModuleTemplateSpec {
570+ AssociatedResources : []metav1.GroupVersionKind {{Group : "g" , Version : "v1" , Kind : "Kind" }},
571+ Data : unstructured.Unstructured {
572+ Object : map [string ]any {
573+ "apiVersion" : "g/v1" ,
574+ "kind" : "Operator" ,
575+ },
576+ },
577+ },
578+ }
579+
580+ resources , err := repo .RunningUserDefinedResourcesOfModule (context .Background (), mod )
581+
582+ require .NoError (t , err )
583+ require .Len (t , resources , 1 )
584+ require .Equal (t , "res1" , resources [0 ].GetName ())
585+ })
586+ }
587+
483588func TestModuleTemplatesRepo_DeleteResourceReturnWatcher (t * testing.T ) {
484589 t .Run ("fails to watch resource" , func (t * testing.T ) {
485590 fakeRootlessDynamicClient := fake.RootlessDynamicClient {
@@ -488,9 +593,11 @@ func TestModuleTemplatesRepo_DeleteResourceReturnWatcher(t *testing.T) {
488593 fakeKubeClient := fake.KubeClient {
489594 TestRootlessDynamicInterface : & fakeRootlessDynamicClient ,
490595 }
491- resource := map [string ]any {
492- "metadata" : map [string ]any {
493- "name" : "test-resource" ,
596+ resource := unstructured.Unstructured {
597+ Object : map [string ]any {
598+ "metadata" : map [string ]any {
599+ "name" : "test-resource" ,
600+ },
494601 },
495602 }
496603 repo := NewModuleTemplatesRepo (& fakeKubeClient )
@@ -511,9 +618,11 @@ func TestModuleTemplatesRepo_DeleteResourceReturnWatcher(t *testing.T) {
511618 fakeKubeClient := fake.KubeClient {
512619 TestRootlessDynamicInterface : & fakeRootlessDynamicClient ,
513620 }
514- resource := map [string ]any {
515- "metadata" : map [string ]any {
516- "name" : "test-resoutce" ,
621+ resource := unstructured.Unstructured {
622+ Object : map [string ]any {
623+ "metadata" : map [string ]any {
624+ "name" : "test-resoutce" ,
625+ },
517626 },
518627 }
519628 repo := NewModuleTemplatesRepo (& fakeKubeClient )
@@ -533,19 +642,22 @@ func TestModuleTemplatesRepo_DeleteResourceReturnWatcher(t *testing.T) {
533642 fakeKubeClient := fake.KubeClient {
534643 TestRootlessDynamicInterface : & fakeRootlessDynamicClient ,
535644 }
536- resource := map [string ]any {
537- "metadata" : map [string ]any {
538- "name" : "test-resource" ,
645+ resource := unstructured.Unstructured {
646+ Object : map [string ]any {
647+ "metadata" : map [string ]any {
648+ "name" : "test-resource" ,
649+ },
539650 },
540651 }
652+
541653 repo := NewModuleTemplatesRepo (& fakeKubeClient )
542654
543655 result , err := repo .DeleteResourceReturnWatcher (context .Background (), resource )
544656
545657 require .Nil (t , err )
546658 require .NotNil (t , result )
547659 require .Equal (t , result , fakeWatcher )
548- require .Contains (t , fakeRootlessDynamicClient .RemovedObjs , unstructured. Unstructured { Object : resource } )
660+ require .Contains (t , fakeRootlessDynamicClient .RemovedObjs , resource )
549661 })
550662}
551663
0 commit comments