github.1git.de/docker/cli@v26.1.3+incompatible/cli/command/manifest/rm_test.go (about) 1 package manifest 2 3 import ( 4 "io" 5 "testing" 6 7 "github.com/docker/cli/cli/manifest/store" 8 "github.com/docker/cli/internal/test" 9 "gotest.tools/v3/assert" 10 ) 11 12 // create two manifest lists and remove them both 13 func TestRmSeveralManifests(t *testing.T) { 14 manifestStore := store.NewStore(t.TempDir()) 15 16 cli := test.NewFakeCli(nil) 17 cli.SetManifestStore(manifestStore) 18 19 list1 := ref(t, "first:1") 20 namedRef := ref(t, "alpine:3.0") 21 err := manifestStore.Save(list1, namedRef, fullImageManifest(t, namedRef)) 22 assert.NilError(t, err) 23 namedRef = ref(t, "alpine:3.1") 24 err = manifestStore.Save(list1, namedRef, fullImageManifest(t, namedRef)) 25 assert.NilError(t, err) 26 27 list2 := ref(t, "second:2") 28 namedRef = ref(t, "alpine:3.2") 29 err = manifestStore.Save(list2, namedRef, fullImageManifest(t, namedRef)) 30 assert.NilError(t, err) 31 32 cmd := newRmManifestListCommand(cli) 33 cmd.SetArgs([]string{"example.com/first:1", "example.com/second:2"}) 34 cmd.SetOut(io.Discard) 35 err = cmd.Execute() 36 assert.NilError(t, err) 37 38 _, search1 := cli.ManifestStore().GetList(list1) 39 _, search2 := cli.ManifestStore().GetList(list2) 40 assert.Error(t, search1, "No such manifest: example.com/first:1") 41 assert.Error(t, search2, "No such manifest: example.com/second:2") 42 } 43 44 // attempt to remove a manifest list which was never created 45 func TestRmManifestNotCreated(t *testing.T) { 46 manifestStore := store.NewStore(t.TempDir()) 47 48 cli := test.NewFakeCli(nil) 49 cli.SetManifestStore(manifestStore) 50 51 list2 := ref(t, "second:2") 52 namedRef := ref(t, "alpine:3.2") 53 err := manifestStore.Save(list2, namedRef, fullImageManifest(t, namedRef)) 54 assert.NilError(t, err) 55 56 cmd := newRmManifestListCommand(cli) 57 cmd.SetArgs([]string{"example.com/first:1", "example.com/second:2"}) 58 cmd.SetOut(io.Discard) 59 err = cmd.Execute() 60 assert.Error(t, err, "No such manifest: example.com/first:1") 61 62 _, err = cli.ManifestStore().GetList(list2) 63 assert.Error(t, err, "No such manifest: example.com/second:2") 64 }