@@ -148,6 +148,12 @@ func TestGetBundle(t *testing.T) {
148
148
"{\" apiVersion\" :\" apiextensions.k8s.io/v1beta1\" ,\" kind\" :\" CustomResourceDefinition\" ,\" metadata\" :{\" name\" :\" etcdrestores.etcd.database.coreos.com\" },\" spec\" :{\" group\" :\" etcd.database.coreos.com\" ,\" names\" :{\" kind\" :\" EtcdRestore\" ,\" listKind\" :\" EtcdRestoreList\" ,\" plural\" :\" etcdrestores\" ,\" singular\" :\" etcdrestore\" },\" scope\" :\" Namespaced\" ,\" version\" :\" v1beta2\" }}" ,
149
149
},
150
150
BundlePath : "" ,
151
+ Dependencies : []* api.Dependency {
152
+ {
153
+ Type : "olm.gvk" ,
154
+ Value : `{"group":"etcd.database.coreos.com","kind":"EtcdCluster","type":"olm.gvk","version":"v1beta2"}` ,
155
+ },
156
+ },
151
157
ProvidedApis : []* api.GroupVersionKind {
152
158
{Group : "etcd.database.coreos.com" , Version : "v1beta2" , Kind : "EtcdCluster" , Plural : "etcdclusters" },
153
159
{Group : "etcd.database.coreos.com" , Version : "v1beta2" , Kind : "EtcdBackup" , Plural : "etcdbackups" },
@@ -181,6 +187,12 @@ func TestGetBundleForChannel(t *testing.T) {
181
187
"{\" apiVersion\" :\" apiextensions.k8s.io/v1beta1\" ,\" kind\" :\" CustomResourceDefinition\" ,\" metadata\" :{\" name\" :\" etcdrestores.etcd.database.coreos.com\" },\" spec\" :{\" group\" :\" etcd.database.coreos.com\" ,\" names\" :{\" kind\" :\" EtcdRestore\" ,\" listKind\" :\" EtcdRestoreList\" ,\" plural\" :\" etcdrestores\" ,\" singular\" :\" etcdrestore\" },\" scope\" :\" Namespaced\" ,\" version\" :\" v1beta2\" }}" ,
182
188
},
183
189
BundlePath : "" ,
190
+ Dependencies : []* api.Dependency {
191
+ {
192
+ Type : "olm.gvk" ,
193
+ Value : `{"group":"etcd.database.coreos.com","kind":"EtcdCluster","type":"olm.gvk","version":"v1beta2"}` ,
194
+ },
195
+ },
184
196
ProvidedApis : []* api.GroupVersionKind {
185
197
{Group : "etcd.database.coreos.com" , Version : "v1beta2" , Kind : "EtcdCluster" , Plural : "etcdclusters" },
186
198
{Group : "etcd.database.coreos.com" , Version : "v1beta2" , Kind : "EtcdBackup" , Plural : "etcdbackups" },
@@ -264,6 +276,12 @@ func TestGetBundleThatReplaces(t *testing.T) {
264
276
"{\" apiVersion\" :\" apiextensions.k8s.io/v1beta1\" ,\" kind\" :\" CustomResourceDefinition\" ,\" metadata\" :{\" name\" :\" etcdrestores.etcd.database.coreos.com\" },\" spec\" :{\" group\" :\" etcd.database.coreos.com\" ,\" names\" :{\" kind\" :\" EtcdRestore\" ,\" listKind\" :\" EtcdRestoreList\" ,\" plural\" :\" etcdrestores\" ,\" singular\" :\" etcdrestore\" },\" scope\" :\" Namespaced\" ,\" version\" :\" v1beta2\" }}" ,
265
277
},
266
278
BundlePath : "" ,
279
+ Dependencies : []* api.Dependency {
280
+ {
281
+ Type : "olm.gvk" ,
282
+ Value : `{"group":"etcd.database.coreos.com","kind":"EtcdCluster","type":"olm.gvk","version":"v1beta2"}` ,
283
+ },
284
+ },
267
285
ProvidedApis : []* api.GroupVersionKind {
268
286
{Group : "etcd.database.coreos.com" , Version : "v1beta2" , Kind : "EtcdCluster" , Plural : "etcdclusters" },
269
287
{Group : "etcd.database.coreos.com" , Version : "v1beta2" , Kind : "EtcdBackup" , Plural : "etcdbackups" },
@@ -297,6 +315,12 @@ func TestGetBundleThatReplacesSynthetic(t *testing.T) {
297
315
"{\" apiVersion\" :\" apiextensions.k8s.io/v1beta1\" ,\" kind\" :\" CustomResourceDefinition\" ,\" metadata\" :{\" name\" :\" etcdrestores.etcd.database.coreos.com\" },\" spec\" :{\" group\" :\" etcd.database.coreos.com\" ,\" names\" :{\" kind\" :\" EtcdRestore\" ,\" listKind\" :\" EtcdRestoreList\" ,\" plural\" :\" etcdrestores\" ,\" singular\" :\" etcdrestore\" },\" scope\" :\" Namespaced\" ,\" version\" :\" v1beta2\" }}" ,
298
316
},
299
317
BundlePath : "" ,
318
+ Dependencies : []* api.Dependency {
319
+ {
320
+ Type : "olm.gvk" ,
321
+ Value : `{"group":"etcd.database.coreos.com","kind":"EtcdCluster","type":"olm.gvk","version":"v1beta2"}` ,
322
+ },
323
+ },
300
324
ProvidedApis : []* api.GroupVersionKind {
301
325
{Group : "etcd.database.coreos.com" , Version : "v1beta2" , Kind : "EtcdCluster" , Plural : "etcdclusters" },
302
326
{Group : "etcd.database.coreos.com" , Version : "v1beta2" , Kind : "EtcdBackup" , Plural : "etcdbackups" },
@@ -473,6 +497,12 @@ func TestGetDefaultBundleThatProvides(t *testing.T) {
473
497
"{\" apiVersion\" :\" apiextensions.k8s.io/v1beta1\" ,\" kind\" :\" CustomResourceDefinition\" ,\" metadata\" :{\" name\" :\" etcdrestores.etcd.database.coreos.com\" },\" spec\" :{\" group\" :\" etcd.database.coreos.com\" ,\" names\" :{\" kind\" :\" EtcdRestore\" ,\" listKind\" :\" EtcdRestoreList\" ,\" plural\" :\" etcdrestores\" ,\" singular\" :\" etcdrestore\" },\" scope\" :\" Namespaced\" ,\" version\" :\" v1beta2\" }}" ,
474
498
},
475
499
BundlePath : "" ,
500
+ Dependencies : []* api.Dependency {
501
+ {
502
+ Type : "olm.gvk" ,
503
+ Value : `{"group":"etcd.database.coreos.com","kind":"EtcdCluster","type":"olm.gvk","version":"v1beta2"}` ,
504
+ },
505
+ },
476
506
ProvidedApis : []* api.GroupVersionKind {
477
507
{Group : "etcd.database.coreos.com" , Version : "v1beta2" , Kind : "EtcdCluster" , Plural : "etcdclusters" },
478
508
{Group : "etcd.database.coreos.com" , Version : "v1beta2" , Kind : "EtcdBackup" , Plural : "etcdbackups" },
@@ -487,6 +517,41 @@ func TestGetDefaultBundleThatProvides(t *testing.T) {
487
517
EqualBundles (t , * expected , * bundle )
488
518
}
489
519
520
+ func TestListBundles (t * testing.T ) {
521
+ require := require .New (t )
522
+
523
+ c , conn := client (t )
524
+ defer conn .Close ()
525
+
526
+ stream , err := c .ListBundles (context .TODO (), & api.ListBundlesRequest {})
527
+ require .NoError (err )
528
+
529
+ expected := []string {
530
+ "etcdoperator.v0.6.1" ,
531
+ "strimzi-cluster-operator.v0.11.1" ,
532
+ "etcdoperator.v0.9.2" ,
533
+ "etcdoperator.v0.9.0" ,
534
+ "prometheusoperator.0.22.2" ,
535
+ "prometheusoperator.0.15.0" ,
536
+ "prometheusoperator.0.14.0" ,
537
+ "strimzi-cluster-operator.v0.11.0" ,
538
+ "strimzi-cluster-operator.v0.12.1" ,
539
+ "strimzi-cluster-operator.v0.12.2" ,
540
+ }
541
+
542
+ var names []string
543
+ for range expected {
544
+ bundle , err := stream .Recv ()
545
+ require .NoError (err )
546
+ names = append (names , bundle .CsvName )
547
+ }
548
+
549
+ _ , err = stream .Recv ()
550
+ require .Equal (io .EOF , err )
551
+
552
+ require .ElementsMatch (expected , names )
553
+ }
554
+
490
555
func EqualBundles (t * testing.T , expected , actual api.Bundle ) {
491
556
require .ElementsMatch (t , expected .ProvidedApis , actual .ProvidedApis )
492
557
require .ElementsMatch (t , expected .RequiredApis , actual .RequiredApis )
0 commit comments