@@ -1354,14 +1354,14 @@ func TestSolveOperators_WithoutDeprecated(t *testing.T) {
1354
1354
assert .IsType (t , solver.NotSatisfiable {}, err )
1355
1355
}
1356
1356
1357
- func TestSolveOperators_WithSkips (t * testing.T ) {
1357
+ func TestSolveOperators_WithSkipsAndStartingCSV (t * testing.T ) {
1358
1358
APISet := APISet {opregistry.APIKey {"g" , "v" , "k" , "ks" }: struct {}{}}
1359
1359
Provides := APISet
1360
1360
1361
1361
namespace := "olm"
1362
1362
catalog := registry.CatalogKey {"community" , namespace }
1363
1363
1364
- newSub := newSub (namespace , "packageB" , "alpha" , catalog )
1364
+ newSub := newSub (namespace , "packageB" , "alpha" , catalog , withStartingCSV ( "packageB.v1" ) )
1365
1365
subs := []* v1alpha1.Subscription {newSub }
1366
1366
1367
1367
opToAddVersionDeps := []* api.Dependency {
@@ -1372,6 +1372,8 @@ func TestSolveOperators_WithSkips(t *testing.T) {
1372
1372
}
1373
1373
1374
1374
opB := genOperator ("packageB.v1" , "1.0.0" , "" , "packageB" , "alpha" , "community" , "olm" , nil , nil , opToAddVersionDeps , "" , false )
1375
+ opB2 := genOperator ("packageB.v2" , "2.0.0" , "" , "packageB" , "alpha" , "community" , "olm" , nil , nil , opToAddVersionDeps , "" , false )
1376
+ opB2 .skips = []string {"packageB.v1" }
1375
1377
op1 := genOperator ("packageA.v1" , "1.0.0" , "" , "packageA" , "alpha" , "community" , "olm" , nil , Provides , nil , "" , false )
1376
1378
op2 := genOperator ("packageA.v2" , "2.0.0" , "packageA.v1" , "packageA" , "alpha" , "community" , "olm" , nil , Provides , nil , "" , false )
1377
1379
op3 := genOperator ("packageA.v3" , "3.0.0" , "packageA.v2" , "packageA" , "alpha" , "community" , "olm" , nil , Provides , nil , "" , false )
@@ -1392,7 +1394,7 @@ func TestSolveOperators_WithSkips(t *testing.T) {
1392
1394
Name : "community" ,
1393
1395
},
1394
1396
operators : []* Operator {
1395
- opB , op1 , op2 , op3 , op4 , op5 , op6 ,
1397
+ opB , opB2 , op1 , op2 , op3 , op4 , op5 , op6 ,
1396
1398
},
1397
1399
},
1398
1400
},
@@ -1404,10 +1406,50 @@ func TestSolveOperators_WithSkips(t *testing.T) {
1404
1406
1405
1407
operators , err := satResolver .SolveOperators ([]string {"olm" }, nil , subs )
1406
1408
assert .NoError (t , err )
1409
+ opB .SourceInfo ().StartingCSV = "packageB.v1"
1410
+ expected := OperatorSet {
1411
+ "packageB.v1" : opB ,
1412
+ "packageA.v6" : op6 ,
1413
+ }
1414
+ require .EqualValues (t , expected , operators )
1415
+ }
1416
+
1417
+ func TestSolveOperators_WithSkips (t * testing.T ) {
1418
+ namespace := "olm"
1419
+ catalog := registry.CatalogKey {"community" , namespace }
1407
1420
1421
+ newSub := newSub (namespace , "packageB" , "alpha" , catalog )
1422
+ subs := []* v1alpha1.Subscription {newSub }
1423
+
1424
+ opB := genOperator ("packageB.v1" , "1.0.0" , "" , "packageB" , "alpha" , "community" , "olm" , nil , nil , nil , "" , false )
1425
+ opB2 := genOperator ("packageB.v2" , "2.0.0" , "" , "packageB" , "alpha" , "community" , "olm" , nil , nil , nil , "" , false )
1426
+ opB2 .skips = []string {"packageB.v1" }
1427
+
1428
+ fakeNamespacedOperatorCache := NamespacedOperatorCache {
1429
+ snapshots : map [registry.CatalogKey ]* CatalogSnapshot {
1430
+ registry.CatalogKey {
1431
+ Namespace : "olm" ,
1432
+ Name : "community" ,
1433
+ }: {
1434
+ key : registry.CatalogKey {
1435
+ Namespace : "olm" ,
1436
+ Name : "community" ,
1437
+ },
1438
+ operators : []* Operator {
1439
+ opB , opB2 ,
1440
+ },
1441
+ },
1442
+ },
1443
+ }
1444
+ satResolver := SatResolver {
1445
+ cache : getFakeOperatorCache (fakeNamespacedOperatorCache ),
1446
+ log : logrus .New (),
1447
+ }
1448
+
1449
+ operators , err := satResolver .SolveOperators ([]string {"olm" }, nil , subs )
1450
+ assert .NoError (t , err )
1408
1451
expected := OperatorSet {
1409
- "packageB.v1" : genOperator ("packageB.v1" , "1.0.0" , "" , "packageB" , "alpha" , "community" , "olm" , nil , nil , opToAddVersionDeps , "" , false ),
1410
- "packageA.v6" : genOperator ("packageA.v6" , "6.0.0" , "packageA.v5" , "packageA" , "alpha" , "community" , "olm" , nil , Provides , nil , "" , false ),
1452
+ "packageB.v2" : opB2 ,
1411
1453
}
1412
1454
require .EqualValues (t , expected , operators )
1413
1455
}
0 commit comments