Skip to content

Commit c844035

Browse files
committed
Draft: Deprecated inner channel entries cause resolution error.
Signed-off-by: Ben Luddy <[email protected]>
1 parent 6e2db16 commit c844035

File tree

1 file changed

+56
-0
lines changed

1 file changed

+56
-0
lines changed

pkg/controller/registry/resolver/resolver_test.go

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1362,6 +1362,62 @@ func TestSolveOperators_WithoutDeprecated(t *testing.T) {
13621362
assert.IsType(t, solver.NotSatisfiable{}, err)
13631363
}
13641364

1365+
func TestSolveOperatorsWithDeprecatedInnerChannelEntry(t *testing.T) {
1366+
catalog := registry.CatalogKey{Name: "catalog", Namespace: "namespace"}
1367+
1368+
subs := []*v1alpha1.Subscription{
1369+
newSub(catalog.Namespace, "a", "c", catalog),
1370+
}
1371+
logger, _ := test.NewNullLogger()
1372+
resolver := SatResolver{
1373+
cache: getFakeOperatorCache(NamespacedOperatorCache{
1374+
snapshots: map[registry.CatalogKey]*CatalogSnapshot{
1375+
catalog: {
1376+
key: catalog,
1377+
operators: []*Operator{
1378+
genOperator("a-1", "1.0.0", "", "a", "c", catalog.Name, catalog.Namespace, nil, nil, nil, "", false),
1379+
genOperator("a-2", "2.0.0", "a-1", "a", "c", catalog.Name, catalog.Namespace, nil, nil, nil, "", true),
1380+
genOperator("a-3", "3.0.0", "a-2", "a", "c", catalog.Name, catalog.Namespace, nil, nil, nil, "", false),
1381+
},
1382+
},
1383+
},
1384+
}),
1385+
log: logger,
1386+
}
1387+
1388+
operators, err := resolver.SolveOperators([]string{catalog.Namespace}, nil, subs)
1389+
assert.NoError(t, err)
1390+
assert.Len(t, operators, 1)
1391+
assert.Contains(t, operators, "a-3")
1392+
}
1393+
1394+
func TestSolveOperatorsWithDeprecatedStartingCSV(t *testing.T) {
1395+
catalog := registry.CatalogKey{Name: "catalog", Namespace: "namespace"}
1396+
1397+
subs := []*v1alpha1.Subscription{
1398+
newSub(catalog.Namespace, "a", "c", catalog, withStartingCSV("a-1")),
1399+
}
1400+
logger, _ := test.NewNullLogger()
1401+
resolver := SatResolver{
1402+
cache: getFakeOperatorCache(NamespacedOperatorCache{
1403+
snapshots: map[registry.CatalogKey]*CatalogSnapshot{
1404+
catalog: {
1405+
key: catalog,
1406+
operators: []*Operator{
1407+
genOperator("a-1", "1.0.0", "", "a", "c", catalog.Name, catalog.Namespace, nil, nil, nil, "", true),
1408+
},
1409+
},
1410+
},
1411+
}),
1412+
log: logger,
1413+
}
1414+
1415+
operators, err := resolver.SolveOperators([]string{catalog.Namespace}, nil, subs)
1416+
assert.NoError(t, err)
1417+
assert.Len(t, operators, 1)
1418+
assert.Contains(t, operators, "a-1")
1419+
}
1420+
13651421
func TestSolveOperators_WithSkipsAndStartingCSV(t *testing.T) {
13661422
APISet := APISet{opregistry.APIKey{"g", "v", "k", "ks"}: struct{}{}}
13671423
Provides := APISet

0 commit comments

Comments
 (0)