Update registry tests to test schema 2 manifest pushes and pulls
Note that tests for manifest *lists* will be in a following commit
This commit is contained in:
parent
7b9f56eff3
commit
e752a9a73f
5 changed files with 171 additions and 98 deletions
|
@ -6,6 +6,7 @@ import pytest
|
|||
from Crypto.PublicKey import RSA
|
||||
from jwkest.jwk import RSAKey
|
||||
|
||||
from test.registry.fixtures import data_model
|
||||
from test.registry.protocols import Image, layer_bytes_for_contents
|
||||
from test.registry.protocol_v1 import V1Protocol
|
||||
from test.registry.protocol_v2 import V2Protocol
|
||||
|
@ -47,7 +48,8 @@ def sized_images():
|
|||
Image(id='parentid', bytes=parent_bytes, parent_id=None, size=len(parent_bytes),
|
||||
config={'foo': 'bar'}),
|
||||
Image(id='someid', bytes=image_bytes, parent_id='parentid', size=len(image_bytes),
|
||||
config={'foo': 'childbar', 'Entrypoint': ['hello']}),
|
||||
config={'foo': 'childbar', 'Entrypoint': ['hello']},
|
||||
created='2018-04-03T18:37:09.284840891Z'),
|
||||
]
|
||||
|
||||
|
||||
|
@ -105,9 +107,39 @@ def v1_protocol(request, jwk):
|
|||
return request.param(jwk)
|
||||
|
||||
|
||||
@pytest.fixture(params=[V2Protocol])
|
||||
def manifest_protocol(request, jwk):
|
||||
return request.param(jwk)
|
||||
@pytest.fixture(params=['schema1', 'schema2'])
|
||||
def manifest_protocol(request, data_model, jwk):
|
||||
return V2Protocol(jwk, schema2=(request == 'schema2' and data_model == 'oci_model'))
|
||||
|
||||
|
||||
@pytest.fixture(params=['v1', 'v2_1', 'v2_2'])
|
||||
def pusher(request, data_model, jwk):
|
||||
if request.param == 'v1':
|
||||
return V1Protocol(jwk)
|
||||
|
||||
if request.param == 'v2_2' and data_model == 'oci_model':
|
||||
return V2Protocol(jwk, schema2=True)
|
||||
|
||||
return V2Protocol(jwk)
|
||||
|
||||
|
||||
@pytest.fixture(params=['v1', 'v2_1'])
|
||||
def legacy_pusher(request, data_model, jwk):
|
||||
if request.param == 'v1':
|
||||
return V1Protocol(jwk)
|
||||
|
||||
return V2Protocol(jwk)
|
||||
|
||||
|
||||
@pytest.fixture(params=['v1', 'v2_1', 'v2_2'])
|
||||
def puller(request, data_model, jwk):
|
||||
if request == 'v1':
|
||||
return V1Protocol(jwk)
|
||||
|
||||
if request == 'v2_2' and data_model == 'oci_model':
|
||||
return V2Protocol(jwk, schema2=True)
|
||||
|
||||
return V2Protocol(jwk)
|
||||
|
||||
|
||||
@pytest.fixture(params=[V1Protocol, V2Protocol])
|
||||
|
@ -115,16 +147,6 @@ def loginer(request, jwk):
|
|||
return request.param(jwk)
|
||||
|
||||
|
||||
@pytest.fixture(params=[V1Protocol, V2Protocol])
|
||||
def pusher(request, jwk):
|
||||
return request.param(jwk)
|
||||
|
||||
|
||||
@pytest.fixture(params=[V1Protocol, V2Protocol])
|
||||
def puller(request, jwk):
|
||||
return request.param(jwk)
|
||||
|
||||
|
||||
@pytest.fixture(scope="session")
|
||||
def random_layer_data():
|
||||
size = 4096
|
||||
|
|
Reference in a new issue