@@ -269,7 +269,7 @@ func TestRemove(t *testing.T) {
269
269
}
270
270
271
271
t .Run ("error on unknown" , func (t * testing.T ) {
272
- err := bundleStore .Remove (parseRefOrDie (t , "my-repo/some-bundle:1.0.0" ))
272
+ err := bundleStore .Remove (parseRefOrDie (t , "my-repo/some-bundle:1.0.0" ), false )
273
273
assert .Equal (t , err .Error (), "no such image my-repo/some-bundle:1.0.0" )
274
274
})
275
275
@@ -278,15 +278,15 @@ func TestRemove(t *testing.T) {
278
278
assert .NilError (t , err )
279
279
assert .Equal (t , len (bundles ), 2 )
280
280
281
- err = bundleStore .Remove (refs [0 ])
281
+ err = bundleStore .Remove (refs [0 ], false )
282
282
283
283
// Once removed there should be none left
284
284
assert .NilError (t , err )
285
285
bundles , err = bundleStore .List ()
286
286
assert .NilError (t , err )
287
287
assert .Equal (t , len (bundles ), 1 )
288
288
289
- err = bundleStore .Remove (refs [1 ])
289
+ err = bundleStore .Remove (refs [1 ], false )
290
290
assert .NilError (t , err )
291
291
292
292
bundles , err = bundleStore .List ()
@@ -307,7 +307,7 @@ func TestRemoveById(t *testing.T) {
307
307
idRef , err := FromBundle (relocated .FromBundle (& bundle.Bundle {Name : "not-stored-bundle-name" }))
308
308
assert .NilError (t , err )
309
309
310
- err = bundleStore .Remove (idRef )
310
+ err = bundleStore .Remove (idRef , false )
311
311
assert .Equal (t , err .Error (), fmt .Sprintf ("no such image %q" , reference .FamiliarString (idRef )))
312
312
})
313
313
@@ -320,10 +320,23 @@ func TestRemoveById(t *testing.T) {
320
320
_ , err = bundleStore .Store (parseRefOrDie (t , "my-repo/a-bundle:my-tag" ), bndl )
321
321
assert .NilError (t , err )
322
322
323
- err = bundleStore .Remove (idRef )
323
+ err = bundleStore .Remove (idRef , false )
324
324
assert .Equal (t , err .Error (), fmt .Sprintf ("unable to delete %q - App is referenced in multiple repositories" , reference .FamiliarString (idRef )))
325
325
})
326
326
327
+ t .Run ("success on multiple repositories but force" , func (t * testing.T ) {
328
+ bndl := relocated .FromBundle (& bundle.Bundle {Name : "bundle-name" })
329
+ idRef , err := FromBundle (bndl )
330
+ assert .NilError (t , err )
331
+ _ , err = bundleStore .Store (idRef , bndl )
332
+ assert .NilError (t , err )
333
+ _ , err = bundleStore .Store (parseRefOrDie (t , "my-repo/a-bundle:my-tag" ), bndl )
334
+ assert .NilError (t , err )
335
+
336
+ err = bundleStore .Remove (idRef , true )
337
+ assert .NilError (t , err )
338
+ })
339
+
327
340
t .Run ("success when only one reference exists" , func (t * testing.T ) {
328
341
bndl := relocated .FromBundle (& bundle.Bundle {Name : "other-bundle-name" })
329
342
ref := parseRefOrDie (t , "my-repo/other-bundle:my-tag" )
@@ -332,7 +345,7 @@ func TestRemoveById(t *testing.T) {
332
345
idRef , err := FromBundle (bndl )
333
346
assert .NilError (t , err )
334
347
335
- err = bundleStore .Remove (idRef )
348
+ err = bundleStore .Remove (idRef , false )
336
349
assert .NilError (t , err )
337
350
bundles , err := bundleStore .List ()
338
351
assert .NilError (t , err )
0 commit comments