@@ -237,6 +237,18 @@ var test03ContentDiscovery = func() {
237
237
BeNumerically (">=" , 200 ),
238
238
BeNumerically ("<" , 300 )))
239
239
Expect (resp .Header ().Get ("OCI-Subject" )).To (Equal (manifests [4 ].Digest ))
240
+
241
+ // Populate registry with test references manifest to a non-existent subject
242
+ req = client .NewRequest (reggie .PUT , "/v2/<name>/manifests/<reference>" ,
243
+ reggie .WithReference (refsManifestCLayerArtifactDigest )).
244
+ SetHeader ("Content-Type" , "application/vnd.oci.image.manifest.v1+json" ).
245
+ SetBody (refsManifestCLayerArtifactContent )
246
+ resp , err = client .Do (req )
247
+ Expect (err ).To (BeNil ())
248
+ Expect (resp .StatusCode ()).To (SatisfyAll (
249
+ BeNumerically (">=" , 200 ),
250
+ BeNumerically ("<" , 300 )))
251
+ Expect (resp .Header ().Get ("OCI-Subject" )).To (Equal (manifests [3 ].Digest ))
240
252
})
241
253
})
242
254
@@ -345,6 +357,22 @@ var test03ContentDiscovery = func() {
345
357
Warn ("filtering by artifact-type is not implemented" )
346
358
}
347
359
})
360
+
361
+ g .Specify ("GET request to missing manifest should yield 200" , func () {
362
+ SkipIfDisabled (contentDiscovery )
363
+ req := client .NewRequest (reggie .GET , "/v2/<name>/referrers/<digest>" ,
364
+ reggie .WithDigest (manifests [3 ].Digest ))
365
+ resp , err := client .Do (req )
366
+ Expect (err ).To (BeNil ())
367
+ Expect (resp .StatusCode ()).To (Equal (http .StatusOK ))
368
+ Expect (resp .Header ().Get ("Content-Type" )).To (Equal ("application/vnd.oci.image.index.v1+json" ))
369
+
370
+ var index index
371
+ err = json .Unmarshal (resp .Body (), & index )
372
+ Expect (err ).To (BeNil ())
373
+ Expect (len (index .Manifests )).To (Equal (1 ))
374
+ Expect (index .Manifests [0 ].Digest .String ()).To (Equal (refsManifestCLayerArtifactDigest ))
375
+ })
348
376
})
349
377
350
378
g .Context ("Teardown" , func () {
@@ -361,6 +389,7 @@ var test03ContentDiscovery = func() {
361
389
testTagName ,
362
390
refsManifestBConfigArtifactDigest ,
363
391
refsManifestBLayerArtifactDigest ,
392
+ refsManifestCLayerArtifactDigest ,
364
393
}
365
394
for _ , ref := range references {
366
395
req := client .NewRequest (reggie .DELETE , "/v2/<name>/manifests/<digest>" , reggie .WithDigest (ref ))
@@ -421,6 +450,7 @@ var test03ContentDiscovery = func() {
421
450
testTagName ,
422
451
refsManifestBConfigArtifactDigest ,
423
452
refsManifestBLayerArtifactDigest ,
453
+ refsManifestCLayerArtifactDigest ,
424
454
}
425
455
for _ , ref := range references {
426
456
req := client .NewRequest (reggie .DELETE , "/v2/<name>/manifests/<digest>" , reggie .WithDigest (ref ))
0 commit comments