@@ -8,14 +8,15 @@ import (
88 "testing"
99
1010 "github.com/docker/attest/internal/test"
11+ "github.com/docker/attest/internal/util"
1112 "github.com/docker/attest/pkg/attest"
1213 "github.com/docker/attest/pkg/attestation"
1314 "github.com/docker/attest/pkg/config"
14- "github.com/docker/attest/pkg/mirror"
1515 "github.com/docker/attest/pkg/oci"
1616 "github.com/docker/attest/pkg/policy"
1717 "github.com/google/go-containerregistry/pkg/name"
1818 "github.com/google/go-containerregistry/pkg/registry"
19+ "github.com/google/go-containerregistry/pkg/v1/empty"
1920 "github.com/google/go-containerregistry/pkg/v1/remote"
2021 "github.com/stretchr/testify/assert"
2122 "github.com/stretchr/testify/require"
@@ -112,14 +113,14 @@ func TestAttestationReferenceTypes(t *testing.T) {
112113
113114 // push subject image so that it can be resolved
114115 require .NoError (t , err )
115- err = mirror .PushIndexToRegistry (attIdx .Index , indexName )
116+ err = oci .PushIndexToRegistry (attIdx .Index , indexName )
116117 require .NoError (t , err )
117118
118119 // upload referrers
119120 output , err := oci .ParseImageSpec (outputRepo )
120121 require .NoError (t , err )
121122 for _ , attIdx := range signedManifests {
122- err = mirror .SaveReferrers (attIdx , []* oci.ImageSpec {output })
123+ err = oci .SaveReferrers (attIdx , []* oci.ImageSpec {output })
123124 require .NoError (t , err )
124125 }
125126
@@ -216,7 +217,7 @@ func TestReferencesInDifferentRepo(t *testing.T) {
216217 require .NoError (t , err )
217218
218219 indexName := fmt .Sprintf ("%s/%s:latest" , serverURL .Host , repoName )
219- err = mirror .PushIndexToRegistry (attIdx .Index , indexName )
220+ err = oci .PushIndexToRegistry (attIdx .Index , indexName )
220221 require .NoError (t , err )
221222
222223 signedManifests , err := attest .SignStatements (ctx , attIdx .Index , signer , opts )
@@ -227,7 +228,7 @@ func TestReferencesInDifferentRepo(t *testing.T) {
227228 // push references using subject-digest.att convention
228229 image , err := signedManifest .BuildAttestationImage ()
229230 require .NoError (t , err )
230- err = mirror .PushImageToRegistry (image , fmt .Sprintf ("%s/%s:tag-does-not-matter" , refServerURL .Host , repoName ))
231+ err = oci .PushImageToRegistry (image , fmt .Sprintf ("%s/%s:tag-does-not-matter" , refServerURL .Host , repoName ))
231232 require .NoError (t , err )
232233
233234 refServer := tc .refServer
@@ -242,7 +243,7 @@ func TestReferencesInDifferentRepo(t *testing.T) {
242243 require .NoError (t , err )
243244
244245 indexName := fmt .Sprintf ("%s/%s:latest" , serverURL .Host , repoName )
245- err = mirror .PushIndexToRegistry (attIdx .Index , indexName )
246+ err = oci .PushIndexToRegistry (attIdx .Index , indexName )
246247 require .NoError (t , err )
247248
248249 signedManifests , err := attest .SignStatements (ctx , attIdx .Index , signer , opts )
@@ -254,7 +255,7 @@ func TestReferencesInDifferentRepo(t *testing.T) {
254255 imgs , err := mf .BuildReferringArtifacts ()
255256 require .NoError (t , err )
256257 for _ , img := range imgs {
257- err = mirror .PushImageToRegistry (img , fmt .Sprintf ("%s/%s:tag-does-not-matter" , refServerURL .Host , repoName ))
258+ err = oci .PushImageToRegistry (img , fmt .Sprintf ("%s/%s:tag-does-not-matter" , refServerURL .Host , repoName ))
258259 require .NoError (t , err )
259260 }
260261 }
@@ -297,7 +298,7 @@ func TestCorrectArtifactTypeInTagFallback(t *testing.T) {
297298 require .NoError (t , err )
298299
299300 indexName := fmt .Sprintf ("%s/%s:latest" , serverURL .Host , repoName )
300- err = mirror .PushIndexToRegistry (attIdx .Index , indexName )
301+ err = oci .PushIndexToRegistry (attIdx .Index , indexName )
301302 require .NoError (t , err )
302303
303304 signedManifests , err := attest .SignStatements (ctx , attIdx .Index , signer , opts )
@@ -308,7 +309,7 @@ func TestCorrectArtifactTypeInTagFallback(t *testing.T) {
308309 imgs , err := mf .BuildReferringArtifacts ()
309310 require .NoError (t , err )
310311 for _ , img := range imgs {
311- err = mirror .PushImageToRegistry (img , fmt .Sprintf ("%s/%s:tag-does-not-matter" , serverURL .Host , repoName ))
312+ err = oci .PushImageToRegistry (img , fmt .Sprintf ("%s/%s:tag-does-not-matter" , serverURL .Host , repoName ))
312313 require .NoError (t , err )
313314 mf , err := img .Manifest ()
314315 require .NoError (t , err )
@@ -326,3 +327,14 @@ func TestCorrectArtifactTypeInTagFallback(t *testing.T) {
326327 }
327328 }
328329}
330+
331+ func TestEmptyConfigImageDigest (t * testing.T ) {
332+ empty := empty .Image
333+ img := attestation.EmptyConfigImage {empty }
334+ mf , err := img .RawManifest ()
335+ require .NoError (t , err )
336+ hash := util .SHA256Hex (mf )
337+ digest , err := img .Digest ()
338+ require .NoError (t , err )
339+ assert .Equal (t , digest .Hex , hash )
340+ }
0 commit comments