Setup
+
Populate registry with test blob
2021/10/11 06:50:05.696699 DEBUG
==============================================================================
~~~ REQUEST ~~~
POST /v2/REPLACEME/REPLACEME/blobs/uploads/ HTTP/1.1
HOST : quay.io
HEADERS:
User-Agent: distribution-spec-conformance-tests
BODY :
***** NO CONTENT *****
------------------------------------------------------------------------------
~~~ RESPONSE ~~~
STATUS : 401 UNAUTHORIZED
RECEIVED AT : 2021-10-11T06:50:05.696332827Z
TIME DURATION: 92.561561ms
HEADERS :
Content-Length: 112
Content-Type: application/json
Date: Mon, 11 Oct 2021 06:50:05 GMT
Docker-Distribution-Api-Version: registry/2.0
Server: nginx/1.12.1
Www-Authenticate: Bearer realm="https://quay.io/v2/auth",service="quay.io",scope="repository:REPLACEME/REPLACEME:pull,push"
BODY :
{
"errors": [
{
"code": "UNAUTHORIZED",
"detail": {},
"message": "access to the requested resource is not authorized"
}
]
}
==============================================================================
2021/10/11 06:50:05.732812 DEBUG
==============================================================================
~~~ REQUEST ~~~
GET /v2/auth?scope=repository%3AREPLACEME%2FREPLACEME%3Apull%2Cpush&service=quay.io HTTP/1.1
HOST : quay.io
HEADERS:
Accept: application/json
Authorization: Basic *****
User-Agent: distribution-spec-conformance-tests
BODY :
***** NO CONTENT *****
------------------------------------------------------------------------------
~~~ RESPONSE ~~~
STATUS : 429 TOO MANY REQUESTS
RECEIVED AT : 2021-10-11T06:50:05.732467485Z
TIME DURATION: 35.693955ms
HEADERS :
Access-Control-Allow-Headers: AUTHORIZATION, CONTENT-TYPE
Access-Control-Allow-Methods: HEAD, OPTIONS, GET
Access-Control-Allow-Origin: *
Access-Control-Max-Age: 21600
Content-Length: 72
Content-Type: text/html; charset=utf-8
Date: Mon, 11 Oct 2021 06:50:05 GMT
Retry-After: 26044597
Server: nginx/1.12.1
BODY :
Too many login attempts.
Please reset your Quay password and try again.
==============================================================================
Expected
<*json.SyntaxError | 0xc00057d6c0>: {
msg: "invalid character 'T' looking for beginning of value",
Offset: 1,
}
to be nil
+
Populate registry with test layer
2021/10/11 06:50:05.766511 DEBUG
==============================================================================
~~~ REQUEST ~~~
POST /v2/REPLACEME/REPLACEME/blobs/uploads/ HTTP/1.1
HOST : quay.io
HEADERS:
User-Agent: distribution-spec-conformance-tests
BODY :
***** NO CONTENT *****
------------------------------------------------------------------------------
~~~ RESPONSE ~~~
STATUS : 401 UNAUTHORIZED
RECEIVED AT : 2021-10-11T06:50:05.766174726Z
TIME DURATION: 32.944635ms
HEADERS :
Content-Length: 112
Content-Type: application/json
Date: Mon, 11 Oct 2021 06:50:05 GMT
Docker-Distribution-Api-Version: registry/2.0
Server: nginx/1.12.1
Www-Authenticate: Bearer realm="https://quay.io/v2/auth",service="quay.io",scope="repository:REPLACEME/REPLACEME:pull,push"
BODY :
{
"errors": [
{
"code": "UNAUTHORIZED",
"detail": {},
"message": "access to the requested resource is not authorized"
}
]
}
==============================================================================
2021/10/11 06:50:05.823691 DEBUG
==============================================================================
~~~ REQUEST ~~~
GET /v2/auth?scope=repository%3AREPLACEME%2FREPLACEME%3Apull%2Cpush&service=quay.io HTTP/1.1
HOST : quay.io
HEADERS:
Accept: application/json
Authorization: Basic *****
User-Agent: distribution-spec-conformance-tests
BODY :
***** NO CONTENT *****
------------------------------------------------------------------------------
~~~ RESPONSE ~~~
STATUS : 429 TOO MANY REQUESTS
RECEIVED AT : 2021-10-11T06:50:05.823324535Z
TIME DURATION: 56.735706ms
HEADERS :
Access-Control-Allow-Headers: AUTHORIZATION, CONTENT-TYPE
Access-Control-Allow-Methods: HEAD, OPTIONS, GET
Access-Control-Allow-Origin: *
Access-Control-Max-Age: 21600
Content-Length: 72
Content-Type: text/html; charset=utf-8
Date: Mon, 11 Oct 2021 06:50:05 GMT
Retry-After: 26044597
Server: nginx/1.12.1
BODY :
Too many login attempts.
Please reset your Quay password and try again.
==============================================================================
Expected
<*json.SyntaxError | 0xc000290600>: {
msg: "invalid character 'T' looking for beginning of value",
Offset: 1,
}
to be nil
+
Populate registry with test tags
2021/10/11 06:50:05.859087 DEBUG
==============================================================================
~~~ REQUEST ~~~
PUT /v2/REPLACEME/REPLACEME/manifests/test0 HTTP/1.1
HOST : quay.io
HEADERS:
Accept: application/vnd.oci.image.manifest.v1+json
Content-Type: application/vnd.oci.image.manifest.v1+json
User-Agent: distribution-spec-conformance-tests
BODY :
"ewoJInNjaGVtYVZlcnNpb24iOiAyLAoJImNvbmZpZyI6IHsKCQkibWVkaWFUeXBlIjogImFwcGxpY2F0aW9uL3ZuZC5vY2kuaW1hZ2UuY29uZmlnLnYxK2pzb24iLAoJCSJkaWdlc3QiOiAic2hhMjU2OjBlYTc5ZGQyYThmOTcwYmYwYTFiMTg1MzNhNjY3N2JmNzYwNTNiYWYxNWY3OTFjYzM1YjIxNjU1NWFkYjUwYWEiLAoJCSJzaXplIjogMTQ0Cgl9LAoJImxheWVycyI6IFsKCQl7CgkJCSJtZWRpYVR5cGUiOiAiYXBwbGljYXRpb24vdm5kLm9jaS5pbWFnZS5sYXllci52MS50YXIrZ3ppcCIsCgkJCSJkaWdlc3QiOiAic2hhMjU2OjQ4YWNmZjFkOTE3NTJlOTU3NTI3YzFiNTQxNmU3Mzc2ZDkxMGJjYWNmMDFiOTQ0MTE3NWY4YzI3MGUzNWMxODMiLAoJCQkic2l6ZSI6IDE2OAoJCX0KCV0KfQ=="
------------------------------------------------------------------------------
~~~ RESPONSE ~~~
STATUS : 415 UNSUPPORTED MEDIA TYPE
RECEIVED AT : 2021-10-11T06:50:05.858595087Z
TIME DURATION: 34.436646ms
HEADERS :
Content-Length: 131
Content-Type: application/json
Date: Mon, 11 Oct 2021 06:50:05 GMT
Server: nginx/1.12.1
BODY :
{
"errors": [
{
"code": "MANIFEST_INVALID",
"detail": {
"message": "manifest schema version not supported"
},
"message": "manifest invalid"
}
]
}
==============================================================================
Expected
<int>: 415
to be <
<int>: 300
+
Populate registry with test tags (no push)
you have skipped this test.
Test content discovery endpoints
+
GET request to list tags should yield 200 response
2021/10/11 06:50:05.905118 DEBUG
==============================================================================
~~~ REQUEST ~~~
GET /v2/REPLACEME/REPLACEME/tags/list HTTP/1.1
HOST : quay.io
HEADERS:
User-Agent: distribution-spec-conformance-tests
BODY :
***** NO CONTENT *****
------------------------------------------------------------------------------
~~~ RESPONSE ~~~
STATUS : 401 UNAUTHORIZED
RECEIVED AT : 2021-10-11T06:50:05.904790717Z
TIME DURATION: 45.084722ms
HEADERS :
Content-Length: 112
Content-Type: application/json
Date: Mon, 11 Oct 2021 06:50:05 GMT
Docker-Distribution-Api-Version: registry/2.0
Server: nginx/1.12.1
Www-Authenticate: Bearer realm="https://quay.io/v2/auth",service="quay.io",scope="repository:REPLACEME/REPLACEME:pull"
BODY :
{
"errors": [
{
"code": "UNAUTHORIZED",
"detail": {},
"message": "access to the requested resource is not authorized"
}
]
}
==============================================================================
2021/10/11 06:50:05.945608 DEBUG
==============================================================================
~~~ REQUEST ~~~
GET /v2/auth?scope=repository%3AREPLACEME%2FREPLACEME%3Apull&service=quay.io HTTP/1.1
HOST : quay.io
HEADERS:
Accept: application/json
Authorization: Basic *****
User-Agent: distribution-spec-conformance-tests
BODY :
***** NO CONTENT *****
------------------------------------------------------------------------------
~~~ RESPONSE ~~~
STATUS : 429 TOO MANY REQUESTS
RECEIVED AT : 2021-10-11T06:50:05.945030604Z
TIME DURATION: 39.841784ms
HEADERS :
Access-Control-Allow-Headers: AUTHORIZATION, CONTENT-TYPE
Access-Control-Allow-Methods: HEAD, OPTIONS, GET
Access-Control-Allow-Origin: *
Access-Control-Max-Age: 21600
Content-Length: 72
Content-Type: text/html; charset=utf-8
Date: Mon, 11 Oct 2021 06:50:05 GMT
Retry-After: 26044597
Server: nginx/1.12.1
BODY :
Too many login attempts.
Please reset your Quay password and try again.
==============================================================================
Expected
<*json.SyntaxError | 0xc0005694a0>: {
msg: "invalid character 'T' looking for beginning of value",
Offset: 1,
}
to be nil
+
GET number of tags should be limitable by `n` query parameter
2021/10/11 06:50:05.989327 DEBUG
==============================================================================
~~~ REQUEST ~~~
GET /v2/REPLACEME/REPLACEME/tags/list?n=2 HTTP/1.1
HOST : quay.io
HEADERS:
User-Agent: distribution-spec-conformance-tests
BODY :
***** NO CONTENT *****
------------------------------------------------------------------------------
~~~ RESPONSE ~~~
STATUS : 401 UNAUTHORIZED
RECEIVED AT : 2021-10-11T06:50:05.988873218Z
TIME DURATION: 42.754206ms
HEADERS :
Content-Length: 112
Content-Type: application/json
Date: Mon, 11 Oct 2021 06:50:05 GMT
Docker-Distribution-Api-Version: registry/2.0
Server: nginx/1.12.1
Www-Authenticate: Bearer realm="https://quay.io/v2/auth",service="quay.io",scope="repository:REPLACEME/REPLACEME:pull"
BODY :
{
"errors": [
{
"code": "UNAUTHORIZED",
"detail": {},
"message": "access to the requested resource is not authorized"
}
]
}
==============================================================================
2021/10/11 06:50:06.031179 DEBUG
==============================================================================
~~~ REQUEST ~~~
GET /v2/auth?scope=repository%3AREPLACEME%2FREPLACEME%3Apull&service=quay.io HTTP/1.1
HOST : quay.io
HEADERS:
Accept: application/json
Authorization: Basic *****
User-Agent: distribution-spec-conformance-tests
BODY :
***** NO CONTENT *****
------------------------------------------------------------------------------
~~~ RESPONSE ~~~
STATUS : 429 TOO MANY REQUESTS
RECEIVED AT : 2021-10-11T06:50:06.030753817Z
TIME DURATION: 41.326495ms
HEADERS :
Access-Control-Allow-Headers: AUTHORIZATION, CONTENT-TYPE
Access-Control-Allow-Methods: HEAD, OPTIONS, GET
Access-Control-Allow-Origin: *
Access-Control-Max-Age: 21600
Content-Length: 72
Content-Type: text/html; charset=utf-8
Date: Mon, 11 Oct 2021 06:50:06 GMT
Retry-After: 26044597
Server: nginx/1.12.1
BODY :
Too many login attempts.
Please reset your Quay password and try again.
==============================================================================
Expected
<*json.SyntaxError | 0xc00060c1c0>: {
msg: "invalid character 'T' looking for beginning of value",
Offset: 1,
}
to be nil
+
GET start of tag is set by `last` query parameter
2021/10/11 06:50:06.074425 DEBUG
==============================================================================
~~~ REQUEST ~~~
GET /v2/REPLACEME/REPLACEME/tags/list?n=2 HTTP/1.1
HOST : quay.io
HEADERS:
User-Agent: distribution-spec-conformance-tests
BODY :
***** NO CONTENT *****
------------------------------------------------------------------------------
~~~ RESPONSE ~~~
STATUS : 401 UNAUTHORIZED
RECEIVED AT : 2021-10-11T06:50:06.074025326Z
TIME DURATION: 42.407803ms
HEADERS :
Content-Length: 112
Content-Type: application/json
Date: Mon, 11 Oct 2021 06:50:06 GMT
Docker-Distribution-Api-Version: registry/2.0
Server: nginx/1.12.1
Www-Authenticate: Bearer realm="https://quay.io/v2/auth",service="quay.io",scope="repository:REPLACEME/REPLACEME:pull"
BODY :
{
"errors": [
{
"code": "UNAUTHORIZED",
"detail": {},
"message": "access to the requested resource is not authorized"
}
]
}
==============================================================================
2021/10/11 06:50:06.116169 DEBUG
==============================================================================
~~~ REQUEST ~~~
GET /v2/auth?scope=repository%3AREPLACEME%2FREPLACEME%3Apull&service=quay.io HTTP/1.1
HOST : quay.io
HEADERS:
Accept: application/json
Authorization: Basic *****
User-Agent: distribution-spec-conformance-tests
BODY :
***** NO CONTENT *****
------------------------------------------------------------------------------
~~~ RESPONSE ~~~
STATUS : 429 TOO MANY REQUESTS
RECEIVED AT : 2021-10-11T06:50:06.115771425Z
TIME DURATION: 41.256595ms
HEADERS :
Access-Control-Allow-Headers: AUTHORIZATION, CONTENT-TYPE
Access-Control-Allow-Methods: HEAD, OPTIONS, GET
Access-Control-Allow-Origin: *
Access-Control-Max-Age: 21600
Content-Length: 72
Content-Type: text/html; charset=utf-8
Date: Mon, 11 Oct 2021 06:50:06 GMT
Retry-After: 26044597
Server: nginx/1.12.1
BODY :
Too many login attempts.
Please reset your Quay password and try again.
==============================================================================
Expected
<*json.SyntaxError | 0xc000570780>: {
msg: "invalid character 'T' looking for beginning of value",
Offset: 1,
}
to be nil
Teardown
+
Delete config blob created in tests
2021/10/11 06:50:06.146832 DEBUG
==============================================================================
~~~ REQUEST ~~~
DELETE /v2/REPLACEME/REPLACEME/blobs/sha256:0ea79dd2a8f970bf0a1b18533a6677bf76053baf15f791cc35b216555adb50aa HTTP/1.1
HOST : quay.io
HEADERS:
User-Agent: distribution-spec-conformance-tests
BODY :
***** NO CONTENT *****
------------------------------------------------------------------------------
~~~ RESPONSE ~~~
STATUS : 401 UNAUTHORIZED
RECEIVED AT : 2021-10-11T06:50:06.146402843Z
TIME DURATION: 29.750812ms
HEADERS :
Content-Length: 112
Content-Type: application/json
Date: Mon, 11 Oct 2021 06:50:06 GMT
Docker-Distribution-Api-Version: registry/2.0
Server: nginx/1.12.1
Www-Authenticate: Bearer realm="https://quay.io/v2/auth",service="quay.io",scope="repository:REPLACEME/REPLACEME:pull,push"
BODY :
{
"errors": [
{
"code": "UNAUTHORIZED",
"detail": {},
"message": "access to the requested resource is not authorized"
}
]
}
==============================================================================
2021/10/11 06:50:06.193336 DEBUG
==============================================================================
~~~ REQUEST ~~~
GET /v2/auth?scope=repository%3AREPLACEME%2FREPLACEME%3Apull%2Cpush&service=quay.io HTTP/1.1
HOST : quay.io
HEADERS:
Accept: application/json
Authorization: Basic *****
User-Agent: distribution-spec-conformance-tests
BODY :
***** NO CONTENT *****
------------------------------------------------------------------------------
~~~ RESPONSE ~~~
STATUS : 429 TOO MANY REQUESTS
RECEIVED AT : 2021-10-11T06:50:06.192867375Z
TIME DURATION: 45.948628ms
HEADERS :
Access-Control-Allow-Headers: AUTHORIZATION, CONTENT-TYPE
Access-Control-Allow-Methods: HEAD, OPTIONS, GET
Access-Control-Allow-Origin: *
Access-Control-Max-Age: 21600
Content-Length: 72
Content-Type: text/html; charset=utf-8
Date: Mon, 11 Oct 2021 06:50:06 GMT
Retry-After: 26044597
Server: nginx/1.12.1
BODY :
Too many login attempts.
Please reset your Quay password and try again.
==============================================================================
Expected
<*json.SyntaxError | 0xc000197da0>: {
msg: "invalid character 'T' looking for beginning of value",
Offset: 1,
}
to be nil
+
Delete layer blob created in setup
2021/10/11 06:50:06.229667 DEBUG
==============================================================================
~~~ REQUEST ~~~
DELETE /v2/REPLACEME/REPLACEME/blobs/sha256:48acff1d91752e957527c1b5416e7376d910bcacf01b9441175f8c270e35c183 HTTP/1.1
HOST : quay.io
HEADERS:
User-Agent: distribution-spec-conformance-tests
BODY :
***** NO CONTENT *****
------------------------------------------------------------------------------
~~~ RESPONSE ~~~
STATUS : 401 UNAUTHORIZED
RECEIVED AT : 2021-10-11T06:50:06.229275036Z
TIME DURATION: 34.241045ms
HEADERS :
Content-Length: 112
Content-Type: application/json
Date: Mon, 11 Oct 2021 06:50:06 GMT
Docker-Distribution-Api-Version: registry/2.0
Server: nginx/1.12.1
Www-Authenticate: Bearer realm="https://quay.io/v2/auth",service="quay.io",scope="repository:REPLACEME/REPLACEME:pull,push"
BODY :
{
"errors": [
{
"code": "UNAUTHORIZED",
"detail": {},
"message": "access to the requested resource is not authorized"
}
]
}
==============================================================================
2021/10/11 06:50:06.273234 DEBUG
==============================================================================
~~~ REQUEST ~~~
GET /v2/auth?scope=repository%3AREPLACEME%2FREPLACEME%3Apull%2Cpush&service=quay.io HTTP/1.1
HOST : quay.io
HEADERS:
Accept: application/json
Authorization: Basic *****
User-Agent: distribution-spec-conformance-tests
BODY :
***** NO CONTENT *****
------------------------------------------------------------------------------
~~~ RESPONSE ~~~
STATUS : 429 TOO MANY REQUESTS
RECEIVED AT : 2021-10-11T06:50:06.272842747Z
TIME DURATION: 43.094308ms
HEADERS :
Access-Control-Allow-Headers: AUTHORIZATION, CONTENT-TYPE
Access-Control-Allow-Methods: HEAD, OPTIONS, GET
Access-Control-Allow-Origin: *
Access-Control-Max-Age: 21600
Content-Length: 72
Content-Type: text/html; charset=utf-8
Date: Mon, 11 Oct 2021 06:50:06 GMT
Retry-After: 26044597
Server: nginx/1.12.1
BODY :
Too many login attempts.
Please reset your Quay password and try again.
==============================================================================
Expected
<*json.SyntaxError | 0xc0003bb300>: {
msg: "invalid character 'T' looking for beginning of value",
Offset: 1,
}
to be nil
+
Delete created manifest & associated tags
2021/10/11 06:50:06.313061 DEBUG
==============================================================================
~~~ REQUEST ~~~
DELETE /v2/REPLACEME/REPLACEME/manifests/sha256:b884febd53b874db756cc1dfbb89e7ba8c2731785b6e9f8af817e5801106019d HTTP/1.1
HOST : quay.io
HEADERS:
User-Agent: distribution-spec-conformance-tests
BODY :
***** NO CONTENT *****
------------------------------------------------------------------------------
~~~ RESPONSE ~~~
STATUS : 401 UNAUTHORIZED
RECEIVED AT : 2021-10-11T06:50:06.312652231Z
TIME DURATION: 38.529475ms
HEADERS :
Content-Length: 112
Content-Type: application/json
Date: Mon, 11 Oct 2021 06:50:06 GMT
Docker-Distribution-Api-Version: registry/2.0
Server: nginx/1.12.1
Www-Authenticate: Bearer realm="https://quay.io/v2/auth",service="quay.io",scope="repository:REPLACEME/REPLACEME:pull,push"
BODY :
{
"errors": [
{
"code": "UNAUTHORIZED",
"detail": {},
"message": "access to the requested resource is not authorized"
}
]
}
==============================================================================
2021/10/11 06:50:06.353395 DEBUG
==============================================================================
~~~ REQUEST ~~~
GET /v2/auth?scope=repository%3AREPLACEME%2FREPLACEME%3Apull%2Cpush&service=quay.io HTTP/1.1
HOST : quay.io
HEADERS:
Accept: application/json
Authorization: Basic *****
User-Agent: distribution-spec-conformance-tests
BODY :
***** NO CONTENT *****
------------------------------------------------------------------------------
~~~ RESPONSE ~~~
STATUS : 429 TOO MANY REQUESTS
RECEIVED AT : 2021-10-11T06:50:06.35297822Z
TIME DURATION: 39.837785ms
HEADERS :
Access-Control-Allow-Headers: AUTHORIZATION, CONTENT-TYPE
Access-Control-Allow-Methods: HEAD, OPTIONS, GET
Access-Control-Allow-Origin: *
Access-Control-Max-Age: 21600
Content-Length: 72
Content-Type: text/html; charset=utf-8
Date: Mon, 11 Oct 2021 06:50:06 GMT
Retry-After: 26044597
Server: nginx/1.12.1
BODY :
Too many login attempts.
Please reset your Quay password and try again.
==============================================================================
Expected
<*json.SyntaxError | 0xc0003bbb40>: {
msg: "invalid character 'T' looking for beginning of value",
Offset: 1,
}
to be nil