Don't use slashes for long lines - use parentheses instead

According to the OpenStack Style Guidelines [1] it is prefered to wrap
long lines in parentheses and not a backslash for line continuation. As
we are following those guidelines in our project - this patch replaces
backslash with parentheses for line continuation.

_[1] http://docs.openstack.org/developer/hacking/#general

Co-Authored-By: Roman Vasilets <rvasilets@mirantis.com>
Co-Authored-By: Kamil Rykowski <kamil.rykowski@intel.com>

Change-Id: I1743a539703c964277b0e8da203ee46bc8014fb5
Closes-bug: 1394605
This commit is contained in:
Roman Vasilets 2014-11-20 16:45:09 +02:00
parent 667331b666
commit 2008c55f26
24 changed files with 211 additions and 222 deletions

View File

@ -385,15 +385,15 @@ class RequestDeserializer(wsgi.JSONRequestDeserializer):
def _get_change_operation_d10(self, raw_change): def _get_change_operation_d10(self, raw_change):
op = raw_change.get('op') op = raw_change.get('op')
if op is None: if op is None:
msg = _('Unable to find `op` in JSON Schema change. ' msg = (_('Unable to find `op` in JSON Schema change. '
'It must be one of the following: %(available)s.') % \ 'It must be one of the following: %(available)s.') %
{'available': ', '.join(self._supported_operations)} {'available': ', '.join(self._supported_operations)})
raise webob.exc.HTTPBadRequest(explanation=msg) raise webob.exc.HTTPBadRequest(explanation=msg)
if op not in self._supported_operations: if op not in self._supported_operations:
msg = _('Invalid operation: `%(op)s`. ' msg = (_('Invalid operation: `%(op)s`. '
'It must be one of the following: %(available)s.') % \ 'It must be one of the following: %(available)s.') %
{'op': op, {'op': op,
'available': ', '.join(self._supported_operations)} 'available': ', '.join(self._supported_operations)})
raise webob.exc.HTTPBadRequest(explanation=msg) raise webob.exc.HTTPBadRequest(explanation=msg)
return op return op
@ -576,9 +576,9 @@ class RequestDeserializer(wsgi.JSONRequestDeserializer):
def _validate_sort_key(self, sort_key): def _validate_sort_key(self, sort_key):
if sort_key not in self._available_sort_keys: if sort_key not in self._available_sort_keys:
msg = _('Invalid sort key: %(sort_key)s. ' msg = _('Invalid sort key: %(sort_key)s. '
'It must be one of the following: %(available)s.') % \ 'It must be one of the following: %(available)s.') % (
{'sort_key': sort_key, {'sort_key': sort_key,
'available': ', '.join(self._available_sort_keys)} 'available': ', '.join(self._available_sort_keys)})
raise webob.exc.HTTPBadRequest(explanation=msg) raise webob.exc.HTTPBadRequest(explanation=msg)
return sort_key return sort_key
@ -698,8 +698,8 @@ class RequestDeserializer(wsgi.JSONRequestDeserializer):
# instead of sort_keys and sort_dirs respectively. # instead of sort_keys and sort_dirs respectively.
# It's done because in v1 it's still a single value. # It's done because in v1 it's still a single value.
query_params['sort_key'], query_params['sort_dir'] = \ query_params['sort_key'], query_params['sort_dir'] = (
self._get_sorting_params(params) self._get_sorting_params(params))
return query_params return query_params

View File

