@@ -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