Make code base E125 and E126 compliant

This commit makes the glance code base E125 and E126 compliant :
  * E125 continuation line does not distinguish itself from next logical line
  * E126 continuation line over-indented for hanging indent

Change-Id: I7120149bedb665fb66320498fe98948602a6cd52
Closes-bug: #1263437
This commit is contained in:
Yanis Guenane 2013-12-22 06:56:48 +00:00
parent ec33e62a15
commit ec08ca1a87
53 changed files with 627 additions and 629 deletions

View File

@ -101,8 +101,8 @@ class ImageMemberRepoProxy(glance.domain.proxy.Repo):
def get(self, member_id):
if (self.context.is_admin or
self.context.owner == self.image.owner or
self.context.owner == member_id):
self.context.owner == self.image.owner or
self.context.owner == member_id):
member = self.member_repo.get(member_id)
return proxy_member(self.context, member)
else:
@ -112,7 +112,7 @@ class ImageMemberRepoProxy(glance.domain.proxy.Repo):
def list(self, *args, **kwargs):
members = self.member_repo.list(*args, **kwargs)
if (self.context.is_admin or
self.context.owner == self.image.owner):
self.context.owner == self.image.owner):
return [proxy_member(self.context, m) for m in members]
for member in members:
if member.member_id == self.context.owner:
@ -122,7 +122,7 @@ class ImageMemberRepoProxy(glance.domain.proxy.Repo):
def remove(self, image_member):
if (self.image.owner == self.context.owner or
self.context.is_admin):
self.context.is_admin):
self.member_repo.remove(image_member)
else:
message = _("You cannot delete image member for %s")
@ -131,7 +131,7 @@ class ImageMemberRepoProxy(glance.domain.proxy.Repo):
def add(self, image_member):
if (self.image.owner == self.context.owner or
self.context.is_admin):
self.context.is_admin):
return self.member_repo.add(image_member)
else:
message = _("You cannot add image member for %s")
@ -140,7 +140,7 @@ class ImageMemberRepoProxy(glance.domain.proxy.Repo):
def save(self, image_member):
if (self.context.is_admin or
self.context.owner == image_member.member_id):
self.context.owner == image_member.member_id):
updated_member = self.member_repo.save(image_member)
return proxy_member(self.context, updated_member)
else:

View File

@ -27,9 +27,9 @@ class ProtectedImageFactoryProxy(glance.domain.proxy.ImageFactory):
kwargs = {'context': self.context,
'property_rules': self.property_rules}
super(ProtectedImageFactoryProxy, self).__init__(
image_factory,
proxy_class=ProtectedImageProxy,
proxy_kwargs=kwargs)
image_factory,
proxy_class=ProtectedImageProxy,
proxy_kwargs=kwargs)
def new_image(self, **kwargs):
extra_props = kwargs.pop('extra_properties', {})
@ -53,8 +53,8 @@ class ProtectedImageRepoProxy(glance.domain.proxy.Repo):
self.property_rules = property_rules
proxy_kwargs = {'context': self.context}
super(ProtectedImageRepoProxy, self).__init__(
image_repo, item_proxy_class=ProtectedImageProxy,
item_proxy_kwargs=proxy_kwargs)
image_repo, item_proxy_class=ProtectedImageProxy,
item_proxy_kwargs=proxy_kwargs)
def get(self, image_id):
return ProtectedImageProxy(self.image_repo.get(image_id),
@ -74,9 +74,9 @@ class ProtectedImageProxy(glance.domain.proxy.Image):
self.property_rules = property_rules
self.image.extra_properties = ExtraPropertiesProxy(
self.context,
self.image.extra_properties,
self.property_rules)
self.context,
self.image.extra_properties,
self.property_rules)
super(ProtectedImageProxy, self).__init__(self.image)

View File

@ -43,7 +43,7 @@ class BaseController(object):
msg = _("Image with identifier %s not found") % image_id
LOG.debug(msg)
raise webob.exc.HTTPNotFound(
msg, request=request, content_type='text/plain')
msg, request=request, content_type='text/plain')
except exception.Forbidden:
msg = _("Forbidden image access")
LOG.debug(msg)
@ -61,7 +61,7 @@ class BaseController(object):
msg = _("Image %s is not active") % image_id
LOG.debug(msg)
raise webob.exc.HTTPNotFound(
msg, request=request, content_type='text/plain')
msg, request=request, content_type='text/plain')
return image
def update_store_acls(self, req, image_id, location_uri, public=False):

View File

@ -228,7 +228,7 @@ class Controller(controller.BaseController):
if property_utils.is_property_protection_enabled():
for key in update_props:
has_read = self.prop_enforcer.check_property_rules(
key, 'read', req.context)
key, 'read', req.context)
if ((self.prop_enforcer.check_property_rules(
key, 'update', req.context) is False and
image_meta['properties'][key] !=
@ -829,7 +829,7 @@ class Controller(controller.BaseController):
# modify certain core metadata keys
for key in ACTIVE_IMMUTABLE:
if (orig_status == 'active' and image_meta.get(key) is not None
and image_meta.get(key) != orig_image_meta.get(key)):
and image_meta.get(key) != orig_image_meta.get(key)):
msg = _("Forbidden to modify '%s' of active image.") % key
raise HTTPForbidden(explanation=msg,
request=req,
@ -883,14 +883,14 @@ class Controller(controller.BaseController):
orig_keys = set(orig_image_meta['properties'])
new_keys = set(image_meta['properties'])
self._enforce_update_protected_props(
orig_keys.intersection(new_keys), image_meta,
orig_image_meta, req)
orig_keys.intersection(new_keys), image_meta,
orig_image_meta, req)
self._enforce_create_protected_props(
new_keys.difference(orig_keys), req)
new_keys.difference(orig_keys), req)
if purge_props:
self._enforce_delete_protected_props(
orig_keys.difference(new_keys), image_meta,
orig_image_meta, req)
orig_keys.difference(new_keys), image_meta,
orig_image_meta, req)
self._enforce_image_property_quota(image_meta,
orig_image_meta=orig_image_meta,
@ -1137,7 +1137,7 @@ class ImageSerializer(wsgi.JSONResponseSerializer):
# image_meta['size'] should be an int, but could possibly be a str
expected_size = int(image_meta['size'])
response.app_iter = common.size_checked_iter(
response, image_meta, expected_size, image_iter, self.notifier)
response, image_meta, expected_size, image_iter, self.notifier)
# Using app_iter blanks content-length, so we set it here...
response.headers['Content-Length'] = str(image_meta['size'])
response.headers['Content-Type'] = 'application/octet-stream'

View File

@ -23,7 +23,7 @@ class Controller(object):
def __init__(self, custom_image_properties=None):
self.image_schema = images.get_schema(custom_image_properties)
self.image_collection_schema = images.get_collection_schema(
custom_image_properties)
custom_image_properties)
self.member_schema = image_members.get_schema()
self.member_collection_schema = image_members.get_collection_schema()
self.task_schema = tasks.get_task_schema()

View File

