File tree Expand file tree Collapse file tree 2 files changed +55
-0
lines changed Expand file tree Collapse file tree 2 files changed +55
-0
lines changed Original file line number Diff line number Diff line change 1818 "config" : {
1919 "$ref" : " content-descriptor.json"
2020 },
21+ "subject" : {
22+ "$ref" : " content-descriptor.json"
23+ },
2124 "layers" : {
2225 "type" : " array" ,
2326 "minItems" : 1 ,
Original file line number Diff line number Diff line change @@ -215,6 +215,58 @@ func TestManifest(t *testing.T) {
215215` ,
216216 },
217217
218+ // expected success: subject field with a valid descriptor
219+ {
220+ manifest : `
221+ {
222+ "schemaVersion": 2,
223+ "mediaType" : "application/vnd.oci.image.manifest.v1+json",
224+ "subject" : {
225+ "mediaType": "application/vnd.oci.image.manifest.v1+json",
226+ "size": 1234,
227+ "digest": "sha256:220a60ecd4a3c32c282622a625a54db9ba0ff55b5ba9c29c7064a2bc358b6a3e"
228+ },
229+ "config": {
230+ "mediaType": "application/vnd.oci.image.config.v1+json",
231+ "size": 1470,
232+ "digest": "sha256:c86f7763873b6c0aae22d963bab59b4f5debbed6685761b5951584f6efb0633b"
233+ },
234+ "layers": [
235+ {
236+ "mediaType": "application/vnd.oci.image.layer.v1.tar+gzip",
237+ "size": 1470,
238+ "digest": "sha256:c86f7763873b6c0aae22d963bab59b4f5debbed6685761b5951584f6efb0633b"
239+ }
240+ ]
241+ }
242+ ` ,
243+ fail : false ,
244+ },
245+
246+ // expected failure: subject field with invalid value (something that is not a descriptor)
247+ {
248+ manifest : `
249+ {
250+ "schemaVersion": 2,
251+ "mediaType" : "application/vnd.oci.image.manifest.v1+json",
252+ "subject" : ".nope",
253+ "config": {
254+ "mediaType": "application/vnd.oci.image.config.v1+json",
255+ "size": 1470,
256+ "digest": "sha256:c86f7763873b6c0aae22d963bab59b4f5debbed6685761b5951584f6efb0633b"
257+ },
258+ "layers": [
259+ {
260+ "mediaType": "application/vnd.oci.image.layer.v1.tar+gzip",
261+ "size": 1470,
262+ "digest": "sha256:c86f7763873b6c0aae22d963bab59b4f5debbed6685761b5951584f6efb0633b"
263+ }
264+ ]
265+ }
266+ ` ,
267+ fail : true ,
268+ },
269+
218270 // expected failure: push bounds of algorithm field in digest too far.
219271 {
220272 manifest : `
You can’t perform that action at this time.
0 commit comments