From b9e3d460f09d2b34019a376e7fc20dbefefb7b8f Mon Sep 17 00:00:00 2001 From: Philip Laine Date: Wed, 19 Jun 2024 17:17:07 +0200 Subject: [PATCH] Extend tests for image --- CHANGELOG.md | 2 ++ pkg/oci/image_test.go | 14 ++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b82b639e..1892acdf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- [#518](https://github.com/spegel-org/spegel/pull/518) Extend tests for image. + ### Deprecated ### Removed diff --git a/pkg/oci/image_test.go b/pkg/oci/image_test.go index e88a1cd1..40f442a2 100644 --- a/pkg/oci/image_test.go +++ b/pkg/oci/image_test.go @@ -17,6 +17,7 @@ func TestParseImage(t *testing.T) { expectedRepository string expectedTag string expectedDigest digest.Digest + expectedIsLatest bool digestInImage bool }{ { @@ -26,6 +27,7 @@ func TestParseImage(t *testing.T) { expectedRepository: "library/ubuntu", expectedTag: "latest", expectedDigest: digest.Digest("sha256:c0669ef34cdc14332c0f1ab0c2c01acb91d96014b172f1a76f3a39e63d1f0bda"), + expectedIsLatest: true, }, { name: "Only tag", @@ -34,6 +36,7 @@ func TestParseImage(t *testing.T) { expectedRepository: "library/alpine", expectedTag: "3.18.0", expectedDigest: digest.Digest("sha256:c0669ef34cdc14332c0f1ab0c2c01acb91d96014b172f1a76f3a39e63d1f0bda"), + expectedIsLatest: false, }, { name: "Tag and digest", @@ -42,6 +45,7 @@ func TestParseImage(t *testing.T) { expectedRepository: "jetstack/cert-manager-controller", expectedTag: "3.18.0", expectedDigest: digest.Digest("sha256:c0669ef34cdc14332c0f1ab0c2c01acb91d96014b172f1a76f3a39e63d1f0bda"), + expectedIsLatest: false, }, { name: "Only digest", @@ -50,6 +54,7 @@ func TestParseImage(t *testing.T) { expectedRepository: "fluxcd/helm-controller", expectedTag: "", expectedDigest: digest.Digest("sha256:c0669ef34cdc14332c0f1ab0c2c01acb91d96014b172f1a76f3a39e63d1f0bda"), + expectedIsLatest: false, }, } registries := []string{"docker.io", "quay.io", "ghcr.com", "127.0.0.1"} @@ -69,6 +74,15 @@ func TestParseImage(t *testing.T) { require.Equal(t, tt.expectedRepository, img.Repository) require.Equal(t, tt.expectedTag, img.Tag) require.Equal(t, tt.expectedDigest, img.Digest) + require.Equal(t, tt.expectedIsLatest, img.IsLatestTag()) + tagName, ok := img.TagName() + if tt.expectedTag == "" { + require.False(t, ok) + require.Empty(t, tagName) + } else { + require.True(t, ok) + require.Equal(t, registry+"/"+tt.expectedRepository+":"+tt.expectedTag, tagName) + } } })