@ -203,7 +203,7 @@ def delete_all_cached_images(options, args):
Remove all images from the cache.
"""
if (not options.force and
not user_confirm("Delete all cached images?", default=False)):
not user_confirm("Delete all cached images?", default=False)):
return SUCCESS
client = get_client(options)
@ -250,7 +250,7 @@ def delete_all_queued_images(options, args):
Remove all images from the cache queue.
"""
if (not options.force and
not user_confirm("Delete all queued images?", default=False)):
not user_confirm("Delete all queued images?", default=False)):
return SUCCESS
client = get_client(options)
@ -269,16 +269,16 @@ def get_client(options):
supplied to the CLI
"""
return glance.image_cache.client.get_client(
host=options.host,
port=options.port,
username=options.os_username,
password=options.os_password,
tenant=options.os_tenant_name,
auth_url=options.os_auth_url,
auth_strategy=options.os_auth_strategy,
auth_token=options.os_auth_token,
region=options.os_region_name,
insecure=options.insecure)
host=options.host,
port=options.port,
username=options.os_username,
password=options.os_password,
tenant=options.os_tenant_name,
auth_url=options.os_auth_url,
auth_strategy=options.os_auth_strategy,
auth_token=options.os_auth_token,
region=options.os_region_name,
insecure=options.insecure)
def env(*vars, **kwargs):

View File

@ -286,27 +286,27 @@ def main():
global exitcode
opts = [
cfg.SubCommandOpt('server',
title='Server types',
help='Available server types',
handler=add_command_parsers),
cfg.StrOpt('pid-file',
metavar='PATH',
help='File to use as pid file. Default: '
'/var/run/glance/$server.pid'),
cfg.IntOpt('await-child',
metavar='DELAY',
default=0,
help='Period to wait for service death '
'in order to report exit code '
'(default is to not wait at all)'),
cfg.BoolOpt('capture-output',
default=False,
help='Capture stdout/err in syslog '
'instead of discarding'),
cfg.BoolOpt('respawn',
default=False,
help='Restart service on unexpected death'),
cfg.SubCommandOpt('server',
title='Server types',
help='Available server types',
handler=add_command_parsers),
cfg.StrOpt('pid-file',
metavar='PATH',
help='File to use as pid file. Default: '
'/var/run/glance/$server.pid'),
cfg.IntOpt('await-child',
metavar='DELAY',
default=0,
help='Period to wait for service death '
'in order to report exit code '
'(default is to not wait at all)'),
cfg.BoolOpt('capture-output',
default=False,
help='Capture stdout/err in syslog '
'instead of discarding'),
cfg.BoolOpt('respawn',
default=False,
help='Restart service on unexpected death'),
]
CONF.register_cli_opts(opts)
@ -369,7 +369,7 @@ def main():
do_start('Restart', pid_file, server, CONF.server.args)
if (CONF.server.command == 'reload' or
CONF.server.command == 'force-reload'):
CONF.server.command == 'force-reload'):
for server in CONF.server.servers:
do_stop(server, CONF.server.args, graceful=True)
pid_file = get_pid_file(server, CONF.pid_file)

View File

@ -206,7 +206,7 @@ class KeystoneStrategy(BaseStrategy):
req_body = json.dumps(creds)
resp, resp_body = self._do_request(
token_url, 'POST', headers=headers, body=req_body)
token_url, 'POST', headers=headers, body=req_body)
if resp.status == 200:
resp_auth = json.loads(resp_body)['access']

View File

@ -251,21 +251,21 @@ class BaseClient(object):
raise exception.ClientConnectionError(msg)
if (self.key_file is not None and
not os.path.exists(self.key_file)):
not os.path.exists(self.key_file)):
msg = _("The key file you specified %s does not "
"exist") % self.key_file
raise exception.ClientConnectionError(msg)
connect_kwargs['key_file'] = self.key_file
if (self.cert_file is not None and
not os.path.exists(self.cert_file)):
not os.path.exists(self.cert_file)):
msg = _("The cert file you specified %s does not "
"exist") % self.cert_file
raise exception.ClientConnectionError(msg)
connect_kwargs['cert_file'] = self.cert_file
if (self.ca_file is not None and
not os.path.exists(self.ca_file)):
not os.path.exists(self.ca_file)):
msg = _("The CA file you specified %s does not "
"exist") % self.ca_file
raise exception.ClientConnectionError(msg)

View File

@ -80,9 +80,9 @@ class ImageRepo(object):
def list(self, marker=None, limit=None, sort_key='created_at',
sort_dir='desc', filters=None, member_status='accepted'):
db_api_images = self.db_api.image_get_all(
self.context, filters=filters, marker=marker, limit=limit,
sort_key=sort_key, sort_dir=sort_dir,
member_status=member_status)
self.context, filters=filters, marker=marker, limit=limit,
sort_key=sort_key, sort_dir=sort_dir,
member_status=member_status)
images = []
for db_api_image in db_api_images:
tags = self.db_api.image_tag_get_all(self.context,
@ -231,7 +231,7 @@ class ImageMemberRepo(object):
def list(self):
db_members = self.db_api.image_member_find(
self.context, image_id=self.image.image_id)
self.context, image_id=self.image.image_id)
image_members = []
for db_member in db_members:
image_members.append(self._format_image_member_from_db(db_member))
@ -278,16 +278,16 @@ class ImageMemberRepo(object):
def get(self, member_id):
try:
db_api_image_member = self.db_api.image_member_find(
self.context,
self.image.image_id,
member_id)
self.context,
self.image.image_id,
member_id)
if not db_api_image_member:
raise exception.NotFound()
except (exception.NotFound, exception.Forbidden):
raise exception.NotFound()
image_member = self._format_image_member_from_db(
db_api_image_member[0])
db_api_image_member[0])
return image_member

View File

@ -467,8 +467,8 @@ def _paginate_query(query, model, limit, sort_keys, marker=None,
for j in xrange(i):
model_attr = getattr(model, sort_keys[j])
default = None if isinstance(
model_attr.property.columns[0].type,
sqlalchemy.DateTime) else ''
model_attr.property.columns[0].type,
sqlalchemy.DateTime) else ''
attr = sa_sql.expression.case([(model_attr != None,
model_attr), ],
else_=default)

View File

@ -153,70 +153,70 @@ def _upgrade_db2(t_images, t_image_members, t_image_properties):
t_images.c.id.alter(sqlalchemy.String(36), primary_key=True)
image_members_backup = sqlalchemy.Table(
'image_members_backup',
meta,
sqlalchemy.Column('id',
sqlalchemy.Integer(),
primary_key=True,
nullable=False),
sqlalchemy.Column('image_id',
sqlalchemy.String(36),
nullable=False,
index=True),
sqlalchemy.Column('member',
sqlalchemy.String(255),
nullable=False),
sqlalchemy.Column('can_share',
sqlalchemy.Boolean(),
nullable=False,
default=False),
sqlalchemy.Column('created_at',
sqlalchemy.DateTime(),
nullable=False),
sqlalchemy.Column('updated_at',
sqlalchemy.DateTime()),
sqlalchemy.Column('deleted_at',
sqlalchemy.DateTime()),
sqlalchemy.Column('deleted',
sqlalchemy.Boolean(),
nullable=False,
default=False,
index=True),
sqlalchemy.UniqueConstraint('image_id', 'member'),
extend_existing=True)
'image_members_backup',
meta,
sqlalchemy.Column('id',
sqlalchemy.Integer(),
primary_key=True,
nullable=False),
sqlalchemy.Column('image_id',
sqlalchemy.String(36),
nullable=False,
index=True),
sqlalchemy.Column('member',
sqlalchemy.String(255),
nullable=False),
sqlalchemy.Column('can_share',
sqlalchemy.Boolean(),
nullable=False,
default=False),
sqlalchemy.Column('created_at',
sqlalchemy.DateTime(),
nullable=False),
sqlalchemy.Column('updated_at',
sqlalchemy.DateTime()),
sqlalchemy.Column('deleted_at',
sqlalchemy.DateTime()),
sqlalchemy.Column('deleted',
sqlalchemy.Boolean(),
nullable=False,
default=False,
index=True),
sqlalchemy.UniqueConstraint('image_id', 'member'),
extend_existing=True)
image_properties_backup = sqlalchemy.Table(
'image_properties_backup',
meta,
sqlalchemy.Column('id',
sqlalchemy.Integer(),
primary_key=True,
nullable=False),
sqlalchemy.Column('image_id',
sqlalchemy.String(36),
nullable=False,
index=True),
sqlalchemy.Column('name',
sqlalchemy.String(255),
nullable=False),
sqlalchemy.Column('value',
sqlalchemy.Text()),
sqlalchemy.Column('created_at',
sqlalchemy.DateTime(),
nullable=False),
sqlalchemy.Column('updated_at',
sqlalchemy.DateTime()),
sqlalchemy.Column('deleted_at',
sqlalchemy.DateTime()),
sqlalchemy.Column('deleted',
sqlalchemy.Boolean(),
nullable=False,
default=False,
index=True),
sqlalchemy.UniqueConstraint(
'image_id', 'name',
name='ix_image_properties_image_id_name'),
extend_existing=True)
'image_properties_backup',
meta,
sqlalchemy.Column('id',
sqlalchemy.Integer(),
primary_key=True,
nullable=False),
sqlalchemy.Column('image_id',
sqlalchemy.String(36),
nullable=False,
index=True),
sqlalchemy.Column('name',
sqlalchemy.String(255),
nullable=False),
sqlalchemy.Column('value',
sqlalchemy.Text()),
sqlalchemy.Column('created_at',
sqlalchemy.DateTime(),
nullable=False),
sqlalchemy.Column('updated_at',
sqlalchemy.DateTime()),
sqlalchemy.Column('deleted_at',
sqlalchemy.DateTime()),
sqlalchemy.Column('deleted',
sqlalchemy.Boolean(),
nullable=False,
default=False,
index=True),
sqlalchemy.UniqueConstraint(
'image_id', 'name',
name='ix_image_properties_image_id_name'),
extend_existing=True)
image_members_backup.create()
image_properties_backup.create()
@ -269,70 +269,70 @@ def _downgrade_db2(t_images, t_image_members, t_image_properties):
t_images.c.id.alter(sqlalchemy.Integer(), primary_key=True)
image_members_old = sqlalchemy.Table(
'image_members_old',
meta,
sqlalchemy.Column('id',
sqlalchemy.Integer(),
primary_key=True,
nullable=False),
sqlalchemy.Column('image_id',
sqlalchemy.Integer(),
nullable=False,
index=True),
sqlalchemy.Column('member',
sqlalchemy.String(255),
nullable=False),
sqlalchemy.Column('can_share',
sqlalchemy.Boolean(),
nullable=False,
default=False),
sqlalchemy.Column('created_at',
sqlalchemy.DateTime(),
nullable=False),
sqlalchemy.Column('updated_at',
sqlalchemy.DateTime()),
sqlalchemy.Column('deleted_at',
sqlalchemy.DateTime()),
sqlalchemy.Column('deleted',
sqlalchemy.Boolean(),
nullable=False,
default=False,
index=True),
sqlalchemy.UniqueConstraint('image_id', 'member'),
extend_existing=True)
'image_members_old',
meta,
sqlalchemy.Column('id',
sqlalchemy.Integer(),
primary_key=True,
nullable=False),
sqlalchemy.Column('image_id',
sqlalchemy.Integer(),
nullable=False,
index=True),
sqlalchemy.Column('member',
sqlalchemy.String(255),
nullable=False),
sqlalchemy.Column('can_share',
sqlalchemy.Boolean(),
nullable=False,
default=False),
sqlalchemy.Column('created_at',
sqlalchemy.DateTime(),
nullable=False),
sqlalchemy.Column('updated_at',
sqlalchemy.DateTime()),
sqlalchemy.Column('deleted_at',
sqlalchemy.DateTime()),
sqlalchemy.Column('deleted',
sqlalchemy.Boolean(),
nullable=False,
default=False,
index=True),
sqlalchemy.UniqueConstraint('image_id', 'member'),
extend_existing=True)
image_properties_old = sqlalchemy.Table(
'image_properties_old',
meta,
sqlalchemy.Column('id',
sqlalchemy.Integer(),
primary_key=True,
nullable=False),
sqlalchemy.Column('image_id',
sqlalchemy.Integer(),
nullable=False,
index=True),
sqlalchemy.Column('name',
sqlalchemy.String(255),
nullable=False),
sqlalchemy.Column('value',
sqlalchemy.Text()),
sqlalchemy.Column('created_at',
sqlalchemy.DateTime(),
nullable=False),
sqlalchemy.Column('updated_at',
sqlalchemy.DateTime()),
sqlalchemy.Column('deleted_at',
sqlalchemy.DateTime()),
sqlalchemy.Column('deleted',
sqlalchemy.Boolean(),
nullable=False,
default=False,
index=True),
sqlalchemy.UniqueConstraint(
'image_id', 'name',
name='ix_image_properties_image_id_name'),
extend_existing=True)
'image_properties_old',
meta,
sqlalchemy.Column('id',
sqlalchemy.Integer(),
primary_key=True,
nullable=False),
sqlalchemy.Column('image_id',
sqlalchemy.Integer(),
nullable=False,
index=True),
sqlalchemy.Column('name',
sqlalchemy.String(255),
nullable=False),
sqlalchemy.Column('value',
sqlalchemy.Text()),
sqlalchemy.Column('created_at',
sqlalchemy.DateTime(),
nullable=False),
sqlalchemy.Column('updated_at',
sqlalchemy.DateTime()),
sqlalchemy.Column('deleted_at',
sqlalchemy.DateTime()),
sqlalchemy.Column('deleted',
sqlalchemy.Boolean(),
nullable=False,
default=False,
index=True),
sqlalchemy.UniqueConstraint(
'image_id', 'name',
name='ix_image_properties_image_id_name'),
extend_existing=True)
image_members_old.create()
image_properties_old.create()

View File

@ -27,31 +27,31 @@ def upgrade(migrate_engine):
sqlalchemy.Table('images', meta, autoload=True)
image_locations_table = sqlalchemy.Table(
'image_locations', meta,
sqlalchemy.Column('id',
schema.Integer(),
primary_key=True,
nullable=False),
sqlalchemy.Column('image_id',
schema.String(36),
sqlalchemy.ForeignKey('images.id'),
nullable=False,
index=True),
sqlalchemy.Column('value',
schema.Text(),
nullable=False),
sqlalchemy.Column('created_at',
schema.DateTime(),
nullable=False),
sqlalchemy.Column('updated_at',
schema.DateTime()),
sqlalchemy.Column('deleted_at',
schema.DateTime()),
sqlalchemy.Column('deleted',
schema.Boolean(),
nullable=False,
default=False,
index=True),
'image_locations', meta,
sqlalchemy.Column('id',
schema.Integer(),
primary_key=True,
nullable=False),
sqlalchemy.Column('image_id',
schema.String(36),
sqlalchemy.ForeignKey('images.id'),
nullable=False,
index=True),
sqlalchemy.Column('value',
schema.Text(),
nullable=False),
sqlalchemy.Column('created_at',
schema.DateTime(),
nullable=False),
sqlalchemy.Column('updated_at',
schema.DateTime()),
sqlalchemy.Column('deleted_at',
schema.DateTime()),
sqlalchemy.Column('deleted',
schema.Boolean(),
nullable=False,
default=False,
index=True),
)
schema.create_tables([image_locations_table])

View File

@ -31,7 +31,7 @@ def upgrade(migrate_engine):
image_members = _get_image_members_table(migrate_engine)
if (migrate_engine.name == 'mysql' or
migrate_engine.name == 'postgresql'):
migrate_engine.name == 'postgresql'):
try:
UniqueConstraint('image_id',
name=_get_original_keyname(migrate_engine.name),
@ -51,7 +51,7 @@ def downgrade(migrate_engine):
image_members = _get_image_members_table(migrate_engine)
if (migrate_engine.name == 'mysql' or
migrate_engine.name == 'postgresql'):
migrate_engine.name == 'postgresql'):
_sanitize(migrate_engine, image_members)
UniqueConstraint('image_id',
name=NEW_KEYNAME,

View File

@ -37,64 +37,64 @@ class Gateway(object):
def get_image_factory(self, context):
image_factory = glance.domain.ImageFactory()
store_image_factory = glance.store.ImageFactoryProxy(
image_factory, context, self.store_api)
image_factory, context, self.store_api)
quota_image_factory = glance.quota.ImageFactoryProxy(
store_image_factory, context, self.db_api)
store_image_factory, context, self.db_api)
policy_image_factory = policy.ImageFactoryProxy(
quota_image_factory, context, self.policy)
quota_image_factory, context, self.policy)
notifier_image_factory = glance.notifier.ImageFactoryProxy(
policy_image_factory, context, self.notifier)
policy_image_factory, context, self.notifier)
if property_utils.is_property_protection_enabled():
property_rules = property_utils.PropertyRules(self.policy)
protected_image_factory = property_protections.\
ProtectedImageFactoryProxy(notifier_image_factory, context,
property_rules)
authorized_image_factory = authorization.ImageFactoryProxy(
protected_image_factory, context)
protected_image_factory, context)
else:
authorized_image_factory = authorization.ImageFactoryProxy(
notifier_image_factory, context)
notifier_image_factory, context)
return authorized_image_factory
def get_image_member_factory(self, context):
image_factory = glance.domain.ImageMemberFactory()
quota_image_factory = glance.quota.ImageMemberFactoryProxy(
image_factory, context, self.db_api)
image_factory, context, self.db_api)
policy_member_factory = policy.ImageMemberFactoryProxy(
quota_image_factory, context, self.policy)
quota_image_factory, context, self.policy)
authorized_image_factory = authorization.ImageMemberFactoryProxy(
policy_member_factory, context)
policy_member_factory, context)
return authorized_image_factory
def get_repo(self, context):
image_repo = glance.db.ImageRepo(context, self.db_api)
store_image_repo = glance.store.ImageRepoProxy(
image_repo, context, self.store_api)
image_repo, context, self.store_api)
quota_image_repo = glance.quota.ImageRepoProxy(
store_image_repo, context, self.db_api)
store_image_repo, context, self.db_api)
policy_image_repo = policy.ImageRepoProxy(
quota_image_repo, context, self.policy)
quota_image_repo, context, self.policy)
notifier_image_repo = glance.notifier.ImageRepoProxy(
policy_image_repo, context, self.notifier)
policy_image_repo, context, self.notifier)
if property_utils.is_property_protection_enabled():
property_rules = property_utils.PropertyRules(self.policy)
protected_image_repo = property_protections.\
ProtectedImageRepoProxy(notifier_image_repo, context,
property_rules)
authorized_image_repo = authorization.ImageRepoProxy(
protected_image_repo, context)
protected_image_repo, context)
else:
authorized_image_repo = authorization.ImageRepoProxy(
notifier_image_repo, context)
notifier_image_repo, context)
return authorized_image_repo
def get_task_factory(self, context):
task_factory = glance.domain.TaskFactory()
policy_task_factory = policy.TaskFactoryProxy(
task_factory, context, self.policy)
task_factory, context, self.policy)
notifier_task_factory = glance.notifier.TaskFactoryProxy(
policy_task_factory, context, self.notifier)
policy_task_factory, context, self.notifier)
authorized_task_factory = authorization.TaskFactoryProxy(
notifier_task_factory, context)
return authorized_task_factory
@ -102,9 +102,9 @@ class Gateway(object):
def get_task_repo(self, context):
task_repo = glance.db.TaskRepo(context, self.db_api)
policy_task_repo = policy.TaskRepoProxy(
task_repo, context, self.policy)
task_repo, context, self.policy)
notifier_task_repo = glance.notifier.TaskRepoProxy(
policy_task_repo, context, self.notifier)
policy_task_repo, context, self.notifier)
authorized_task_repo = authorization.TaskRepoProxy(
notifier_task_repo, context)
return authorized_task_repo

View File

@ -99,18 +99,18 @@ def get_client(host, port=None, timeout=None, use_ssl=False, username=None,
creds = {
'username': username or
os.getenv('OS_AUTH_USER', os.getenv('OS_USERNAME')),
os.getenv('OS_AUTH_USER', os.getenv('OS_USERNAME')),
'password': password or
os.getenv('OS_AUTH_KEY', os.getenv('OS_PASSWORD')),
os.getenv('OS_AUTH_KEY', os.getenv('OS_PASSWORD')),
'tenant': tenant or
os.getenv('OS_AUTH_TENANT', os.getenv('OS_TENANT_NAME')),
os.getenv('OS_AUTH_TENANT', os.getenv('OS_TENANT_NAME')),
'auth_url': auth_url or
os.getenv('OS_AUTH_URL'),
os.getenv('OS_AUTH_URL'),
'strategy': force_strategy or
auth_strategy or
os.getenv('OS_AUTH_STRATEGY', 'noauth'),
auth_strategy or
os.getenv('OS_AUTH_STRATEGY', 'noauth'),
'region': region or
os.getenv('OS_REGION_NAME'),
os.getenv('OS_REGION_NAME'),
}
if creds['strategy'] == 'keystone' and not creds['auth_url']:
@ -119,11 +119,11 @@ def get_client(host, port=None, timeout=None, use_ssl=False, username=None,
raise exception.ClientConfigurationError(msg)
return CacheClient(
host=host,
port=port,
timeout=timeout,
use_ssl=use_ssl,
auth_tok=auth_token or
os.getenv('OS_TOKEN'),
creds=creds,
insecure=insecure)
host=host,
port=port,
timeout=timeout,
use_ssl=use_ssl,
auth_tok=auth_token or
os.getenv('OS_TOKEN'),
creds=creds,
insecure=insecure)

View File

@ -71,7 +71,7 @@ class SqliteConnection(sqlite3.Connection):
def execute(self, *args, **kwargs):
return self._timeout(lambda: sqlite3.Connection.execute(
self, *args, **kwargs))
self, *args, **kwargs))
def commit(self):
return self._timeout(lambda: sqlite3.Connection.commit(self))

View File

@ -52,7 +52,7 @@ def _calc_required_size(context, image, locations):
else:
for location in locations:
size_from_backend = glance.store.get_size_from_backend(
context, location['url'])
context, location['url'])
if size_from_backend:
required_size = size_from_backend * len(locations)
break

View File

@ -628,8 +628,8 @@ class ImageProxy(glance.domain.proxy.Image):
'store_api': store_api,
}
super(ImageProxy, self).__init__(
image, member_repo_proxy_class=ImageMemberRepoProxy,
member_repo_proxy_kwargs=proxy_kwargs)
image, member_repo_proxy_class=ImageMemberRepoProxy,
member_repo_proxy_kwargs=proxy_kwargs)
def delete(self):
self.image.delete()
@ -646,8 +646,8 @@ class ImageProxy(glance.domain.proxy.Image):
if size is None:
size = 0 # NOTE(markwash): zero -> unknown size
location, size, checksum, loc_meta = self.store_api.add_to_backend(
self.context, CONF.default_store,
self.image.image_id, utils.CooperativeReader(data), size)
self.context, CONF.default_store,
self.image.image_id, utils.CooperativeReader(data), size)
self.image.locations = [{'url': location, 'metadata': loc_meta}]
self.image.size = size
self.image.checksum = checksum

View File

@ -282,8 +282,8 @@ class BaseStore(glance.store.base.Store):
try:
resp_headers, resp_body = connection.get_object(
container=location.container, obj=location.obj,
resp_chunk_size=self.CHUNKSIZE)
container=location.container, obj=location.obj,
resp_chunk_size=self.CHUNKSIZE)
except swiftclient.ClientException as e:
if e.http_status == httplib.NOT_FOUND:
msg = _("Swift could not find object %s.") % location.obj
@ -308,7 +308,7 @@ class BaseStore(glance.store.base.Store):
connection = self.get_connection(location)
try:
resp_headers = connection.head_object(
container=location.container, obj=location.obj)
container=location.container, obj=location.obj)
return int(resp_headers.get('content-length', 0))
except Exception:
return 0
@ -466,7 +466,7 @@ class BaseStore(glance.store.base.Store):
manifest = None
try:
headers = connection.head_object(
location.container, location.obj)
location.container, location.obj)
manifest = headers.get('x-object-manifest')
except swiftclient.ClientException as e:
if e.http_status != httplib.NOT_FOUND:
@ -475,7 +475,7 @@ class BaseStore(glance.store.base.Store):
# Delete all the chunks before the object manifest itself
obj_container, obj_prefix = manifest.split('/', 1)
segments = connection.get_container(
obj_container, prefix=obj_prefix)[1]
obj_container, prefix=obj_prefix)[1]
for segment in segments:
# TODO(jaypipes): This would be an easy area to parallelize
# since we're simply sending off parallelizable requests
@ -585,10 +585,10 @@ class SingleTenantStore(BaseStore):
os_options['service_type'] = self.service_type
return swiftclient.Connection(
auth_url, user, location.key, insecure=self.insecure,
tenant_name=tenant_name, snet=self.snet,
auth_version=self.auth_version, os_options=os_options,
ssl_compression=self.ssl_compression)
auth_url, user, location.key, insecure=self.insecure,
tenant_name=tenant_name, snet=self.snet,
auth_version=self.auth_version, os_options=os_options,
ssl_compression=self.ssl_compression)
class MultiTenantStore(BaseStore):
@ -606,8 +606,8 @@ class MultiTenantStore(BaseStore):
raise exception.BadStoreConfiguration(store_name="swift",
reason=reason)
self.storage_url = auth.get_endpoint(
self.context.service_catalog, service_type=self.service_type,
endpoint_region=self.region, endpoint_type=self.endpoint_type)
self.context.service_catalog, service_type=self.service_type,
endpoint_region=self.region, endpoint_type=self.endpoint_type)
if self.storage_url.startswith('http://'):
self.scheme = 'swift+http'
else:
@ -664,12 +664,12 @@ class MultiTenantStore(BaseStore):
def get_connection(self, location):
return swiftclient.Connection(
None, self.context.user, None,
preauthurl=location.swift_url,
preauthtoken=self.context.auth_tok,
tenant_name=self.context.tenant,
auth_version='2', snet=self.snet, insecure=self.insecure,
ssl_compression=self.ssl_compression)
None, self.context.user, None,
preauthurl=location.swift_url,
preauthtoken=self.context.auth_tok,
tenant_name=self.context.tenant,
auth_version='2', snet=self.snet, insecure=self.insecure,
ssl_compression=self.ssl_compression)
class ChunkReader(object):

View File

@ -293,7 +293,7 @@ class DriverTests(object):
ctxt2 = context.RequestContext(is_admin=False, tenant=TENANT2,
auth_tok='user:%s:user' % TENANT2)
image = self.db_api.image_create(
ctxt1, {'status': 'queued', 'owner': TENANT1})
ctxt1, {'status': 'queued', 'owner': TENANT1})
self.assertRaises(exception.Forbidden,
self.db_api.image_get, ctxt2, image['id'])
@ -1609,9 +1609,9 @@ class TestVisibility(test_utils.BaseTestCase):
def setup_contexts(self):
self.admin_context = context.RequestContext(
is_admin=True, tenant=self.admin_tenant)
is_admin=True, tenant=self.admin_tenant)
self.admin_none_context = context.RequestContext(
is_admin=True, tenant=None)
is_admin=True, tenant=None)
self.tenant1_context = context.RequestContext(tenant=self.tenant1)
self.tenant2_context = context.RequestContext(tenant=self.tenant2)
self.none_context = context.RequestContext(tenant=None)

View File

@ -91,10 +91,10 @@ class BaseTestCase(object):
store = self.get_store()
location = glance.store.location.Location(
self.store_name,
store.get_store_location_class(),
uri=uri,
image_id=image_id)
self.store_name,
store.get_store_location_class(),
uri=uri,
image_id=image_id)
(get_iter, get_size) = store.get(location)
self.assertEqual(3, get_size)
@ -118,9 +118,9 @@ class BaseTestCase(object):
store = self.get_store()
location = glance.store.location.Location(
self.store_name,
store.get_store_location_class(),
uri=image_uri)
self.store_name,
store.get_store_location_class(),
uri=image_uri)
(get_iter, get_size) = store.get(location)
self.assertEqual(3, get_size)

View File

@ -64,16 +64,16 @@ class TestCinderStore(store_tests.BaseTestCase, testtools.TestCase):
try:
self.cinder_config = parse_config(raw_config)
ret = store_tests_swift.keystone_authenticate(
self.cinder_config['test_cinder_store_auth_address'],
self.cinder_config['test_cinder_store_auth_version'],
self.cinder_config['test_cinder_store_tenant'],
self.cinder_config['test_cinder_store_user'],
self.cinder_config['test_cinder_store_key'])
self.cinder_config['test_cinder_store_auth_address'],
self.cinder_config['test_cinder_store_auth_version'],
self.cinder_config['test_cinder_store_tenant'],
self.cinder_config['test_cinder_store_user'],
self.cinder_config['test_cinder_store_key'])
(tenant_id, auth_token, service_catalog) = ret
self.context = glance.context.RequestContext(
tenant=tenant_id,
service_catalog=service_catalog,
auth_tok=auth_token)
tenant=tenant_id,
service_catalog=service_catalog,
auth_tok=auth_token)
self.cinder_client = cinder.get_cinderclient(self.context)
except Exception as e:
msg = "Cinder backend isn't set up: %s" % e

View File

@ -149,10 +149,10 @@ class TestRBDStore(store_tests.BaseTestCase, testtools.TestCase):
self.assertEqual(image_checksum, add_checksum)
location = glance.store.location.Location(
self.store_name,
store.get_store_location_class(),
uri=uri,
image_id=image_id)
self.store_name,
store.get_store_location_class(),
uri=uri,
image_id=image_id)
self.assertEqual(image_size, store.get_size(location))

View File

@ -205,10 +205,10 @@ class TestSwiftStore(store_tests.BaseTestCase, testtools.TestCase):
self.assertEqual(image_checksum, add_checksum)
location = glance.store.location.Location(
self.store_name,
store.get_store_location_class(),
uri=uri,
image_id=image_id)
self.store_name,
store.get_store_location_class(),
uri=uri,
image_id=image_id)
# Store interface should still be respected even though
# we are storing images in multiple Swift objects
@ -322,16 +322,16 @@ class TestSwiftStore(store_tests.BaseTestCase, testtools.TestCase):
swift_store_user = self.swift_config['swift_store_user']
tenant_name, username = swift_store_user.split(':')
tenant_id, auth_token, service_catalog = keystone_authenticate(
self.swift_config['swift_store_auth_address'],
self.swift_config['swift_store_auth_version'],
tenant_name,
username,
self.swift_config['swift_store_key'])
self.swift_config['swift_store_auth_address'],
self.swift_config['swift_store_auth_version'],
tenant_name,
username,
self.swift_config['swift_store_key'])
context = glance.context.RequestContext(
tenant=tenant_id,
service_catalog=service_catalog,
auth_tok=auth_token)
tenant=tenant_id,
service_catalog=service_catalog,
auth_tok=auth_token)
store = self.get_store(context=context)
image_id = str(uuid.uuid4())
@ -339,10 +339,10 @@ class TestSwiftStore(store_tests.BaseTestCase, testtools.TestCase):
uri, _, _, _ = store.add(image_id, image_data, 3)
location = glance.store.location.Location(
self.store_name,
store.get_store_location_class(),
uri=uri,
image_id=image_id)
self.store_name,
store.get_store_location_class(),
uri=uri,
image_id=image_id)
read_tenant = str(uuid.uuid4())
write_tenant = str(uuid.uuid4())

View File

@ -187,7 +187,7 @@ class TestBinGlanceCacheManage(functional.FunctionalTest):
# Queue second image and then cache it
cmd = "%s --port=%d --force queue-image %s" % (
exe_cmd, api_port, ids[1])
exe_cmd, api_port, ids[1])
exitcode, out, err = execute(cmd)
@ -249,7 +249,7 @@ log_file = %(log_file)s
# Queue third image and then delete it from queue
cmd = "%s --port=%d --force queue-image %s" % (
exe_cmd, api_port, ids[2])
exe_cmd, api_port, ids[2])
exitcode, out, err = execute(cmd)

View File

@ -249,7 +249,7 @@ class TestScrubber(functional.FunctionalTest):
self.assertTrue(marker_uri is not None)
decrypted_uri = crypt.urlsafe_decrypt(
self.api_server.metadata_encryption_key, marker_uri)
self.api_server.metadata_encryption_key, marker_uri)
loc = StoreLocation({})
loc.parse_uri(decrypted_uri)

View File

@ -477,26 +477,26 @@ class TestSSL(functional.FunctionalTest):
"links": [{
"rel": "self",
"href": "https://127.0.0.1:%d/v2/" % self.api_port}]},
{"id": "v2.1",
"status": "SUPPORTED",
"links": [{
"rel": "self",
"href": "https://127.0.0.1:%d/v2/" % self.api_port}]},
{"id": "v2.0",
"status": "SUPPORTED",
"links": [{
"rel": "self",
"href": "https://127.0.0.1:%d/v2/" % self.api_port}]},
{"id": "v1.1",
"status": "CURRENT",
"links": [{
"rel": "self",
"href": "https://127.0.0.1:%d/v1/" % self.api_port}]},
{"id": "v1.0",
"status": "SUPPORTED",
"links": [{
"rel": "self",
"href": "https://127.0.0.1:%d/v1/" % self.api_port}]}]}
{"id": "v2.1",
"status": "SUPPORTED",
"links": [{
"rel": "self",
"href": "https://127.0.0.1:%d/v2/" % self.api_port}]},
{"id": "v2.0",
"status": "SUPPORTED",
"links": [{
"rel": "self",
"href": "https://127.0.0.1:%d/v2/" % self.api_port}]},
{"id": "v1.1",
"status": "CURRENT",
"links": [{
"rel": "self",
"href": "https://127.0.0.1:%d/v1/" % self.api_port}]},
{"id": "v1.0",
"status": "SUPPORTED",
"links": [{
"rel": "self",
"href": "https://127.0.0.1:%d/v1/" % self.api_port}]}]}
versions_json = json.dumps(versions)
images = {'images': []}
images_json = json.dumps(images)
@ -937,7 +937,7 @@ class TestSSL(functional.FunctionalTest):
# Make sure you quote the url when using more than one param!
params = "name=My%20Image!&property-pants=are%20on"
path = "https://%s:%d/v1/images/detail?%s" % (
"127.0.0.1", self.api_port, params)
"127.0.0.1", self.api_port, params)
response, content = https.request(path, 'GET')
self.assertEqual(response.status, 200)
data = json.loads(content)

View File

@ -143,12 +143,12 @@ class ApiTest(test_utils.BaseTestCase):
def _configure_logging(self):
self.config(default_log_levels=[
'amqplib=WARN',
'sqlalchemy=WARN',
'boto=WARN',
'suds=INFO',
'keystone=INFO',
'eventlet.wsgi.server=DEBUG'
'amqplib=WARN',
'sqlalchemy=WARN',
'boto=WARN',
'suds=INFO',
'keystone=INFO',
'eventlet.wsgi.server=DEBUG'
])
def _setup_database(self):

View File

@ -1533,7 +1533,7 @@ class TestApiWithFakeAuth(base.ApiTest):
self.assertEqual(response.status, 200)
image = json.loads(content)
self.assertEqual(
'1', image['image']['properties']['x_all_permitted_joe_soap'])
'1', image['image']['properties']['x_all_permitted_joe_soap'])
# Verify both admin and unknown role can read properties marked with
# '@'
@ -1545,9 +1545,9 @@ class TestApiWithFakeAuth(base.ApiTest):
headers=auth_headers)
self.assertEqual(response.status, 200)
self.assertEqual('1', response.get(
'x-image-meta-property-x_all_permitted_admin'))
'x-image-meta-property-x_all_permitted_admin'))
self.assertEqual('1', response.get(
'x-image-meta-property-x_all_permitted_joe_soap'))
'x-image-meta-property-x_all_permitted_joe_soap'))
auth_headers = {
'X-Auth-Token': 'user1:tenant1:joe_soap',
}
@ -1556,9 +1556,9 @@ class TestApiWithFakeAuth(base.ApiTest):
headers=auth_headers)
self.assertEqual(response.status, 200)
self.assertEqual('1', response.get(
'x-image-meta-property-x_all_permitted_admin'))
'x-image-meta-property-x_all_permitted_admin'))
self.assertEqual('1', response.get(
'x-image-meta-property-x_all_permitted_joe_soap'))
'x-image-meta-property-x_all_permitted_joe_soap'))
# Verify both admin and unknown role can update properties marked with
# '@'
@ -1591,7 +1591,7 @@ class TestApiWithFakeAuth(base.ApiTest):
self.assertEqual(response.status, 200)
image = json.loads(content)
self.assertEqual(
'2', image['image']['properties']['x_all_permitted_joe_soap'])
'2', image['image']['properties']['x_all_permitted_joe_soap'])
# Verify both admin and unknown role can delete properties marked with
# '@'

View File

@ -148,12 +148,12 @@ class ApiTest(test_utils.BaseTestCase):
def _configure_logging(self):
self.config(default_log_levels=[
'amqplib=WARN',
'sqlalchemy=WARN',
'boto=WARN',
'suds=INFO',
'keystone=INFO',
'eventlet.wsgi.server=DEBUG'
'amqplib=WARN',
'sqlalchemy=WARN',
'boto=WARN',
'suds=INFO',
'keystone=INFO',
'eventlet.wsgi.server=DEBUG'
])
def _setup_database(self):

View File

@ -172,7 +172,7 @@ def stub_out_registry_and_store_server(stubs, base_dir, **kwargs):
DEFAULT_API_PORT = 9292
if (client.port == DEFAULT_API_PORT and
client.host == '0.0.0.0'):
client.host == '0.0.0.0'):
return FakeGlanceConnection
elif (client.port == DEFAULT_REGISTRY_PORT and
client.host == '0.0.0.0'):
@ -213,7 +213,7 @@ def stub_out_registry_server(stubs, **kwargs):
DEFAULT_REGISTRY_PORT = 9191
if (client.port == DEFAULT_REGISTRY_PORT and
client.host == '0.0.0.0'):
client.host == '0.0.0.0'):
rserver = kwargs.pop("registry", None)
return FakeRegistryConnection(registry=rserver)

View File

@ -54,7 +54,7 @@ class TestSizeCheckedIter(testtools.TestCase):
resp = self._get_webob_response()
meta = self._get_image_metadata()
checked_image = glance.api.common.size_checked_iter(
resp, meta, 4, ['AB', 'CD'], None)
resp, meta, 4, ['AB', 'CD'], None)
self.assertEqual('AB', checked_image.next())
self.assertEqual('CD', checked_image.next())
@ -64,7 +64,7 @@ class TestSizeCheckedIter(testtools.TestCase):
resp = self._get_webob_response()
meta = self._get_image_metadata()
checked_image = glance.api.common.size_checked_iter(
resp, meta, 3, ['AB', 'C'], None)
resp, meta, 3, ['AB', 'C'], None)
self.assertEqual('AB', checked_image.next())
self.assertEqual('C', checked_image.next())
@ -74,7 +74,7 @@ class TestSizeCheckedIter(testtools.TestCase):
resp = self._get_webob_response()
meta = self._get_image_metadata()
checked_image = glance.api.common.size_checked_iter(
resp, meta, 6, ['AB', '', 'CDE', 'F'], None)
resp, meta, 6, ['AB', '', 'CDE', 'F'], None)
self.assertEqual('AB', checked_image.next())
self.assertEqual('', checked_image.next())
@ -87,7 +87,7 @@ class TestSizeCheckedIter(testtools.TestCase):
resp = self._get_webob_response()
meta = self._get_image_metadata()
checked_image = glance.api.common.size_checked_iter(
resp, meta, 4, ['AB', 'CD', 'EF'], None)
resp, meta, 4, ['AB', 'CD', 'EF'], None)
self.assertEqual('AB', checked_image.next())
self.assertEqual('CD', checked_image.next())

View File

@ -68,7 +68,7 @@ class TestProtectedImageRepoProxy(utils.BaseTestCase):
self.context = glance.context.RequestContext(roles=['spl_role'])
image_repo = self.ImageRepoStub(self.fixtures)
self.image_repo = property_protections.ProtectedImageRepoProxy(
image_repo, self.context, self.property_rules)
image_repo, self.context, self.property_rules)
def test_get_image(self):
image_id = '1'
@ -115,7 +115,7 @@ class TestProtectedImageProxy(utils.BaseTestCase):
extra_prop = {'spl_read_prop': 'read', 'spl_fake_prop': 'prop'}
image = self.ImageStub(extra_prop)
result_image = property_protections.ProtectedImageProxy(
image, context, self.property_rules)
image, context, self.property_rules)
result_extra_props = result_image.extra_properties
self.assertEqual(result_extra_props['spl_read_prop'], 'read')
self.assertFalse('spl_fake_prop' in result_extra_props.keys())
@ -133,7 +133,7 @@ class TestExtraPropertiesProxy(utils.BaseTestCase):
extra_properties = {'foo': 'bar', 'ping': 'pong'}
context = glance.context.RequestContext(roles=['admin'])
extra_prop_proxy = property_protections.ExtraPropertiesProxy(
context, extra_properties, self.property_rules)
context, extra_properties, self.property_rules)
test_result = extra_prop_proxy['foo']
self.assertEqual(test_result, 'bar')
@ -141,14 +141,14 @@ class TestExtraPropertiesProxy(utils.BaseTestCase):
extra_properties = {'foo': 'bar', 'ping': 'pong'}
context = glance.context.RequestContext(roles=['unpermitted_role'])
extra_prop_proxy = property_protections.ExtraPropertiesProxy(
context, extra_properties, self.property_rules)
context, extra_properties, self.property_rules)
self.assertRaises(KeyError, extra_prop_proxy.__getitem__, 'foo')
def test_update_extra_property_as_permitted_role_after_read(self):
extra_properties = {'foo': 'bar', 'ping': 'pong'}
context = glance.context.RequestContext(roles=['admin'])
extra_prop_proxy = property_protections.ExtraPropertiesProxy(
context, extra_properties, self.property_rules)
context, extra_properties, self.property_rules)
extra_prop_proxy['foo'] = 'par'
self.assertEqual(extra_prop_proxy['foo'], 'par')
@ -156,7 +156,7 @@ class TestExtraPropertiesProxy(utils.BaseTestCase):
extra_properties = {'spl_read_prop': 'bar'}
context = glance.context.RequestContext(roles=['spl_role'])
extra_prop_proxy = property_protections.ExtraPropertiesProxy(
context, extra_properties, self.property_rules)
context, extra_properties, self.property_rules)
self.assertRaises(exception.ReservedProperty,
extra_prop_proxy.__setitem__,
'spl_read_prop', 'par')
@ -165,7 +165,7 @@ class TestExtraPropertiesProxy(utils.BaseTestCase):
extra_properties = {'spl_create_prop': 'bar'}
context = glance.context.RequestContext(roles=['spl_role'])
extra_prop_proxy = property_protections.ExtraPropertiesProxy(
context, extra_properties, self.property_rules)
context, extra_properties, self.property_rules)
self.assertRaises(exception.ReservedProperty,
extra_prop_proxy.__setitem__, 'spl_create_prop',
'par')
@ -174,7 +174,7 @@ class TestExtraPropertiesProxy(utils.BaseTestCase):
extra_properties = {}
context = glance.context.RequestContext(roles=['admin'])
extra_prop_proxy = property_protections.ExtraPropertiesProxy(
context, extra_properties, self.property_rules)
context, extra_properties, self.property_rules)
extra_prop_proxy['boo'] = 'doo'
self.assertEqual(extra_prop_proxy['boo'], 'doo')
@ -182,7 +182,7 @@ class TestExtraPropertiesProxy(utils.BaseTestCase):
extra_properties = {}
context = glance.context.RequestContext(roles=['spl_role'])
extra_prop_proxy = property_protections.ExtraPropertiesProxy(
context, extra_properties, self.property_rules)
context, extra_properties, self.property_rules)
self.assertRaises(exception.ReservedProperty,
extra_prop_proxy.__setitem__, 'boo',
'doo')
@ -191,7 +191,7 @@ class TestExtraPropertiesProxy(utils.BaseTestCase):
extra_properties = {'foo': 'bar'}
context = glance.context.RequestContext(roles=['admin'])
extra_prop_proxy = property_protections.ExtraPropertiesProxy(
context, extra_properties, self.property_rules)
context, extra_properties, self.property_rules)
del extra_prop_proxy['foo']
self.assertRaises(KeyError, extra_prop_proxy.__getitem__, 'foo')
@ -199,14 +199,14 @@ class TestExtraPropertiesProxy(utils.BaseTestCase):
extra_properties = {}
context = glance.context.RequestContext(roles=['admin'])
extra_prop_proxy = property_protections.ExtraPropertiesProxy(
context, extra_properties, self.property_rules)
context, extra_properties, self.property_rules)
self.assertRaises(KeyError, extra_prop_proxy.__delitem__, 'foo')
def test_delete_reserved_extra_property(self):
extra_properties = {'spl_read_prop': 'r'}
context = glance.context.RequestContext(roles=['spl_role'])
extra_prop_proxy = property_protections.ExtraPropertiesProxy(
context, extra_properties, self.property_rules)
context, extra_properties, self.property_rules)
# Ensure property has been created and can be read
self.assertEqual(extra_prop_proxy['spl_read_prop'], 'r')
self.assertRaises(exception.ReservedProperty,
@ -216,7 +216,7 @@ class TestExtraPropertiesProxy(utils.BaseTestCase):
extra_properties = {}
roles = ['spl_role']
extra_prop_proxy = property_protections.ExtraPropertiesProxy(
roles, extra_properties, self.property_rules)
roles, extra_properties, self.property_rules)
self.assertRaises(KeyError,
extra_prop_proxy.__delitem__, 'spl_read_prop')
@ -233,8 +233,8 @@ class TestProtectedImageFactoryProxy(utils.BaseTestCase):
self.context = glance.context.RequestContext(tenant=TENANT1,
roles=['spl_role'])
self.image_factory = property_protections.ProtectedImageFactoryProxy(
self.factory, self.context,
self.property_rules)
self.factory, self.context,
self.property_rules)
extra_props = {}
image = self.image_factory.new_image(extra_properties=extra_props)
expected_extra_props = {}
@ -244,8 +244,8 @@ class TestProtectedImageFactoryProxy(utils.BaseTestCase):
self.context = glance.context.RequestContext(tenant=TENANT1,
roles=['spl_role'])
self.image_factory = property_protections.ProtectedImageFactoryProxy(
self.factory, self.context,
self.property_rules)
self.factory, self.context,
self.property_rules)
extra_props = {'spl_create_prop': 'c'}
image = self.image_factory.new_image(extra_properties=extra_props)
expected_extra_props = {'spl_create_prop': 'c'}
@ -255,8 +255,8 @@ class TestProtectedImageFactoryProxy(utils.BaseTestCase):
self.context = glance.context.RequestContext(tenant=TENANT1,
roles=['spl_role'])
self.image_factory = property_protections.ProtectedImageFactoryProxy(
self.factory, self.context,
self.property_rules)
self.factory, self.context,
self.property_rules)
extra_props = {'foo': 'bar', 'spl_create_prop': 'c'}
# no reg ex for property 'foo' is mentioned for spl_role in config
self.assertRaises(exception.ReservedProperty,
@ -267,8 +267,8 @@ class TestProtectedImageFactoryProxy(utils.BaseTestCase):
self.context = glance.context.RequestContext(tenant=TENANT1,
roles=['admin'])
self.image_factory = property_protections.ProtectedImageFactoryProxy(
self.factory, self.context,
self.property_rules)
self.factory, self.context,
self.property_rules)
extra_props = {'foo': 'bar', 'spl_create_prop': 'c'}
image = self.image_factory.new_image(extra_properties=extra_props)
expected_extra_props = {'foo': 'bar', 'spl_create_prop': 'c'}
@ -278,8 +278,8 @@ class TestProtectedImageFactoryProxy(utils.BaseTestCase):
self.context = glance.context.RequestContext(tenant=TENANT1,
roles=['imaginary-role'])
self.image_factory = property_protections.ProtectedImageFactoryProxy(
self.factory, self.context,
self.property_rules)
self.factory, self.context,
self.property_rules)
extra_props = {'foo': 'bar', 'spl_create_prop': 'c'}
self.assertRaises(exception.ReservedProperty,
self.image_factory.new_image,

View File

@ -245,7 +245,7 @@ class TestKeystoneAuthPlugin(utils.BaseTestCase):
resp = webob.Response()
if (headers.get('X-Auth-User') != 'user1' or
headers.get('X-Auth-Key') != 'pass'):
headers.get('X-Auth-Key') != 'pass'):
resp.status = 401
else:
resp.status = 200
@ -282,10 +282,10 @@ class TestKeystoneAuthPlugin(utils.BaseTestCase):
continue # Expected
no_strategy_creds = {
'username': 'user1',
'auth_url': 'http://localhost/redirect/',
'password': 'pass',
'region': 'RegionOne'
'username': 'user1',
'auth_url': 'http://localhost/redirect/',
'password': 'pass',
'region': 'RegionOne'
}
try:
@ -323,7 +323,7 @@ class TestKeystoneAuthPlugin(utils.BaseTestCase):
def fake_do_request(cls, url, method, headers=None, body=None):
if (not url.rstrip('/').endswith('v2.0/tokens') or
url.count("2.0") != 1):
url.count("2.0") != 1):
self.fail("Invalid v2.0 token path (%s)" % url)
creds = json.loads(body)['auth']
@ -333,7 +333,7 @@ class TestKeystoneAuthPlugin(utils.BaseTestCase):
resp = webob.Response()
if (username != 'user1' or password != 'pass' or
tenant != 'tenant-ok'):
tenant != 'tenant-ok'):
resp.status = 401
else:
resp.status = 200
@ -382,11 +382,11 @@ class TestKeystoneAuthPlugin(utils.BaseTestCase):
continue # Expected
no_region_creds = {
'username': 'user1',
'tenant': 'tenant-ok',
'auth_url': 'http://localhost/redirect/v2.0/',
'password': 'pass',
'strategy': 'keystone'
'username': 'user1',
'tenant': 'tenant-ok',
'auth_url': 'http://localhost/redirect/v2.0/',
'password': 'pass',
'strategy': 'keystone'
}
plugin = auth.KeystoneStrategy(no_region_creds)
@ -405,12 +405,12 @@ class TestKeystoneAuthPlugin(utils.BaseTestCase):
pass # Expected
wrong_region_creds = {
'username': 'user1',
'tenant': 'tenant-ok',
'auth_url': 'http://localhost/redirect/v2.0/',
'password': 'pass',
'strategy': 'keystone',
'region': 'NonExistantRegion'
'username': 'user1',
'tenant': 'tenant-ok',
'auth_url': 'http://localhost/redirect/v2.0/',
'password': 'pass',
'strategy': 'keystone',
'region': 'NonExistantRegion'
}
try:
@ -422,11 +422,11 @@ class TestKeystoneAuthPlugin(utils.BaseTestCase):
pass # Expected
no_strategy_creds = {
'username': 'user1',
'tenant': 'tenant-ok',
'auth_url': 'http://localhost/redirect/v2.0/',
'password': 'pass',
'region': 'RegionOne'
'username': 'user1',
'tenant': 'tenant-ok',
'auth_url': 'http://localhost/redirect/v2.0/',
'password': 'pass',
'region': 'RegionOne'
}
try:
@ -640,13 +640,13 @@ class TestImmutableImage(utils.BaseTestCase):
image_factory = glance.domain.ImageFactory()
self.context = glance.context.RequestContext(tenant=TENANT1)
image = image_factory.new_image(
image_id=UUID1,
name='Marvin',
owner=TENANT1,
disk_format='raw',
container_format='bare',
extra_properties={'foo': 'bar'},
tags=['ping', 'pong'],
image_id=UUID1,
name='Marvin',
owner=TENANT1,
disk_format='raw',
container_format='bare',
extra_properties={'foo': 'bar'},
tags=['ping', 'pong'],
)
self.image = authorization.ImmutableImageProxy(image, self.context)
@ -774,7 +774,7 @@ class TestImmutableImage(utils.BaseTestCase):
return 'tiddlywinks'
image = glance.api.authorization.ImmutableImageProxy(
FakeImage(), self.context)
FakeImage(), self.context)
self.assertEqual(image.get_data(), 'tiddlywinks')

View File

@ -272,23 +272,23 @@ class TestCacheMiddlewareProcessRequest(base.IsolatedUnitTest):
def fake_image_get(self, image_id):
return {
'id': 'test1',
'name': 'fake_image',
'status': 'Active',
'created_at': '',
'min_disk': '10G',
'min_ram': '1024M',
'protected': False,
'locations': '',
'checksum': 'c352f4e7121c6eae958bc1570324f17e',
'owner': '',
'disk_format': 'raw',
'container_format': 'bare',
'size': '123456789',
'is_public': 'public',
'deleted': False,
'updated_at': '',
'properties': {},
'id': 'test1',
'name': 'fake_image',
'status': 'Active',
'created_at': '',
'min_disk': '10G',
'min_ram': '1024M',
'protected': False,
'locations': '',
'checksum': 'c352f4e7121c6eae958bc1570324f17e',
'owner': '',
'disk_format': 'raw',
'container_format': 'bare',
'size': '123456789',
'is_public': 'public',
'deleted': False,
'updated_at': '',
'properties': {},
}
def fake_image_tag_get_all(context, image_id, session=None):

View File

@ -103,7 +103,7 @@ class TestImageRepo(test_utils.BaseTestCase):
self.db = unit_test_utils.FakeDB()
self.db.reset()
self.context = glance.context.RequestContext(
user=USER1, tenant=TENANT1)
user=USER1, tenant=TENANT1)
self.image_repo = glance.db.ImageRepo(self.context, self.db)
self.image_factory = glance.domain.ImageFactory()
self._create_images()
@ -177,7 +177,7 @@ class TestImageRepo(test_utils.BaseTestCase):
def _do_test_list_status(self, status, expected):
self.context = glance.context.RequestContext(
user=USER1, tenant=TENANT3)
user=USER1, tenant=TENANT3)
self.image_repo = glance.db.ImageRepo(self.context, self.db)
images = self.image_repo.list(member_status=status)
self.assertEqual(expected, len(images))
@ -330,7 +330,7 @@ class TestEncryptedLocations(test_utils.BaseTestCase):
self.db = unit_test_utils.FakeDB()
self.db.reset()
self.context = glance.context.RequestContext(
user=USER1, tenant=TENANT1)
user=USER1, tenant=TENANT1)
self.image_repo = glance.db.ImageRepo(self.context, self.db)
self.image_factory = glance.domain.ImageFactory()
self.crypt_key = '0123456789abcdef'
@ -397,7 +397,7 @@ class TestImageMemberRepo(test_utils.BaseTestCase):
self.db = unit_test_utils.FakeDB()
self.db.reset()
self.context = glance.context.RequestContext(
user=USER1, tenant=TENANT1)
user=USER1, tenant=TENANT1)
self.image_repo = glance.db.ImageRepo(self.context, self.db)
self.image_member_factory = glance.domain.ImageMemberFactory()
self._create_images()
@ -433,7 +433,7 @@ class TestImageMemberRepo(test_utils.BaseTestCase):
def test_list_no_members(self):
image = self.image_repo.get(UUID2)
self.image_member_repo_uuid2 = glance.db.ImageMemberRepo(
self.context, self.db, image)
self.context, self.db, image)
image_members = self.image_member_repo_uuid2.list()
image_member_ids = set([i.member_id for i in image_members])
self.assertEqual(set([]), image_member_ids)

View File

@ -59,8 +59,8 @@ class TestImageFactory(test_utils.BaseTestCase):
def test_new_image(self):
image = self.image_factory.new_image(
image_id=UUID1, name='image-1', min_disk=256,
owner=TENANT1)
image_id=UUID1, name='image-1', min_disk=256,
owner=TENANT1)
self.assertEqual(image.image_id, UUID1)
self.assertTrue(image.created_at is not None)
self.assertEqual(image.created_at, image.updated_at)
@ -81,8 +81,8 @@ class TestImageFactory(test_utils.BaseTestCase):
extra_properties = {'foo': 'bar'}
tags = ['one', 'two']
image = self.image_factory.new_image(
image_id=UUID1, name='image-1',
extra_properties=extra_properties, tags=tags)
image_id=UUID1, name='image-1',
extra_properties=extra_properties, tags=tags)
self.assertEqual(image.image_id, UUID1)
self.assertTrue(image.created_at is not None)
@ -123,7 +123,7 @@ class TestImage(test_utils.BaseTestCase):
super(TestImage, self).setUp()
self.image_factory = domain.ImageFactory()
self.image = self.image_factory.new_image(
container_format='bear', disk_format='rawr')
container_format='bear', disk_format='rawr')
def test_extra_properties(self):
self.image.extra_properties = {'foo': 'bar'}
@ -207,8 +207,8 @@ class TestImageMemberFactory(test_utils.BaseTestCase):
def test_minimal_new_image_member(self):
member_id = 'fake-member-id'
image = self.image_factory.new_image(
image_id=UUID1, name='image-1', min_disk=256,
owner=TENANT1)
image_id=UUID1, name='image-1', min_disk=256,
owner=TENANT1)
image_member = self.image_member_factory.new_image_member(image,
member_id)
self.assertEqual(image_member.image_id, image.image_id)

View File

@ -216,8 +216,8 @@ class TestImageMembershipFactory(test_utils.BaseTestCase):
def test_proxy_wrapped_membership(self):
proxy_factory = proxy.ImageMembershipFactory(
self.factory, member_proxy_class=FakeProxy,
member_proxy_kwargs={'a': 1})
self.factory, member_proxy_class=FakeProxy,
member_proxy_kwargs={'a': 1})
self.factory.result = 'tyrion'
membership = proxy_factory.new_image_member('jaime', 'cersei')
self.assertTrue(isinstance(membership, FakeProxy))
@ -228,7 +228,7 @@ class TestImageMembershipFactory(test_utils.BaseTestCase):
def test_proxy_wrapped_image(self):
proxy_factory = proxy.ImageMembershipFactory(
self.factory, image_proxy_class=FakeProxy)
self.factory, image_proxy_class=FakeProxy)
self.factory.result = 'tyrion'
image = FakeProxy('jaime')
membership = proxy_factory.new_image_member(image, 'cersei')
@ -241,10 +241,10 @@ class TestImageMembershipFactory(test_utils.BaseTestCase):
pass
proxy_factory = proxy.ImageMembershipFactory(
self.factory,
member_proxy_class=FakeProxy,
member_proxy_kwargs={'b': 2},
image_proxy_class=FakeProxy2)
self.factory,
member_proxy_class=FakeProxy,
member_proxy_kwargs={'b': 2},
image_proxy_class=FakeProxy2)
self.factory.result = 'tyrion'
image = FakeProxy2('jaime')

View File

@ -559,9 +559,9 @@ class ReplicationUtilitiesTestCase(test_utils.BaseTestCase):
def test_image_present(self):
client = FakeImageService(None, 'noauth')
self.assertTrue(glance_replicator._image_present(
client, '5dcddce0-cba5-4f18-9cf4-9853c7b207a6'))
client, '5dcddce0-cba5-4f18-9cf4-9853c7b207a6'))
self.assertFalse(glance_replicator._image_present(
client, uuid.uuid4()))
client, uuid.uuid4()))
def test_dict_diff(self):
a = {'a': 1, 'b': 2, 'c': 3}

View File

@ -774,8 +774,8 @@ class TestMigrations(test_utils.BaseTestCase):
images = get_table(engine, 'images')
unquoted = 'swift://acct:usr:pass@example.com/container/obj-id'
encrypted_unquoted = crypt.urlsafe_encrypt(
metadata_encryption_key,
unquoted, 64)
metadata_encryption_key,
unquoted, 64)
data = []
now = datetime.datetime.now()
temp = dict(deleted=False,
@ -840,13 +840,13 @@ class TestMigrations(test_utils.BaseTestCase):
images = get_table(engine, 'images')
now = datetime.datetime.now()
base_values = {
'deleted': False,
'created_at': now,
'updated_at': now,
'status': 'active',
'is_public': True,
'min_disk': 0,
'min_ram': 0,
'deleted': False,
'created_at': now,
'updated_at': now,
'status': 'active',
'is_public': True,
'min_disk': 0,
'min_ram': 0,
}
data = [
{'id': 'fake-19-1', 'location': 'http://glance.example.com'},

View File

@ -110,20 +110,20 @@ class TestImageNotifications(utils.BaseTestCase):
def setUp(self):
super(TestImageNotifications, self).setUp()
self.image = ImageStub(
image_id=UUID1, name='image-1', status='active', size=1024,
created_at=DATETIME, updated_at=DATETIME, owner=TENANT1,
visibility='public', container_format='ami',
tags=['one', 'two'], disk_format='ami', min_ram=128,
min_disk=10, checksum='ca425b88f047ce8ec45ee90e813ada91',
locations=['http://127.0.0.1'])
image_id=UUID1, name='image-1', status='active', size=1024,
created_at=DATETIME, updated_at=DATETIME, owner=TENANT1,
visibility='public', container_format='ami',
tags=['one', 'two'], disk_format='ami', min_ram=128,
min_disk=10, checksum='ca425b88f047ce8ec45ee90e813ada91',
locations=['http://127.0.0.1'])
self.context = glance.context.RequestContext(tenant=TENANT2,
user=USER1)
self.image_repo_stub = ImageRepoStub()
self.notifier = unit_test_utils.FakeNotifier()
self.image_repo_proxy = glance.notifier.ImageRepoProxy(
self.image_repo_stub, self.context, self.notifier)
self.image_repo_stub, self.context, self.notifier)
self.image_proxy = glance.notifier.ImageProxy(
self.image, self.context, self.notifier)
self.image, self.context, self.notifier)
def test_image_save_notification(self):
self.image_repo_proxy.save(self.image_proxy)

View File

@ -278,14 +278,14 @@ class TestImagePolicy(test_utils.BaseTestCase):
def test_new_image_visibility(self):
self.policy.enforce.side_effect = exception.Forbidden
image_factory = glance.api.policy.ImageFactoryProxy(
self.image_factory_stub, {}, self.policy)
self.image_factory_stub, {}, self.policy)
self.assertRaises(exception.Forbidden, image_factory.new_image,
visibility='public')
self.policy.enforce.assert_called_once_with({}, "publicize_image", {})
def test_new_image_visibility_public_allowed(self):
image_factory = glance.api.policy.ImageFactoryProxy(
self.image_factory_stub, {}, self.policy)
self.image_factory_stub, {}, self.policy)
image_factory.new_image(visibility='public')
self.policy.enforce.assert_called_once_with({}, "publicize_image", {})

View File

@ -312,9 +312,9 @@ class TestImagePropertyQuotas(test_utils.BaseTestCase):
self.image_repo_mock = mock.Mock()
self.image_repo_proxy = glance.quota.ImageRepoProxy(
self.image_repo_mock,
mock.Mock(),
mock.Mock())
self.image_repo_mock,
mock.Mock(),
mock.Mock())
def test_save_image_with_image_property(self):
self.config(image_property_quota=1)
@ -376,9 +376,9 @@ class TestImageTagQuotas(test_utils.BaseTestCase):
self.image_repo_mock = mock.Mock()
self.image_repo_proxy = glance.quota.ImageRepoProxy(
self.image_repo_mock,
mock.Mock(),
mock.Mock())
self.image_repo_mock,
mock.Mock(),
mock.Mock())
def test_replace_image_tag(self):
self.config(image_tag_quota=1)
@ -472,8 +472,8 @@ class TestImageMemberQuotas(test_utils.BaseTestCase):
self.image = mock.Mock()
self.base_image_member_factory = mock.Mock()
self.image_member_factory = glance.quota.ImageMemberFactoryProxy(
self.base_image_member_factory, context,
db_api)
self.base_image_member_factory, context,
db_api)
def test_new_image_member(self):
self.config(image_member_quota=1)

View File

@ -714,7 +714,7 @@ class TestStoreImageRepo(utils.BaseTestCase):
self.image_stub.visibility = 'private'
member_repo = self.image.get_member_repo()
membership = glance.domain.ImageMembership(
UUID1, TENANT3, None, None, status='accepted')
UUID1, TENANT3, None, None, status='accepted')
member_repo.add(membership)
self.assertIn('glug', self.store_api.acls)
acls = self.store_api.acls['glug']
@ -727,7 +727,7 @@ class TestStoreImageRepo(utils.BaseTestCase):
self.image_stub.visibility = 'private'
member_repo = self.image.get_member_repo()
membership = glance.domain.ImageMembership(
UUID1, TENANT1, None, None, status='accepted')
UUID1, TENANT1, None, None, status='accepted')
member_repo.remove(membership)
self.assertIn('glug', self.store_api.acls)
acls = self.store_api.acls['glug']
@ -741,9 +741,9 @@ class TestImageFactory(utils.BaseTestCase):
def setUp(self):
super(TestImageFactory, self).setUp()
self.image_factory = glance.store.ImageFactoryProxy(
ImageFactoryStub(),
glance.context.RequestContext(user=USER1),
unit_test_utils.FakeStoreAPI())
ImageFactoryStub(),
glance.context.RequestContext(user=USER1),
unit_test_utils.FakeStoreAPI())
def test_new_image(self):
image = self.image_factory.new_image()

View File

@ -116,7 +116,7 @@ def stub_out_swiftclient(stubs, swift_store_auth_version):
msg = ('Image size:%d exceeds Swift max:%d' %
(read_len, MAX_SWIFT_OBJECT_SIZE))
raise swiftclient.ClientException(
msg, http_status=httplib.REQUEST_ENTITY_TOO_LARGE)
msg, http_status=httplib.REQUEST_ENTITY_TOO_LARGE)
fixture_objects[fixture_key] = fixture_object
fixture_headers[fixture_key] = {
'content-length': read_len,
@ -272,7 +272,7 @@ class SwiftTests(object):
raises an error
"""
loc = get_location_from_uri("swift://%s:key@authurl/glance/noexist" % (
self.swift_store_user))
self.swift_store_user))
self.assertRaises(exception.NotFound,
self.store.get,
loc)
@ -621,7 +621,7 @@ class SwiftTests(object):
raises an error
"""
loc = get_location_from_uri("swift://%s:key@authurl/glance/noexist" % (
self.swift_store_user))
self.swift_store_user))
self.assertRaises(exception.NotFound, self.store.delete, loc)
def test_read_acl_public(self):
@ -831,7 +831,7 @@ class TestMultiTenantStoreConnections(base.IsolatedUnitTest):
super(TestMultiTenantStoreConnections, self).setUp()
self.stubs.Set(swiftclient, 'Connection', FakeConnection)
self.context = glance.context.RequestContext(
user='user', tenant='tenant', auth_tok='0123')
user='user', tenant='tenant', auth_tok='0123')
self.store = glance.store.swift.MultiTenantStore(self.context)
specs = {'scheme': 'swift',
'auth_or_store_url': 'example.com',
@ -901,8 +901,8 @@ class TestCreatingLocations(base.IsolatedUnitTest):
fake_get_endpoint = FakeGetEndpoint('https://some_endpoint')
self.stubs.Set(glance.common.auth, 'get_endpoint', fake_get_endpoint)
context = glance.context.RequestContext(
user='user', tenant='tenant', auth_tok='123',
service_catalog={})
user='user', tenant='tenant', auth_tok='123',
service_catalog={})
store = glance.store.swift.MultiTenantStore(context)
location = store.create_location('image-id')
self.assertEqual(location.scheme, 'swift+https')
@ -917,8 +917,8 @@ class TestCreatingLocations(base.IsolatedUnitTest):
fake_get_endpoint = FakeGetEndpoint('http://some_endpoint')
self.stubs.Set(glance.common.auth, 'get_endpoint', fake_get_endpoint)
context = glance.context.RequestContext(
user='user', tenant='tenant', auth_tok='123',
service_catalog={})
user='user', tenant='tenant', auth_tok='123',
service_catalog={})
store = glance.store.swift.MultiTenantStore(context)
location = store.create_location('image-id')
self.assertEqual(location.scheme, 'swift+http')
@ -929,8 +929,8 @@ class TestCreatingLocations(base.IsolatedUnitTest):
fake_get_endpoint = FakeGetEndpoint('https://some_endpoint')
self.stubs.Set(glance.common.auth, 'get_endpoint', fake_get_endpoint)
context = glance.context.RequestContext(
user='user', tenant='tenant', auth_tok='123',
service_catalog={})
user='user', tenant='tenant', auth_tok='123',
service_catalog={})
store = glance.store.swift.MultiTenantStore(context)
self.assertEqual(fake_get_endpoint.endpoint_region, 'WestCarolina')
@ -939,8 +939,8 @@ class TestCreatingLocations(base.IsolatedUnitTest):
fake_get_endpoint = FakeGetEndpoint('https://some_endpoint')
self.stubs.Set(glance.common.auth, 'get_endpoint', fake_get_endpoint)
context = glance.context.RequestContext(
user='user', tenant='tenant', auth_tok='123',
service_catalog={})
user='user', tenant='tenant', auth_tok='123',
service_catalog={})
store = glance.store.swift.MultiTenantStore(context)
self.assertEqual(fake_get_endpoint.service_type, 'toy-store')
@ -949,8 +949,8 @@ class TestCreatingLocations(base.IsolatedUnitTest):
fake_get_endpoint = FakeGetEndpoint('https://some_endpoint')
self.stubs.Set(glance.common.auth, 'get_endpoint', fake_get_endpoint)
context = glance.context.RequestContext(
user='user', tenant='tenant', auth_tok='123',
service_catalog={})
user='user', tenant='tenant', auth_tok='123',
service_catalog={})
store = glance.store.swift.MultiTenantStore(context)
self.assertEqual(fake_get_endpoint.endpoint_type, 'InternalURL')

View File

@ -304,7 +304,7 @@ class TestGlanceAPI(base.IsolatedUnitTest):
def test_create_image_with_too_many_properties(self):
self.config(image_property_quota=1)
another_request = unit_test_utils.get_fake_request(
path='/images', method='POST')
path='/images', method='POST')
headers = {'x-auth-token': 'user:tenant:joe_soap',
'x-image-meta-property-x_all_permitted': '1',
'x-image-meta-property-x_all_permitted_foo': '2'}
@ -2880,9 +2880,9 @@ class TestImageSerializer(base.IsolatedUnitTest):
self.receiving_user = 'fake_user'
self.receiving_tenant = 2
self.context = glance.context.RequestContext(
is_admin=True,
user=self.receiving_user,
tenant=self.receiving_tenant)
is_admin=True,
user=self.receiving_user,
tenant=self.receiving_tenant)
self.serializer = glance.api.v1.images.ImageSerializer()
def image_iter():
@ -3139,7 +3139,7 @@ class TestAPIProtectedProps(base.IsolatedUnitTest):
"""
image_id = self._create_admin_image()
another_request = unit_test_utils.get_fake_request(
path='/images/%s' % image_id, method='PUT')
path='/images/%s' % image_id, method='PUT')
headers = {'x-auth-token': 'user:tenant:member',
'x-image-meta-property-x_owner_foo': 'bar'}
for k, v in headers.iteritems():
@ -3156,7 +3156,7 @@ class TestAPIProtectedProps(base.IsolatedUnitTest):
self.set_property_protections(use_policies=True)
image_id = self._create_admin_image()
another_request = unit_test_utils.get_fake_request(
path='/images/%s' % image_id, method='PUT')
path='/images/%s' % image_id, method='PUT')
headers = {'x-auth-token': 'user:tenant:admin',
'x-image-meta-property-spl_create_prop_policy': 'bar'}
for k, v in headers.iteritems():
@ -3174,7 +3174,7 @@ class TestAPIProtectedProps(base.IsolatedUnitTest):
"""
image_id = self._create_admin_image()
another_request = unit_test_utils.get_fake_request(
path='/images/%s' % image_id, method='PUT')
path='/images/%s' % image_id, method='PUT')
headers = {'x-auth-token': 'user:tenant:fake_member',
'x-image-meta-property-x_owner_foo': 'bar'}
for k, v in headers.iteritems():
@ -3191,9 +3191,9 @@ class TestAPIProtectedProps(base.IsolatedUnitTest):
permitted role 'member' can read that protected property via HEAD
"""
image_id = self._create_admin_image(
{'x-image-meta-property-x_owner_foo': 'bar'})
{'x-image-meta-property-x_owner_foo': 'bar'})
another_request = unit_test_utils.get_fake_request(
method='HEAD', path='/images/%s' % image_id)
method='HEAD', path='/images/%s' % image_id)
headers = {'x-auth-token': 'user:tenant:member'}
for k, v in headers.iteritems():
another_request.headers[k] = v
@ -3208,9 +3208,9 @@ class TestAPIProtectedProps(base.IsolatedUnitTest):
HEAD
"""
image_id = self._create_admin_image(
{'x-image-meta-property-x_owner_foo': 'bar'})
{'x-image-meta-property-x_owner_foo': 'bar'})
another_request = unit_test_utils.get_fake_request(
method='HEAD', path='/images/%s' % image_id)
method='HEAD', path='/images/%s' % image_id)
headers = {'x-auth-token': 'user:tenant:fake_role'}
for k, v in headers.iteritems():
another_request.headers[k] = v
@ -3225,9 +3225,9 @@ class TestAPIProtectedProps(base.IsolatedUnitTest):
permitted role 'member' can read that protected property via GET
"""
image_id = self._create_admin_image(
{'x-image-meta-property-x_owner_foo': 'bar'})
{'x-image-meta-property-x_owner_foo': 'bar'})
another_request = unit_test_utils.get_fake_request(
method='GET', path='/images/%s' % image_id)
method='GET', path='/images/%s' % image_id)
headers = {'x-auth-token': 'user:tenant:member'}
for k, v in headers.iteritems():
another_request.headers[k] = v
@ -3242,9 +3242,9 @@ class TestAPIProtectedProps(base.IsolatedUnitTest):
GET
"""
image_id = self._create_admin_image(
{'x-image-meta-property-x_owner_foo': 'bar'})
{'x-image-meta-property-x_owner_foo': 'bar'})
another_request = unit_test_utils.get_fake_request(
method='GET', path='/images/%s' % image_id)
method='GET', path='/images/%s' % image_id)
headers = {'x-auth-token': 'user:tenant:fake_role'}
for k, v in headers.iteritems():
another_request.headers[k] = v
@ -3260,9 +3260,9 @@ class TestAPIProtectedProps(base.IsolatedUnitTest):
/images/detail
"""
image_id = self._create_admin_image(
{'x-image-meta-property-x_owner_foo': 'bar'})
{'x-image-meta-property-x_owner_foo': 'bar'})
another_request = unit_test_utils.get_fake_request(
method='GET', path='/images/detail')
method='GET', path='/images/detail')
headers = {'x-auth-token': 'user:tenant:member'}
for k, v in headers.iteritems():
another_request.headers[k] = v
@ -3279,9 +3279,9 @@ class TestAPIProtectedProps(base.IsolatedUnitTest):
"""
self.set_property_protections(use_policies=True)
image_id = self._create_admin_image(
{'x-image-meta-property-x_owner_foo': 'bar'})
{'x-image-meta-property-x_owner_foo': 'bar'})
another_request = unit_test_utils.get_fake_request(
method='GET', path='/images/detail')
method='GET', path='/images/detail')
headers = {'x-auth-token': 'user:tenant:member'}
for k, v in headers.iteritems():
another_request.headers[k] = v
@ -3297,9 +3297,9 @@ class TestAPIProtectedProps(base.IsolatedUnitTest):
/images/detail
"""
image_id = self._create_admin_image(
{'x-image-meta-property-x_owner_foo': 'bar'})
{'x-image-meta-property-x_owner_foo': 'bar'})
another_request = unit_test_utils.get_fake_request(
method='GET', path='/images/detail')
method='GET', path='/images/detail')
headers = {'x-auth-token': 'user:tenant:fake_role'}
for k, v in headers.iteritems():
another_request.headers[k] = v
@ -3317,9 +3317,9 @@ class TestAPIProtectedProps(base.IsolatedUnitTest):
"""
self.set_property_protections(use_policies=True)
image_id = self._create_admin_image(
{'x-image-meta-property-x_owner_foo': 'bar'})
{'x-image-meta-property-x_owner_foo': 'bar'})
another_request = unit_test_utils.get_fake_request(
method='GET', path='/images/detail')
method='GET', path='/images/detail')
headers = {'x-auth-token': 'user:tenant:fake_role'}
for k, v in headers.iteritems():
another_request.headers[k] = v
@ -3335,9 +3335,9 @@ class TestAPIProtectedProps(base.IsolatedUnitTest):
permitted role 'member' can update that protected property
"""
image_id = self._create_admin_image(
{'x-image-meta-property-x_owner_foo': 'bar'})
{'x-image-meta-property-x_owner_foo': 'bar'})
another_request = unit_test_utils.get_fake_request(
path='/images/%s' % image_id, method='PUT')
path='/images/%s' % image_id, method='PUT')
headers = {'x-auth-token': 'user:tenant:member',
'x-image-meta-property-x_owner_foo': 'baz'}
for k, v in headers.iteritems():
@ -3353,9 +3353,9 @@ class TestAPIProtectedProps(base.IsolatedUnitTest):
"""
self.set_property_protections(use_policies=True)
image_id = self._create_admin_image(
{'x-image-meta-property-spl_default_policy': 'bar'})
{'x-image-meta-property-spl_default_policy': 'bar'})
another_request = unit_test_utils.get_fake_request(
path='/images/%s' % image_id, method='PUT')
path='/images/%s' % image_id, method='PUT')
headers = {'x-auth-token': 'user:tenant:admin',
'x-image-meta-property-spl_default_policy': 'baz'}
for k, v in headers.iteritems():
@ -3370,9 +3370,9 @@ class TestAPIProtectedProps(base.IsolatedUnitTest):
unpermitted role 'fake_role' can *not* update that protected property
"""
image_id = self._create_admin_image(
{'x-image-meta-property-x_owner_foo': 'bar'})
{'x-image-meta-property-x_owner_foo': 'bar'})
another_request = unit_test_utils.get_fake_request(
path='/images/%s' % image_id, method='PUT')
path='/images/%s' % image_id, method='PUT')
headers = {'x-auth-token': 'user:tenant:fake_role',
'x-image-meta-property-x_owner_foo': 'baz'}
for k, v in headers.iteritems():
@ -3389,9 +3389,9 @@ class TestAPIProtectedProps(base.IsolatedUnitTest):
"""
self.set_property_protections(use_policies=True)
image_id = self._create_admin_image(
{'x-image-meta-property-x_owner_foo': 'bar'})
{'x-image-meta-property-x_owner_foo': 'bar'})
another_request = unit_test_utils.get_fake_request(
path='/images/%s' % image_id, method='PUT')
path='/images/%s' % image_id, method='PUT')
headers = {'x-auth-token': 'user:tenant:fake_role',
'x-image-meta-property-x_owner_foo': 'baz'}
for k, v in headers.iteritems():
@ -3406,9 +3406,9 @@ class TestAPIProtectedProps(base.IsolatedUnitTest):
Test protected property cannot be updated without read permission
"""
image_id = self._create_admin_image(
{'x-image-meta-property-spl_update_only_prop': 'foo'})
{'x-image-meta-property-spl_update_only_prop': 'foo'})
another_request = unit_test_utils.get_fake_request(
path='/images/%s' % image_id, method='PUT')
path='/images/%s' % image_id, method='PUT')
headers = {'x-auth-token': 'user:tenant:spl_role',
'x-image-meta-property-spl_update_only_prop': 'bar'}
for k, v in headers.iteritems():
@ -3424,9 +3424,9 @@ class TestAPIProtectedProps(base.IsolatedUnitTest):
access and the value is unchanged
"""
image_id = self._create_admin_image(
{'x-image-meta-property-spl_read_prop': 'foo'})
{'x-image-meta-property-spl_read_prop': 'foo'})
another_request = unit_test_utils.get_fake_request(
path='/images/%s' % image_id, method='PUT')
path='/images/%s' % image_id, method='PUT')
headers = {'x-auth-token': 'user:tenant:spl_role',
'x-image-meta-property-spl_read_prop': 'foo'}
for k, v in headers.iteritems():
@ -3442,9 +3442,9 @@ class TestAPIProtectedProps(base.IsolatedUnitTest):
permitted role 'member' can can delete that protected property
"""
image_id = self._create_admin_image(
{'x-image-meta-property-x_owner_foo': 'bar'})
{'x-image-meta-property-x_owner_foo': 'bar'})
another_request = unit_test_utils.get_fake_request(
path='/images/%s' % image_id, method='PUT')
path='/images/%s' % image_id, method='PUT')
headers = {'x-auth-token': 'user:tenant:member',
'X-Glance-Registry-Purge-Props': 'True'}
for k, v in headers.iteritems():
@ -3460,9 +3460,9 @@ class TestAPIProtectedProps(base.IsolatedUnitTest):
"""
self.set_property_protections(use_policies=True)
image_id = self._create_admin_image(
{'x-image-meta-property-x_owner_foo': 'bar'})
{'x-image-meta-property-x_owner_foo': 'bar'})
another_request = unit_test_utils.get_fake_request(
path='/images/%s' % image_id, method='PUT')
path='/images/%s' % image_id, method='PUT')
headers = {'x-auth-token': 'user:tenant:member',
'X-Glance-Registry-Purge-Props': 'True'}
for k, v in headers.iteritems():
@ -3476,10 +3476,10 @@ class TestAPIProtectedProps(base.IsolatedUnitTest):
Test protected property cannot be deleted without read permission
"""
image_id = self._create_admin_image(
{'x-image-meta-property-x_owner_foo': 'bar'})
{'x-image-meta-property-x_owner_foo': 'bar'})
another_request = unit_test_utils.get_fake_request(
path='/images/%s' % image_id, method='PUT')
path='/images/%s' % image_id, method='PUT')
headers = {'x-auth-token': 'user:tenant:fake_role',
'X-Glance-Registry-Purge-Props': 'True'}
for k, v in headers.iteritems():
@ -3489,7 +3489,7 @@ class TestAPIProtectedProps(base.IsolatedUnitTest):
self.assertNotIn('x-image-meta-property-x_owner_foo', output.headers)
another_request = unit_test_utils.get_fake_request(
method='HEAD', path='/images/%s' % image_id)
method='HEAD', path='/images/%s' % image_id)
headers = {'x-auth-token': 'user:tenant:admin'}
for k, v in headers.iteritems():
another_request.headers[k] = v
@ -3504,10 +3504,10 @@ class TestAPIProtectedProps(base.IsolatedUnitTest):
Test protected property cannot be deleted without delete permission
"""
image_id = self._create_admin_image(
{'x-image-meta-property-spl_update_prop': 'foo'})
{'x-image-meta-property-spl_update_prop': 'foo'})
another_request = unit_test_utils.get_fake_request(
path='/images/%s' % image_id, method='PUT')
path='/images/%s' % image_id, method='PUT')
headers = {'x-auth-token': 'user:tenant:spl_role',
'X-Glance-Registry-Purge-Props': 'True'}
for k, v in headers.iteritems():
@ -3518,7 +3518,7 @@ class TestAPIProtectedProps(base.IsolatedUnitTest):
"spl_update_prop", output.body)
another_request = unit_test_utils.get_fake_request(
method='HEAD', path='/images/%s' % image_id)
method='HEAD', path='/images/%s' % image_id)
headers = {'x-auth-token': 'user:tenant:admin'}
for k, v in headers.iteritems():
another_request.headers[k] = v
@ -3526,7 +3526,7 @@ class TestAPIProtectedProps(base.IsolatedUnitTest):
self.assertEqual(output.status_int, 200)
self.assertEqual('', output.body)
self.assertEqual(
output.headers['x-image-meta-property-spl_update_prop'], 'foo')
output.headers['x-image-meta-property-spl_update_prop'], 'foo')
def test_read_protected_props_leak_with_update(self):
"""
@ -3534,10 +3534,10 @@ class TestAPIProtectedProps(base.IsolatedUnitTest):
are not disclosed
"""
image_id = self._create_admin_image(
{'x-image-meta-property-spl_update_prop': '0',
'x-image-meta-property-foo': 'bar'})
{'x-image-meta-property-spl_update_prop': '0',
'x-image-meta-property-foo': 'bar'})
another_request = unit_test_utils.get_fake_request(
path='/images/%s' % image_id, method='PUT')
path='/images/%s' % image_id, method='PUT')
headers = {'x-auth-token': 'user:tenant:spl_role',
'x-image-meta-property-spl_update_prop': '1',
'X-Glance-Registry-Purge-Props': 'False'}
@ -3555,10 +3555,10 @@ class TestAPIProtectedProps(base.IsolatedUnitTest):
their property while the admin owned one is ignored transparently
"""
image_id = self._create_admin_image(
{'x-image-meta-property-admin_foo': 'bar',
'x-image-meta-property-x_owner_foo': 'bar'})
{'x-image-meta-property-admin_foo': 'bar',
'x-image-meta-property-x_owner_foo': 'bar'})
another_request = unit_test_utils.get_fake_request(
path='/images/%s' % image_id, method='PUT')
path='/images/%s' % image_id, method='PUT')
headers = {'x-auth-token': 'user:tenant:member',
'x-image-meta-property-x_owner_foo': 'baz'}
for k, v in headers.iteritems():
@ -3581,7 +3581,7 @@ class TestAPIProtectedProps(base.IsolatedUnitTest):
}
image_id = self._create_admin_image(custom_props)
another_request = unit_test_utils.get_fake_request(
path='/images/%s' % image_id, method='PUT')
path='/images/%s' % image_id, method='PUT')
# verify spl_role can update it's prop
headers = {'x-auth-token': 'user:tenant:spl_role',
@ -3611,10 +3611,10 @@ class TestAPIProtectedProps(base.IsolatedUnitTest):
their property while the admin owned one is ignored transparently
"""
image_id = self._create_admin_image(
{'x-image-meta-property-admin_foo': 'bar',
'x-image-meta-property-x_owner_foo': 'bar'})
{'x-image-meta-property-admin_foo': 'bar',
'x-image-meta-property-x_owner_foo': 'bar'})
another_request = unit_test_utils.get_fake_request(
path='/images/%s' % image_id, method='PUT')
path='/images/%s' % image_id, method='PUT')
headers = {'x-auth-token': 'user:tenant:member',
'X-Glance-Registry-Purge-Props': 'True'}
for k, v in headers.iteritems():
@ -3637,7 +3637,7 @@ class TestAPIProtectedProps(base.IsolatedUnitTest):
}
image_id = self._create_admin_image(custom_props)
another_request = unit_test_utils.get_fake_request(
path='/images/%s' % image_id, method='PUT')
path='/images/%s' % image_id, method='PUT')
headers = {'x-auth-token': 'user:tenant:spl_role',
'X-Glance-Registry-Purge-Props': 'True'}
for k, v in headers.iteritems():
@ -3652,7 +3652,7 @@ class TestAPIProtectedProps(base.IsolatedUnitTest):
"""
image_id = self._create_admin_image()
another_request = unit_test_utils.get_fake_request(
path='/images/%s' % image_id, method='PUT')
path='/images/%s' % image_id, method='PUT')
headers = {'x-auth-token': 'user:tenant:joe_soap',
'x-image-meta-property-x_all_permitted': '1'}
for k, v in headers.iteritems():
@ -3671,7 +3671,7 @@ class TestAPIProtectedProps(base.IsolatedUnitTest):
}
image_id = self._create_admin_image(custom_props)
another_request = unit_test_utils.get_fake_request(
method='HEAD', path='/images/%s' % image_id)
method='HEAD', path='/images/%s' % image_id)
headers = {'x-auth-token': 'user:tenant:joe_soap'}
for k, v in headers.iteritems():
another_request.headers[k] = v
@ -3679,7 +3679,7 @@ class TestAPIProtectedProps(base.IsolatedUnitTest):
self.assertEqual(output.status_int, 200)
self.assertEqual('', output.body)
self.assertEqual(
output.headers['x-image-meta-property-x_all_permitted'], '1')
output.headers['x-image-meta-property-x_all_permitted'], '1')
def test_update_non_protected_prop(self):
"""
@ -3687,9 +3687,9 @@ class TestAPIProtectedProps(base.IsolatedUnitTest):
role
"""
image_id = self._create_admin_image(
{'x-image-meta-property-x_all_permitted': '1'})
{'x-image-meta-property-x_all_permitted': '1'})
another_request = unit_test_utils.get_fake_request(
path='/images/%s' % image_id, method='PUT')
path='/images/%s' % image_id, method='PUT')
headers = {'x-auth-token': 'user:tenant:joe_soap',
'x-image-meta-property-x_all_permitted': '2'}
for k, v in headers.iteritems():
@ -3704,9 +3704,9 @@ class TestAPIProtectedProps(base.IsolatedUnitTest):
role
"""
image_id = self._create_admin_image(
{'x-image-meta-property-x_all_permitted': '1'})
{'x-image-meta-property-x_all_permitted': '1'})
another_request = unit_test_utils.get_fake_request(
path='/images/%s' % image_id, method='PUT')
path='/images/%s' % image_id, method='PUT')
headers = {'x-auth-token': 'user:tenant:joe_soap',
'X-Glance-Registry-Purge-Props': 'True'}
for k, v in headers.iteritems():
@ -3721,7 +3721,7 @@ class TestAPIProtectedProps(base.IsolatedUnitTest):
"""
image_id = self._create_admin_image()
another_request = unit_test_utils.get_fake_request(
path='/images/%s' % image_id, method='PUT')
path='/images/%s' % image_id, method='PUT')
headers = {'x-auth-token': 'user:tenant:member',
'x-image-meta-property-x_none_permitted': '1'}
for k, v in headers.iteritems():
@ -3730,7 +3730,7 @@ class TestAPIProtectedProps(base.IsolatedUnitTest):
self.assertEqual(output.status_int, 403)
# also check admin can not create
another_request = unit_test_utils.get_fake_request(
path='/images/%s' % image_id, method='PUT')
path='/images/%s' % image_id, method='PUT')
headers = {'x-auth-token': 'user:tenant:admin',
'x-image-meta-property-x_none_permitted_admin': '1'}
for k, v in headers.iteritems():
@ -3747,7 +3747,7 @@ class TestAPIProtectedProps(base.IsolatedUnitTest):
}
image_id = self._create_admin_image(custom_props)
another_request = unit_test_utils.get_fake_request(
method='HEAD', path='/images/%s' % image_id)
method='HEAD', path='/images/%s' % image_id)
headers = {'x-auth-token': 'user:tenant:member'}
for k, v in headers.iteritems():
another_request.headers[k] = v
@ -3756,7 +3756,7 @@ class TestAPIProtectedProps(base.IsolatedUnitTest):
self.assertNotIn('x_none_read', output.headers)
# also check admin can not read
another_request = unit_test_utils.get_fake_request(
method='HEAD', path='/images/%s' % image_id)
method='HEAD', path='/images/%s' % image_id)
headers = {'x-auth-token': 'user:tenant:admin'}
for k, v in headers.iteritems():
another_request.headers[k] = v
@ -3769,9 +3769,9 @@ class TestAPIProtectedProps(base.IsolatedUnitTest):
Verify a property protected by special char '!' is updatable by noone
"""
image_id = self._create_admin_image(
{'x-image-meta-property-x_none_update': '1'})
{'x-image-meta-property-x_none_update': '1'})
another_request = unit_test_utils.get_fake_request(
path='/images/%s' % image_id, method='PUT')
path='/images/%s' % image_id, method='PUT')
headers = {'x-auth-token': 'user:tenant:member',
'x-image-meta-property-x_none_update': '2'}
for k, v in headers.iteritems():
@ -3780,7 +3780,7 @@ class TestAPIProtectedProps(base.IsolatedUnitTest):
self.assertEqual(output.status_int, 403)
# also check admin can't update property
another_request = unit_test_utils.get_fake_request(
path='/images/%s' % image_id, method='PUT')
path='/images/%s' % image_id, method='PUT')
headers = {'x-auth-token': 'user:tenant:admin',
'x-image-meta-property-x_none_update': '2'}
for k, v in headers.iteritems():
@ -3793,9 +3793,9 @@ class TestAPIProtectedProps(base.IsolatedUnitTest):
Verify a property protected by special char '!' is deletable by noone
"""
image_id = self._create_admin_image(
{'x-image-meta-property-x_none_delete': '1'})
{'x-image-meta-property-x_none_delete': '1'})
another_request = unit_test_utils.get_fake_request(
path='/images/%s' % image_id, method='PUT')
path='/images/%s' % image_id, method='PUT')
headers = {'x-auth-token': 'user:tenant:member',
'X-Glance-Registry-Purge-Props': 'True'}
for k, v in headers.iteritems():
@ -3804,7 +3804,7 @@ class TestAPIProtectedProps(base.IsolatedUnitTest):
self.assertEqual(output.status_int, 403)
# also check admin can't delete
another_request = unit_test_utils.get_fake_request(
path='/images/%s' % image_id, method='PUT')
path='/images/%s' % image_id, method='PUT')
headers = {'x-auth-token': 'user:tenant:admin',
'X-Glance-Registry-Purge-Props': 'True'}
for k, v in headers.iteritems():
@ -3846,7 +3846,7 @@ class TestAPIPropertyQuotas(base.IsolatedUnitTest):
self.config(image_property_quota=1)
image_id = self._create_admin_image()
another_request = unit_test_utils.get_fake_request(
path='/images/%s' % image_id, method='PUT')
path='/images/%s' % image_id, method='PUT')
headers = {'x-auth-token': 'user:tenant:joe_soap',
'x-image-meta-property-x_all_permitted': '1',
'x-image-meta-property-x_all_permitted_foo': '2'}
@ -3878,7 +3878,7 @@ class TestAPIPropertyQuotas(base.IsolatedUnitTest):
image_id = res_body['id']
another_request = unit_test_utils.get_fake_request(
path='/images/%s' % image_id, method='PUT')
path='/images/%s' % image_id, method='PUT')
headers = {'x-auth-token': 'user:tenant:joe_soap',
'x-glance-registry-purge-props': 'False',
'x-image-meta-property-x_all_permitted': '1'}
@ -3910,7 +3910,7 @@ class TestAPIPropertyQuotas(base.IsolatedUnitTest):
image_id = res_body['id']
another_request = unit_test_utils.get_fake_request(
path='/images/%s' % image_id, method='PUT')
path='/images/%s' % image_id, method='PUT')
headers = {'x-auth-token': 'user:tenant:joe_soap',
'x-glance-registry-purge-props': 'False',
'x-image-meta-property-x_all_permitted_create': '3',

View File

@ -1899,9 +1899,9 @@ class TestRegistryAPILocations(base.IsolatedUnitTest,
self.assertEqual(image_entry['locations'][1]['url'],
encrypted_location_url2)
decrypted_location_url1 = crypt.urlsafe_decrypt(
encryption_key, image_entry['locations'][0]['url'])
encryption_key, image_entry['locations'][0]['url'])
decrypted_location_url2 = crypt.urlsafe_decrypt(
encryption_key, image_entry['locations'][1]['url'])
encryption_key, image_entry['locations'][1]['url'])
self.assertEqual(location_url1, decrypted_location_url1)
self.assertEqual(location_url2, decrypted_location_url2)

