Skip to content

Commit aed07a8

Browse files
committed
Test subject field in index
Subject field was moved before annotations for consistency. Signed-off-by: Brandon Mitchell <[email protected]>
1 parent b5ec432 commit aed07a8

File tree

2 files changed

+58
-8
lines changed

2 files changed

+58
-8
lines changed

schema/imageindex_test.go

+50
Original file line numberDiff line numberDiff line change
@@ -255,6 +255,56 @@ func TestImageIndex(t *testing.T) {
255255
`,
256256
fail: false,
257257
},
258+
259+
// valid image index with a subject field
260+
{
261+
imageIndex: `
262+
{
263+
"schemaVersion": 2,
264+
"mediaType": "application/vnd.oci.image.index.v1+json",
265+
"manifests": [
266+
{
267+
"mediaType": "application/vnd.oci.image.manifest.v1+json",
268+
"size": 7682,
269+
"digest": "sha256:5b0bcabd1ed22e9fb1310cf6c2dec7cdef19f0ad69efa1f392e94a4333501270",
270+
"platform": {
271+
"architecture": "amd64",
272+
"os": "linux"
273+
}
274+
}
275+
],
276+
"subject" : {
277+
"mediaType": "application/vnd.oci.image.manifest.v1+json",
278+
"size": 1234,
279+
"digest": "sha256:220a60ecd4a3c32c282622a625a54db9ba0ff55b5ba9c29c7064a2bc358b6a3e"
280+
}
281+
}
282+
`,
283+
fail: false,
284+
},
285+
286+
// expected failure, invalid subject field
287+
{
288+
imageIndex: `
289+
{
290+
"schemaVersion": 2,
291+
"mediaType": "application/vnd.oci.image.index.v1+json",
292+
"manifests": [
293+
{
294+
"mediaType": "application/vnd.oci.image.manifest.v1+json",
295+
"size": 7682,
296+
"digest": "sha256:5b0bcabd1ed22e9fb1310cf6c2dec7cdef19f0ad69efa1f392e94a4333501270",
297+
"platform": {
298+
"architecture": "amd64",
299+
"os": "linux"
300+
}
301+
}
302+
],
303+
"subject" : "nope"
304+
}
305+
`,
306+
fail: true,
307+
},
258308
} {
259309
r := strings.NewReader(tt.imageIndex)
260310
err := schema.ValidatorMediaTypeImageIndex.Validate(r)

schema/manifest_test.go

+8-8
Original file line numberDiff line numberDiff line change
@@ -221,11 +221,6 @@ func TestManifest(t *testing.T) {
221221
{
222222
"schemaVersion": 2,
223223
"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-
},
229224
"config": {
230225
"mediaType": "application/vnd.oci.image.config.v1+json",
231226
"size": 1470,
@@ -237,7 +232,12 @@ func TestManifest(t *testing.T) {
237232
"size": 1470,
238233
"digest": "sha256:c86f7763873b6c0aae22d963bab59b4f5debbed6685761b5951584f6efb0633b"
239234
}
240-
]
235+
],
236+
"subject" : {
237+
"mediaType": "application/vnd.oci.image.manifest.v1+json",
238+
"size": 1234,
239+
"digest": "sha256:220a60ecd4a3c32c282622a625a54db9ba0ff55b5ba9c29c7064a2bc358b6a3e"
240+
}
241241
}
242242
`,
243243
fail: false,
@@ -249,7 +249,6 @@ func TestManifest(t *testing.T) {
249249
{
250250
"schemaVersion": 2,
251251
"mediaType" : "application/vnd.oci.image.manifest.v1+json",
252-
"subject" : ".nope",
253252
"config": {
254253
"mediaType": "application/vnd.oci.image.config.v1+json",
255254
"size": 1470,
@@ -261,7 +260,8 @@ func TestManifest(t *testing.T) {
261260
"size": 1470,
262261
"digest": "sha256:c86f7763873b6c0aae22d963bab59b4f5debbed6685761b5951584f6efb0633b"
263262
}
264-
]
263+
],
264+
"subject" : ".nope"
265265
}
266266
`,
267267
fail: true,

0 commit comments

Comments
 (0)