0
Fork 0
mirror of https://github.com/project-zot/zot.git synced 2024-12-16 21:56:37 -05:00
zot/pkg/meta/convert/convert_test.go
Andrei Aaron ce4924f841
refactor: rename go module from zotregistry.io/zot to zotregistry.dev/zot (#2187)
Signed-off-by: Andrei Aaron <aaaron@luxoft.com>
2024-01-31 20:34:07 -08:00

101 lines
3.2 KiB
Go

package convert_test
import (
"testing"
"time"
ispec "github.com/opencontainers/image-spec/specs-go/v1"
. "github.com/smartystreets/goconvey/convey"
"zotregistry.dev/zot/pkg/meta/convert"
"zotregistry.dev/zot/pkg/meta/proto/gen"
)
func TestConvertErrors(t *testing.T) {
Convey("Errors", t, func() {
Convey("GetImageArtifactType", func() {
str := convert.GetImageArtifactType(&gen.ImageMeta{MediaType: "bad-media-type"})
So(str, ShouldResemble, "")
})
Convey("GetImageManifestSize", func() {
size := convert.GetImageManifestSize(&gen.ImageMeta{MediaType: "bad-media-type"})
So(size, ShouldEqual, 0)
})
Convey("GetImageDigest", func() {
dig := convert.GetImageDigest(&gen.ImageMeta{MediaType: "bad-media-type"})
So(dig.String(), ShouldResemble, "")
})
Convey("GetImageDigestStr", func() {
digStr := convert.GetImageDigestStr(&gen.ImageMeta{MediaType: "bad-media-type"})
So(digStr, ShouldResemble, "")
})
Convey("GetImageAnnotations", func() {
annot := convert.GetImageAnnotations(&gen.ImageMeta{MediaType: "bad-media-type"})
So(annot, ShouldBeEmpty)
})
Convey("GetImageSubject", func() {
subjs := convert.GetImageSubject(&gen.ImageMeta{MediaType: "bad-media-type"})
So(subjs, ShouldBeNil)
})
Convey("GetDescriptorRef", func() {
ref := convert.GetDescriptorRef(nil)
So(ref, ShouldBeNil)
})
Convey("GetPlatform", func() {
platf := convert.GetPlatform(nil)
So(platf, ShouldEqual, ispec.Platform{})
})
Convey("GetPlatformRef", func() {
platf := convert.GetPlatform(&gen.Platform{Architecture: "arch"})
So(platf.Architecture, ShouldResemble, "arch")
})
Convey("GetImageReferrers", func() {
ref := convert.GetImageReferrers(nil)
So(ref, ShouldNotBeNil)
})
Convey("GetImageSignatures", func() {
sigs := convert.GetImageSignatures(nil)
So(sigs, ShouldNotBeNil)
})
Convey("GetImageStatistics", func() {
sigs := convert.GetImageStatistics(nil)
So(sigs, ShouldNotBeNil)
})
Convey("GetFullImageMetaFromProto", func() {
imageMeta := convert.GetFullImageMetaFromProto("tag", nil, nil)
So(imageMeta.Digest.String(), ShouldResemble, "")
})
Convey("GetFullManifestData", func() {
imageMeta := convert.GetFullManifestData(nil, nil)
So(len(imageMeta), ShouldEqual, 0)
})
})
}
func TestGetProtoEarlierUpdatedImage(t *testing.T) {
Convey("GetProtoEarlierUpdatedImage with nil params", t, func() {
// repoLastImage is nil
lastImage := gen.RepoLastUpdatedImage{}
repoLastUpdatedImage := convert.GetProtoEarlierUpdatedImage(nil, &lastImage)
So(repoLastUpdatedImage, ShouldNotBeNil)
So(repoLastUpdatedImage.LastUpdated, ShouldBeNil)
// lastImage is nil
repoLastImage := gen.RepoLastUpdatedImage{}
repoLastUpdatedImage = convert.GetProtoEarlierUpdatedImage(&repoLastImage, nil)
So(repoLastUpdatedImage, ShouldNotBeNil)
So(repoLastUpdatedImage.LastUpdated, ShouldBeNil)
// lastImage.LastUpdated is not nil, but repoLastImage.LastUpdated is nil
lastUpdated := time.Time{}
lastImage = gen.RepoLastUpdatedImage{
LastUpdated: convert.GetProtoTime(&lastUpdated),
}
repoLastUpdatedImage = convert.GetProtoEarlierUpdatedImage(&repoLastImage, &lastImage)
So(repoLastUpdatedImage, ShouldNotBeNil)
So(repoLastUpdatedImage.LastUpdated, ShouldNotBeNil)
})
}