@@ -24,75 +24,12 @@ import (
2424 "sigs.k8s.io/controller-runtime/pkg/client"
2525 "sigs.k8s.io/controller-runtime/pkg/client/fake"
2626
27- "github.com/operator-framework/api/pkg/operators/v1alpha1"
28-
2927 ocv1 "github.com/operator-framework/operator-controller/api/v1"
3028 "github.com/operator-framework/operator-controller/internal/operator-controller/applier"
3129 "github.com/operator-framework/operator-controller/internal/operator-controller/controllers"
3230 "github.com/operator-framework/operator-controller/internal/operator-controller/labels"
33- "github.com/operator-framework/operator-controller/internal/operator-controller/rukpak/bundle"
34- "github.com/operator-framework/operator-controller/internal/operator-controller/rukpak/render"
35- "github.com/operator-framework/operator-controller/internal/operator-controller/rukpak/util/testing/bundlefs"
36- "github.com/operator-framework/operator-controller/internal/operator-controller/rukpak/util/testing/clusterserviceversion"
3731)
3832
39- func Test_RegistryV1BundleRenderer_Render_Success (t * testing.T ) {
40- expectedObjs := []client.Object {
41- & corev1.Service {
42- ObjectMeta : metav1.ObjectMeta {
43- Name : "test-service" ,
44- },
45- },
46- }
47- r := applier.RegistryV1BundleRenderer {
48- BundleRenderer : render.BundleRenderer {
49- ResourceGenerators : []render.ResourceGenerator {
50- func (rv1 * bundle.RegistryV1 , opts render.Options ) ([]client.Object , error ) {
51- require .Equal (t , []string {"" }, opts .TargetNamespaces )
52- require .Equal (t , "some-namespace" , opts .InstallNamespace )
53- return expectedObjs , nil
54- },
55- },
56- },
57- }
58- bundleFS := bundlefs .Builder ().
59- WithPackageName ("some-package" ).
60- WithCSV (clusterserviceversion .Builder ().WithInstallModeSupportFor (v1alpha1 .InstallModeTypeAllNamespaces ).Build ()).
61- Build ()
62- objs , err := r .Render (bundleFS , & ocv1.ClusterExtension {
63- Spec : ocv1.ClusterExtensionSpec {
64- Namespace : "some-namespace" ,
65- },
66- })
67- require .NoError (t , err )
68- require .Equal (t , expectedObjs , objs )
69- }
70-
71- func Test_RegistryV1BundleRenderer_Render_Failure (t * testing.T ) {
72- var expectedObjs []client.Object
73- r := applier.RegistryV1BundleRenderer {
74- BundleRenderer : render.BundleRenderer {
75- ResourceGenerators : []render.ResourceGenerator {
76- func (rv1 * bundle.RegistryV1 , opts render.Options ) ([]client.Object , error ) {
77- return expectedObjs , fmt .Errorf ("some-error" )
78- },
79- },
80- },
81- }
82- bundleFS := bundlefs .Builder ().
83- WithPackageName ("some-package" ).
84- WithCSV (clusterserviceversion .Builder ().WithInstallModeSupportFor (v1alpha1 .InstallModeTypeAllNamespaces ).Build ()).
85- Build ()
86- objs , err := r .Render (bundleFS , & ocv1.ClusterExtension {
87- Spec : ocv1.ClusterExtensionSpec {
88- Namespace : "some-namespace" ,
89- },
90- })
91- require .Nil (t , objs )
92- require .Error (t , err )
93- require .Contains (t , err .Error (), "some-error" )
94- }
95-
9633func Test_SimpleRevisionGenerator_GenerateRevisionFromHelmRelease (t * testing.T ) {
9734 g := & applier.SimpleRevisionGenerator {}
9835
@@ -175,24 +112,26 @@ func Test_SimpleRevisionGenerator_GenerateRevisionFromHelmRelease(t *testing.T)
175112}
176113
177114func Test_SimpleRevisionGenerator_GenerateRevision (t * testing.T ) {
178- var r mockBundleRenderer = func (_ fs.FS , _ * ocv1.ClusterExtension ) ([]client.Object , error ) {
179- return []client.Object {
180- & corev1.Service {
181- ObjectMeta : metav1.ObjectMeta {
182- Name : "test-service" ,
115+ r := & FakeManifestProvider {
116+ GetFn : func (_ fs.FS , _ * ocv1.ClusterExtension ) ([]client.Object , error ) {
117+ return []client.Object {
118+ & corev1.Service {
119+ ObjectMeta : metav1.ObjectMeta {
120+ Name : "test-service" ,
121+ },
183122 },
184- },
185- & appsv1. Deployment {
186- ObjectMeta : metav1. ObjectMeta {
187- Name : "test-deployment" ,
123+ & appsv1. Deployment {
124+ ObjectMeta : metav1. ObjectMeta {
125+ Name : "test-deployment" ,
126+ } ,
188127 },
189- },
190- }, nil
128+ }, nil
129+ },
191130 }
192131
193132 b := applier.SimpleRevisionGenerator {
194- Scheme : k8scheme .Scheme ,
195- BundleRenderer : r ,
133+ Scheme : k8scheme .Scheme ,
134+ ManifestProvider : r ,
196135 }
197136
198137 ext := & ocv1.ClusterExtension {
@@ -266,15 +205,17 @@ func Test_SimpleRevisionGenerator_Renderer_Integration(t *testing.T) {
266205 Name : "test-extension" ,
267206 },
268207 }
269- var r mockBundleRenderer = func (b fs.FS , e * ocv1.ClusterExtension ) ([]client.Object , error ) {
270- t .Log ("by checking renderer was called with the correct parameters" )
271- require .Equal (t , bundleFS , b )
272- require .Equal (t , ext , e )
273- return nil , nil
208+ r := & FakeManifestProvider {
209+ GetFn : func (b fs.FS , e * ocv1.ClusterExtension ) ([]client.Object , error ) {
210+ t .Log ("by checking renderer was called with the correct parameters" )
211+ require .Equal (t , bundleFS , b )
212+ require .Equal (t , ext , e )
213+ return nil , nil
214+ },
274215 }
275216 b := applier.SimpleRevisionGenerator {
276- Scheme : k8scheme .Scheme ,
277- BundleRenderer : r ,
217+ Scheme : k8scheme .Scheme ,
218+ ManifestProvider : r ,
278219 }
279220
280221 _ , err := b .GenerateRevision (bundleFS , ext , map [string ]string {}, map [string ]string {})
@@ -300,12 +241,15 @@ func Test_SimpleRevisionGenerator_AppliesObjectLabelsAndRevisionAnnotations(t *t
300241 },
301242 },
302243 }
303- var r mockBundleRenderer = func (b fs.FS , e * ocv1.ClusterExtension ) ([]client.Object , error ) {
304- return renderedObjs , nil
244+ r := & FakeManifestProvider {
245+ GetFn : func (b fs.FS , e * ocv1.ClusterExtension ) ([]client.Object , error ) {
246+ return renderedObjs , nil
247+ },
305248 }
249+
306250 b := applier.SimpleRevisionGenerator {
307- Scheme : k8scheme .Scheme ,
308- BundleRenderer : r ,
251+ Scheme : k8scheme .Scheme ,
252+ ManifestProvider : r ,
309253 }
310254
311255 revAnnotations := map [string ]string {
@@ -330,12 +274,14 @@ func Test_SimpleRevisionGenerator_AppliesObjectLabelsAndRevisionAnnotations(t *t
330274}
331275
332276func Test_SimpleRevisionGenerator_Failure (t * testing.T ) {
333- var r mockBundleRenderer = func (b fs.FS , e * ocv1.ClusterExtension ) ([]client.Object , error ) {
334- return nil , fmt .Errorf ("some-error" )
277+ r := & FakeManifestProvider {
278+ GetFn : func (b fs.FS , e * ocv1.ClusterExtension ) ([]client.Object , error ) {
279+ return nil , fmt .Errorf ("some-error" )
280+ },
335281 }
336282 b := applier.SimpleRevisionGenerator {
337- Scheme : k8scheme .Scheme ,
338- BundleRenderer : r ,
283+ Scheme : k8scheme .Scheme ,
284+ ManifestProvider : r ,
339285 }
340286
341287 rev , err := b .GenerateRevision (fstest.MapFS {}, & ocv1.ClusterExtension {}, map [string ]string {}, map [string ]string {})
@@ -928,12 +874,6 @@ func (m *mockBundleRevisionBuilder) GenerateRevisionFromHelmRelease(
928874 return nil , nil
929875}
930876
931- type mockBundleRenderer func (bundleFS fs.FS , ext * ocv1.ClusterExtension ) ([]client.Object , error )
932-
933- func (f mockBundleRenderer ) Render (bundleFS fs.FS , ext * ocv1.ClusterExtension ) ([]client.Object , error ) {
934- return f (bundleFS , ext )
935- }
936-
937877type clientMock struct {
938878 mock.Mock
939879}
0 commit comments