github.com/docker/docker-ce@v17.12.1-ce-rc2+incompatible/components/cli/e2e/trust/sign_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 localImage = "registry:5000/signlocal:v1" 15 signImage = "registry:5000/sign:v1" 16 ) 17 18 func TestSignLocalImage(t *testing.T) { 19 dir := fixtures.SetupConfigFile(t) 20 defer dir.Remove() 21 icmd.RunCmd(icmd.Command("docker", "pull", fixtures.AlpineImage)).Assert(t, icmd.Success) 22 icmd.RunCommand("docker", "tag", fixtures.AlpineImage, signImage).Assert(t, icmd.Success) 23 result := icmd.RunCmd( 24 icmd.Command("docker", "trust", "sign", signImage), 25 fixtures.WithPassphrase("root_password", "repo_password"), 26 fixtures.WithConfig(dir.Path()), fixtures.WithNotary) 27 result.Assert(t, icmd.Success) 28 assert.Contains(t, result.Stdout(), fmt.Sprintf("v1: digest: sha256:%s", fixtures.AlpineSha)) 29 30 } 31 32 func TestSignWithLocalFlag(t *testing.T) { 33 dir := fixtures.SetupConfigFile(t) 34 defer dir.Remove() 35 setupTrustedImageForOverwrite(t, dir) 36 result := icmd.RunCmd( 37 icmd.Command("docker", "trust", "sign", "--local", localImage), 38 fixtures.WithPassphrase("root_password", "repo_password"), 39 fixtures.WithConfig(dir.Path()), fixtures.WithNotary) 40 result.Assert(t, icmd.Success) 41 assert.Contains(t, result.Stdout(), fmt.Sprintf("v1: digest: sha256:%s", fixtures.BusyboxSha)) 42 } 43 44 func setupTrustedImageForOverwrite(t *testing.T, dir fs.Dir) { 45 icmd.RunCmd(icmd.Command("docker", "pull", fixtures.AlpineImage)).Assert(t, icmd.Success) 46 icmd.RunCommand("docker", "tag", fixtures.AlpineImage, localImage).Assert(t, icmd.Success) 47 result := icmd.RunCmd( 48 icmd.Command("docker", "-D", "trust", "sign", localImage), 49 fixtures.WithPassphrase("root_password", "repo_password"), 50 fixtures.WithConfig(dir.Path()), fixtures.WithNotary) 51 result.Assert(t, icmd.Success) 52 assert.Contains(t, result.Stdout(), fmt.Sprintf("v1: digest: sha256:%s", fixtures.AlpineSha)) 53 icmd.RunCmd(icmd.Command("docker", "pull", fixtures.BusyboxImage)).Assert(t, icmd.Success) 54 icmd.RunCommand("docker", "tag", fixtures.BusyboxImage, localImage).Assert(t, icmd.Success) 55 }