1
0
Fork 0
mirror of https://github.com/kyverno/kyverno.git synced 2025-03-10 09:56:55 +00:00
kyverno/pkg/imagedataloader/loader_test.go
Vishal Choudhary 7d8ed212a4
feat: create image data loader (#12036)
* feat: add image data loader to context

Signed-off-by: Vishal Choudhary <vishal.choudhary@nirmata.com>

* fix: build

Signed-off-by: Vishal Choudhary <vishal.choudhary@nirmata.com>

* fix: linter

Signed-off-by: Vishal Choudhary <vishal.choudhary@nirmata.com>

* feat: tests

Signed-off-by: Vishal Choudhary <vishal.choudhary@nirmata.com>

* fix: update types

Signed-off-by: Vishal Choudhary <vishal.choudhary@nirmata.com>

* feat: replace crane with remote

Signed-off-by: Vishal Choudhary <vishal.choudhary@nirmata.com>

* fix: linter

Signed-off-by: Vishal Choudhary <vishal.choudhary@nirmata.com>

* fix: linter

Signed-off-by: Vishal Choudhary <vishal.choudhary@nirmata.com>

---------

Signed-off-by: Vishal Choudhary <vishal.choudhary@nirmata.com>
Co-authored-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2025-02-03 13:42:40 +00:00

36 lines
1.1 KiB
Go

package imagedataloader
import (
"context"
"fmt"
"strings"
"testing"
"github.com/google/go-containerregistry/pkg/v1/types"
"github.com/stretchr/testify/assert"
)
func Test_ImageDataLoader(t *testing.T) {
idf, err := New(nil)
assert.NoError(t, err)
img, err := idf.FetchImageData(context.TODO(), "ghcr.io/kyverno/kyverno:latest")
assert.NoError(t, err)
assert.Equal(t, img.Image, "ghcr.io/kyverno/kyverno:latest")
assert.Equal(t, img.Registry, "ghcr.io")
assert.Equal(t, img.Repository, "kyverno/kyverno")
assert.Equal(t, img.Tag, "latest")
assert.True(t, strings.HasPrefix(img.Digest, "sha256:"))
assert.True(t, strings.HasPrefix(img.ResolvedImage, "ghcr.io/kyverno/kyverno:latest@sha256:"))
indexMediaType := img.ImageIndex.(map[string]interface{})["mediaType"].(string)
assert.Equal(t, indexMediaType, string(types.OCIImageIndex))
fmt.Println(img.ConfigData)
_, ok := img.ConfigData.(map[string]interface{})["architecture"]
assert.True(t, ok)
manifestMediaType := img.Manifest.(map[string]interface{})["mediaType"].(string)
assert.Equal(t, manifestMediaType, string(types.OCIManifestSchema1))
}