@@ -269,7 +269,7 @@ func TestRemove(t *testing.T) {
269269 }
270270
271271 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 )
273273 assert .Equal (t , err .Error (), "no such image my-repo/some-bundle:1.0.0" )
274274 })
275275
@@ -278,15 +278,15 @@ func TestRemove(t *testing.T) {
278278 assert .NilError (t , err )
279279 assert .Equal (t , len (bundles ), 2 )
280280
281- err = bundleStore .Remove (refs [0 ])
281+ err = bundleStore .Remove (refs [0 ], false )
282282
283283 // Once removed there should be none left
284284 assert .NilError (t , err )
285285 bundles , err = bundleStore .List ()
286286 assert .NilError (t , err )
287287 assert .Equal (t , len (bundles ), 1 )
288288
289- err = bundleStore .Remove (refs [1 ])
289+ err = bundleStore .Remove (refs [1 ], false )
290290 assert .NilError (t , err )
291291
292292 bundles , err = bundleStore .List ()
@@ -307,7 +307,7 @@ func TestRemoveById(t *testing.T) {
307307 idRef , err := FromBundle (relocated .FromBundle (& bundle.Bundle {Name : "not-stored-bundle-name" }))
308308 assert .NilError (t , err )
309309
310- err = bundleStore .Remove (idRef )
310+ err = bundleStore .Remove (idRef , false )
311311 assert .Equal (t , err .Error (), fmt .Sprintf ("no such image %q" , reference .FamiliarString (idRef )))
312312 })
313313
@@ -320,10 +320,23 @@ func TestRemoveById(t *testing.T) {
320320 _ , err = bundleStore .Store (parseRefOrDie (t , "my-repo/a-bundle:my-tag" ), bndl )
321321 assert .NilError (t , err )
322322
323- err = bundleStore .Remove (idRef )
323+ err = bundleStore .Remove (idRef , false )
324324 assert .Equal (t , err .Error (), fmt .Sprintf ("unable to delete %q - App is referenced in multiple repositories" , reference .FamiliarString (idRef )))
325325 })
326326
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+
327340 t .Run ("success when only one reference exists" , func (t * testing.T ) {
328341 bndl := relocated .FromBundle (& bundle.Bundle {Name : "other-bundle-name" })
329342 ref := parseRefOrDie (t , "my-repo/other-bundle:my-tag" )
@@ -332,7 +345,7 @@ func TestRemoveById(t *testing.T) {
332345 idRef , err := FromBundle (bndl )
333346 assert .NilError (t , err )
334347
335- err = bundleStore .Remove (idRef )
348+ err = bundleStore .Remove (idRef , false )
336349 assert .NilError (t , err )
337350 bundles , err := bundleStore .List ()
338351 assert .NilError (t , err )
0 commit comments