@@ -2,6 +2,7 @@ package convert_test
22
33import  (
44	"cmp" 
5+ 	"fmt" 
56	"slices" 
67	"testing" 
78
@@ -21,6 +22,37 @@ import (
2122	"github.com/operator-framework/operator-controller/internal/operator-controller/rukpak/convert" 
2223)
2324
25+ func  Test_ChainedResourceGenerator (t  * testing.T ) {
26+ 	g  :=  convert .ChainedResourceGenerator (
27+ 		func (rv1  * convert.RegistryV1 , opts  convert.Options ) ([]client.Object , error ) {
28+ 			return  []client.Object {& corev1.Service {}}, nil 
29+ 		},
30+ 		func (rv1  * convert.RegistryV1 , opts  convert.Options ) ([]client.Object , error ) {
31+ 			return  []client.Object {& corev1.ConfigMap {}}, nil 
32+ 		},
33+ 	)
34+ 
35+ 	objs , err  :=  g .GenerateResources (& convert.RegistryV1 {}, convert.Options {})
36+ 	require .NoError (t , err )
37+ 	require .Equal (t , []client.Object {& corev1.Service {}, & corev1.ConfigMap {}}, objs )
38+ }
39+ 
40+ func  Test_ChainedResourceGenerator_Errors (t  * testing.T ) {
41+ 	g  :=  convert .ChainedResourceGenerator (
42+ 		func (rv1  * convert.RegistryV1 , opts  convert.Options ) ([]client.Object , error ) {
43+ 			return  []client.Object {& corev1.Service {}}, nil 
44+ 		},
45+ 		func (rv1  * convert.RegistryV1 , opts  convert.Options ) ([]client.Object , error ) {
46+ 			return  nil , fmt .Errorf ("generator error" )
47+ 		},
48+ 	)
49+ 
50+ 	objs , err  :=  g .GenerateResources (& convert.RegistryV1 {}, convert.Options {})
51+ 	require .Nil (t , objs )
52+ 	require .Error (t , err )
53+ 	require .Contains (t , err .Error (), "generator error" )
54+ }
55+ 
2456func  Test_BundleDeploymentGenerator_Succeeds (t  * testing.T ) {
2557	for  _ , tc  :=  range  []struct  {
2658		name               string 
0 commit comments