@@ -24,75 +24,12 @@ import (
24
24
"sigs.k8s.io/controller-runtime/pkg/client"
25
25
"sigs.k8s.io/controller-runtime/pkg/client/fake"
26
26
27
- "github.com/operator-framework/api/pkg/operators/v1alpha1"
28
-
29
27
ocv1 "github.com/operator-framework/operator-controller/api/v1"
30
28
"github.com/operator-framework/operator-controller/internal/operator-controller/applier"
31
29
"github.com/operator-framework/operator-controller/internal/operator-controller/controllers"
32
30
"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"
37
31
)
38
32
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
-
96
33
func Test_SimpleRevisionGenerator_GenerateRevisionFromHelmRelease (t * testing.T ) {
97
34
g := & applier.SimpleRevisionGenerator {}
98
35
@@ -175,24 +112,26 @@ func Test_SimpleRevisionGenerator_GenerateRevisionFromHelmRelease(t *testing.T)
175
112
}
176
113
177
114
func 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
+ },
183
122
},
184
- },
185
- & appsv1. Deployment {
186
- ObjectMeta : metav1. ObjectMeta {
187
- Name : "test-deployment" ,
123
+ & appsv1. Deployment {
124
+ ObjectMeta : metav1. ObjectMeta {
125
+ Name : "test-deployment" ,
126
+ } ,
188
127
},
189
- },
190
- }, nil
128
+ }, nil
129
+ },
191
130
}
192
131
193
132
b := applier.SimpleRevisionGenerator {
194
- Scheme : k8scheme .Scheme ,
195
- BundleRenderer : r ,
133
+ Scheme : k8scheme .Scheme ,
134
+ ManifestProvider : r ,
196
135
}
197
136
198
137
ext := & ocv1.ClusterExtension {
@@ -266,15 +205,17 @@ func Test_SimpleRevisionGenerator_Renderer_Integration(t *testing.T) {
266
205
Name : "test-extension" ,
267
206
},
268
207
}
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
+ },
274
215
}
275
216
b := applier.SimpleRevisionGenerator {
276
- Scheme : k8scheme .Scheme ,
277
- BundleRenderer : r ,
217
+ Scheme : k8scheme .Scheme ,
218
+ ManifestProvider : r ,
278
219
}
279
220
280
221
_ , err := b .GenerateRevision (bundleFS , ext , map [string ]string {}, map [string ]string {})
@@ -300,12 +241,15 @@ func Test_SimpleRevisionGenerator_AppliesObjectLabelsAndRevisionAnnotations(t *t
300
241
},
301
242
},
302
243
}
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
+ },
305
248
}
249
+
306
250
b := applier.SimpleRevisionGenerator {
307
- Scheme : k8scheme .Scheme ,
308
- BundleRenderer : r ,
251
+ Scheme : k8scheme .Scheme ,
252
+ ManifestProvider : r ,
309
253
}
310
254
311
255
revAnnotations := map [string ]string {
@@ -330,12 +274,14 @@ func Test_SimpleRevisionGenerator_AppliesObjectLabelsAndRevisionAnnotations(t *t
330
274
}
331
275
332
276
func 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
+ },
335
281
}
336
282
b := applier.SimpleRevisionGenerator {
337
- Scheme : k8scheme .Scheme ,
338
- BundleRenderer : r ,
283
+ Scheme : k8scheme .Scheme ,
284
+ ManifestProvider : r ,
339
285
}
340
286
341
287
rev , err := b .GenerateRevision (fstest.MapFS {}, & ocv1.ClusterExtension {}, map [string ]string {}, map [string ]string {})
@@ -928,12 +874,6 @@ func (m *mockBundleRevisionBuilder) GenerateRevisionFromHelmRelease(
928
874
return nil , nil
929
875
}
930
876
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
-
937
877
type clientMock struct {
938
878
mock.Mock
939
879
}
0 commit comments