View File

@ -262,49 +262,49 @@ class TestUploadUtils(base.StoreClearingUnitTest):
be deleted in this case.
"""
self._test_upload_data_to_store_exception_with_notify(
exception.Duplicate,
webob.exc.HTTPConflict,
image_killed=False)
exception.Duplicate,
webob.exc.HTTPConflict,
image_killed=False)
def test_upload_data_to_store_forbidden(self):
self._test_upload_data_to_store_exception_with_notify(
exception.Forbidden,
webob.exc.HTTPForbidden)
exception.Forbidden,
webob.exc.HTTPForbidden)
def test_upload_data_to_store_storage_full(self):
self._test_upload_data_to_store_exception_with_notify(
exception.StorageFull,
webob.exc.HTTPRequestEntityTooLarge)
exception.StorageFull,
webob.exc.HTTPRequestEntityTooLarge)
def test_upload_data_to_store_storage_write_denied(self):
self._test_upload_data_to_store_exception_with_notify(
exception.StorageWriteDenied,
webob.exc.HTTPServiceUnavailable)
exception.StorageWriteDenied,
webob.exc.HTTPServiceUnavailable)
def test_upload_data_to_store_size_limit_exceeded(self):
self._test_upload_data_to_store_exception_with_notify(
exception.ImageSizeLimitExceeded,
webob.exc.HTTPRequestEntityTooLarge)
exception.ImageSizeLimitExceeded,
webob.exc.HTTPRequestEntityTooLarge)
def test_upload_data_to_store_http_error(self):
self._test_upload_data_to_store_exception_with_notify(
webob.exc.HTTPError,
webob.exc.HTTPError)
webob.exc.HTTPError,
webob.exc.HTTPError)
def test_upload_data_to_store_client_disconnect(self):
self._test_upload_data_to_store_exception(
ValueError,
webob.exc.HTTPBadRequest)
ValueError,
webob.exc.HTTPBadRequest)
def test_upload_data_to_store_client_disconnect_ioerror(self):
self._test_upload_data_to_store_exception(
IOError,
webob.exc.HTTPBadRequest)
IOError,
webob.exc.HTTPBadRequest)
def test_upload_data_to_store_exception(self):
self._test_upload_data_to_store_exception_with_notify(
Exception,
webob.exc.HTTPInternalServerError)
Exception,
webob.exc.HTTPInternalServerError)
def test_upload_data_to_store_not_found_after_upload(self):
req = unit_test_utils.get_fake_request()

View File

@ -98,7 +98,7 @@ class TestImagesController(base.StoreClearingUnitTest):
self.image_repo = FakeImageRepo()
self.gateway = FakeGateway(self.image_repo)
self.controller = glance.api.v2.image_data.ImageDataController(
gateway=self.gateway)
gateway=self.gateway)
def test_download(self):
request = unit_test_utils.get_fake_request()

View File

@ -342,7 +342,7 @@ class TestImageMembersController(test_utils.BaseTestCase):
self.assertEqual(res.body, '')
self.assertEqual(res.status_code, 204)
found_member = self.db.image_member_find(
request.context, image_id=image_id, member=member_id)
request.context, image_id=image_id, member=member_id)
self.assertEqual(found_member, [])
def test_delete_by_member(self):
@ -403,7 +403,7 @@ class TestImageMembersController(test_utils.BaseTestCase):
member_id = 'fake-member-id'
image_id = UUID2
found_member = self.db.image_member_find(
request.context, image_id=image_id, member=member_id)
request.context, image_id=image_id, member=member_id)
self.assertEqual(found_member, [])
self.assertRaises(webob.exc.HTTPNotFound, self.controller.delete,
request, image_id, member_id)

View File

@ -2722,10 +2722,10 @@ class TestImagesSerializerWithExtendedSchema(test_utils.BaseTestCase):
self.serializer = glance.api.v2.images.ResponseSerializer(schema)
self.fixture = _domain_fixture(
UUID2, name='image-2', owner=TENANT2,
checksum='ca425b88f047ce8ec45ee90e813ada91',
created_at=DATETIME, updated_at=DATETIME, size=1024,
extra_properties=dict(color='green', mood='grouchy'))
UUID2, name='image-2', owner=TENANT2,
checksum='ca425b88f047ce8ec45ee90e813ada91',
created_at=DATETIME, updated_at=DATETIME, size=1024,
extra_properties=dict(color='green', mood='grouchy'))
def test_show(self):
expected = {
@ -2777,10 +2777,10 @@ class TestImagesSerializerWithAdditionalProperties(test_utils.BaseTestCase):
super(TestImagesSerializerWithAdditionalProperties, self).setUp()
self.config(allow_additional_image_properties=True)
self.fixture = _domain_fixture(
UUID2, name='image-2', owner=TENANT2,
checksum='ca425b88f047ce8ec45ee90e813ada91',
created_at=DATETIME, updated_at=DATETIME, size=1024,
extra_properties={'marx': 'groucho'})
UUID2, name='image-2', owner=TENANT2,
checksum='ca425b88f047ce8ec45ee90e813ada91',
created_at=DATETIME, updated_at=DATETIME, size=1024,
extra_properties={'marx': 'groucho'})
def test_show(self):
serializer = glance.api.v2.images.ResponseSerializer()
@ -2859,24 +2859,24 @@ class TestImagesSerializerDirectUrl(test_utils.BaseTestCase):
self.serializer = glance.api.v2.images.ResponseSerializer()
self.active_image = _domain_fixture(
UUID1, name='image-1', visibility='public',
status='active', size=1024, created_at=DATETIME,
updated_at=DATETIME,
locations=[{'url': 'http://some/fake/location',
'metadata': {}}])
UUID1, name='image-1', visibility='public',
status='active', size=1024, created_at=DATETIME,
updated_at=DATETIME,
locations=[{'url': 'http://some/fake/location',
'metadata': {}}])
self.queued_image = _domain_fixture(
UUID2, name='image-2', status='active',
created_at=DATETIME, updated_at=DATETIME,
checksum='ca425b88f047ce8ec45ee90e813ada91')
UUID2, name='image-2', status='active',
created_at=DATETIME, updated_at=DATETIME,
checksum='ca425b88f047ce8ec45ee90e813ada91')
self.location_data_image_url = 'http://abc.com/somewhere'
self.location_data_image_meta = {'key': 98231}
self.location_data_image = _domain_fixture(
UUID2, name='image-2', status='active',
created_at=DATETIME, updated_at=DATETIME,
locations=[{'url': self.location_data_image_url,
'metadata': self.location_data_image_meta}])
UUID2, name='image-2', status='active',
created_at=DATETIME, updated_at=DATETIME,
locations=[{'url': self.location_data_image_url,
'metadata': self.location_data_image_meta}])
def _do_index(self):
request = webob.Request.blank('/v2/images')

View File

@ -28,8 +28,6 @@ commands = {posargs}
[flake8]
# TODO(dmllr): Analyze or fix the warnings blacklisted below
# E125 continuation line does not distinguish itself from next logical line
# E126 continuation line over-indented for hanging indent
# E711 comparison to None should be 'if cond is not None:'
# E712 comparison to True should be 'if cond is True:' or 'if cond:'
# F811 redefinition of function
@ -40,6 +38,6 @@ commands = {posargs}
# H402 one line docstring needs punctuation.
# H404 multi line docstring should start with a summary
# H703 multiple positional placeholders
ignore = E125,E126,E711,E712,F811,F821,F841,H202,H306,H402,H404,H703
ignore = E711,E712,F811,F821,F841,H202,H306,H402,H404,H703
builtins = _
exclude = .venv,.git,.tox,dist,doc,etc,*glance/locale*,*openstack/common*,*lib/python*,*egg,build