@@ -29,15 +29,15 @@ func Test_BundleRenderer_ValidatesBundle(t *testing.T) {
2929 },
3030 },
3131 }
32- objs , err := renderer .Render (render.RegistryV1 {}, "" , nil )
32+ objs , err := renderer .Render (render.RegistryV1 {}, "" )
3333 require .Nil (t , objs )
3434 require .Error (t , err )
3535 require .Contains (t , err .Error (), "this bundle is invalid" )
3636}
3737
3838func Test_BundleRenderer_CreatesCorrectDefaultOptions (t * testing.T ) {
3939 expectedInstallNamespace := "install-namespace"
40- expectedTargetNamespaces := []string {"ns-one" , "ns-two " }
40+ expectedTargetNamespaces := []string {"" }
4141 expectedUniqueNameGenerator := render .DefaultUniqueNameGenerator
4242
4343 renderer := render.BundleRenderer {
@@ -51,7 +51,34 @@ func Test_BundleRenderer_CreatesCorrectDefaultOptions(t *testing.T) {
5151 },
5252 }
5353
54- _ , _ = renderer .Render (render.RegistryV1 {}, expectedInstallNamespace , expectedTargetNamespaces )
54+ _ , _ = renderer .Render (render.RegistryV1 {}, expectedInstallNamespace )
55+ }
56+
57+ func Test_BundleRenderer_AppliesUserOptions (t * testing.T ) {
58+ isOptionApplied := false
59+ _ , _ = render.BundleRenderer {}.Render (render.RegistryV1 {}, "install-namespace" , func (options * render.Options ) {
60+ isOptionApplied = true
61+ })
62+ require .True (t , isOptionApplied )
63+ }
64+
65+ func Test_WithTargetNamespaces (t * testing.T ) {
66+ opts := & render.Options {
67+ TargetNamespaces : []string {"target-namespace" },
68+ }
69+ render .WithTargetNamespaces ("a" , "b" , "c" )(opts )
70+ require .Equal (t , []string {"a" , "b" , "c" }, opts .TargetNamespaces )
71+ }
72+
73+ func Test_WithUniqueNameGenerator (t * testing.T ) {
74+ opts := & render.Options {
75+ UniqueNameGenerator : render .DefaultUniqueNameGenerator ,
76+ }
77+ render .WithUniqueNameGenerator (func (s string , i interface {}) (string , error ) {
78+ return "a man needs a name" , nil
79+ })(opts )
80+ generatedName , _ := opts .UniqueNameGenerator ("" , nil )
81+ require .Equal (t , "a man needs a name" , generatedName )
5582}
5683
5784func Test_BundleRenderer_CallsResourceGenerators (t * testing.T ) {
@@ -65,7 +92,7 @@ func Test_BundleRenderer_CallsResourceGenerators(t *testing.T) {
6592 },
6693 },
6794 }
68- objs , err := renderer .Render (render.RegistryV1 {}, "" , nil )
95+ objs , err := renderer .Render (render.RegistryV1 {}, "" )
6996 require .NoError (t , err )
7097 require .Equal (t , []client.Object {& corev1.Namespace {}, & corev1.Service {}, & appsv1.Deployment {}}, objs )
7198}
@@ -81,7 +108,7 @@ func Test_BundleRenderer_ReturnsResourceGeneratorErrors(t *testing.T) {
81108 },
82109 },
83110 }
84- objs , err := renderer .Render (render.RegistryV1 {}, "" , nil )
111+ objs , err := renderer .Render (render.RegistryV1 {}, "" )
85112 require .Nil (t , objs )
86113 require .Error (t , err )
87114 require .Contains (t , err .Error (), "generator error" )
0 commit comments