github.com/mforkel/docker-ce-i386@v17.12.1-ce-rc2+incompatible/components/cli/e2e/trust/revoke_test.go (about) 1 package trust 2 3 import ( 4 "fmt" 5 "testing" 6 7 "github.com/docker/cli/e2e/internal/fixtures" 8 "github.com/gotestyourself/gotestyourself/fs" 9 "github.com/gotestyourself/gotestyourself/icmd" 10 "github.com/stretchr/testify/assert" 11 ) 12 13 const ( 14 revokeImage = "registry:5000/revoke:v1" 15 revokeRepo = "registry:5000/revokerepo" 16 ) 17 18 func TestRevokeImage(t *testing.T) { 19 dir := fixtures.SetupConfigFile(t) 20 defer dir.Remove() 21 setupTrustedImagesForRevoke(t, dir) 22 result := icmd.RunCmd( 23 icmd.Command("docker", "trust", "revoke", revokeImage), 24 fixtures.WithPassphrase("root_password", "repo_password"), 25 fixtures.WithNotary, fixtures.WithConfig(dir.Path())) 26 result.Assert(t, icmd.Success) 27 assert.Contains(t, result.Stdout(), "Successfully deleted signature for registry:5000/revoke:v1") 28 } 29 30 func TestRevokeRepo(t *testing.T) { 31 dir := fixtures.SetupConfigFile(t) 32 defer dir.Remove() 33 setupTrustedImagesForRevokeRepo(t, dir) 34 result := icmd.RunCmd( 35 icmd.Command("docker", "trust", "revoke", revokeRepo, "-y"), 36 fixtures.WithPassphrase("root_password", "repo_password"), 37 fixtures.WithNotary, fixtures.WithConfig(dir.Path())) 38 result.Assert(t, icmd.Success) 39 assert.Contains(t, result.Stdout(), "Successfully deleted signature for registry:5000/revoke") 40 } 41 42 func setupTrustedImagesForRevoke(t *testing.T, dir fs.Dir) { 43 icmd.RunCmd(icmd.Command("docker", "pull", fixtures.AlpineImage)).Assert(t, icmd.Success) 44 icmd.RunCommand("docker", "tag", fixtures.AlpineImage, revokeImage).Assert(t, icmd.Success) 45 icmd.RunCmd( 46 icmd.Command("docker", "-D", "trust", "sign", revokeImage), 47 fixtures.WithPassphrase("root_password", "repo_password"), 48 fixtures.WithConfig(dir.Path()), fixtures.WithNotary).Assert(t, icmd.Success) 49 } 50 51 func setupTrustedImagesForRevokeRepo(t *testing.T, dir fs.Dir) { 52 icmd.RunCmd(icmd.Command("docker", "pull", fixtures.AlpineImage)).Assert(t, icmd.Success) 53 icmd.RunCommand("docker", "tag", fixtures.AlpineImage, fmt.Sprintf("%s:v1", revokeRepo)).Assert(t, icmd.Success) 54 icmd.RunCmd( 55 icmd.Command("docker", "-D", "trust", "sign", fmt.Sprintf("%s:v1", revokeRepo)), 56 fixtures.WithPassphrase("root_password", "repo_password"), 57 fixtures.WithConfig(dir.Path()), fixtures.WithNotary).Assert(t, icmd.Success) 58 icmd.RunCmd(icmd.Command("docker", "pull", fixtures.BusyboxImage)).Assert(t, icmd.Success) 59 icmd.RunCommand("docker", "tag", fixtures.BusyboxImage, fmt.Sprintf("%s:v2", revokeRepo)).Assert(t, icmd.Success) 60 icmd.RunCmd( 61 icmd.Command("docker", "-D", "trust", "sign", fmt.Sprintf("%s:v2", revokeRepo)), 62 fixtures.WithPassphrase("root_password", "repo_password"), 63 fixtures.WithConfig(dir.Path()), fixtures.WithNotary).Assert(t, icmd.Success) 64 }