@@ -104,7 +104,7 @@ func TestPublishError(t *testing.T) {
104
104
105
105
for _ , tc := range tt {
106
106
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 )
108
108
require .ErrorContains (t , err , tc .expectErr .Error ())
109
109
})
110
110
}
@@ -191,7 +191,7 @@ func TestPublishSkeleton(t *testing.T) {
191
191
registryRef := createRegistry (ctx , t )
192
192
193
193
// Publish test package
194
- err := PublishSkeleton (ctx , tc .path , registryRef , tc .opts )
194
+ ref , err := PublishSkeleton (ctx , tc .path , registryRef , tc .opts )
195
195
require .NoError (t , err )
196
196
197
197
// Read and unmarshall expected
@@ -203,10 +203,7 @@ func TestPublishSkeleton(t *testing.T) {
203
203
// This verifies that publish deletes the manifest that is auto created by oras
204
204
require .NoFileExists (t , expectedPkg .Metadata .Name )
205
205
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 ))
210
207
require .NoError (t , err )
211
208
212
209
// Fetch from remote and compare
@@ -261,14 +258,10 @@ func TestPublishPackage(t *testing.T) {
261
258
require .NoError (t , err )
262
259
263
260
// 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 )
269
262
require .NoError (t , err )
270
263
271
- layoutActual := pullFromRemote (ctx , t , packageRef , "amd64" , tc .publicKeyPath , t .TempDir ())
264
+ layoutActual := pullFromRemote (ctx , t , packageRef . String () , "amd64" , tc .publicKeyPath , t .TempDir ())
272
265
require .Equal (t , layoutExpected .Pkg , layoutActual .Pkg , "Uploaded package is not identical to downloaded package" )
273
266
if tc .opts .SigningKeyPath != "" {
274
267
require .FileExists (t , filepath .Join (layoutActual .DirPath (), layout .Signature ))
@@ -302,23 +295,19 @@ func TestPublishPackageDeterministic(t *testing.T) {
302
295
require .NoError (t , err )
303
296
304
297
// 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 )
310
299
require .NoError (t , err )
311
300
312
301
// Attempt to get the digest
313
302
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 ))
315
304
require .NoError (t , err )
316
305
desc , err := remote .ResolveRoot (ctx )
317
306
require .NoError (t , err )
318
307
expectedDigest := desc .Digest .String ()
319
308
320
309
// 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 )
322
311
require .NoError (t , err )
323
312
// Publish creates a local oci manifest file using the package name, which gets deleted
324
313
require .NoFileExists (t , layoutExpected .Pkg .Metadata .Name )
@@ -357,21 +346,19 @@ func TestPublishCopySHA(t *testing.T) {
357
346
require .NoError (t , err )
358
347
359
348
// Publish test package
360
- err = PublishPackage (ctx , layoutExpected , registryRef , tc .opts )
349
+ srcRef , err : = PublishPackage (ctx , layoutExpected , registryRef , tc .opts )
361
350
require .NoError (t , err )
362
351
363
352
// Setup destination registry
364
353
dstRegistryRef := createRegistry (ctx , t )
365
354
366
355
// This gets the test package digest from the first package publish
367
356
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 {} )
370
359
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 )
375
362
require .NoError (t , err )
376
363
377
364
dst := fmt .Sprintf ("%s/%s" , dstRegistryRef .String (), "test:0.0.1" )
@@ -385,18 +372,15 @@ func TestPublishCopySHA(t *testing.T) {
385
372
}
386
373
387
374
// Publish test package to the destination registry
388
- err = PublishFromOCI (ctx , srcRef , dstRef , opts )
375
+ err = PublishFromOCI (ctx , srcRefWithDigest , dstRef , opts )
389
376
require .NoError (t , err )
390
377
391
378
// This verifies that publish deletes the manifest that is auto created by oras
392
379
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 )
396
380
397
- pkgRefsha := fmt .Sprintf ("%s@%s" , packageRef , indexDesc .Digest )
381
+ pkgRefSha := fmt .Sprintf ("%s@%s" , dstRef . String () , indexDesc .Digest )
398
382
399
- layoutActual := pullFromRemote (ctx , t , pkgRefsha , layoutExpected .Pkg .Build .Architecture , "" , t .TempDir ())
383
+ layoutActual := pullFromRemote (ctx , t , pkgRefSha , layoutExpected .Pkg .Build .Architecture , "" , t .TempDir ())
400
384
require .Equal (t , layoutExpected .Pkg , layoutActual .Pkg , "Uploaded package is not identical to downloaded package" )
401
385
})
402
386
}
@@ -428,14 +412,11 @@ func TestPublishCopyTag(t *testing.T) {
428
412
require .NoError (t , err )
429
413
430
414
// Publish test package
431
- err = PublishPackage (ctx , layoutExpected , registryRef , tc .opts )
415
+ srcRef , err : = PublishPackage (ctx , layoutExpected , registryRef , tc .opts )
432
416
require .NoError (t , err )
433
417
434
418
dstRegistryRef := createRegistry (ctx , t )
435
419
436
- src := fmt .Sprintf ("%s/%s" , registryRef .String (), "test:0.0.1" )
437
- srcRegistry , err := registry .ParseReference (src )
438
- require .NoError (t , err )
439
420
dst := fmt .Sprintf ("%s/%s" , dstRegistryRef .String (), "test:0.0.1" )
440
421
dstRegistry , err := registry .ParseReference (dst )
441
422
require .NoError (t , err )
@@ -447,16 +428,13 @@ func TestPublishCopyTag(t *testing.T) {
447
428
}
448
429
449
430
// Publish test package
450
- err = PublishFromOCI (ctx , srcRegistry , dstRegistry , opts )
431
+ err = PublishFromOCI (ctx , srcRef , dstRegistry , opts )
451
432
require .NoError (t , err )
452
433
453
434
// This verifies that publish deletes the manifest that is auto created by oras
454
435
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 )
458
436
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 ())
460
438
461
439
require .Equal (t , layoutExpected .Pkg , layoutActual .Pkg , "Uploaded package is not identical to downloaded package" )
462
440
})
0 commit comments