Skip to content

Commit 111a99d

Browse files
authored
Merge pull request #444 from xiekeyang/ml-unit-test
Bug Fix: error syntax in schema definitions
2 parents 84a74b0 + ad8ade3 commit 111a99d

File tree

5 files changed

+318
-42
lines changed

5 files changed

+318
-42
lines changed

schema/content-descriptor.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,15 @@
66
"properties": {
77
"mediaType": {
88
"description": "the mediatype of the referenced object",
9-
"$ref": "defs-image.json#definitions/mediaType"
9+
"$ref": "defs-image.json#/definitions/mediaType"
1010
},
1111
"size": {
1212
"description": "the size in bytes of the referenced object",
1313
"$ref": "defs.json#/definitions/int64"
1414
},
1515
"digest": {
16-
"$ref": "defs-image.json#definitions/digest"
16+
"description": "the cryptographic checksum digest of the object, in the pattern '<hash>:<hexadecimal digest>'",
17+
"$ref": "defs-image.json#/definitions/digest"
1718
},
1819
"urls": {
1920
"description": "a list of urls from which this object may be downloaded",

schema/defs-image.json

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"mediaType": {
55
"id": "https://opencontainers.org/schema/image/mediaType",
66
"type": "string",
7-
"pattern": "^[a-z]+/[0-9a-zA-Z.+]+$"
7+
"pattern": "^[A-Za-z0-9][A-Za-z0-9!#$&-^_.+]{0,126}/[A-Za-z0-9][A-Za-z0-9!#$&-^_.+]{0,126}$"
88
},
99
"digest": {
1010
"description": "the cryptographic checksum digest of the object, in the pattern '<hash>:<hexadecimal digest>'",
@@ -23,14 +23,15 @@
2323
"properties": {
2424
"mediaType": {
2525
"description": "the mediatype of the referenced object",
26-
"$ref": "#definitions/mediaType"
26+
"$ref": "#/definitions/mediaType"
2727
},
2828
"size": {
2929
"description": "the size in bytes of the referenced object",
3030
"$ref": "defs.json#/definitions/int64"
3131
},
3232
"digest": {
33-
"$ref": "#definitions/digest"
33+
"description": "the cryptographic checksum digest of the object, in the pattern '<hash>:<hexadecimal digest>'",
34+
"$ref": "#/definitions/digest"
3435
},
3536
"urls": {
3637
"description": "a list of urls from which this object may be downloaded",

schema/fs.go

Lines changed: 37 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ var _escData = map[string]*_escFile{
205205
"/config-schema.json": {
206206
local: "config-schema.json",
207207
size: 774,
208-
modtime: 1479372487,
208+
modtime: 1484362154,
209209
compressed: `
210210
H4sIAAAJbogA/5SRsW4DIQyG93sKRDL2QodOt+YBOnSsOlAwOUc6TI0zRFXevQJyTU6KquvCYP/f/2P7
211211
u1NKe8iOMQlS1IPSrwninqJYjMBqTzHgQb0lcBjQ2ap6Ktg2uxEmW5BRJA3GHDPFvlV3xAfj2Qbpn19M
@@ -218,59 +218,59 @@ YiIJ+f9eV27hNWIW4vOjMSyzPd/WjQLTfejq2Dniyl26+a1/0AxfJ+R68vcHl7htejl9p9RHd+l+AgAA
218218

219219
"/content-descriptor.json": {
220220
local: "content-descriptor.json",
221-
size: 836,
222-
modtime: 1479372487,
221+
size: 956,
222+
modtime: 1484362679,
223223
compressed: `
224-
H4sIAAAJbogA/5SSv+/TMBDF9/wVJ7cjrRkqhqywM8CGGFz7nFzV2OZ8VRVQ/3fkOGlTkL4/lih6ep+7
225-
92z/aQCUw2yZklAMqgX1NWH4HIMYCshQ/jAIfJlNkeFbQkuerJmID2XENtseB1PwXiS1Wp9yDLuq7iN3
226-
2rHxsvt40FXbVI7cguRW65gw2GVznrDq1u6+vXIyJixkPJ7QStUSx4QshFm1UIoBqAEdme/VXKX/+0qP
227-
MPnKUIgeisDokTFYdLDaMeFbRl84hz7vaDAd7kvZjUNPgcrUrB97J+pWYZXp92tJigUowHEUzO9MU3Po
228-
dRAK8unwHMJRh1nWMd7SaKaeJl34nF+oY+BMWUqHYgTPcYBrT7YH6SnPTWAwIxwRXLyGczQO3aPbcsuG
229-
2YwPmQSH9d6VMwtT6O5WAOUjD6a0VRcmNeu3ZvlOVRTjrwsxlsf449+Hs7665xNsAH42t+ZvAAAA//9L
230-
DLQ9RAMAAA==
224+
H4sIAAAJbogA/5STPW/bMBCGd/2KAxMgSxx1CDoIQZZ279BuRQeaPIqXmh89npGqhf97QVGK7bZI4MWw
225+
X7wP7zmZ+t0BKIvFMGWhFNUA6lPG+CFF0RSRoX7DKPBxKSWGzxkNOTJ6Jm7rEdfFeAy64l4kD33/VFLc
226+
tPQu8dhb1k427+77ll01juyKlKHvU8Zo1sllxlq7ty/TGydTxkqm7RMaaVnmlJGFsKgB6mIAKqAl/aWV
227+
W/TvvuIR5l49FJKDGjA6ZIwGLZzMmPFrRlc5i65sKOgR7+qyV71FR5HqsaU/Dp6xQ6NVoV9vqdQKUITt
228+
JFgu1PmPCEV5f38uYWnEIm9oGJ6ypJF19mTAeDTfyz5AY1et5nJbdevPrEWQI9w8eF384/Dg8ae2aCjo
229+
3UI+3lz4IBfZswX2vCuv6GvYUXOsRXCcAjx7Mh7EU1mkIegJtgg2Pcdd0hbtUWy9XZpZT8eYBMPp3JNm
230+
EaY4vlQBlEscdH3Ias+klvzQrZ/zKorxx54Y60vw9e8Le3pjzv+4DuBbd+j+BAAA///PVSBUvAMAAA==
231231
`,
232232
},
233233

234234
"/defs-config.json": {
235235
local: "defs-config.json",
236236
size: 2236,
237-
modtime: 1481704571,
237+
modtime: 1484362679,
238238
compressed: `
239-
H4sIAAAJbogA/+RVzY7TMBC+5yksw7Gwd6673JCKVAEHhCo3Ge/OEnvMeIKI0L47TrZ0888qpac9VG0m
240-
/n7m89j9nSmlC4g5YxAkr98pfQMWPTZPUQXDgnlVGlZCahvAX5MXgx5YpV8Wb9UuQI4Wc9PiN4+EJ4ZE
241-
2GikYt4uPz2nitQBGkE63EMuLbStB6YASRdiZ3Wqf4rAvUqHIwqjv9WnVw+bJ9z7X4EiFB+JJQ7xrxls
242-
g0+W49v7SP7VVcf9lTNh1zJvHz1O8/ufc7YMs6n1pvsKBdzQxkIjSWpGVLgOhF6G2uRh2/T0tSfQl1u0
243-
uGDzH1b7dgeWF134qiz7TF2eb5MRXLvixfb+mcrKwWicn9n/2qm/dFdfiL8n2Rtcdc4/mAOUl45kN7Hx
244-
/z2SrPt9ZNdMJDaec4EWaO0ei1FEl7+tjuuXtrQnC75yoz3TpamBo17O7JQCw48KGYoez1MGQ3dZl/Fv
245-
5ncYhbg+J/ScwQiMbqql7i2xM9JOY4K+EXQwPfGmkjtadVaOrvaHehWanIPxP89zoOCC1Pt2J+fgB6IS
246-
jNdz5yFrPg/ZnwAAAP//3oH4m7wIAAA=
239+
H4sIAAAJbogA/+RVzY7TMBC+5ylGhmNh73vtckMqUgUcEKrcZNydJfaY8QQRob47SrZ089OEVZaeOFRV
240+
Yn8/883Y+ZUBmAJTLhSVOJhbMHfoKFDzlCBaUcqr0goowyZiWHNQSwEF1hwcHWAbMSdHuW3xq0fCM4O5
241+
hUYDwOTt9vMzgNE6YiPI+wfMtYW276NwRFHC1NkNYD4mlN6bDkdSoXAw56Xj6gn37mfkhMUHFk1D/GtB
242+
1+ALdOntQ+Lw6qbj/sbbuG2ZN48eL/OHH1O2rIitzaq7RIp+aGOmEIDjhKhKHZmCDrU54Kap6UtPoC83
243+
a3HG5l+s9u0OLM+6CFVZ9pm6PF8vRrD2xX9b+ycuK4+jcX5m/Uun/tpVfWb5RuFwR4vO+Xu7x/LakWwv
244+
NP6fR5J1/0/sRpjVpZdcoAU5t6NiFNH1b6vT/rmW9mQxVH7UM1PaGiWZ+czOKQh+r0iw6PE8ZTB0l3UZ
245+
/2R+T0lZ6peEngtaxdFNNVe9Y/FW22m0im+UPF6eeFvpPS86KydXu329CM3e4/jL8xwo+qj1ru3kFHzP
246+
XKINZuo8ZM3vmP0OAAD//96B+Ju8CAAA
247247
`,
248248
},
249249

250250
"/defs-image.json": {
251251
local: "defs-image.json",
252-
size: 2736,
253-
modtime: 1481704392,
252+
size: 2916,
253+
modtime: 1484362679,
254254
compressed: `
255-
H4sIAAAJbogA/7yWz27bOBDG736KgRIgB1tWDosFYgQBFpvLnnLInmq4xYQaWZNKpDqkkzqB372gLMv6
256-
m8BN0JMhcvjx+w1nSL9OAIKYrBIuHBsdLCC4pYQ1+y8LBYpjtclQwBm4K0j/a7RD1iTwX45rgvuCFCes
257-
sFw+2+vVAsEC/BYAQU4x4//bguohgIBjv2HqXGEXUWQK0uogb+dG1pFVKeUYsd8qOkrMDgJuLxhYJ6zX
258-
x/ECnSMpcb4uMXxZTaPlZXiF4cs/4Zf5dDU9D8rQ3X5FEPOarGta6yTFpQRKtoUza8EiZQUqJfXdbnLY
259-
rwWTgA8yD4+k3AxYl5+VEbi4TtGmN4vrlH5iTIpzzKqVNxen81yGV9+m83A1XSwxTC7Dqx5RjpoTsu62
260-
4jDygcT3tXqO99zHcaEfGxby+yyrsVYVzI6Dll9a39VhNEaKDF1iJA+qodUxMWIKEsdkG3gj5TZ2rmWs
261-
5zicoVBCQlpRDB2sUuJcKPFrzxqF3ijOOnTXZXzfig/zpfOwdWRPtBNTYueP1uizqGmMtfv7r2FTvaof
262-
x6tCB2U2ktl32BAy3veID4ZETA7PKasUXMq2woIct/BAEJtnnRmMKW6DHkoNRXDbnmJHedfDeDtVs76i
263-
0OMHG+GgMbcbxKyLsIN6Wi/VKoNoQ+c72EnlDIpK2ZFyG6EunLFNolVLcaRp+prd2d+mjd6w2j+n1vSu
264-
D/Z5toz9qJn5E4ndV/nnmapFP2ouIfQZ/9yUHVVH7fVbFMbb9F2wZkcOgT6hMOruRXZyvt5K1h8CG76E
265-
Js3fwwOPWhuH7X9ZJ59qU6R+U42mu6R12wy+DyPvTY7FfYl63wFupPt16O7TmywLetCryeFrN9lNfgUA
266-
AP//R591MrAKAAA=
255+
H4sIAAAJbogA/8SWz0/cOhDH7/tXzAvocdgf4T09Ib0VQqrKpScO9FS0oMGZbIYmdmo70GWV/71yks3v
256+
hW5B7Qk8tr/+fsYz3mwnAF5ARmhOLSvpLcG7pJAlu5GBFLVlkcWowSq4Skl+VNIiS9LwKcE1wXVKgkMW
257+
WGyflXq1gLcEdwSAl1DA+HmTUh0C8DhwB0bWpmbp+yolKXbyZqH02jciogR9dkf5jcRsJ2BLQc9YzXLd
258+
xFO0lnSBc3vzYf4F58+n8/9Xzb9/HR3/Pb+9W0xX29PZP/+e5f7PLTv2iiPy8iQv4DUZ20bqJdNGBEJv
259+
UqvWGtOIBYiIxFeTJVDuBRWCW6TuH0jYGbAshhUAnJxHaKKL5XlE3zEgwQnG1c6LkwPzUCLdTRfz1XR5
260+
g/PQsU57RAlKDsnYy4pD6Tdc2FBr4LjkbuKavmWsyZ1zU8U61TNrgoafO+PqMlqRNEYbKp14VWjVJEar
261+
lLRlMi28PWW6716LtY5jd4eaQtIkBQXQwyokjjWFbu+R3+qQVlXXa/M+5Ote3DJXO/cbS+ZAPwGFZvFg
262+
lOwaY2nP/hs3NSj7P1f6L2S2cjlKkOnYvOIfIebSpFsMoVYJPEUsIrARm8o1JLiBe4JAPclYYUBB19mu
263+
zFFr3HSn2FLS97C/latZV83oMu9lmr3WXD6KWTdAD/WwPq5VRtHGSmu0i4sZ1CJiS8JmmvpwyrSJVh3F
264+
PQ071OzP/jKt/4LV4T11pvMh2PvZUuatZhaPpE1Z5e9nqhZ9q7mQ0GX8fVPWqO61N2xR2N+mr4K1O3IM
265+
9BE1o+y/oQfn66Vk/Saw8Udo0v67+7hAKZXF7pfhwbfaFql/z5Wkq7Dz2mwP+KlLML0uUK97wK10b8fe
266+
PpnFsTeAXk12o3yST34EAAD//zd996RkCwAA
267267
`,
268268
},
269269

270270
"/defs.json": {
271271
local: "defs.json",
272272
size: 3193,
273-
modtime: 1470056192,
273+
modtime: 1484359587,
274274
compressed: `
275275
H4sIAAAJbogA/7SWQZPSMBTH73yKTPSIbpumLXBzRNc97MDMjifHQy0PiEIS09Rx3eG7OymlNG0oFPGw
276276
C03yfv/3/nmheRkghBeQpYpJzQTHE4SnsGScmacM5RkskF4rka/WItdIrwHNJPD3guuEcVDoSULKlixN
@@ -289,7 +289,7 @@ VfOwZWpT3H45DszfbvA3AAD//0JyEpx5DAAA
289289
"/image-layout-schema.json": {
290290
local: "image-layout-schema.json",
291291
size: 414,
292-
modtime: 1480548955,
292+
modtime: 1484362679,
293293
compressed: `
294294
H4sIAAAJbogA/2yPwUrEMBCG732KIXq0TQVPue5pQdiD4EU8xHa2zWKTOJkKi/TdJZlWD91TmD/z8c3/
295295
UwGoHlNHLrILXhlQp4j+EDxb55HgONkB4dlew8zw0o04WfWQqfskgwE1Mkej9SUFX0vaBBp0T/bMdfuk
@@ -302,7 +302,7 @@ ngEAAA==
302302
"/image-manifest-schema.json": {
303303
local: "image-manifest-schema.json",
304304
size: 1139,
305-
modtime: 1481704392,
305+
modtime: 1484362154,
306306
compressed: `
307307
H4sIAAAJbogA/6RSsW7bMBDd/RUHJlsjsSk6ae2UoejQoEvRgRVP8gXSkeUxRg3D/16QFCMr7lA0o574
308308
3r137047AGVR+kA+kmPVgfrikT85joYYAzzMZkT4bJgGlAhfPfY0UG/y67tEv5V+j7NJ1H2MvtP6SRw3
@@ -318,7 +318,7 @@ E6WkmXMEAAA=
318318
"/manifest-list-schema.json": {
319319
local: "manifest-list-schema.json",
320320
size: 1101,
321-
modtime: 1479372487,
321+
modtime: 1484362154,
322322
compressed: `
323323
H4sIAAAJbogA/6ySMY8TMRCF+/yKkY8OsgZEtS00SCAKTjSIwqxns3OKx8bjizid8t+R7fVml1Ag3ZV5
324324
8bz3vZ153AEoizJECok8qx7Ul4D83nMyxBjhozMHhM+GaURJ8IkkwdeAA400mDLyKnu8kGFCZ/L8lFLo

schema/manifest_test.go

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,23 @@ func TestManifest(t *testing.T) {
9595
fail: true,
9696
},
9797

98+
// expected failure: config.digest is not hex hashed format
99+
{
100+
manifest: `
101+
{
102+
"schemaVersion": 2,
103+
"mediaType": "application/vnd.oci.image.manifest.v1+json",
104+
"config": {
105+
"mediaType": "application/vnd.oci.image.config.v1+json",
106+
"size": 1470,
107+
"digest": "sha256:c86f7763873b6c0aaehhhhhhhhhhhhhhhhmmmmmmmmmmmmmmmm22d9h3bab59b4f"
108+
},
109+
"layers": []
110+
}
111+
`,
112+
fail: true,
113+
},
114+
98115
// valid manifest with optional fields
99116
{
100117
manifest: `

0 commit comments

Comments
 (0)