@@ -2,6 +2,7 @@ package convert_test
2
2
3
3
import (
4
4
"cmp"
5
+ "fmt"
5
6
"slices"
6
7
"testing"
7
8
@@ -21,6 +22,37 @@ import (
21
22
"github.com/operator-framework/operator-controller/internal/operator-controller/rukpak/convert"
22
23
)
23
24
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
+
24
56
func Test_BundleDeploymentGenerator_Succeeds (t * testing.T ) {
25
57
for _ , tc := range []struct {
26
58
name string
0 commit comments