diff --git a/pkg/formatter/formatter.go b/pkg/formatter/formatter.go index 1ffca2f7..5678a91d 100644 --- a/pkg/formatter/formatter.go +++ b/pkg/formatter/formatter.go @@ -34,7 +34,8 @@ func SmallSHA(hash string) string { return hash[:8] } -// RemoveSha remove image sha from a string that are added in some docker outputs +// RemoveSha remove image sha (digest suffix) from a string that are added in some docker outputs +// e.g., "image:tag@sha256:..." -> "image:tag" func RemoveSha(str string) string { return strings.Split(str, "@")[0] } diff --git a/pkg/formatter/formatter_test.go b/pkg/formatter/formatter_test.go index a3fe8a9d..5aa7829c 100644 --- a/pkg/formatter/formatter_test.go +++ b/pkg/formatter/formatter_test.go @@ -6,6 +6,13 @@ import ( "github.com/stretchr/testify/assert" ) +func TestRemoveSha(t *testing.T) { + assert.Equal(t, "ubuntu:latest", RemoveSha("ubuntu:latest@sha256:1234567890abcdef")) + assert.Equal(t, "ubuntu:latest", RemoveSha("ubuntu:latest")) + assert.Equal(t, "my-repo/my-image:v1", RemoveSha("my-repo/my-image:v1@sha256:abcdef1234567890")) + assert.Equal(t, "my-repo/my-image", RemoveSha("my-repo/my-image@sha256:abcdef1234567890")) +} + func TestBoldDirtyDefault(t *testing.T) { assert.Equal(t, "foo", BoldDirtyDefault("foo")) }