Merge pull request #396 from jakedt/python-registry-v2
Python registry v2
This commit is contained in:
commit
1f0c7f9cff
5 changed files with 22 additions and 15 deletions
|
@ -139,8 +139,8 @@ def get_repository_images(namespace_name, repository_name):
|
|||
def get_image_by_id(namespace_name, repository_name, docker_image_id):
|
||||
image = get_repo_image_extended(namespace_name, repository_name, docker_image_id)
|
||||
if not image:
|
||||
raise DataModelException('Unable to find image \'%s\' for repo \'%s/%s\'' %
|
||||
(docker_image_id, namespace_name, repository_name))
|
||||
raise InvalidImageException('Unable to find image \'%s\' for repo \'%s/%s\'' %
|
||||
(docker_image_id, namespace_name, repository_name))
|
||||
return image
|
||||
|
||||
|
||||
|
|
|
@ -383,7 +383,11 @@ def get_image_ancestry(namespace, repository, image_id, headers):
|
|||
if not permission.can() and not model.repository.repository_is_public(namespace, repository):
|
||||
abort(403)
|
||||
|
||||
image = model.image.get_image_by_id(namespace, repository, image_id)
|
||||
try:
|
||||
image = model.image.get_image_by_id(namespace, repository, image_id)
|
||||
except model.InvalidImageException:
|
||||
abort(404, 'Image %(image_id)s not found', issue='unknown-image', image_id=image_id)
|
||||
|
||||
parents = model.image.get_parent_images(namespace, repository, image)
|
||||
|
||||
ancestry_docker_ids = [image.docker_image_id]
|
||||
|
|
|
@ -143,14 +143,11 @@ def build_index_specs():
|
|||
IndexTestSpec(url_for('v1.get_image_json', image_id=FAKE_IMAGE_ID),
|
||||
ORG_REPO, 403, 403, 404, 404),
|
||||
|
||||
IndexTestSpec(url_for('v1.get_image_ancestry',
|
||||
image_id=FAKE_IMAGE_ID),
|
||||
IndexTestSpec(url_for('v1.get_image_ancestry', image_id=FAKE_IMAGE_ID),
|
||||
PUBLIC_REPO, 404, 404, 404, 404),
|
||||
IndexTestSpec(url_for('v1.get_image_ancestry',
|
||||
image_id=FAKE_IMAGE_ID),
|
||||
IndexTestSpec(url_for('v1.get_image_ancestry', image_id=FAKE_IMAGE_ID),
|
||||
PRIVATE_REPO, 403, 403, 404, 404),
|
||||
IndexTestSpec(url_for('v1.get_image_ancestry',
|
||||
image_id=FAKE_IMAGE_ID),
|
||||
IndexTestSpec(url_for('v1.get_image_ancestry', image_id=FAKE_IMAGE_ID),
|
||||
ORG_REPO, 403, 403, 404, 404),
|
||||
|
||||
IndexTestSpec(url_for('v1.put_image_json', image_id=FAKE_IMAGE_ID),
|
||||
|
|
|
@ -16,10 +16,10 @@ ADMIN_ACCESS_USER = 'devtable'
|
|||
|
||||
|
||||
class EndpointTestCase(unittest.TestCase):
|
||||
def setUp(self):
|
||||
def setUp(self):
|
||||
setup_database_for_testing(self)
|
||||
|
||||
def tearDown(self):
|
||||
def tearDown(self):
|
||||
finished_database_for_testing(self)
|
||||
|
||||
|
||||
|
@ -68,13 +68,13 @@ class _SpecTestBuilder(type):
|
|||
|
||||
expected_status = getattr(test_spec, attrs['result_attr'])
|
||||
test = _SpecTestBuilder._test_generator(url, expected_status,
|
||||
open_kwargs,
|
||||
session_vars)
|
||||
open_kwargs,
|
||||
session_vars)
|
||||
|
||||
test_name_url = url.replace('/', '_').replace('-', '_')
|
||||
sess_repo = str(test_spec.sess_repo).replace('/', '_')
|
||||
test_name = 'test_%s%s_%s' % (open_kwargs['method'].lower(),
|
||||
test_name_url, sess_repo)
|
||||
test_name_url, sess_repo)
|
||||
attrs[test_name] = test
|
||||
|
||||
return type(name, bases, attrs)
|
||||
|
|
|
@ -68,9 +68,15 @@ class TestGarbageCollection(unittest.TestCase):
|
|||
if not image_id in image_map:
|
||||
image_map[image_id] = self.createImage(image_id, repo, namespace)
|
||||
|
||||
v1_metadata = {
|
||||
'id': image_id,
|
||||
}
|
||||
if parent is not None:
|
||||
v1_metadata['parent'] = parent.docker_image_id
|
||||
|
||||
# Set the ancestors for the image.
|
||||
parent = model.image.set_image_metadata(image_id, namespace, name, '', '', '',
|
||||
parent=parent)
|
||||
v1_metadata, parent=parent)
|
||||
|
||||
# Set the tag for the image.
|
||||
model.tag.create_or_update_tag(namespace, name, tag_name, image_ids[-1])
|
||||
|
|
Reference in a new issue