@ -36,20 +36,20 @@ class Controller(object):
# Metadef schemas # Metadef schemas
self.metadef_namespace_schema = metadef_namespaces.get_schema() self.metadef_namespace_schema = metadef_namespaces.get_schema()
self.metadef_namespace_collection_schema = \ self.metadef_namespace_collection_schema = (
metadef_namespaces.get_collection_schema() metadef_namespaces.get_collection_schema())
self.metadef_resource_type_schema = metadef_resource_types.get_schema() self.metadef_resource_type_schema = metadef_resource_types.get_schema()
self.metadef_resource_type_collection_schema = \ self.metadef_resource_type_collection_schema = (
metadef_resource_types.get_collection_schema() metadef_resource_types.get_collection_schema())
self.metadef_property_schema = metadef_properties.get_schema() self.metadef_property_schema = metadef_properties.get_schema()
self.metadef_property_collection_schema = \ self.metadef_property_collection_schema = (
metadef_properties.get_collection_schema() metadef_properties.get_collection_schema())
self.metadef_object_schema = metadef_objects.get_schema() self.metadef_object_schema = metadef_objects.get_schema()
self.metadef_object_collection_schema = \ self.metadef_object_collection_schema = (
metadef_objects.get_collection_schema() metadef_objects.get_collection_schema())
self.metadef_tag_schema = metadef_tags.get_schema() self.metadef_tag_schema = metadef_tags.get_schema()
self.metadef_tag_collection_schema = ( self.metadef_tag_collection_schema = (

View File

@ -627,20 +627,20 @@ class RequestDeserializer(wsgi.JSONRequestDeserializer,
if sort_key in self._available_sort_keys: if sort_key in self._available_sort_keys:
return sort_key, None return sort_key, None
elif type_version is None: elif type_version is None:
msg = _('Invalid sort key: %(sort_key)s. ' msg = (_('Invalid sort key: %(sort_key)s. '
'If type version is not set it must be one of' 'If type version is not set it must be one of'
' the following: %(available)s.') % \ ' the following: %(available)s.') %
{'sort_key': sort_key, {'sort_key': sort_key,
'available': ', '.join(self._available_sort_keys)} 'available': ', '.join(self._available_sort_keys)})
raise webob.exc.HTTPBadRequest(explanation=msg) raise webob.exc.HTTPBadRequest(explanation=msg)
prop_type = artifact_type.metadata.attributes.all.get(sort_key) prop_type = artifact_type.metadata.attributes.all.get(sort_key)
if prop_type is None or prop_type.DB_TYPE not in ['string', if prop_type is None or prop_type.DB_TYPE not in ['string',
'numeric', 'numeric',
'int', 'int',
'bool']: 'bool']:
msg = _('Invalid sort key: %(sort_key)s. ' msg = (_('Invalid sort key: %(sort_key)s. '
'You cannot sort by this property') % \ 'You cannot sort by this property') %
{'sort_key': sort_key} {'sort_key': sort_key})
raise webob.exc.HTTPBadRequest(explanation=msg) raise webob.exc.HTTPBadRequest(explanation=msg)
return sort_key, prop_type.DB_TYPE return sort_key, prop_type.DB_TYPE
@ -732,9 +732,9 @@ class RequestDeserializer(wsgi.JSONRequestDeserializer,
query_params = dict() query_params = dict()
query_params['sort_keys'], query_params['sort_dirs'] = \ query_params['sort_keys'], query_params['sort_dirs'] = (
self._get_sorting_params(params, res['artifact_type'], self._get_sorting_params(params, res['artifact_type'],
res['type_version']) res['type_version']))
if marker is not None: if marker is not None:
query_params['marker'] = marker query_params['marker'] = marker

View File

@ -347,8 +347,8 @@ class Dict(declarative.DictAttributeDefinition,
:param min_properties: minimum allowed amount of properties in the dict :param min_properties: minimum allowed amount of properties in the dict
:param max_properties: maximum allowed amount of properties in the dict :param max_properties: maximum allowed amount of properties in the dict
""" """
declarative.DictAttributeDefinition. \ declarative.DictAttributeDefinition.__init__(
__init__(self, self,
properties=properties, properties=properties,
min_properties=min_properties, min_properties=min_properties,
max_properties=max_properties) max_properties=max_properties)

View File

@ -282,8 +282,8 @@ def _process_blobs_for_client(artifact, result):
"prop": blob_attr.name "prop": blob_attr.name
} }
if position is not None: if position is not None:
template = "/artifacts/%(type)s/v%(version)s/" \ template = ("/artifacts/%(type)s/v%(version)s/"
"%(id)s/%(prop)s/%(position)s/download" "%(id)s/%(prop)s/%(position)s/download")
format_dict["position"] = position format_dict["position"] = position
return template % format_dict return template % format_dict

View File

@ -1994,9 +1994,9 @@ def _artifact_get(context, artifact_id, type_name,
type_version=None): type_version=None):
try: try:
artifact = DATA['artifacts'][artifact_id] artifact = DATA['artifacts'][artifact_id]
if artifact['type_name'] != type_name or\ if (artifact['type_name'] != type_name or
(type_version is not None and (type_version is not None and
artifact['type_version'] != type_version): artifact['type_version'] != type_version)):
raise KeyError raise KeyError
except KeyError: except KeyError:
LOG.info(_LI('Could not find artifact %s') % artifact_id) LOG.info(_LI('Could not find artifact %s') % artifact_id)

View File

@ -41,13 +41,13 @@ from glance import artifacts as ga
from glance.common import exception from glance.common import exception
from glance.common import utils from glance.common import utils
from glance.db.sqlalchemy import artifacts from glance.db.sqlalchemy import artifacts
from glance.db.sqlalchemy.metadef_api import (resource_type
as metadef_resource_type_api)
from glance.db.sqlalchemy.metadef_api import (resource_type_association
as metadef_association_api)
from glance.db.sqlalchemy.metadef_api import namespace as metadef_namespace_api from glance.db.sqlalchemy.metadef_api import namespace as metadef_namespace_api
from glance.db.sqlalchemy.metadef_api import object as metadef_object_api from glance.db.sqlalchemy.metadef_api import object as metadef_object_api
from glance.db.sqlalchemy.metadef_api import property as metadef_property_api from glance.db.sqlalchemy.metadef_api import property as metadef_property_api
from glance.db.sqlalchemy.metadef_api\
import resource_type as metadef_resource_type_api
from glance.db.sqlalchemy.metadef_api\
import resource_type_association as metadef_association_api
from glance.db.sqlalchemy.metadef_api import tag as metadef_tag_api from glance.db.sqlalchemy.metadef_api import tag as metadef_tag_api
from glance.db.sqlalchemy import models from glance.db.sqlalchemy import models
from glance import i18n from glance import i18n
@ -1472,8 +1472,8 @@ def metadef_namespace_update(context, namespace_id, namespace_dict,
session=None): session=None):
"""Update a namespace or raise if it does not exist or not visible""" """Update a namespace or raise if it does not exist or not visible"""
session = session or get_session() session = session or get_session()
return metadef_namespace_api.\ return metadef_namespace_api.update(
update(context, namespace_id, namespace_dict, session) context, namespace_id, namespace_dict, session)
def metadef_namespace_delete(context, namespace_name, session=None): def metadef_namespace_delete(context, namespace_name, session=None):
@ -1638,8 +1638,8 @@ def metadef_resource_type_association_delete(
def metadef_resource_type_association_get_all_by_namespace( def metadef_resource_type_association_get_all_by_namespace(
context, namespace_name, session=None): context, namespace_name, session=None):
session = session or get_session() session = session or get_session()
return metadef_association_api.\ return metadef_association_api.get_all_by_namespace(
get_all_by_namespace(context, namespace_name, session) context, namespace_name, session)
def metadef_tag_get_all( def metadef_tag_get_all(

View File

@ -224,16 +224,18 @@ def _get(context, artifact_id, session, type_name=None, type_version=None,
_set_version_fields(values) _set_version_fields(values)
try: try:
if show_level == ga.Showlevel.NONE: if show_level == ga.Showlevel.NONE:
query = session.query(models.Artifact) \ query = (
.options(joinedload(models.Artifact.tags)) \ session.query(models.Artifact).
.filter_by(**values) options(joinedload(models.Artifact.tags)).
filter_by(**values))
else: else:
query = session.query(models.Artifact) \ query = (
.options(joinedload(models.Artifact.properties)) \ session.query(models.Artifact).
.options(joinedload(models.Artifact.tags)) \ options(joinedload(models.Artifact.properties)).
.options(joinedload(models.Artifact.blobs). options(joinedload(models.Artifact.tags)).
joinedload(models.ArtifactBlob.locations)) \ options(joinedload(models.Artifact.blobs).
.filter_by(**values) joinedload(models.ArtifactBlob.locations)).
filter_by(**values))
artifact = query.one() artifact = query.one()
except orm.exc.NoResultFound: except orm.exc.NoResultFound:
@ -354,12 +356,11 @@ def _do_paginate_query(query, sort_keys=None, sort_dirs=None,
else: else:
# sort by custom property # sort by custom property
prop_type = current_sort_key[1] + "_value" prop_type = current_sort_key[1] + "_value"
query = query.join(models.ArtifactProperty).\ query = (
filter( query.join(models.ArtifactProperty).
models.ArtifactProperty.name == current_sort_key[0]).\ filter(models.ArtifactProperty.name == current_sort_key[0]).
order_by( order_by(sort_dir_func(getattr(models.ArtifactProperty,
sort_dir_func(getattr(models.ArtifactProperty, prop_type))))
prop_type)))
# Add pagination # Add pagination
if marker is not None: if marker is not None:
@ -409,15 +410,17 @@ def _do_artifacts_query(context, session, show_level=ga.Showlevel.NONE):
{'is_admin': context.is_admin, 'owner': context.owner}) {'is_admin': context.is_admin, 'owner': context.owner})
if show_level == ga.Showlevel.NONE: if show_level == ga.Showlevel.NONE:
query = session.query(models.Artifact) \ query = session.query(models.Artifact).options(
.options(joinedload(models.Artifact.tags)) joinedload(models.Artifact.tags))
elif show_level == ga.Showlevel.BASIC: elif show_level == ga.Showlevel.BASIC:
query = session.query(models.Artifact) \ query = (
.options(joinedload(models.Artifact.properties) session.query(models.Artifact).
.defer(models.ArtifactProperty.text_value)) \ options(joinedload(
.options(joinedload(models.Artifact.tags)) \ models.Artifact.properties).
.options(joinedload(models.Artifact.blobs). defer(models.ArtifactProperty.text_value)).
joinedload(models.ArtifactBlob.locations)) options(joinedload(models.Artifact.tags)).
options(joinedload(models.Artifact.blobs).
joinedload(models.ArtifactBlob.locations)))
else: else:
# other show_levels aren't supported # other show_levels aren't supported
msg = _LW("Show level %s is not supported in this " msg = _LW("Show level %s is not supported in this "
@ -677,8 +680,8 @@ def _do_transitive_dependencies(artifact, session):
deps_to_update = [] deps_to_update = []
for dependency in artifact.dependencies: for dependency in artifact.dependencies:
depvalue = dependency.artifact_dest depvalue = dependency.artifact_dest
transitdeps = session.query(models.ArtifactDependency). \ transitdeps = session.query(models.ArtifactDependency).filter_by(
filter_by(artifact_source=depvalue).all() artifact_source=depvalue).all()
for transitdep in transitdeps: for transitdep in transitdeps:
if not transitdep.is_direct: if not transitdep.is_direct:
# transitive dependencies are already created # transitive dependencies are already created

View File

@ -97,35 +97,39 @@ def _get_resource_type(meta, resource_type_id):
def _get_namespace_resource_types(meta, namespace_id): def _get_namespace_resource_types(meta, namespace_id):
namespace_resource_types_table =\ namespace_resource_types_table = (
get_metadef_namespace_resource_types_table(meta) get_metadef_namespace_resource_types_table(meta))
return namespace_resource_types_table.select().\ return (
where(namespace_resource_types_table.c.namespace_id == namespace_id).\ namespace_resource_types_table.select().
execute().fetchall() where(namespace_resource_types_table.c.namespace_id == namespace_id).
execute().fetchall())
def _get_namespace_resource_type_by_ids(meta, namespace_id, rt_id): def _get_namespace_resource_type_by_ids(meta, namespace_id, rt_id):
namespace_resource_types_table =\ namespace_resource_types_table = (
get_metadef_namespace_resource_types_table(meta) get_metadef_namespace_resource_types_table(meta))
return namespace_resource_types_table.select().\ return (
namespace_resource_types_table.select().
where(and_( where(and_(
namespace_resource_types_table.c.namespace_id == namespace_id, namespace_resource_types_table.c.namespace_id == namespace_id,
namespace_resource_types_table.c.resource_type_id == rt_id)).\ namespace_resource_types_table.c.resource_type_id == rt_id)).
execute().fetchone() execute().fetchone())
def _get_properties(meta, namespace_id): def _get_properties(meta, namespace_id):
properties_table = get_metadef_properties_table(meta) properties_table = get_metadef_properties_table(meta)
return properties_table.select().\ return (
where(properties_table.c.namespace_id == namespace_id).\ properties_table.select().
execute().fetchall() where(properties_table.c.namespace_id == namespace_id).
execute().fetchall())
def _get_objects(meta, namespace_id): def _get_objects(meta, namespace_id):
objects_table = get_metadef_objects_table(meta) objects_table = get_metadef_objects_table(meta)
return objects_table.select().\ return (
where(objects_table.c.namespace_id == namespace_id).\ objects_table.select().
execute().fetchall() where(objects_table.c.namespace_id == namespace_id).
execute().fetchall())
def _get_tags(meta, namespace_id): def _get_tags(meta, namespace_id):
@ -399,9 +403,8 @@ def _export_data_to_file(meta, path):
resource_types = [] resource_types = []
for namespace_resource_type in namespace_resource_types: for namespace_resource_type in namespace_resource_types:
resource_type =\ resource_type = _get_resource_type(
_get_resource_type(meta, meta, namespace_resource_type['resource_type_id'])
namespace_resource_type['resource_type_id'])
resource_types.append({ resource_types.append({
'name': resource_type['name'], 'name': resource_type['name'],
'prefix': namespace_resource_type['prefix'], 'prefix': namespace_resource_type['prefix'],

View File

@ -82,8 +82,8 @@ def _get(context, namespace_id, session):
"""Get a namespace by id, raise if not found""" """Get a namespace by id, raise if not found"""
try: try:
query = session.query(models.MetadefNamespace)\ query = session.query(models.MetadefNamespace).filter_by(
.filter_by(id=namespace_id) id=namespace_id)
namespace_rec = query.one() namespace_rec = query.one()
except sa_orm.exc.NoResultFound: except sa_orm.exc.NoResultFound:
msg = (_("Metadata definition namespace not found for id=%s") msg = (_("Metadata definition namespace not found for id=%s")
@ -107,8 +107,8 @@ def _get_by_name(context, name, session):
"""Get a namespace by name, raise if not found""" """Get a namespace by name, raise if not found"""
try: try:
query = session.query(models.MetadefNamespace)\ query = session.query(models.MetadefNamespace).filter_by(
.filter_by(namespace=name) namespace=name)
namespace_rec = query.one() namespace_rec = query.one()
except sa_orm.exc.NoResultFound: except sa_orm.exc.NoResultFound:
msg = "Metadata definition namespace=%s was not found." % name msg = "Metadata definition namespace=%s was not found." % name

View File

@ -30,8 +30,7 @@ _ = i18n._
def _get(context, object_id, session): def _get(context, object_id, session):
try: try:
query = session.query(models.MetadefObject)\ query = session.query(models.MetadefObject).filter_by(id=object_id)
.filter_by(id=object_id)
metadef_object = query.one() metadef_object = query.one()
except sa_orm.exc.NoResultFound: except sa_orm.exc.NoResultFound:
msg = (_("Metadata definition object not found for id=%s") msg = (_("Metadata definition object not found for id=%s")
@ -45,8 +44,8 @@ def _get(context, object_id, session):
def _get_by_name(context, namespace_name, name, session): def _get_by_name(context, namespace_name, name, session):
namespace = namespace_api.get(context, namespace_name, session) namespace = namespace_api.get(context, namespace_name, session)
try: try:
query = session.query(models.MetadefObject)\ query = session.query(models.MetadefObject).filter_by(
.filter_by(name=name, namespace_id=namespace['id']) name=name, namespace_id=namespace['id'])
metadef_object = query.one() metadef_object = query.one()
except sa_orm.exc.NoResultFound: except sa_orm.exc.NoResultFound:
msg = ("The metadata definition object with name=%(name)s" msg = ("The metadata definition object with name=%(name)s"
@ -61,8 +60,8 @@ def _get_by_name(context, namespace_name, name, session):
def get_all(context, namespace_name, session): def get_all(context, namespace_name, session):
namespace = namespace_api.get(context, namespace_name, session) namespace = namespace_api.get(context, namespace_name, session)
query = session.query(models.MetadefObject)\ query = session.query(models.MetadefObject).filter_by(
.filter_by(namespace_id=namespace['id']) namespace_id=namespace['id'])
md_objects = query.all() md_objects = query.all()
md_objects_list = [] md_objects_list = []
@ -137,8 +136,8 @@ def delete_namespace_content(context, namespace_id, session):
"""Use this def only if the ns for the id has been verified as visible""" """Use this def only if the ns for the id has been verified as visible"""
count = 0 count = 0
query = session.query(models.MetadefObject)\ query = session.query(models.MetadefObject).filter_by(
.filter_by(namespace_id=namespace_id) namespace_id=namespace_id)
count = query.delete(synchronize_session='fetch') count = query.delete(synchronize_session='fetch')
return count return count
@ -152,6 +151,6 @@ def count(context, namespace_name, session):
"""Get the count of objects for a namespace, raise if ns not found""" """Get the count of objects for a namespace, raise if ns not found"""
namespace = namespace_api.get(context, namespace_name, session) namespace = namespace_api.get(context, namespace_name, session)
query = session.query(func.count(models.MetadefObject.id))\ query = session.query(func.count(models.MetadefObject.id)).filter_by(
.filter_by(namespace_id=namespace['id']) namespace_id=namespace['id'])
return query.scalar() return query.scalar()

View File

@ -31,8 +31,7 @@ _ = i18n._
def _get(context, property_id, session): def _get(context, property_id, session):
try: try:
query = session.query(models.MetadefProperty)\ query = session.query(models.MetadefProperty).filter_by(id=property_id)
.filter_by(id=property_id)
property_rec = query.one() property_rec = query.one()
except sa_orm.exc.NoResultFound: except sa_orm.exc.NoResultFound:
@ -49,8 +48,8 @@ def _get_by_name(context, namespace_name, name, session):
namespace = namespace_api.get(context, namespace_name, session) namespace = namespace_api.get(context, namespace_name, session)
try: try:
query = session.query(models.MetadefProperty)\ query = session.query(models.MetadefProperty).filter_by(
.filter_by(name=name, namespace_id=namespace['id']) name=name, namespace_id=namespace['id'])
property_rec = query.one() property_rec = query.one()
except sa_orm.exc.NoResultFound: except sa_orm.exc.NoResultFound:
@ -73,8 +72,8 @@ def get(context, namespace_name, name, session):
def get_all(context, namespace_name, session): def get_all(context, namespace_name, session):
namespace = namespace_api.get(context, namespace_name, session) namespace = namespace_api.get(context, namespace_name, session)
query = session.query(models.MetadefProperty)\ query = session.query(models.MetadefProperty).filter_by(
.filter_by(namespace_id=namespace['id']) namespace_id=namespace['id'])
properties = query.all() properties = query.all()
properties_list = [] properties_list = []
@ -148,8 +147,8 @@ def delete_namespace_content(context, namespace_id, session):
"""Use this def only if the ns for the id has been verified as visible""" """Use this def only if the ns for the id has been verified as visible"""
count = 0 count = 0
query = session.query(models.MetadefProperty)\ query = session.query(models.MetadefProperty).filter_by(
.filter_by(namespace_id=namespace_id) namespace_id=namespace_id)
count = query.delete(synchronize_session='fetch') count = query.delete(synchronize_session='fetch')
return count return count
@ -164,6 +163,6 @@ def count(context, namespace_name, session):
namespace = namespace_api.get(context, namespace_name, session) namespace = namespace_api.get(context, namespace_name, session)
query = session.query(func.count(models.MetadefProperty.id))\ query = session.query(func.count(models.MetadefProperty.id)).filter_by(
.filter_by(namespace_id=namespace['id']) namespace_id=namespace['id'])
return query.scalar() return query.scalar()

View File

@ -29,8 +29,7 @@ def get(context, name, session):
"""Get a resource type, raise if not found""" """Get a resource type, raise if not found"""
try: try:
query = session.query(models.MetadefResourceType)\ query = session.query(models.MetadefResourceType).filter_by(name=name)
.filter_by(name=name)
resource_type = query.one() resource_type = query.one()
except sa_orm.exc.NoResultFound: except sa_orm.exc.NoResultFound:
msg = "No metadata definition resource-type found with name %s" % name msg = "No metadata definition resource-type found with name %s" % name

View File

@ -18,12 +18,9 @@ from oslo_log import log as logging
import sqlalchemy.orm as sa_orm import sqlalchemy.orm as sa_orm
from glance.common import exception as exc from glance.common import exception as exc
from glance.db.sqlalchemy.metadef_api\ from glance.db.sqlalchemy.metadef_api import namespace as namespace_api
import namespace as namespace_api from glance.db.sqlalchemy.metadef_api import resource_type as resource_type_api
from glance.db.sqlalchemy.metadef_api\ from glance.db.sqlalchemy.metadef_api import utils as metadef_utils
import resource_type as resource_type_api
from glance.db.sqlalchemy.metadef_api\
import utils as metadef_utils
from glance.db.sqlalchemy import models_metadef as models from glance.db.sqlalchemy import models_metadef as models
LOG = logging.getLogger(__name__) LOG = logging.getLogger(__name__)
@ -65,9 +62,8 @@ def _get(context, namespace_name, resource_type_name,
# visibility check assumed done in calling routine via namespace_get # visibility check assumed done in calling routine via namespace_get
try: try:
query = session.query(models.MetadefNamespaceResourceType).\ query = session.query(models.MetadefNamespaceResourceType).filter_by(
filter_by(namespace_id=namespace_id, namespace_id=namespace_id, resource_type_id=resource_type_id)
resource_type_id=resource_type_id)
db_rec = query.one() db_rec = query.one()
except sa_orm.exc.NoResultFound: except sa_orm.exc.NoResultFound:
msg = ("The metadata definition resource-type association of" msg = ("The metadata definition resource-type association of"
@ -211,7 +207,7 @@ def delete_namespace_content(context, namespace_id, session):
"""Use this def only if the ns for the id has been verified as visible""" """Use this def only if the ns for the id has been verified as visible"""
count = 0 count = 0
query = session.query(models.MetadefNamespaceResourceType)\ query = session.query(models.MetadefNamespaceResourceType).filter_by(
.filter_by(namespace_id=namespace_id) namespace_id=namespace_id)
count = query.delete(synchronize_session='fetch') count = query.delete(synchronize_session='fetch')
return count return count

View File

@ -114,8 +114,8 @@ class RegistryClient(BaseClient):
kwargs['headers'] = kwargs.get('headers', {}) kwargs['headers'] = kwargs.get('headers', {})
kwargs['headers'].update(self.identity_headers or {}) kwargs['headers'].update(self.identity_headers or {})
if self._passed_request_id: if self._passed_request_id:
kwargs['headers']['X-Openstack-Request-ID'] = \ kwargs['headers']['X-Openstack-Request-ID'] = (
self._passed_request_id self._passed_request_id)
res = super(RegistryClient, self).do_request(method, res = super(RegistryClient, self).do_request(method,
action, action,
**kwargs) **kwargs)

View File

@ -283,8 +283,8 @@ class ArtifactTests(object):
TYPE_NAME, TYPE_VERSION) TYPE_NAME, TYPE_VERSION)
self.assertIsNotNone(res) self.assertIsNotNone(res)
created = self.db_api. \ created = self.db_api.artifact_get(
artifact_get(self.context, res['id'], TYPE_NAME, TYPE_VERSION, self.context, res['id'], TYPE_NAME, TYPE_VERSION,
show_level=ga.Showlevel.DIRECT) show_level=ga.Showlevel.DIRECT)
bd_dependencies = created['dependencies'] bd_dependencies = created['dependencies']
self.assertEqual(1, len(bd_dependencies)) self.assertEqual(1, len(bd_dependencies))
@ -306,8 +306,8 @@ class ArtifactTests(object):
TYPE_NAME, TYPE_VERSION) TYPE_NAME, TYPE_VERSION)
self.assertIsNotNone(res) self.assertIsNotNone(res)
created = self.db_api. \ created = self.db_api.artifact_get(
artifact_get(self.context, res['id'], TYPE_NAME, TYPE_VERSION, self.context, res['id'], TYPE_NAME, TYPE_VERSION,
show_level=ga.Showlevel.DIRECT) show_level=ga.Showlevel.DIRECT)
bd_dependencies = created['dependencies'] bd_dependencies = created['dependencies']
self.assertEqual(1, len(bd_dependencies)) self.assertEqual(1, len(bd_dependencies))
@ -317,8 +317,8 @@ class ArtifactTests(object):
res['id'], TYPE_NAME, TYPE_VERSION res['id'], TYPE_NAME, TYPE_VERSION
) )
res = self.db_api. \ res = self.db_api.artifact_get(
artifact_get(self.context, res['id'], TYPE_NAME, TYPE_VERSION, self.context, res['id'], TYPE_NAME, TYPE_VERSION,
show_level=ga.Showlevel.TRANSITIVE) show_level=ga.Showlevel.TRANSITIVE)
self.assertIsNotNone(res.pop('created_at')) self.assertIsNotNone(res.pop('created_at'))
self.assertIsNotNone(res.pop('updated_at')) self.assertIsNotNone(res.pop('updated_at'))
@ -332,8 +332,8 @@ class ArtifactTests(object):
self.assertIsNotNone(tags) self.assertIsNotNone(tags)
self.assertEqual(set(['gugugu', 'lalala']), set(tags)) self.assertEqual(set(['gugugu', 'lalala']), set(tags))
tags = res['dependencies']['new->2'][0]['dependencies']['2->1'][0]\ tags = (res['dependencies']['new->2'][0]['dependencies']['2->1'][0].
.pop('tags', None) pop('tags', None))
self.assertIsNotNone(tags) self.assertIsNotNone(tags)
self.assertEqual(set(['gugugu', 'lalala']), set(tags)) self.assertEqual(set(['gugugu', 'lalala']), set(tags))
@ -560,9 +560,8 @@ class ArtifactTests(object):
self.assertRaises(KeyError, lambda: artifacts[0]['properties']) self.assertRaises(KeyError, lambda: artifacts[0]['properties'])
artifacts = self.db_api. \ artifacts = self.db_api.artifact_get_all(
artifact_get_all(self.context, self.context, show_level=ga.Showlevel.BASIC)
show_level=ga.Showlevel.BASIC)
self.assertEqual(2, len(artifacts)) self.assertEqual(2, len(artifacts))
self.assertEqual(4, len(artifacts[0]['properties'])) self.assertEqual(4, len(artifacts[0]['properties']))

View File

@ -146,9 +146,8 @@ class MetadefNamespaceTests(object):
self.assertIsNotNone(created, "Could not create an association.") self.assertIsNotNone(created, "Could not create an association.")
rt_filters = {'resource_types': fixture['name']} rt_filters = {'resource_types': fixture['name']}
found = self.db_api.\ found = self.db_api.metadef_namespace_get_all(
metadef_namespace_get_all(self.context, filters=rt_filters, self.context, filters=rt_filters, sort_key='created_at')
sort_key='created_at')
self.assertEqual(1, len(found)) self.assertEqual(1, len(found))
for item in found: for item in found:
self._assert_saved_fields(ns_fixture, item) self._assert_saved_fields(ns_fixture, item)
@ -256,8 +255,8 @@ class MetadefPropertyTests(object):
self.context, ns_created['namespace'], fixture2) self.context, ns_created['namespace'], fixture2)
self.assertIsNotNone(created_p2, "Could not create a property.") self.assertIsNotNone(created_p2, "Could not create a property.")
found = self.db_api.\ found = self.db_api.metadef_property_get_all(
metadef_property_get_all(self.context, ns_created['namespace']) self.context, ns_created['namespace'])
self.assertEqual(2, len(found)) self.assertEqual(2, len(found))
def test_property_update(self): def test_property_update(self):
@ -366,8 +365,8 @@ class MetadefObjectTests(object):
self.context, ns_created['namespace'], fixture2) self.context, ns_created['namespace'], fixture2)
self.assertIsNotNone(created_o2, "Could not create an object.") self.assertIsNotNone(created_o2, "Could not create an object.")
found = self.db_api.\ found = self.db_api.metadef_object_get_all(
metadef_object_get_all(self.context, ns_created['namespace']) self.context, ns_created['namespace'])
self.assertEqual(len(found), 2) self.assertEqual(len(found), 2)
def test_object_update(self): def test_object_update(self):
@ -478,9 +477,9 @@ class MetadefResourceTypeAssociationTests(object):
self.context, ns_created['namespace'], fixture) self.context, ns_created['namespace'], fixture)
self.assertIsNotNone(created, "Could not create an association.") self.assertIsNotNone(created, "Could not create an association.")
found = self.db_api.\ found = (
metadef_resource_type_association_get_all_by_namespace( self.db_api.metadef_resource_type_association_get_all_by_namespace(
self.context, ns_created['namespace']) self.context, ns_created['namespace']))
self.assertEqual(1, len(found)) self.assertEqual(1, len(found))
for item in found: for item in found:
self._assert_saved_fields(fixture, item) self._assert_saved_fields(fixture, item)

View File

@ -170,8 +170,8 @@ class TestMetadefObjects(functional.FunctionalTest):
if(key in checked_values): if(key in checked_values):
self.assertEqual(metadata_object[key], value, key) self.assertEqual(metadata_object[key], value, key)
# Complex key values - properties # Complex key values - properties
for key, value in \ for key, value in (
expected_metadata_object["properties"]['property2'].items(): expected_metadata_object["properties"]['property2'].items()):
self.assertEqual( self.assertEqual(
metadata_object["properties"]["property2"][key], metadata_object["properties"]["property2"][key],
value, key value, key

View File

@ -133,8 +133,8 @@ def stub_out_registry_and_store_server(stubs, base_dir, **kwargs):
def endheaders(self): def endheaders(self):
hl = [i.lower() for i in self.req.headers.keys()] hl = [i.lower() for i in self.req.headers.keys()]
assert not ('content-length' in hl and assert not ('content-length' in hl and
'transfer-encoding' in hl), \ 'transfer-encoding' in hl), (
'Content-Length and Transfer-Encoding are mutually exclusive' 'Content-Length and Transfer-Encoding are mutually exclusive')
def send(self, data): def send(self, data):
# send() is called during chunked-transfer encoding, and # send() is called during chunked-transfer encoding, and

View File

@ -86,8 +86,8 @@ class TestCacheMiddlewareRequestStashCacheInfo(testtools.TestCase):
self.request.environ['api.cache.image_id'] = 'asdf' self.request.environ['api.cache.image_id'] = 'asdf'
self.request.environ['api.cache.method'] = 'GET' self.request.environ['api.cache.method'] = 'GET'
self.request.environ['api.cache.version'] = 'v2' self.request.environ['api.cache.version'] = 'v2'
(image_id, method, version) = \ (image_id, method, version) = self.middleware._fetch_request_info(
self.middleware._fetch_request_info(self.request) self.request)
self.assertEqual('asdf', image_id) self.assertEqual('asdf', image_id)
self.assertEqual('GET', method) self.assertEqual('GET', method)
self.assertEqual('v2', version) self.assertEqual('v2', version)

View File

@ -140,8 +140,8 @@ class TestMetadefRepo(test_utils.BaseTestCase):
self.db) self.db)
self.tag_repo = glance.db.MetadefTagRepo(self.context, self.tag_repo = glance.db.MetadefTagRepo(self.context,
self.db) self.db)
self.resource_type_repo = glance.db.\ self.resource_type_repo = glance.db.MetadefResourceTypeRepo(
MetadefResourceTypeRepo(self.context, self.db) self.context, self.db)
self.namespace_factory = glance.domain.MetadefNamespaceFactory() self.namespace_factory = glance.domain.MetadefNamespaceFactory()
self.property_factory = glance.domain.MetadefPropertyFactory() self.property_factory = glance.domain.MetadefPropertyFactory()
self.object_factory = glance.domain.MetadefObjectFactory() self.object_factory = glance.domain.MetadefObjectFactory()

View File

@ -97,10 +97,10 @@ class TestScrubDBQueue(test_utils.BaseTestCase):
return pager() return pager()
return mock_get_images_detailed return mock_get_images_detailed
with patch.object(scrub_queue.registry, 'get_images_detailed') \ with patch.object(scrub_queue.registry, 'get_images_detailed') as (
as _mock_get_images_detailed: _mock_get_images_detailed):
_mock_get_images_detailed.side_effect = \ _mock_get_images_detailed.side_effect = (
make_get_images_detailed(image_pager) make_get_images_detailed(image_pager))
actual = list(scrub_queue._get_all_images()) actual = list(scrub_queue._get_all_images())
self.assertEqual(images, actual) self.assertEqual(images, actual)
@ -115,10 +115,10 @@ class TestScrubDBQueue(test_utils.BaseTestCase):
return pager() return pager()
return mock_get_images_detailed return mock_get_images_detailed
with patch.object(scrub_queue.registry, 'get_images_detailed') \ with patch.object(scrub_queue.registry, 'get_images_detailed') as (
as _mock_get_images_detailed: _mock_get_images_detailed):
_mock_get_images_detailed.side_effect = \ _mock_get_images_detailed.side_effect = (
make_get_images_detailed(image_pager) make_get_images_detailed(image_pager))
actual = list(scrub_queue._get_all_images()) actual = list(scrub_queue._get_all_images())
self.assertEqual(images, actual) self.assertEqual(images, actual)

View File

@ -172,8 +172,8 @@ class TestUploadUtils(base.StoreClearingUnitTest):
req.context, image_meta['id'], update_data, req.context, image_meta['id'], update_data,
from_state='saving') from_state='saving')
# 'check_quota' is called two times # 'check_quota' is called two times
check_quota_call_count =\ check_quota_call_count = (
mock_check_quota.target.check_quota.call_count mock_check_quota.target.check_quota.call_count)
self.assertEqual(2, check_quota_call_count) self.assertEqual(2, check_quota_call_count)
def test_upload_data_to_store_mismatch_size(self): def test_upload_data_to_store_mismatch_size(self):

View File

@ -22,7 +22,6 @@ from glance.api.v2 import metadef_objects as objects
from glance.api.v2 import metadef_properties as properties from glance.api.v2 import metadef_properties as properties
from glance.api.v2 import metadef_resource_types as resource_types from glance.api.v2 import metadef_resource_types as resource_types
from glance.api.v2 import metadef_tags as tags from glance.api.v2 import metadef_tags as tags
import glance.api.v2.model.metadef_namespace
from glance.tests.unit import base from glance.tests.unit import base
import glance.tests.unit.utils as unit_test_utils import glance.tests.unit.utils as unit_test_utils
@ -120,7 +119,7 @@ def _db_tags_fixture(tag_names=None):
tag_names = [TAG1, TAG2, TAG3] tag_names = [TAG1, TAG2, TAG3]
for tag_name in tag_names: for tag_name in tag_names:
tag = glance.api.v2.model.metadef_tag.MetadefTag() tag = tags.MetadefTag()
tag.name = tag_name tag.name = tag_name
tag_list.append(tag) tag_list.append(tag)
return tag_list return tag_list
@ -326,17 +325,16 @@ class TestMetadefsControllers(base.IsolatedUnitTest):
def test_namespace_show_with_property_prefix(self): def test_namespace_show_with_property_prefix(self):
request = unit_test_utils.get_fake_request() request = unit_test_utils.get_fake_request()
rt = glance.api.v2.model.metadef_resource_type.\ rt = resource_types.ResourceTypeAssociation()
ResourceTypeAssociation()
rt.name = RESOURCE_TYPE2 rt.name = RESOURCE_TYPE2
rt.prefix = 'pref' rt.prefix = 'pref'
rt = self.rt_controller.create(request, rt, NAMESPACE3) rt = self.rt_controller.create(request, rt, NAMESPACE3)
object = glance.api.v2.model.metadef_object.MetadefObject() object = objects.MetadefObject()
object.name = OBJECT3 object.name = OBJECT3
object.required = [] object.required = []
property = glance.api.v2.model.metadef_property_type.PropertyType() property = properties.PropertyType()
property.name = PROPERTY2 property.name = PROPERTY2
property.type = 'string' property.type = 'string'
property.title = 'title' property.title = 'title'
@ -597,7 +595,7 @@ class TestMetadefsControllers(base.IsolatedUnitTest):
def test_namespace_create(self): def test_namespace_create(self):
request = unit_test_utils.get_fake_request() request = unit_test_utils.get_fake_request()
namespace = glance.api.v2.model.metadef_namespace.Namespace() namespace = namespaces.Namespace()
namespace.namespace = NAMESPACE4 namespace.namespace = NAMESPACE4
namespace = self.namespace_controller.create(request, namespace) namespace = self.namespace_controller.create(request, namespace)
self.assertEqual(NAMESPACE4, namespace.namespace) self.assertEqual(NAMESPACE4, namespace.namespace)
@ -610,7 +608,7 @@ class TestMetadefsControllers(base.IsolatedUnitTest):
def test_namespace_create_different_owner(self): def test_namespace_create_different_owner(self):
request = unit_test_utils.get_fake_request() request = unit_test_utils.get_fake_request()
namespace = glance.api.v2.model.metadef_namespace.Namespace() namespace = namespaces.Namespace()
namespace.namespace = NAMESPACE4 namespace.namespace = NAMESPACE4
namespace.owner = TENANT4 namespace.owner = TENANT4
self.assertRaises(webob.exc.HTTPForbidden, self.assertRaises(webob.exc.HTTPForbidden,
@ -620,7 +618,7 @@ class TestMetadefsControllers(base.IsolatedUnitTest):
def test_namespace_create_different_owner_admin(self): def test_namespace_create_different_owner_admin(self):
request = unit_test_utils.get_fake_request(is_admin=True) request = unit_test_utils.get_fake_request(is_admin=True)
namespace = glance.api.v2.model.metadef_namespace.Namespace() namespace = namespaces.Namespace()
namespace.namespace = NAMESPACE4 namespace.namespace = NAMESPACE4
namespace.owner = TENANT4 namespace.owner = TENANT4
namespace = self.namespace_controller.create(request, namespace) namespace = self.namespace_controller.create(request, namespace)
@ -634,22 +632,22 @@ class TestMetadefsControllers(base.IsolatedUnitTest):
def test_namespace_create_with_related_resources(self): def test_namespace_create_with_related_resources(self):
request = unit_test_utils.get_fake_request() request = unit_test_utils.get_fake_request()
namespace = glance.api.v2.model.metadef_namespace.Namespace() namespace = namespaces.Namespace()
namespace.namespace = NAMESPACE4 namespace.namespace = NAMESPACE4
prop1 = glance.api.v2.model.metadef_property_type.PropertyType() prop1 = properties.PropertyType()
prop1.type = 'string' prop1.type = 'string'
prop1.title = 'title' prop1.title = 'title'
prop2 = glance.api.v2.model.metadef_property_type.PropertyType() prop2 = properties.PropertyType()
prop2.type = 'string' prop2.type = 'string'
prop2.title = 'title' prop2.title = 'title'
namespace.properties = {PROPERTY1: prop1, PROPERTY2: prop2} namespace.properties = {PROPERTY1: prop1, PROPERTY2: prop2}
object1 = glance.api.v2.model.metadef_object.MetadefObject() object1 = objects.MetadefObject()
object1.name = OBJECT1 object1.name = OBJECT1
object1.required = [] object1.required = []
object1.properties = {} object1.properties = {}
object2 = glance.api.v2.model.metadef_object.MetadefObject() object2 = objects.MetadefObject()
object2.name = OBJECT2 object2.name = OBJECT2
object2.required = [] object2.required = []
object2.properties = {} object2.properties = {}
@ -728,7 +726,7 @@ class TestMetadefsControllers(base.IsolatedUnitTest):
def test_namespace_create_conflict(self): def test_namespace_create_conflict(self):
request = unit_test_utils.get_fake_request() request = unit_test_utils.get_fake_request()
namespace = glance.api.v2.model.metadef_namespace.Namespace() namespace = namespaces.Namespace()
namespace.namespace = NAMESPACE1 namespace.namespace = NAMESPACE1
self.assertRaises(webob.exc.HTTPConflict, self.assertRaises(webob.exc.HTTPConflict,
@ -752,7 +750,7 @@ class TestMetadefsControllers(base.IsolatedUnitTest):
def test_namespace_update_non_existing(self): def test_namespace_update_non_existing(self):
request = unit_test_utils.get_fake_request() request = unit_test_utils.get_fake_request()
namespace = glance.api.v2.model.metadef_namespace.Namespace() namespace = namespaces.Namespace()
namespace.namespace = NAMESPACE4 namespace.namespace = NAMESPACE4
self.assertRaises(webob.exc.HTTPNotFound, self.assertRaises(webob.exc.HTTPNotFound,
self.namespace_controller.update, request, namespace, self.namespace_controller.update, request, namespace,
@ -762,7 +760,7 @@ class TestMetadefsControllers(base.IsolatedUnitTest):
def test_namespace_update_non_visible(self): def test_namespace_update_non_visible(self):
request = unit_test_utils.get_fake_request() request = unit_test_utils.get_fake_request()
namespace = glance.api.v2.model.metadef_namespace.Namespace() namespace = namespaces.Namespace()
namespace.namespace = NAMESPACE2 namespace.namespace = NAMESPACE2
self.assertRaises(webob.exc.HTTPNotFound, self.assertRaises(webob.exc.HTTPNotFound,
self.namespace_controller.update, request, namespace, self.namespace_controller.update, request, namespace,
@ -936,7 +934,7 @@ class TestMetadefsControllers(base.IsolatedUnitTest):
def test_property_create(self): def test_property_create(self):
request = unit_test_utils.get_fake_request() request = unit_test_utils.get_fake_request()
property = glance.api.v2.model.metadef_property_type.PropertyType() property = properties.PropertyType()
property.name = PROPERTY2 property.name = PROPERTY2
property.type = 'string' property.type = 'string'
property.title = 'title' property.title = 'title'
@ -957,7 +955,7 @@ class TestMetadefsControllers(base.IsolatedUnitTest):
def test_property_create_with_operators(self): def test_property_create_with_operators(self):
request = unit_test_utils.get_fake_request() request = unit_test_utils.get_fake_request()
property = glance.api.v2.model.metadef_property_type.PropertyType() property = properties.PropertyType()
property.name = PROPERTY2 property.name = PROPERTY2
property.type = 'string' property.type = 'string'
property.title = 'title' property.title = 'title'
@ -979,7 +977,7 @@ class TestMetadefsControllers(base.IsolatedUnitTest):
def test_property_create_conflict(self): def test_property_create_conflict(self):
request = unit_test_utils.get_fake_request() request = unit_test_utils.get_fake_request()
property = glance.api.v2.model.metadef_property_type.PropertyType() property = properties.PropertyType()
property.name = PROPERTY1 property.name = PROPERTY1
property.type = 'string' property.type = 'string'
property.title = 'title' property.title = 'title'
@ -992,7 +990,7 @@ class TestMetadefsControllers(base.IsolatedUnitTest):
def test_property_create_non_visible_namespace(self): def test_property_create_non_visible_namespace(self):
request = unit_test_utils.get_fake_request(tenant=TENANT2) request = unit_test_utils.get_fake_request(tenant=TENANT2)
property = glance.api.v2.model.metadef_property_type.PropertyType() property = properties.PropertyType()
property.name = PROPERTY1 property.name = PROPERTY1
property.type = 'string' property.type = 'string'
property.title = 'title' property.title = 'title'
@ -1006,7 +1004,7 @@ class TestMetadefsControllers(base.IsolatedUnitTest):
request = unit_test_utils.get_fake_request(tenant=TENANT2, request = unit_test_utils.get_fake_request(tenant=TENANT2,
is_admin=True) is_admin=True)
property = glance.api.v2.model.metadef_property_type.PropertyType() property = properties.PropertyType()
property.name = PROPERTY2 property.name = PROPERTY2
property.type = 'string' property.type = 'string'
property.title = 'title' property.title = 'title'
@ -1028,7 +1026,7 @@ class TestMetadefsControllers(base.IsolatedUnitTest):
def test_property_create_non_existing_namespace(self): def test_property_create_non_existing_namespace(self):
request = unit_test_utils.get_fake_request() request = unit_test_utils.get_fake_request()
property = glance.api.v2.model.metadef_property_type.PropertyType() property = properties.PropertyType()
property.name = PROPERTY1 property.name = PROPERTY1
property.type = 'string' property.type = 'string'
property.title = 'title' property.title = 'title'
@ -1110,7 +1108,7 @@ class TestMetadefsControllers(base.IsolatedUnitTest):
def test_property_update_non_existing(self): def test_property_update_non_existing(self):
request = unit_test_utils.get_fake_request(tenant=TENANT3) request = unit_test_utils.get_fake_request(tenant=TENANT3)
property = glance.api.v2.model.metadef_property_type.PropertyType() property = properties.PropertyType()
property.name = PROPERTY1 property.name = PROPERTY1
property.type = 'string' property.type = 'string'
property.title = 'title' property.title = 'title'
@ -1123,7 +1121,7 @@ class TestMetadefsControllers(base.IsolatedUnitTest):
def test_property_update_namespace_non_existing(self): def test_property_update_namespace_non_existing(self):
request = unit_test_utils.get_fake_request(tenant=TENANT3) request = unit_test_utils.get_fake_request(tenant=TENANT3)
property = glance.api.v2.model.metadef_property_type.PropertyType() property = properties.PropertyType()
property.name = PROPERTY1 property.name = PROPERTY1
property.type = 'string' property.type = 'string'
property.title = 'title' property.title = 'title'
@ -1239,7 +1237,7 @@ class TestMetadefsControllers(base.IsolatedUnitTest):
def test_object_create(self): def test_object_create(self):
request = unit_test_utils.get_fake_request() request = unit_test_utils.get_fake_request()
object = glance.api.v2.model.metadef_object.MetadefObject() object = objects.MetadefObject()
object.name = OBJECT2 object.name = OBJECT2
object.required = [] object.required = []
object.properties = {} object.properties = {}
@ -1259,7 +1257,7 @@ class TestMetadefsControllers(base.IsolatedUnitTest):
def test_object_create_conflict(self): def test_object_create_conflict(self):
request = unit_test_utils.get_fake_request() request = unit_test_utils.get_fake_request()
object = glance.api.v2.model.metadef_object.MetadefObject() object = objects.MetadefObject()
object.name = OBJECT1 object.name = OBJECT1
object.required = [] object.required = []
object.properties = {} object.properties = {}
@ -1272,7 +1270,7 @@ class TestMetadefsControllers(base.IsolatedUnitTest):
def test_object_create_non_existing_namespace(self): def test_object_create_non_existing_namespace(self):
request = unit_test_utils.get_fake_request() request = unit_test_utils.get_fake_request()
object = glance.api.v2.model.metadef_object.MetadefObject() object = objects.MetadefObject()
object.name = PROPERTY1 object.name = PROPERTY1
object.required = [] object.required = []
object.properties = {} object.properties = {}
@ -1285,7 +1283,7 @@ class TestMetadefsControllers(base.IsolatedUnitTest):
def test_object_create_non_visible_namespace(self): def test_object_create_non_visible_namespace(self):
request = unit_test_utils.get_fake_request(tenant=TENANT2) request = unit_test_utils.get_fake_request(tenant=TENANT2)
object = glance.api.v2.model.metadef_object.MetadefObject() object = objects.MetadefObject()
object.name = OBJECT1 object.name = OBJECT1
object.required = [] object.required = []
object.properties = {} object.properties = {}
@ -1299,7 +1297,7 @@ class TestMetadefsControllers(base.IsolatedUnitTest):
request = unit_test_utils.get_fake_request(tenant=TENANT2, request = unit_test_utils.get_fake_request(tenant=TENANT2,
is_admin=True) is_admin=True)
object = glance.api.v2.model.metadef_object.MetadefObject() object = objects.MetadefObject()
object.name = OBJECT2 object.name = OBJECT2
object.required = [] object.required = []
object.properties = {} object.properties = {}
@ -1318,7 +1316,7 @@ class TestMetadefsControllers(base.IsolatedUnitTest):
def test_object_create_missing_properties(self): def test_object_create_missing_properties(self):
request = unit_test_utils.get_fake_request() request = unit_test_utils.get_fake_request()
object = glance.api.v2.model.metadef_object.MetadefObject() object = objects.MetadefObject()
object.name = OBJECT2 object.name = OBJECT2
object.required = [] object.required = []
object = self.object_controller.create(request, object, NAMESPACE1) object = self.object_controller.create(request, object, NAMESPACE1)
@ -1385,7 +1383,7 @@ class TestMetadefsControllers(base.IsolatedUnitTest):
def test_object_update_non_existing(self): def test_object_update_non_existing(self):
request = unit_test_utils.get_fake_request(tenant=TENANT3) request = unit_test_utils.get_fake_request(tenant=TENANT3)
object = glance.api.v2.model.metadef_object.MetadefObject() object = objects.MetadefObject()
object.name = OBJECT1 object.name = OBJECT1
object.required = [] object.required = []
object.properties = {} object.properties = {}
@ -1398,7 +1396,7 @@ class TestMetadefsControllers(base.IsolatedUnitTest):
def test_object_update_namespace_non_existing(self): def test_object_update_namespace_non_existing(self):
request = unit_test_utils.get_fake_request(tenant=TENANT3) request = unit_test_utils.get_fake_request(tenant=TENANT3)
object = glance.api.v2.model.metadef_object.MetadefObject() object = objects.MetadefObject()
object.name = OBJECT1 object.name = OBJECT1
object.required = [] object.required = []
object.properties = {} object.properties = {}
@ -1513,8 +1511,7 @@ class TestMetadefsControllers(base.IsolatedUnitTest):
def test_resource_type_association_create(self): def test_resource_type_association_create(self):
request = unit_test_utils.get_fake_request() request = unit_test_utils.get_fake_request()
rt = glance.api.v2.model.metadef_resource_type.\ rt = resource_types.ResourceTypeAssociation()
ResourceTypeAssociation()
rt.name = RESOURCE_TYPE2 rt.name = RESOURCE_TYPE2
rt.prefix = 'pref' rt.prefix = 'pref'
rt = self.rt_controller.create(request, rt, NAMESPACE1) rt = self.rt_controller.create(request, rt, NAMESPACE1)
@ -1532,8 +1529,7 @@ class TestMetadefsControllers(base.IsolatedUnitTest):
def test_resource_type_association_create_conflict(self): def test_resource_type_association_create_conflict(self):
request = unit_test_utils.get_fake_request() request = unit_test_utils.get_fake_request()
rt = glance.api.v2.model.metadef_resource_type.\ rt = resource_types.ResourceTypeAssociation()
ResourceTypeAssociation()
rt.name = RESOURCE_TYPE1 rt.name = RESOURCE_TYPE1
rt.prefix = 'pref' rt.prefix = 'pref'
self.assertRaises(webob.exc.HTTPConflict, self.rt_controller.create, self.assertRaises(webob.exc.HTTPConflict, self.rt_controller.create,
@ -1543,8 +1539,7 @@ class TestMetadefsControllers(base.IsolatedUnitTest):
def test_resource_type_association_create_non_existing_namespace(self): def test_resource_type_association_create_non_existing_namespace(self):
request = unit_test_utils.get_fake_request() request = unit_test_utils.get_fake_request()
rt = glance.api.v2.model.metadef_resource_type.\ rt = resource_types.ResourceTypeAssociation()
ResourceTypeAssociation()
rt.name = RESOURCE_TYPE1 rt.name = RESOURCE_TYPE1
rt.prefix = 'pref' rt.prefix = 'pref'
self.assertRaises(webob.exc.HTTPNotFound, self.rt_controller.create, self.assertRaises(webob.exc.HTTPNotFound, self.rt_controller.create,
@ -1554,8 +1549,7 @@ class TestMetadefsControllers(base.IsolatedUnitTest):
def test_resource_type_association_create_non_existing_resource_type(self): def test_resource_type_association_create_non_existing_resource_type(self):
request = unit_test_utils.get_fake_request() request = unit_test_utils.get_fake_request()
rt = glance.api.v2.model.metadef_resource_type.\ rt = resource_types.ResourceTypeAssociation()
ResourceTypeAssociation()
rt.name = RESOURCE_TYPE3 rt.name = RESOURCE_TYPE3
rt.prefix = 'pref' rt.prefix = 'pref'
self.assertRaises(webob.exc.HTTPNotFound, self.rt_controller.create, self.assertRaises(webob.exc.HTTPNotFound, self.rt_controller.create,
@ -1565,8 +1559,7 @@ class TestMetadefsControllers(base.IsolatedUnitTest):
def test_resource_type_association_create_non_visible_namespace(self): def test_resource_type_association_create_non_visible_namespace(self):
request = unit_test_utils.get_fake_request(tenant=TENANT2) request = unit_test_utils.get_fake_request(tenant=TENANT2)
rt = glance.api.v2.model.metadef_resource_type.\ rt = resource_types.ResourceTypeAssociation()
ResourceTypeAssociation()
rt.name = RESOURCE_TYPE2 rt.name = RESOURCE_TYPE2
rt.prefix = 'pref' rt.prefix = 'pref'
self.assertRaises(webob.exc.HTTPForbidden, self.rt_controller.create, self.assertRaises(webob.exc.HTTPForbidden, self.rt_controller.create,
@ -1577,8 +1570,7 @@ class TestMetadefsControllers(base.IsolatedUnitTest):
request = unit_test_utils.get_fake_request(tenant=TENANT2, request = unit_test_utils.get_fake_request(tenant=TENANT2,
is_admin=True) is_admin=True)
rt = glance.api.v2.model.metadef_resource_type.\ rt = resource_types.ResourceTypeAssociation()
ResourceTypeAssociation()
rt.name = RESOURCE_TYPE2 rt.name = RESOURCE_TYPE2
rt.prefix = 'pref' rt.prefix = 'pref'
rt = self.rt_controller.create(request, rt, NAMESPACE1) rt = self.rt_controller.create(request, rt, NAMESPACE1)
@ -1710,7 +1702,7 @@ class TestMetadefsControllers(base.IsolatedUnitTest):
def test_tag_create_tags(self): def test_tag_create_tags(self):
request = unit_test_utils.get_fake_request() request = unit_test_utils.get_fake_request()
metadef_tags = glance.api.v2.model.metadef_tag.MetadefTags() metadef_tags = tags.MetadefTags()
metadef_tags.tags = _db_tags_fixture() metadef_tags.tags = _db_tags_fixture()
output = self.tag_controller.create_tags( output = self.tag_controller.create_tags(
request, metadef_tags, NAMESPACE1) request, metadef_tags, NAMESPACE1)
@ -1730,7 +1722,7 @@ class TestMetadefsControllers(base.IsolatedUnitTest):
def test_tag_create_duplicate_tags(self): def test_tag_create_duplicate_tags(self):
request = unit_test_utils.get_fake_request() request = unit_test_utils.get_fake_request()
metadef_tags = glance.api.v2.model.metadef_tag.MetadefTags() metadef_tags = tags.MetadefTags()
metadef_tags.tags = _db_tags_fixture([TAG4, TAG5, TAG4]) metadef_tags.tags = _db_tags_fixture([TAG4, TAG5, TAG4])
self.assertRaises( self.assertRaises(
webob.exc.HTTPConflict, webob.exc.HTTPConflict,
@ -1741,7 +1733,7 @@ class TestMetadefsControllers(base.IsolatedUnitTest):
def test_tag_create_duplicate_with_pre_existing_tags(self): def test_tag_create_duplicate_with_pre_existing_tags(self):
request = unit_test_utils.get_fake_request() request = unit_test_utils.get_fake_request()
metadef_tags = glance.api.v2.model.metadef_tag.MetadefTags() metadef_tags = tags.MetadefTags()
metadef_tags.tags = _db_tags_fixture([TAG1, TAG2, TAG3]) metadef_tags.tags = _db_tags_fixture([TAG1, TAG2, TAG3])
output = self.tag_controller.create_tags( output = self.tag_controller.create_tags(
request, metadef_tags, NAMESPACE1) request, metadef_tags, NAMESPACE1)
@ -1758,7 +1750,7 @@ class TestMetadefsControllers(base.IsolatedUnitTest):
] ]
) )
metadef_tags = glance.api.v2.model.metadef_tag.MetadefTags() metadef_tags = tags.MetadefTags()
metadef_tags.tags = _db_tags_fixture([TAG4, TAG5, TAG4]) metadef_tags.tags = _db_tags_fixture([TAG4, TAG5, TAG4])
self.assertRaises( self.assertRaises(
webob.exc.HTTPConflict, webob.exc.HTTPConflict,
@ -1847,7 +1839,7 @@ class TestMetadefsControllers(base.IsolatedUnitTest):
def test_tag_update_non_existing(self): def test_tag_update_non_existing(self):
request = unit_test_utils.get_fake_request(tenant=TENANT3) request = unit_test_utils.get_fake_request(tenant=TENANT3)
tag = glance.api.v2.model.metadef_tag.MetadefTag() tag = tags.MetadefTag()
tag.name = TAG1 tag.name = TAG1
self.assertRaises(webob.exc.HTTPNotFound, self.assertRaises(webob.exc.HTTPNotFound,
@ -1858,7 +1850,7 @@ class TestMetadefsControllers(base.IsolatedUnitTest):
def test_tag_update_namespace_non_existing(self): def test_tag_update_namespace_non_existing(self):
request = unit_test_utils.get_fake_request(tenant=TENANT3) request = unit_test_utils.get_fake_request(tenant=TENANT3)
tag = glance.api.v2.model.metadef_tag.MetadefTag() tag = tags.MetadefTag()
tag.name = TAG1 tag.name = TAG1
self.assertRaises(webob.exc.HTTPNotFound, self.assertRaises(webob.exc.HTTPNotFound,