OCI Distribution Conformance Tests

Summary:
1 passed1 failed52 skipped
Start time:
Apr 29 06:01:40.698 +0000 UTC
End time:
Apr 29 06:01:41.645 +0000 UTC
Elapsed time:
947.539443ms
Test version:
unknown
Configuration:
OCI_ROOT_URL=https://registry-1.docker.io
OCI_NAMESPACE=bloodorangeio/oci-conformance-test
OCI_PASSWORD=*****
OCI_USERNAME=*****

Pull

Setup

+

Populate registry with test blob


+

Populate registry with test layer


+

Populate registry with test manifest


+

Get the name of a tag


+

Get tag name from environment



Pull blobs

+

GET nonexistent blob should result in 404 response


+

GET request to existing blob URL should yield 200



Pull manifests

+

GET nonexistent manifest should return 404


+

GET request to manifest path (digest) should yield 200 response


+

GET request to manifest path (tag) should yield 200 response



Error codes

+

400 response body should contain OCI-conforming JSON message



Teardown

+

Delete config blob created in setup


+

Delete layer blob created in setup


+

Delete manifest created in setup



Push

Blob Upload Streamed

+

PATCH request with blob in body should yield 202 response


+

PUT request to session URL with digest should yield 201 response



Blob Upload Monolithic

+

GET nonexistent blob should result in 404 response


+

POST request with digest and blob should yield a 201


+

GET request to blob URL from prior request should yield 200


+

POST request should yield a session ID


+

PUT upload of a blob should yield a 201 Response


+

GET request to existing blob should yield 200 response


+

PUT upload of a layer blob should yield a 201 Response


+

GET request to existing layer should yield 200 response



Blob Upload Chunked

+

Out-of-order blob upload should return 416


+

PATCH request with first chunk should return 202


+

PUT request with final chunk should return 201



Manifest Upload

+

GET nonexistent manifest should return 404


+

PUT should accept a manifest upload


+

Registry should accept a manifest upload with no layers


Expected
    <string>: 
not to be empty

+

GET request to manifest URL (digest) should yield 200 response



Teardown

+

Delete config blob created in tests


+

Delete layer blob created in setup


+

Delete manifest created in tests



Content Discovery

Setup

+

Populate registry with test blob


+

Populate registry with test layer


+

Populate registry with test tags


+

Populate registry with test tags (no push)



Test content discovery endpoints

+

GET request to list tags should yield 200 response


+

GET number of tags should be limitable by `n` query parameter


+

GET start of tag is set by `last` query parameter



Teardown

+

Delete config blob created in tests


+

Delete layer blob created in setup


+

Delete created manifest & associated tags



Content Management

Setup

+

Populate registry with test config blob


+

Populate registry with test layer


+

Populate registry with test tag


+

Check how many tags there are before anything gets deleted



Manifest delete

+

DELETE request to manifest tag should return 202, unless tag deletion is disallowed (400)


+

DELETE request to manifest (digest) should yield 202 response unless already deleted


+

GET request to deleted manifest URL should yield 404 response, unless delete is disallowed


+

GET request to tags list should reflect manifest deletion



Blob delete

+

DELETE request to blob URL should yield 202 response


+

GET request to deleted blob URL should yield 404 response