@@ -104,7 +104,7 @@ func TestPublishError(t *testing.T) {
104104
105105 for _ , tc := range tt {
106106 t .Run (tc .name , func (t * testing.T ) {
107- err := PublishPackage (context .Background (), tc .packageLayout , tc .ref , tc .opts )
107+ _ , err := PublishPackage (context .Background (), tc .packageLayout , tc .ref , tc .opts )
108108 require .ErrorContains (t , err , tc .expectErr .Error ())
109109 })
110110 }
@@ -191,7 +191,7 @@ func TestPublishSkeleton(t *testing.T) {
191191 registryRef := createRegistry (ctx , t )
192192
193193 // Publish test package
194- err := PublishSkeleton (ctx , tc .path , registryRef , tc .opts )
194+ ref , err := PublishSkeleton (ctx , tc .path , registryRef , tc .opts )
195195 require .NoError (t , err )
196196
197197 // Read and unmarshall expected
@@ -203,10 +203,7 @@ func TestPublishSkeleton(t *testing.T) {
203203 // This verifies that publish deletes the manifest that is auto created by oras
204204 require .NoFileExists (t , expectedPkg .Metadata .Name )
205205
206- // Format url and instantiate remote
207- ref , err := zoci .ReferenceFromMetadata (registryRef .String (), expectedPkg )
208- require .NoError (t , err )
209- rmt , err := zoci .NewRemote (ctx , ref , zoci .PlatformForSkeleton (), oci .WithPlainHTTP (true ))
206+ rmt , err := zoci .NewRemote (ctx , ref .String (), zoci .PlatformForSkeleton (), oci .WithPlainHTTP (true ))
210207 require .NoError (t , err )
211208
212209 // Fetch from remote and compare
@@ -261,14 +258,10 @@ func TestPublishPackage(t *testing.T) {
261258 require .NoError (t , err )
262259
263260 // Publish test package
264- err = PublishPackage (ctx , layoutExpected , registryRef , tc .opts )
265- require .NoError (t , err )
266-
267- // Format url and instantiate remote
268- packageRef , err := zoci .ReferenceFromMetadata (registryRef .String (), layoutExpected .Pkg )
261+ packageRef , err := PublishPackage (ctx , layoutExpected , registryRef , tc .opts )
269262 require .NoError (t , err )
270263
271- layoutActual := pullFromRemote (ctx , t , packageRef , "amd64" , tc .publicKeyPath , t .TempDir ())
264+ layoutActual := pullFromRemote (ctx , t , packageRef . String () , "amd64" , tc .publicKeyPath , t .TempDir ())
272265 require .Equal (t , layoutExpected .Pkg , layoutActual .Pkg , "Uploaded package is not identical to downloaded package" )
273266 if tc .opts .SigningKeyPath != "" {
274267 require .FileExists (t , filepath .Join (layoutActual .DirPath (), layout .Signature ))
@@ -302,23 +295,19 @@ func TestPublishPackageDeterministic(t *testing.T) {
302295 require .NoError (t , err )
303296
304297 // Publish test package
305- err = PublishPackage (ctx , layoutExpected , registryRef , tc .opts )
306- require .NoError (t , err )
307-
308- // Format url and instantiate remote
309- packageRef , err := zoci .ReferenceFromMetadata (registryRef .String (), layoutExpected .Pkg )
298+ packageRef , err := PublishPackage (ctx , layoutExpected , registryRef , tc .opts )
310299 require .NoError (t , err )
311300
312301 // Attempt to get the digest
313302 platform := oci .PlatformForArch (layoutExpected .Pkg .Build .Architecture )
314- remote , err := zoci .NewRemote (ctx , packageRef , platform , oci .WithPlainHTTP (tc .opts .PlainHTTP ))
303+ remote , err := zoci .NewRemote (ctx , packageRef . String () , platform , oci .WithPlainHTTP (tc .opts .PlainHTTP ))
315304 require .NoError (t , err )
316305 desc , err := remote .ResolveRoot (ctx )
317306 require .NoError (t , err )
318307 expectedDigest := desc .Digest .String ()
319308
320309 // Re-publish the package to ensure the digest does not change
321- err = PublishPackage (ctx , layoutExpected , registryRef , tc .opts )
310+ _ , err = PublishPackage (ctx , layoutExpected , registryRef , tc .opts )
322311 require .NoError (t , err )
323312 // Publish creates a local oci manifest file using the package name, which gets deleted
324313 require .NoFileExists (t , layoutExpected .Pkg .Metadata .Name )
@@ -357,21 +346,19 @@ func TestPublishCopySHA(t *testing.T) {
357346 require .NoError (t , err )
358347
359348 // Publish test package
360- err = PublishPackage (ctx , layoutExpected , registryRef , tc .opts )
349+ srcRef , err : = PublishPackage (ctx , layoutExpected , registryRef , tc .opts )
361350 require .NoError (t , err )
362351
363352 // Setup destination registry
364353 dstRegistryRef := createRegistry (ctx , t )
365354
366355 // This gets the test package digest from the first package publish
367356 localRepo := & remote.Repository {PlainHTTP : true }
368- ociSrc := fmt . Sprintf ( "%s/%s" , registryRef . String (), "test:0.0.1" )
369- localRepo . Reference , err = registry . ParseReference ( ociSrc )
357+ localRepo . Reference = srcRef
358+ indexDesc , err := oras . Resolve ( ctx , localRepo , srcRef . String (), oras. ResolveOptions {} )
370359 require .NoError (t , err )
371- indexDesc , err := oras .Resolve (ctx , localRepo , ociSrc , oras.ResolveOptions {})
372- require .NoError (t , err )
373- src := fmt .Sprintf ("%s/%s@%s" , registryRef .String (), "test:0.0.1" , indexDesc .Digest )
374- srcRef , err := registry .ParseReference (src )
360+ src := fmt .Sprintf ("%s@%s" , srcRef , indexDesc .Digest )
361+ srcRefWithDigest , err := registry .ParseReference (src )
375362 require .NoError (t , err )
376363
377364 dst := fmt .Sprintf ("%s/%s" , dstRegistryRef .String (), "test:0.0.1" )
@@ -385,18 +372,15 @@ func TestPublishCopySHA(t *testing.T) {
385372 }
386373
387374 // Publish test package to the destination registry
388- err = PublishFromOCI (ctx , srcRef , dstRef , opts )
375+ err = PublishFromOCI (ctx , srcRefWithDigest , dstRef , opts )
389376 require .NoError (t , err )
390377
391378 // This verifies that publish deletes the manifest that is auto created by oras
392379 require .NoFileExists (t , layoutExpected .Pkg .Metadata .Name )
393- // Format url and instantiate remote
394- packageRef , err := zoci .ReferenceFromMetadata (dstRegistryRef .String (), layoutExpected .Pkg )
395- require .NoError (t , err )
396380
397- pkgRefsha := fmt .Sprintf ("%s@%s" , packageRef , indexDesc .Digest )
381+ pkgRefSha := fmt .Sprintf ("%s@%s" , dstRef . String () , indexDesc .Digest )
398382
399- layoutActual := pullFromRemote (ctx , t , pkgRefsha , layoutExpected .Pkg .Build .Architecture , "" , t .TempDir ())
383+ layoutActual := pullFromRemote (ctx , t , pkgRefSha , layoutExpected .Pkg .Build .Architecture , "" , t .TempDir ())
400384 require .Equal (t , layoutExpected .Pkg , layoutActual .Pkg , "Uploaded package is not identical to downloaded package" )
401385 })
402386 }
@@ -428,14 +412,11 @@ func TestPublishCopyTag(t *testing.T) {
428412 require .NoError (t , err )
429413
430414 // Publish test package
431- err = PublishPackage (ctx , layoutExpected , registryRef , tc .opts )
415+ srcRef , err : = PublishPackage (ctx , layoutExpected , registryRef , tc .opts )
432416 require .NoError (t , err )
433417
434418 dstRegistryRef := createRegistry (ctx , t )
435419
436- src := fmt .Sprintf ("%s/%s" , registryRef .String (), "test:0.0.1" )
437- srcRegistry , err := registry .ParseReference (src )
438- require .NoError (t , err )
439420 dst := fmt .Sprintf ("%s/%s" , dstRegistryRef .String (), "test:0.0.1" )
440421 dstRegistry , err := registry .ParseReference (dst )
441422 require .NoError (t , err )
@@ -447,16 +428,13 @@ func TestPublishCopyTag(t *testing.T) {
447428 }
448429
449430 // Publish test package
450- err = PublishFromOCI (ctx , srcRegistry , dstRegistry , opts )
431+ err = PublishFromOCI (ctx , srcRef , dstRegistry , opts )
451432 require .NoError (t , err )
452433
453434 // This verifies that publish deletes the manifest that is auto created by oras
454435 require .NoFileExists (t , layoutExpected .Pkg .Metadata .Name )
455- // Format url and instantiate remote
456- packageRef , err := zoci .ReferenceFromMetadata (dstRegistryRef .String (), layoutExpected .Pkg )
457- require .NoError (t , err )
458436
459- layoutActual := pullFromRemote (ctx , t , packageRef , layoutExpected .Pkg .Build .Architecture , "" , t .TempDir ())
437+ layoutActual := pullFromRemote (ctx , t , dstRegistry . String () , layoutExpected .Pkg .Build .Architecture , "" , t .TempDir ())
460438
461439 require .Equal (t , layoutExpected .Pkg , layoutActual .Pkg , "Uploaded package is not identical to downloaded package" )
462440 })
0 commit comments