Display image size for multiarch container images (#23821)

Fixes #23771

Changes the display of different architectures for multiarch images to
show the image size:

![grafik](https://user-images.githubusercontent.com/1666336/228781477-cc76c4d1-4728-434f-8a27-fc008790d924.png)
This commit is contained in:
KN4CK3R 2023-04-02 11:53:37 +02:00 committed by GitHub
parent f5593d08dc
commit fbd4eaceed
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 198 additions and 22 deletions

View file

@ -321,7 +321,7 @@ func TestPackageContainer(t *testing.T) {
metadata := pd.Metadata.(*container_module.Metadata)
assert.Equal(t, container_module.TypeOCI, metadata.Type)
assert.Len(t, metadata.ImageLayers, 2)
assert.Empty(t, metadata.MultiArch)
assert.Empty(t, metadata.Manifests)
assert.Len(t, pd.Files, 3)
for _, pfd := range pd.Files {
@ -462,10 +462,22 @@ func TestPackageContainer(t *testing.T) {
assert.IsType(t, &container_module.Metadata{}, pd.Metadata)
metadata := pd.Metadata.(*container_module.Metadata)
assert.Equal(t, container_module.TypeOCI, metadata.Type)
assert.Contains(t, metadata.MultiArch, "linux/arm/v7")
assert.Equal(t, manifestDigest, metadata.MultiArch["linux/arm/v7"])
assert.Contains(t, metadata.MultiArch, "linux/arm64/v8")
assert.Equal(t, untaggedManifestDigest, metadata.MultiArch["linux/arm64/v8"])
assert.Len(t, metadata.Manifests, 2)
assert.Condition(t, func() bool {
for _, m := range metadata.Manifests {
switch m.Platform {
case "linux/arm/v7":
assert.Equal(t, manifestDigest, m.Digest)
assert.EqualValues(t, 1524, m.Size)
case "linux/arm64/v8":
assert.Equal(t, untaggedManifestDigest, m.Digest)
assert.EqualValues(t, 1514, m.Size)
default:
return false
}
}
return true
})
assert.Len(t, pd.Files, 1)
assert.True(t, pd.Files[0].File.IsLead)