Blacken openstackclient.object
Black used with the '-l 79 -S' flags. A future change will ignore this commit in git-blame history by adding a 'git-blame-ignore-revs' file. Change-Id: I6658e76d7d1f93149f24fcab28d593195b37779f Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
This commit is contained in:
parent
aed521d426
commit
329296cedd
openstackclient
object
tests
functional/object/v1
unit/object/v1
@ -50,7 +50,8 @@ def build_option_parser(parser):
|
|||||||
'--os-object-api-version',
|
'--os-object-api-version',
|
||||||
metavar='<object-api-version>',
|
metavar='<object-api-version>',
|
||||||
default=utils.env('OS_OBJECT_API_VERSION'),
|
default=utils.env('OS_OBJECT_API_VERSION'),
|
||||||
help='Object API version, default=' +
|
help='Object API version, default='
|
||||||
DEFAULT_API_VERSION +
|
+ DEFAULT_API_VERSION
|
||||||
' (Env: OS_OBJECT_API_VERSION)')
|
+ ' (Env: OS_OBJECT_API_VERSION)',
|
||||||
|
)
|
||||||
return parser
|
return parser
|
||||||
|
@ -30,8 +30,10 @@ class SetAccount(command.Command):
|
|||||||
metavar="<key=value>",
|
metavar="<key=value>",
|
||||||
required=True,
|
required=True,
|
||||||
action=parseractions.KeyValueAction,
|
action=parseractions.KeyValueAction,
|
||||||
help=_("Set a property on this account "
|
help=_(
|
||||||
"(repeat option to set multiple properties)")
|
"Set a property on this account "
|
||||||
|
"(repeat option to set multiple properties)"
|
||||||
|
),
|
||||||
)
|
)
|
||||||
return parser
|
return parser
|
||||||
|
|
||||||
@ -48,7 +50,8 @@ class ShowAccount(command.ShowOne):
|
|||||||
data = self.app.client_manager.object_store.account_show()
|
data = self.app.client_manager.object_store.account_show()
|
||||||
if 'properties' in data:
|
if 'properties' in data:
|
||||||
data['properties'] = format_columns.DictColumn(
|
data['properties'] = format_columns.DictColumn(
|
||||||
data.pop('properties'))
|
data.pop('properties')
|
||||||
|
)
|
||||||
return zip(*sorted(data.items()))
|
return zip(*sorted(data.items()))
|
||||||
|
|
||||||
|
|
||||||
@ -63,8 +66,10 @@ class UnsetAccount(command.Command):
|
|||||||
required=True,
|
required=True,
|
||||||
action='append',
|
action='append',
|
||||||
default=[],
|
default=[],
|
||||||
help=_('Property to remove from account '
|
help=_(
|
||||||
'(repeat option to remove multiple properties)'),
|
'Property to remove from account '
|
||||||
|
'(repeat option to remove multiple properties)'
|
||||||
|
),
|
||||||
)
|
)
|
||||||
return parser
|
return parser
|
||||||
|
|
||||||
|
@ -37,11 +37,11 @@ class CreateContainer(command.Lister):
|
|||||||
'--public',
|
'--public',
|
||||||
action='store_true',
|
action='store_true',
|
||||||
default=False,
|
default=False,
|
||||||
help="Make the container publicly accessible"
|
help="Make the container publicly accessible",
|
||||||
)
|
)
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
'--storage-policy',
|
'--storage-policy',
|
||||||
help="Specify a particular storage policy to use."
|
help="Specify a particular storage policy to use.",
|
||||||
)
|
)
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
'containers',
|
'containers',
|
||||||
@ -52,26 +52,33 @@ class CreateContainer(command.Lister):
|
|||||||
return parser
|
return parser
|
||||||
|
|
||||||
def take_action(self, parsed_args):
|
def take_action(self, parsed_args):
|
||||||
|
|
||||||
results = []
|
results = []
|
||||||
for container in parsed_args.containers:
|
for container in parsed_args.containers:
|
||||||
if len(container) > 256:
|
if len(container) > 256:
|
||||||
LOG.warning(
|
msg = _(
|
||||||
_('Container name is %s characters long, the default limit'
|
'Container name is %d characters long, the default limit'
|
||||||
' is 256'), len(container))
|
' is 256'
|
||||||
|
)
|
||||||
|
LOG.warning(msg, len(container))
|
||||||
data = self.app.client_manager.object_store.container_create(
|
data = self.app.client_manager.object_store.container_create(
|
||||||
container=container,
|
container=container,
|
||||||
public=parsed_args.public,
|
public=parsed_args.public,
|
||||||
storage_policy=parsed_args.storage_policy
|
storage_policy=parsed_args.storage_policy,
|
||||||
)
|
)
|
||||||
results.append(data)
|
results.append(data)
|
||||||
|
|
||||||
columns = ("account", "container", "x-trans-id")
|
columns = ("account", "container", "x-trans-id")
|
||||||
return (columns,
|
return (
|
||||||
(utils.get_dict_properties(
|
columns,
|
||||||
s, columns,
|
(
|
||||||
|
utils.get_dict_properties(
|
||||||
|
s,
|
||||||
|
columns,
|
||||||
formatters={},
|
formatters={},
|
||||||
) for s in results))
|
)
|
||||||
|
for s in results
|
||||||
|
),
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class DeleteContainer(command.Command):
|
class DeleteContainer(command.Command):
|
||||||
@ -80,7 +87,8 @@ class DeleteContainer(command.Command):
|
|||||||
def get_parser(self, prog_name):
|
def get_parser(self, prog_name):
|
||||||
parser = super(DeleteContainer, self).get_parser(prog_name)
|
parser = super(DeleteContainer, self).get_parser(prog_name)
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
'--recursive', '-r',
|
'--recursive',
|
||||||
|
'-r',
|
||||||
action='store_true',
|
action='store_true',
|
||||||
default=False,
|
default=False,
|
||||||
help=_('Recursively delete objects and container'),
|
help=_('Recursively delete objects and container'),
|
||||||
@ -94,11 +102,11 @@ class DeleteContainer(command.Command):
|
|||||||
return parser
|
return parser
|
||||||
|
|
||||||
def take_action(self, parsed_args):
|
def take_action(self, parsed_args):
|
||||||
|
|
||||||
for container in parsed_args.containers:
|
for container in parsed_args.containers:
|
||||||
if parsed_args.recursive:
|
if parsed_args.recursive:
|
||||||
objs = self.app.client_manager.object_store.object_list(
|
objs = self.app.client_manager.object_store.object_list(
|
||||||
container=container)
|
container=container
|
||||||
|
)
|
||||||
for obj in objs:
|
for obj in objs:
|
||||||
self.app.client_manager.object_store.object_delete(
|
self.app.client_manager.object_store.object_delete(
|
||||||
container=container,
|
container=container,
|
||||||
@ -150,7 +158,6 @@ class ListContainer(command.Lister):
|
|||||||
return parser
|
return parser
|
||||||
|
|
||||||
def take_action(self, parsed_args):
|
def take_action(self, parsed_args):
|
||||||
|
|
||||||
if parsed_args.long:
|
if parsed_args.long:
|
||||||
columns = ('Name', 'Bytes', 'Count')
|
columns = ('Name', 'Bytes', 'Count')
|
||||||
else:
|
else:
|
||||||
@ -168,15 +175,19 @@ class ListContainer(command.Lister):
|
|||||||
if parsed_args.all:
|
if parsed_args.all:
|
||||||
kwargs['full_listing'] = True
|
kwargs['full_listing'] = True
|
||||||
|
|
||||||
data = self.app.client_manager.object_store.container_list(
|
data = self.app.client_manager.object_store.container_list(**kwargs)
|
||||||
**kwargs
|
|
||||||
)
|
|
||||||
|
|
||||||
return (columns,
|
return (
|
||||||
(utils.get_dict_properties(
|
columns,
|
||||||
s, columns,
|
(
|
||||||
|
utils.get_dict_properties(
|
||||||
|
s,
|
||||||
|
columns,
|
||||||
formatters={},
|
formatters={},
|
||||||
) for s in data))
|
)
|
||||||
|
for s in data
|
||||||
|
),
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class SaveContainer(command.Command):
|
class SaveContainer(command.Command):
|
||||||
@ -212,8 +223,10 @@ class SetContainer(command.Command):
|
|||||||
metavar="<key=value>",
|
metavar="<key=value>",
|
||||||
required=True,
|
required=True,
|
||||||
action=parseractions.KeyValueAction,
|
action=parseractions.KeyValueAction,
|
||||||
help=_("Set a property on this container "
|
help=_(
|
||||||
"(repeat option to set multiple properties)")
|
"Set a property on this container "
|
||||||
|
"(repeat option to set multiple properties)"
|
||||||
|
),
|
||||||
)
|
)
|
||||||
return parser
|
return parser
|
||||||
|
|
||||||
@ -237,7 +250,6 @@ class ShowContainer(command.ShowOne):
|
|||||||
return parser
|
return parser
|
||||||
|
|
||||||
def take_action(self, parsed_args):
|
def take_action(self, parsed_args):
|
||||||
|
|
||||||
data = self.app.client_manager.object_store.container_show(
|
data = self.app.client_manager.object_store.container_show(
|
||||||
container=parsed_args.container,
|
container=parsed_args.container,
|
||||||
)
|
)
|
||||||
@ -263,8 +275,10 @@ class UnsetContainer(command.Command):
|
|||||||
required=True,
|
required=True,
|
||||||
action='append',
|
action='append',
|
||||||
default=[],
|
default=[],
|
||||||
help=_('Property to remove from container '
|
help=_(
|
||||||
'(repeat option to remove multiple properties)'),
|
'Property to remove from container '
|
||||||
|
'(repeat option to remove multiple properties)'
|
||||||
|
),
|
||||||
)
|
)
|
||||||
return parser
|
return parser
|
||||||
|
|
||||||
|
@ -48,23 +48,31 @@ class CreateObject(command.Lister):
|
|||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
'--name',
|
'--name',
|
||||||
metavar='<name>',
|
metavar='<name>',
|
||||||
help=_('Upload a file and rename it. '
|
help=_(
|
||||||
'Can only be used when uploading a single object')
|
'Upload a file and rename it. '
|
||||||
|
'Can only be used when uploading a single object'
|
||||||
|
),
|
||||||
)
|
)
|
||||||
return parser
|
return parser
|
||||||
|
|
||||||
def take_action(self, parsed_args):
|
def take_action(self, parsed_args):
|
||||||
if parsed_args.name:
|
if parsed_args.name:
|
||||||
if len(parsed_args.objects) > 1:
|
if len(parsed_args.objects) > 1:
|
||||||
msg = _('Attempting to upload multiple objects and '
|
msg = _(
|
||||||
'using --name is not permitted')
|
'Attempting to upload multiple objects and '
|
||||||
|
'using --name is not permitted'
|
||||||
|
)
|
||||||
raise exceptions.CommandError(msg)
|
raise exceptions.CommandError(msg)
|
||||||
results = []
|
results = []
|
||||||
for obj in parsed_args.objects:
|
for obj in parsed_args.objects:
|
||||||
if len(obj) > 1024:
|
if len(obj) > 1024:
|
||||||
LOG.warning(
|
LOG.warning(
|
||||||
_('Object name is %s characters long, default limit'
|
_(
|
||||||
' is 1024'), len(obj))
|
'Object name is %s characters long, default limit'
|
||||||
|
' is 1024'
|
||||||
|
),
|
||||||
|
len(obj),
|
||||||
|
)
|
||||||
data = self.app.client_manager.object_store.object_create(
|
data = self.app.client_manager.object_store.object_create(
|
||||||
container=parsed_args.container,
|
container=parsed_args.container,
|
||||||
object=obj,
|
object=obj,
|
||||||
@ -73,11 +81,17 @@ class CreateObject(command.Lister):
|
|||||||
results.append(data)
|
results.append(data)
|
||||||
|
|
||||||
columns = ("object", "container", "etag")
|
columns = ("object", "container", "etag")
|
||||||
return (columns,
|
return (
|
||||||
(utils.get_dict_properties(
|
columns,
|
||||||
s, columns,
|
(
|
||||||
|
utils.get_dict_properties(
|
||||||
|
s,
|
||||||
|
columns,
|
||||||
formatters={},
|
formatters={},
|
||||||
) for s in results))
|
)
|
||||||
|
for s in results
|
||||||
|
),
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class DeleteObject(command.Command):
|
class DeleteObject(command.Command):
|
||||||
@ -99,7 +113,6 @@ class DeleteObject(command.Command):
|
|||||||
return parser
|
return parser
|
||||||
|
|
||||||
def take_action(self, parsed_args):
|
def take_action(self, parsed_args):
|
||||||
|
|
||||||
for obj in parsed_args.objects:
|
for obj in parsed_args.objects:
|
||||||
self.app.client_manager.object_store.object_delete(
|
self.app.client_manager.object_store.object_delete(
|
||||||
container=parsed_args.container,
|
container=parsed_args.container,
|
||||||
@ -158,7 +171,6 @@ class ListObject(command.Lister):
|
|||||||
return parser
|
return parser
|
||||||
|
|
||||||
def take_action(self, parsed_args):
|
def take_action(self, parsed_args):
|
||||||
|
|
||||||
if parsed_args.long:
|
if parsed_args.long:
|
||||||
columns = (
|
columns = (
|
||||||
'Name',
|
'Name',
|
||||||
@ -185,15 +197,20 @@ class ListObject(command.Lister):
|
|||||||
kwargs['full_listing'] = True
|
kwargs['full_listing'] = True
|
||||||
|
|
||||||
data = self.app.client_manager.object_store.object_list(
|
data = self.app.client_manager.object_store.object_list(
|
||||||
container=parsed_args.container,
|
container=parsed_args.container, **kwargs
|
||||||
**kwargs
|
|
||||||
)
|
)
|
||||||
|
|
||||||
return (columns,
|
return (
|
||||||
(utils.get_dict_properties(
|
columns,
|
||||||
s, columns,
|
(
|
||||||
|
utils.get_dict_properties(
|
||||||
|
s,
|
||||||
|
columns,
|
||||||
formatters={},
|
formatters={},
|
||||||
) for s in data))
|
)
|
||||||
|
for s in data
|
||||||
|
),
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class SaveObject(command.Command):
|
class SaveObject(command.Command):
|
||||||
@ -204,8 +221,10 @@ class SaveObject(command.Command):
|
|||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
"--file",
|
"--file",
|
||||||
metavar="<filename>",
|
metavar="<filename>",
|
||||||
help=_("Destination filename (defaults to object name); using '-'"
|
help=_(
|
||||||
" as the filename will print the file to stdout"),
|
"Destination filename (defaults to object name); using '-'"
|
||||||
|
" as the filename will print the file to stdout"
|
||||||
|
),
|
||||||
)
|
)
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
'container',
|
'container',
|
||||||
@ -247,8 +266,10 @@ class SetObject(command.Command):
|
|||||||
metavar="<key=value>",
|
metavar="<key=value>",
|
||||||
required=True,
|
required=True,
|
||||||
action=parseractions.KeyValueAction,
|
action=parseractions.KeyValueAction,
|
||||||
help=_("Set a property on this object "
|
help=_(
|
||||||
"(repeat option to set multiple properties)")
|
"Set a property on this object "
|
||||||
|
"(repeat option to set multiple properties)"
|
||||||
|
),
|
||||||
)
|
)
|
||||||
return parser
|
return parser
|
||||||
|
|
||||||
@ -278,7 +299,6 @@ class ShowObject(command.ShowOne):
|
|||||||
return parser
|
return parser
|
||||||
|
|
||||||
def take_action(self, parsed_args):
|
def take_action(self, parsed_args):
|
||||||
|
|
||||||
data = self.app.client_manager.object_store.object_show(
|
data = self.app.client_manager.object_store.object_show(
|
||||||
container=parsed_args.container,
|
container=parsed_args.container,
|
||||||
object=parsed_args.object,
|
object=parsed_args.object,
|
||||||
@ -310,8 +330,10 @@ class UnsetObject(command.Command):
|
|||||||
required=True,
|
required=True,
|
||||||
action='append',
|
action='append',
|
||||||
default=[],
|
default=[],
|
||||||
help=_('Property to remove from object '
|
help=_(
|
||||||
'(repeat option to remove multiple properties)'),
|
'Property to remove from object '
|
||||||
|
'(repeat option to remove multiple properties)'
|
||||||
|
),
|
||||||
)
|
)
|
||||||
return parser
|
return parser
|
||||||
|
|
||||||
|
@ -18,6 +18,7 @@ from openstackclient.tests.functional.object.v1 import common
|
|||||||
|
|
||||||
class ContainerTests(common.ObjectStoreTests):
|
class ContainerTests(common.ObjectStoreTests):
|
||||||
"""Functional tests for Object Store container commands"""
|
"""Functional tests for Object Store container commands"""
|
||||||
|
|
||||||
NAME = uuid.uuid4().hex
|
NAME = uuid.uuid4().hex
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
|
@ -53,8 +53,9 @@ class ObjectTests(common.ObjectStoreTests):
|
|||||||
self.openstack('container save ' + self.CONTAINER_NAME)
|
self.openstack('container save ' + self.CONTAINER_NAME)
|
||||||
# TODO(stevemar): Assert returned fields
|
# TODO(stevemar): Assert returned fields
|
||||||
|
|
||||||
raw_output = self.openstack('object create %s %s' %
|
raw_output = self.openstack(
|
||||||
(self.CONTAINER_NAME, object_file))
|
'object create %s %s' % (self.CONTAINER_NAME, object_file)
|
||||||
|
)
|
||||||
items = self.parse_listing(raw_output)
|
items = self.parse_listing(raw_output)
|
||||||
self.assert_show_fields(items, OBJECT_FIELDS)
|
self.assert_show_fields(items, OBJECT_FIELDS)
|
||||||
|
|
||||||
@ -62,30 +63,38 @@ class ObjectTests(common.ObjectStoreTests):
|
|||||||
items = self.parse_listing(raw_output)
|
items = self.parse_listing(raw_output)
|
||||||
self.assert_table_structure(items, BASIC_LIST_HEADERS)
|
self.assert_table_structure(items, BASIC_LIST_HEADERS)
|
||||||
|
|
||||||
self.openstack('object save %s %s' %
|
self.openstack(
|
||||||
(self.CONTAINER_NAME, object_file))
|
'object save %s %s' % (self.CONTAINER_NAME, object_file)
|
||||||
|
)
|
||||||
# TODO(stevemar): Assert returned fields
|
# TODO(stevemar): Assert returned fields
|
||||||
|
|
||||||
tmp_file = 'tmp.txt'
|
tmp_file = 'tmp.txt'
|
||||||
self.addCleanup(os.remove, tmp_file)
|
self.addCleanup(os.remove, tmp_file)
|
||||||
self.openstack('object save %s %s --file %s' %
|
self.openstack(
|
||||||
(self.CONTAINER_NAME, object_file, tmp_file))
|
'object save %s %s --file %s'
|
||||||
|
% (self.CONTAINER_NAME, object_file, tmp_file)
|
||||||
|
)
|
||||||
# TODO(stevemar): Assert returned fields
|
# TODO(stevemar): Assert returned fields
|
||||||
|
|
||||||
raw_output = self.openstack('object save %s %s --file -' %
|
raw_output = self.openstack(
|
||||||
(self.CONTAINER_NAME, object_file))
|
'object save %s %s --file -' % (self.CONTAINER_NAME, object_file)
|
||||||
|
)
|
||||||
self.assertEqual(raw_output, 'test content')
|
self.assertEqual(raw_output, 'test content')
|
||||||
|
|
||||||
self.openstack('object show %s %s' %
|
self.openstack(
|
||||||
(self.CONTAINER_NAME, object_file))
|
'object show %s %s' % (self.CONTAINER_NAME, object_file)
|
||||||
|
)
|
||||||
# TODO(stevemar): Assert returned fields
|
# TODO(stevemar): Assert returned fields
|
||||||
|
|
||||||
raw_output = self.openstack('object delete %s %s' %
|
raw_output = self.openstack(
|
||||||
(self.CONTAINER_NAME, object_file))
|
'object delete %s %s' % (self.CONTAINER_NAME, object_file)
|
||||||
|
)
|
||||||
self.assertEqual(0, len(raw_output))
|
self.assertEqual(0, len(raw_output))
|
||||||
|
|
||||||
self.openstack('object create %s %s' %
|
self.openstack(
|
||||||
(self.CONTAINER_NAME, object_file))
|
'object create %s %s' % (self.CONTAINER_NAME, object_file)
|
||||||
raw_output = self.openstack('container delete -r %s' %
|
)
|
||||||
self.CONTAINER_NAME)
|
raw_output = self.openstack(
|
||||||
|
'container delete -r %s' % self.CONTAINER_NAME
|
||||||
|
)
|
||||||
self.assertEqual(0, len(raw_output))
|
self.assertEqual(0, len(raw_output))
|
||||||
|
@ -81,7 +81,6 @@ object_upload_name = 'test-object-name'
|
|||||||
|
|
||||||
|
|
||||||
class TestObjectv1(utils.TestCommand):
|
class TestObjectv1(utils.TestCommand):
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
super(TestObjectv1, self).setUp()
|
super(TestObjectv1, self).setUp()
|
||||||
|
|
||||||
|
@ -26,14 +26,12 @@ AUTH_URL = "http://0.0.0.0"
|
|||||||
|
|
||||||
|
|
||||||
class FakeClient(object):
|
class FakeClient(object):
|
||||||
|
|
||||||
def __init__(self, endpoint=None, **kwargs):
|
def __init__(self, endpoint=None, **kwargs):
|
||||||
self.endpoint = AUTH_URL
|
self.endpoint = AUTH_URL
|
||||||
self.token = AUTH_TOKEN
|
self.token = AUTH_TOKEN
|
||||||
|
|
||||||
|
|
||||||
class TestContainer(object_fakes.TestObjectv1):
|
class TestContainer(object_fakes.TestObjectv1):
|
||||||
|
|
||||||
columns = ('Name',)
|
columns = ('Name',)
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
@ -49,7 +47,6 @@ class TestContainer(object_fakes.TestObjectv1):
|
|||||||
@mock.patch('openstackclient.api.object_store_v1.APIv1.object_list')
|
@mock.patch('openstackclient.api.object_store_v1.APIv1.object_list')
|
||||||
@mock.patch('openstackclient.api.object_store_v1.APIv1.container_delete')
|
@mock.patch('openstackclient.api.object_store_v1.APIv1.container_delete')
|
||||||
class TestContainerDelete(TestContainer):
|
class TestContainerDelete(TestContainer):
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
super(TestContainerDelete, self).setUp()
|
super(TestContainerDelete, self).setUp()
|
||||||
|
|
||||||
@ -72,8 +69,7 @@ class TestContainerDelete(TestContainer):
|
|||||||
|
|
||||||
kwargs = {}
|
kwargs = {}
|
||||||
c_mock.assert_called_with(
|
c_mock.assert_called_with(
|
||||||
container=object_fakes.container_name,
|
container=object_fakes.container_name, **kwargs
|
||||||
**kwargs
|
|
||||||
)
|
)
|
||||||
self.assertFalse(o_list_mock.called)
|
self.assertFalse(o_list_mock.called)
|
||||||
self.assertFalse(o_delete_mock.called)
|
self.assertFalse(o_delete_mock.called)
|
||||||
@ -97,8 +93,7 @@ class TestContainerDelete(TestContainer):
|
|||||||
|
|
||||||
kwargs = {}
|
kwargs = {}
|
||||||
c_mock.assert_called_with(
|
c_mock.assert_called_with(
|
||||||
container=object_fakes.container_name,
|
container=object_fakes.container_name, **kwargs
|
||||||
**kwargs
|
|
||||||
)
|
)
|
||||||
o_list_mock.assert_called_with(container=object_fakes.container_name)
|
o_list_mock.assert_called_with(container=object_fakes.container_name)
|
||||||
o_delete_mock.assert_called_with(
|
o_delete_mock.assert_called_with(
|
||||||
@ -125,8 +120,7 @@ class TestContainerDelete(TestContainer):
|
|||||||
|
|
||||||
kwargs = {}
|
kwargs = {}
|
||||||
c_mock.assert_called_with(
|
c_mock.assert_called_with(
|
||||||
container=object_fakes.container_name,
|
container=object_fakes.container_name, **kwargs
|
||||||
**kwargs
|
|
||||||
)
|
)
|
||||||
o_list_mock.assert_called_with(container=object_fakes.container_name)
|
o_list_mock.assert_called_with(container=object_fakes.container_name)
|
||||||
o_delete_mock.assert_called_with(
|
o_delete_mock.assert_called_with(
|
||||||
@ -135,11 +129,8 @@ class TestContainerDelete(TestContainer):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@mock.patch(
|
@mock.patch('openstackclient.api.object_store_v1.APIv1.container_list')
|
||||||
'openstackclient.api.object_store_v1.APIv1.container_list'
|
|
||||||
)
|
|
||||||
class TestContainerList(TestContainer):
|
class TestContainerList(TestContainer):
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
super(TestContainerList, self).setUp()
|
super(TestContainerList, self).setUp()
|
||||||
|
|
||||||
@ -163,17 +154,14 @@ class TestContainerList(TestContainer):
|
|||||||
columns, data = self.cmd.take_action(parsed_args)
|
columns, data = self.cmd.take_action(parsed_args)
|
||||||
|
|
||||||
# Set expected values
|
# Set expected values
|
||||||
kwargs = {
|
kwargs = {}
|
||||||
}
|
c_mock.assert_called_with(**kwargs)
|
||||||
c_mock.assert_called_with(
|
|
||||||
**kwargs
|
|
||||||
)
|
|
||||||
|
|
||||||
self.assertEqual(self.columns, columns)
|
self.assertEqual(self.columns, columns)
|
||||||
datalist = (
|
datalist = (
|
||||||
(object_fakes.container_name, ),
|
(object_fakes.container_name,),
|
||||||
(object_fakes.container_name_3, ),
|
(object_fakes.container_name_3,),
|
||||||
(object_fakes.container_name_2, ),
|
(object_fakes.container_name_2,),
|
||||||
)
|
)
|
||||||
self.assertEqual(datalist, tuple(data))
|
self.assertEqual(datalist, tuple(data))
|
||||||
|
|
||||||
@ -184,7 +172,8 @@ class TestContainerList(TestContainer):
|
|||||||
]
|
]
|
||||||
|
|
||||||
arglist = [
|
arglist = [
|
||||||
'--prefix', 'bit',
|
'--prefix',
|
||||||
|
'bit',
|
||||||
]
|
]
|
||||||
verifylist = [
|
verifylist = [
|
||||||
('prefix', 'bit'),
|
('prefix', 'bit'),
|
||||||
@ -200,14 +189,12 @@ class TestContainerList(TestContainer):
|
|||||||
kwargs = {
|
kwargs = {
|
||||||
'prefix': 'bit',
|
'prefix': 'bit',
|
||||||
}
|
}
|
||||||
c_mock.assert_called_with(
|
c_mock.assert_called_with(**kwargs)
|
||||||
**kwargs
|
|
||||||
)
|
|
||||||
|
|
||||||
self.assertEqual(self.columns, columns)
|
self.assertEqual(self.columns, columns)
|
||||||
datalist = (
|
datalist = (
|
||||||
(object_fakes.container_name, ),
|
(object_fakes.container_name,),
|
||||||
(object_fakes.container_name_3, ),
|
(object_fakes.container_name_3,),
|
||||||
)
|
)
|
||||||
self.assertEqual(datalist, tuple(data))
|
self.assertEqual(datalist, tuple(data))
|
||||||
|
|
||||||
@ -218,8 +205,10 @@ class TestContainerList(TestContainer):
|
|||||||
]
|
]
|
||||||
|
|
||||||
arglist = [
|
arglist = [
|
||||||
'--marker', object_fakes.container_name,
|
'--marker',
|
||||||
'--end-marker', object_fakes.container_name_3,
|
object_fakes.container_name,
|
||||||
|
'--end-marker',
|
||||||
|
object_fakes.container_name_3,
|
||||||
]
|
]
|
||||||
verifylist = [
|
verifylist = [
|
||||||
('marker', object_fakes.container_name),
|
('marker', object_fakes.container_name),
|
||||||
@ -237,14 +226,12 @@ class TestContainerList(TestContainer):
|
|||||||
'marker': object_fakes.container_name,
|
'marker': object_fakes.container_name,
|
||||||
'end_marker': object_fakes.container_name_3,
|
'end_marker': object_fakes.container_name_3,
|
||||||
}
|
}
|
||||||
c_mock.assert_called_with(
|
c_mock.assert_called_with(**kwargs)
|
||||||
**kwargs
|
|
||||||
)
|
|
||||||
|
|
||||||
self.assertEqual(self.columns, columns)
|
self.assertEqual(self.columns, columns)
|
||||||
datalist = (
|
datalist = (
|
||||||
(object_fakes.container_name, ),
|
(object_fakes.container_name,),
|
||||||
(object_fakes.container_name_3, ),
|
(object_fakes.container_name_3,),
|
||||||
)
|
)
|
||||||
self.assertEqual(datalist, tuple(data))
|
self.assertEqual(datalist, tuple(data))
|
||||||
|
|
||||||
@ -255,7 +242,8 @@ class TestContainerList(TestContainer):
|
|||||||
]
|
]
|
||||||
|
|
||||||
arglist = [
|
arglist = [
|
||||||
'--limit', '2',
|
'--limit',
|
||||||
|
'2',
|
||||||
]
|
]
|
||||||
verifylist = [
|
verifylist = [
|
||||||
('limit', 2),
|
('limit', 2),
|
||||||
@ -271,14 +259,12 @@ class TestContainerList(TestContainer):
|
|||||||
kwargs = {
|
kwargs = {
|
||||||
'limit': 2,
|
'limit': 2,
|
||||||
}
|
}
|
||||||
c_mock.assert_called_with(
|
c_mock.assert_called_with(**kwargs)
|
||||||
**kwargs
|
|
||||||
)
|
|
||||||
|
|
||||||
self.assertEqual(self.columns, columns)
|
self.assertEqual(self.columns, columns)
|
||||||
datalist = (
|
datalist = (
|
||||||
(object_fakes.container_name, ),
|
(object_fakes.container_name,),
|
||||||
(object_fakes.container_name_3, ),
|
(object_fakes.container_name_3,),
|
||||||
)
|
)
|
||||||
self.assertEqual(datalist, tuple(data))
|
self.assertEqual(datalist, tuple(data))
|
||||||
|
|
||||||
@ -302,11 +288,8 @@ class TestContainerList(TestContainer):
|
|||||||
columns, data = self.cmd.take_action(parsed_args)
|
columns, data = self.cmd.take_action(parsed_args)
|
||||||
|
|
||||||
# Set expected values
|
# Set expected values
|
||||||
kwargs = {
|
kwargs = {}
|
||||||
}
|
c_mock.assert_called_with(**kwargs)
|
||||||
c_mock.assert_called_with(
|
|
||||||
**kwargs
|
|
||||||
)
|
|
||||||
|
|
||||||
collist = ('Name', 'Bytes', 'Count')
|
collist = ('Name', 'Bytes', 'Count')
|
||||||
self.assertEqual(collist, columns)
|
self.assertEqual(collist, columns)
|
||||||
@ -348,24 +331,19 @@ class TestContainerList(TestContainer):
|
|||||||
kwargs = {
|
kwargs = {
|
||||||
'full_listing': True,
|
'full_listing': True,
|
||||||
}
|
}
|
||||||
c_mock.assert_called_with(
|
c_mock.assert_called_with(**kwargs)
|
||||||
**kwargs
|
|
||||||
)
|
|
||||||
|
|
||||||
self.assertEqual(self.columns, columns)
|
self.assertEqual(self.columns, columns)
|
||||||
datalist = (
|
datalist = (
|
||||||
(object_fakes.container_name, ),
|
(object_fakes.container_name,),
|
||||||
(object_fakes.container_name_2, ),
|
(object_fakes.container_name_2,),
|
||||||
(object_fakes.container_name_3, ),
|
(object_fakes.container_name_3,),
|
||||||
)
|
)
|
||||||
self.assertEqual(datalist, tuple(data))
|
self.assertEqual(datalist, tuple(data))
|
||||||
|
|
||||||
|
|
||||||
@mock.patch(
|
@mock.patch('openstackclient.api.object_store_v1.APIv1.container_show')
|
||||||
'openstackclient.api.object_store_v1.APIv1.container_show'
|
|
||||||
)
|
|
||||||
class TestContainerShow(TestContainer):
|
class TestContainerShow(TestContainer):
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
super(TestContainerShow, self).setUp()
|
super(TestContainerShow, self).setUp()
|
||||||
|
|
||||||
@ -389,12 +367,10 @@ class TestContainerShow(TestContainer):
|
|||||||
columns, data = self.cmd.take_action(parsed_args)
|
columns, data = self.cmd.take_action(parsed_args)
|
||||||
|
|
||||||
# Set expected values
|
# Set expected values
|
||||||
kwargs = {
|
kwargs = {}
|
||||||
}
|
|
||||||
# lib.container.show_container(api, url, container)
|
# lib.container.show_container(api, url, container)
|
||||||
c_mock.assert_called_with(
|
c_mock.assert_called_with(
|
||||||
container=object_fakes.container_name,
|
container=object_fakes.container_name, **kwargs
|
||||||
**kwargs
|
|
||||||
)
|
)
|
||||||
|
|
||||||
collist = ('bytes', 'count', 'name')
|
collist = ('bytes', 'count', 'name')
|
||||||
|
@ -20,7 +20,6 @@ from openstackclient.tests.unit.object.v1 import fakes as object_fakes
|
|||||||
|
|
||||||
|
|
||||||
class TestContainerAll(object_fakes.TestObjectv1):
|
class TestContainerAll(object_fakes.TestObjectv1):
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
super(TestContainerAll, self).setUp()
|
super(TestContainerAll, self).setUp()
|
||||||
|
|
||||||
@ -28,7 +27,6 @@ class TestContainerAll(object_fakes.TestObjectv1):
|
|||||||
|
|
||||||
|
|
||||||
class TestContainerCreate(TestContainerAll):
|
class TestContainerCreate(TestContainerAll):
|
||||||
|
|
||||||
columns = (
|
columns = (
|
||||||
'account',
|
'account',
|
||||||
'container',
|
'container',
|
||||||
@ -52,9 +50,12 @@ class TestContainerCreate(TestContainerAll):
|
|||||||
arglist = [
|
arglist = [
|
||||||
'ernie',
|
'ernie',
|
||||||
]
|
]
|
||||||
verifylist = [(
|
verifylist = [
|
||||||
'containers', ['ernie'],
|
(
|
||||||
)]
|
'containers',
|
||||||
|
['ernie'],
|
||||||
|
)
|
||||||
|
]
|
||||||
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
||||||
|
|
||||||
# In base command class ShowOne in cliff, abstract method take_action()
|
# In base command class ShowOne in cliff, abstract method take_action()
|
||||||
@ -63,32 +64,27 @@ class TestContainerCreate(TestContainerAll):
|
|||||||
columns, data = self.cmd.take_action(parsed_args)
|
columns, data = self.cmd.take_action(parsed_args)
|
||||||
|
|
||||||
self.assertEqual(self.columns, columns)
|
self.assertEqual(self.columns, columns)
|
||||||
datalist = [(
|
datalist = [
|
||||||
object_fakes.ACCOUNT_ID,
|
(
|
||||||
'ernie',
|
object_fakes.ACCOUNT_ID,
|
||||||
'314159',
|
'ernie',
|
||||||
)]
|
'314159',
|
||||||
|
)
|
||||||
|
]
|
||||||
self.assertEqual(datalist, list(data))
|
self.assertEqual(datalist, list(data))
|
||||||
|
|
||||||
def test_object_create_container_storage_policy(self):
|
def test_object_create_container_storage_policy(self):
|
||||||
self.requests_mock.register_uri(
|
self.requests_mock.register_uri(
|
||||||
'PUT',
|
'PUT',
|
||||||
object_fakes.ENDPOINT + '/ernie',
|
object_fakes.ENDPOINT + '/ernie',
|
||||||
headers={
|
headers={'x-trans-id': '314159', 'x-storage-policy': 'o1--sr-r3'},
|
||||||
'x-trans-id': '314159',
|
|
||||||
'x-storage-policy': 'o1--sr-r3'
|
|
||||||
},
|
|
||||||
status_code=200,
|
status_code=200,
|
||||||
)
|
)
|
||||||
|
|
||||||
arglist = [
|
arglist = ['ernie', '--storage-policy', 'o1--sr-r3']
|
||||||
'ernie',
|
|
||||||
'--storage-policy',
|
|
||||||
'o1--sr-r3'
|
|
||||||
]
|
|
||||||
verifylist = [
|
verifylist = [
|
||||||
('containers', ['ernie']),
|
('containers', ['ernie']),
|
||||||
('storage_policy', 'o1--sr-r3')
|
('storage_policy', 'o1--sr-r3'),
|
||||||
]
|
]
|
||||||
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
||||||
|
|
||||||
@ -98,11 +94,13 @@ class TestContainerCreate(TestContainerAll):
|
|||||||
columns, data = self.cmd.take_action(parsed_args)
|
columns, data = self.cmd.take_action(parsed_args)
|
||||||
|
|
||||||
self.assertEqual(self.columns, columns)
|
self.assertEqual(self.columns, columns)
|
||||||
datalist = [(
|
datalist = [
|
||||||
object_fakes.ACCOUNT_ID,
|
(
|
||||||
'ernie',
|
object_fakes.ACCOUNT_ID,
|
||||||
'314159',
|
'ernie',
|
||||||
)]
|
'314159',
|
||||||
|
)
|
||||||
|
]
|
||||||
self.assertEqual(datalist, list(data))
|
self.assertEqual(datalist, list(data))
|
||||||
|
|
||||||
def test_object_create_container_public(self):
|
def test_object_create_container_public(self):
|
||||||
@ -111,19 +109,13 @@ class TestContainerCreate(TestContainerAll):
|
|||||||
object_fakes.ENDPOINT + '/ernie',
|
object_fakes.ENDPOINT + '/ernie',
|
||||||
headers={
|
headers={
|
||||||
'x-trans-id': '314159',
|
'x-trans-id': '314159',
|
||||||
'x-container-read': '.r:*,.rlistings'
|
'x-container-read': '.r:*,.rlistings',
|
||||||
},
|
},
|
||||||
status_code=200,
|
status_code=200,
|
||||||
)
|
)
|
||||||
|
|
||||||
arglist = [
|
arglist = ['ernie', '--public']
|
||||||
'ernie',
|
verifylist = [('containers', ['ernie']), ('public', True)]
|
||||||
'--public'
|
|
||||||
]
|
|
||||||
verifylist = [
|
|
||||||
('containers', ['ernie']),
|
|
||||||
('public', True)
|
|
||||||
]
|
|
||||||
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
||||||
|
|
||||||
# In base command class ShowOne in cliff, abstract method take_action()
|
# In base command class ShowOne in cliff, abstract method take_action()
|
||||||
@ -132,11 +124,13 @@ class TestContainerCreate(TestContainerAll):
|
|||||||
columns, data = self.cmd.take_action(parsed_args)
|
columns, data = self.cmd.take_action(parsed_args)
|
||||||
|
|
||||||
self.assertEqual(self.columns, columns)
|
self.assertEqual(self.columns, columns)
|
||||||
datalist = [(
|
datalist = [
|
||||||
object_fakes.ACCOUNT_ID,
|
(
|
||||||
'ernie',
|
object_fakes.ACCOUNT_ID,
|
||||||
'314159',
|
'ernie',
|
||||||
)]
|
'314159',
|
||||||
|
)
|
||||||
|
]
|
||||||
self.assertEqual(datalist, list(data))
|
self.assertEqual(datalist, list(data))
|
||||||
|
|
||||||
def test_object_create_container_more(self):
|
def test_object_create_container_more(self):
|
||||||
@ -157,9 +151,12 @@ class TestContainerCreate(TestContainerAll):
|
|||||||
'ernie',
|
'ernie',
|
||||||
'bert',
|
'bert',
|
||||||
]
|
]
|
||||||
verifylist = [(
|
verifylist = [
|
||||||
'containers', ['ernie', 'bert'],
|
(
|
||||||
)]
|
'containers',
|
||||||
|
['ernie', 'bert'],
|
||||||
|
)
|
||||||
|
]
|
||||||
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
||||||
|
|
||||||
# In base command class ShowOne in cliff, abstract method take_action()
|
# In base command class ShowOne in cliff, abstract method take_action()
|
||||||
@ -184,7 +181,6 @@ class TestContainerCreate(TestContainerAll):
|
|||||||
|
|
||||||
|
|
||||||
class TestContainerDelete(TestContainerAll):
|
class TestContainerDelete(TestContainerAll):
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
super(TestContainerDelete, self).setUp()
|
super(TestContainerDelete, self).setUp()
|
||||||
|
|
||||||
@ -201,9 +197,12 @@ class TestContainerDelete(TestContainerAll):
|
|||||||
arglist = [
|
arglist = [
|
||||||
'ernie',
|
'ernie',
|
||||||
]
|
]
|
||||||
verifylist = [(
|
verifylist = [
|
||||||
'containers', ['ernie'],
|
(
|
||||||
)]
|
'containers',
|
||||||
|
['ernie'],
|
||||||
|
)
|
||||||
|
]
|
||||||
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
||||||
|
|
||||||
# Command.take_action() returns None
|
# Command.take_action() returns None
|
||||||
@ -226,9 +225,12 @@ class TestContainerDelete(TestContainerAll):
|
|||||||
'ernie',
|
'ernie',
|
||||||
'bert',
|
'bert',
|
||||||
]
|
]
|
||||||
verifylist = [(
|
verifylist = [
|
||||||
'containers', ['ernie', 'bert'],
|
(
|
||||||
)]
|
'containers',
|
||||||
|
['ernie', 'bert'],
|
||||||
|
)
|
||||||
|
]
|
||||||
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
||||||
|
|
||||||
# Command.take_action() returns None
|
# Command.take_action() returns None
|
||||||
@ -237,7 +239,6 @@ class TestContainerDelete(TestContainerAll):
|
|||||||
|
|
||||||
|
|
||||||
class TestContainerList(TestContainerAll):
|
class TestContainerList(TestContainerAll):
|
||||||
|
|
||||||
columns = ('Name',)
|
columns = ('Name',)
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
@ -268,9 +269,9 @@ class TestContainerList(TestContainerAll):
|
|||||||
|
|
||||||
self.assertEqual(self.columns, columns)
|
self.assertEqual(self.columns, columns)
|
||||||
datalist = [
|
datalist = [
|
||||||
(object_fakes.container_name, ),
|
(object_fakes.container_name,),
|
||||||
(object_fakes.container_name_3, ),
|
(object_fakes.container_name_3,),
|
||||||
(object_fakes.container_name_2, ),
|
(object_fakes.container_name_2,),
|
||||||
]
|
]
|
||||||
self.assertEqual(datalist, list(data))
|
self.assertEqual(datalist, list(data))
|
||||||
|
|
||||||
@ -287,7 +288,8 @@ class TestContainerList(TestContainerAll):
|
|||||||
)
|
)
|
||||||
|
|
||||||
arglist = [
|
arglist = [
|
||||||
'--prefix', 'bit',
|
'--prefix',
|
||||||
|
'bit',
|
||||||
]
|
]
|
||||||
verifylist = [
|
verifylist = [
|
||||||
('prefix', 'bit'),
|
('prefix', 'bit'),
|
||||||
@ -299,20 +301,20 @@ class TestContainerList(TestContainerAll):
|
|||||||
|
|
||||||
self.assertEqual(self.columns, columns)
|
self.assertEqual(self.columns, columns)
|
||||||
datalist = [
|
datalist = [
|
||||||
(object_fakes.container_name, ),
|
(object_fakes.container_name,),
|
||||||
(object_fakes.container_name_3, ),
|
(object_fakes.container_name_3,),
|
||||||
]
|
]
|
||||||
self.assertEqual(datalist, list(data))
|
self.assertEqual(datalist, list(data))
|
||||||
|
|
||||||
|
|
||||||
class TestContainerSave(TestContainerAll):
|
class TestContainerSave(TestContainerAll):
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
super(TestContainerSave, self).setUp()
|
super(TestContainerSave, self).setUp()
|
||||||
|
|
||||||
# Get the command object to test
|
# Get the command object to test
|
||||||
self.cmd = container_cmds.SaveContainer(self.app, None)
|
self.cmd = container_cmds.SaveContainer(self.app, None)
|
||||||
|
|
||||||
|
|
||||||
# TODO(dtroyer): need to mock out object_lib.save_object() to test this
|
# TODO(dtroyer): need to mock out object_lib.save_object() to test this
|
||||||
# def test_object_save_container(self):
|
# def test_object_save_container(self):
|
||||||
# return_body = [
|
# return_body = [
|
||||||
@ -354,7 +356,6 @@ class TestContainerSave(TestContainerAll):
|
|||||||
|
|
||||||
|
|
||||||
class TestContainerShow(TestContainerAll):
|
class TestContainerShow(TestContainerAll):
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
super(TestContainerShow, self).setUp()
|
super(TestContainerShow, self).setUp()
|
||||||
|
|
||||||
@ -369,7 +370,7 @@ class TestContainerShow(TestContainerAll):
|
|||||||
'x-container-write': 'wsx',
|
'x-container-write': 'wsx',
|
||||||
'x-container-sync-to': 'edc',
|
'x-container-sync-to': 'edc',
|
||||||
'x-container-sync-key': 'rfv',
|
'x-container-sync-key': 'rfv',
|
||||||
'x-storage-policy': 'o1--sr-r3'
|
'x-storage-policy': 'o1--sr-r3',
|
||||||
}
|
}
|
||||||
self.requests_mock.register_uri(
|
self.requests_mock.register_uri(
|
||||||
'HEAD',
|
'HEAD',
|
||||||
@ -381,9 +382,12 @@ class TestContainerShow(TestContainerAll):
|
|||||||
arglist = [
|
arglist = [
|
||||||
'ernie',
|
'ernie',
|
||||||
]
|
]
|
||||||
verifylist = [(
|
verifylist = [
|
||||||
'container', 'ernie',
|
(
|
||||||
)]
|
'container',
|
||||||
|
'ernie',
|
||||||
|
)
|
||||||
|
]
|
||||||
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
||||||
|
|
||||||
# In base command class ShowOne in cliff, abstract method take_action()
|
# In base command class ShowOne in cliff, abstract method take_action()
|
||||||
|
@ -26,7 +26,6 @@ AUTH_URL = "http://0.0.0.0"
|
|||||||
|
|
||||||
|
|
||||||
class TestObject(object_fakes.TestObjectv1):
|
class TestObject(object_fakes.TestObjectv1):
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
super(TestObject, self).setUp()
|
super(TestObject, self).setUp()
|
||||||
self.app.client_manager.object_store = object_store.APIv1(
|
self.app.client_manager.object_store = object_store.APIv1(
|
||||||
@ -36,17 +35,10 @@ class TestObject(object_fakes.TestObjectv1):
|
|||||||
self.api = self.app.client_manager.object_store
|
self.api = self.app.client_manager.object_store
|
||||||
|
|
||||||
|
|
||||||
@mock.patch(
|
@mock.patch('openstackclient.api.object_store_v1.APIv1.object_list')
|
||||||
'openstackclient.api.object_store_v1.APIv1.object_list'
|
|
||||||
)
|
|
||||||
class TestObjectList(TestObject):
|
class TestObjectList(TestObject):
|
||||||
|
|
||||||
columns = ('Name',)
|
columns = ('Name',)
|
||||||
datalist = (
|
datalist = ((object_fakes.object_name_2,),)
|
||||||
(
|
|
||||||
object_fakes.object_name_2,
|
|
||||||
),
|
|
||||||
)
|
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
super(TestObjectList, self).setUp()
|
super(TestObjectList, self).setUp()
|
||||||
@ -79,8 +71,8 @@ class TestObjectList(TestObject):
|
|||||||
|
|
||||||
self.assertEqual(self.columns, columns)
|
self.assertEqual(self.columns, columns)
|
||||||
datalist = (
|
datalist = (
|
||||||
(object_fakes.object_name_1, ),
|
(object_fakes.object_name_1,),
|
||||||
(object_fakes.object_name_2, ),
|
(object_fakes.object_name_2,),
|
||||||
)
|
)
|
||||||
self.assertEqual(datalist, tuple(data))
|
self.assertEqual(datalist, tuple(data))
|
||||||
|
|
||||||
@ -90,7 +82,8 @@ class TestObjectList(TestObject):
|
|||||||
]
|
]
|
||||||
|
|
||||||
arglist = [
|
arglist = [
|
||||||
'--prefix', 'floppy',
|
'--prefix',
|
||||||
|
'floppy',
|
||||||
object_fakes.container_name_2,
|
object_fakes.container_name_2,
|
||||||
]
|
]
|
||||||
verifylist = [
|
verifylist = [
|
||||||
@ -109,8 +102,7 @@ class TestObjectList(TestObject):
|
|||||||
'prefix': 'floppy',
|
'prefix': 'floppy',
|
||||||
}
|
}
|
||||||
o_mock.assert_called_with(
|
o_mock.assert_called_with(
|
||||||
container=object_fakes.container_name_2,
|
container=object_fakes.container_name_2, **kwargs
|
||||||
**kwargs
|
|
||||||
)
|
)
|
||||||
|
|
||||||
self.assertEqual(self.columns, columns)
|
self.assertEqual(self.columns, columns)
|
||||||
@ -122,7 +114,8 @@ class TestObjectList(TestObject):
|
|||||||
]
|
]
|
||||||
|
|
||||||
arglist = [
|
arglist = [
|
||||||
'--delimiter', '=',
|
'--delimiter',
|
||||||
|
'=',
|
||||||
object_fakes.container_name_2,
|
object_fakes.container_name_2,
|
||||||
]
|
]
|
||||||
verifylist = [
|
verifylist = [
|
||||||
@ -141,8 +134,7 @@ class TestObjectList(TestObject):
|
|||||||
'delimiter': '=',
|
'delimiter': '=',
|
||||||
}
|
}
|
||||||
o_mock.assert_called_with(
|
o_mock.assert_called_with(
|
||||||
container=object_fakes.container_name_2,
|
container=object_fakes.container_name_2, **kwargs
|
||||||
**kwargs
|
|
||||||
)
|
)
|
||||||
|
|
||||||
self.assertEqual(self.columns, columns)
|
self.assertEqual(self.columns, columns)
|
||||||
@ -154,7 +146,8 @@ class TestObjectList(TestObject):
|
|||||||
]
|
]
|
||||||
|
|
||||||
arglist = [
|
arglist = [
|
||||||
'--marker', object_fakes.object_name_2,
|
'--marker',
|
||||||
|
object_fakes.object_name_2,
|
||||||
object_fakes.container_name_2,
|
object_fakes.container_name_2,
|
||||||
]
|
]
|
||||||
verifylist = [
|
verifylist = [
|
||||||
@ -173,8 +166,7 @@ class TestObjectList(TestObject):
|
|||||||
'marker': object_fakes.object_name_2,
|
'marker': object_fakes.object_name_2,
|
||||||
}
|
}
|
||||||
o_mock.assert_called_with(
|
o_mock.assert_called_with(
|
||||||
container=object_fakes.container_name_2,
|
container=object_fakes.container_name_2, **kwargs
|
||||||
**kwargs
|
|
||||||
)
|
)
|
||||||
|
|
||||||
self.assertEqual(self.columns, columns)
|
self.assertEqual(self.columns, columns)
|
||||||
@ -186,7 +178,8 @@ class TestObjectList(TestObject):
|
|||||||
]
|
]
|
||||||
|
|
||||||
arglist = [
|
arglist = [
|
||||||
'--end-marker', object_fakes.object_name_2,
|
'--end-marker',
|
||||||
|
object_fakes.object_name_2,
|
||||||
object_fakes.container_name_2,
|
object_fakes.container_name_2,
|
||||||
]
|
]
|
||||||
verifylist = [
|
verifylist = [
|
||||||
@ -205,8 +198,7 @@ class TestObjectList(TestObject):
|
|||||||
'end_marker': object_fakes.object_name_2,
|
'end_marker': object_fakes.object_name_2,
|
||||||
}
|
}
|
||||||
o_mock.assert_called_with(
|
o_mock.assert_called_with(
|
||||||
container=object_fakes.container_name_2,
|
container=object_fakes.container_name_2, **kwargs
|
||||||
**kwargs
|
|
||||||
)
|
)
|
||||||
|
|
||||||
self.assertEqual(self.columns, columns)
|
self.assertEqual(self.columns, columns)
|
||||||
@ -218,7 +210,8 @@ class TestObjectList(TestObject):
|
|||||||
]
|
]
|
||||||
|
|
||||||
arglist = [
|
arglist = [
|
||||||
'--limit', '2',
|
'--limit',
|
||||||
|
'2',
|
||||||
object_fakes.container_name_2,
|
object_fakes.container_name_2,
|
||||||
]
|
]
|
||||||
verifylist = [
|
verifylist = [
|
||||||
@ -237,8 +230,7 @@ class TestObjectList(TestObject):
|
|||||||
'limit': 2,
|
'limit': 2,
|
||||||
}
|
}
|
||||||
o_mock.assert_called_with(
|
o_mock.assert_called_with(
|
||||||
container=object_fakes.container_name_2,
|
container=object_fakes.container_name_2, **kwargs
|
||||||
**kwargs
|
|
||||||
)
|
)
|
||||||
|
|
||||||
self.assertEqual(self.columns, columns)
|
self.assertEqual(self.columns, columns)
|
||||||
@ -266,11 +258,9 @@ class TestObjectList(TestObject):
|
|||||||
columns, data = self.cmd.take_action(parsed_args)
|
columns, data = self.cmd.take_action(parsed_args)
|
||||||
|
|
||||||
# Set expected values
|
# Set expected values
|
||||||
kwargs = {
|
kwargs = {}
|
||||||
}
|
|
||||||
o_mock.assert_called_with(
|
o_mock.assert_called_with(
|
||||||
container=object_fakes.container_name,
|
container=object_fakes.container_name, **kwargs
|
||||||
**kwargs
|
|
||||||
)
|
)
|
||||||
|
|
||||||
collist = ('Name', 'Bytes', 'Hash', 'Content Type', 'Last Modified')
|
collist = ('Name', 'Bytes', 'Hash', 'Content Type', 'Last Modified')
|
||||||
@ -319,23 +309,19 @@ class TestObjectList(TestObject):
|
|||||||
'full_listing': True,
|
'full_listing': True,
|
||||||
}
|
}
|
||||||
o_mock.assert_called_with(
|
o_mock.assert_called_with(
|
||||||
container=object_fakes.container_name,
|
container=object_fakes.container_name, **kwargs
|
||||||
**kwargs
|
|
||||||
)
|
)
|
||||||
|
|
||||||
self.assertEqual(self.columns, columns)
|
self.assertEqual(self.columns, columns)
|
||||||
datalist = (
|
datalist = (
|
||||||
(object_fakes.object_name_1, ),
|
(object_fakes.object_name_1,),
|
||||||
(object_fakes.object_name_2, ),
|
(object_fakes.object_name_2,),
|
||||||
)
|
)
|
||||||
self.assertEqual(datalist, tuple(data))
|
self.assertEqual(datalist, tuple(data))
|
||||||
|
|
||||||
|
|
||||||
@mock.patch(
|
@mock.patch('openstackclient.api.object_store_v1.APIv1.object_show')
|
||||||
'openstackclient.api.object_store_v1.APIv1.object_show'
|
|
||||||
)
|
|
||||||
class TestObjectShow(TestObject):
|
class TestObjectShow(TestObject):
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
super(TestObjectShow, self).setUp()
|
super(TestObjectShow, self).setUp()
|
||||||
|
|
||||||
@ -361,8 +347,7 @@ class TestObjectShow(TestObject):
|
|||||||
columns, data = self.cmd.take_action(parsed_args)
|
columns, data = self.cmd.take_action(parsed_args)
|
||||||
|
|
||||||
# Set expected values
|
# Set expected values
|
||||||
kwargs = {
|
kwargs = {}
|
||||||
}
|
|
||||||
# lib.container.show_container(api, url, container)
|
# lib.container.show_container(api, url, container)
|
||||||
c_mock.assert_called_with(
|
c_mock.assert_called_with(
|
||||||
container=object_fakes.container_name,
|
container=object_fakes.container_name,
|
||||||
|
@ -23,7 +23,6 @@ from openstackclient.tests.unit.object.v1 import fakes as object_fakes
|
|||||||
|
|
||||||
|
|
||||||
class TestObjectAll(object_fakes.TestObjectv1):
|
class TestObjectAll(object_fakes.TestObjectv1):
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
super(TestObjectAll, self).setUp()
|
super(TestObjectAll, self).setUp()
|
||||||
|
|
||||||
@ -31,7 +30,6 @@ class TestObjectAll(object_fakes.TestObjectv1):
|
|||||||
|
|
||||||
|
|
||||||
class TestObjectCreate(TestObjectAll):
|
class TestObjectCreate(TestObjectAll):
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
super(TestObjectCreate, self).setUp()
|
super(TestObjectCreate, self).setUp()
|
||||||
|
|
||||||
@ -43,25 +41,27 @@ class TestObjectCreate(TestObjectAll):
|
|||||||
object_fakes.container_name,
|
object_fakes.container_name,
|
||||||
object_fakes.object_name_1,
|
object_fakes.object_name_1,
|
||||||
object_fakes.object_name_2,
|
object_fakes.object_name_2,
|
||||||
'--name', object_fakes.object_upload_name,
|
'--name',
|
||||||
|
object_fakes.object_upload_name,
|
||||||
]
|
]
|
||||||
|
|
||||||
verifylist = [
|
verifylist = [
|
||||||
('container', object_fakes.container_name),
|
('container', object_fakes.container_name),
|
||||||
('objects', [object_fakes.object_name_1,
|
(
|
||||||
object_fakes.object_name_2]),
|
'objects',
|
||||||
|
[object_fakes.object_name_1, object_fakes.object_name_2],
|
||||||
|
),
|
||||||
('name', object_fakes.object_upload_name),
|
('name', object_fakes.object_upload_name),
|
||||||
]
|
]
|
||||||
|
|
||||||
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
||||||
|
|
||||||
self.assertRaises(exceptions.CommandError,
|
self.assertRaises(
|
||||||
self.cmd.take_action,
|
exceptions.CommandError, self.cmd.take_action, parsed_args
|
||||||
parsed_args)
|
)
|
||||||
|
|
||||||
|
|
||||||
class TestObjectList(TestObjectAll):
|
class TestObjectList(TestObjectAll):
|
||||||
|
|
||||||
columns = ('Name',)
|
columns = ('Name',)
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
@ -77,10 +77,10 @@ class TestObjectList(TestObjectAll):
|
|||||||
]
|
]
|
||||||
self.requests_mock.register_uri(
|
self.requests_mock.register_uri(
|
||||||
'GET',
|
'GET',
|
||||||
object_fakes.ENDPOINT +
|
object_fakes.ENDPOINT
|
||||||
'/' +
|
+ '/'
|
||||||
object_fakes.container_name +
|
+ object_fakes.container_name
|
||||||
'?format=json',
|
+ '?format=json',
|
||||||
json=return_body,
|
json=return_body,
|
||||||
status_code=200,
|
status_code=200,
|
||||||
)
|
)
|
||||||
@ -98,8 +98,8 @@ class TestObjectList(TestObjectAll):
|
|||||||
|
|
||||||
self.assertEqual(self.columns, columns)
|
self.assertEqual(self.columns, columns)
|
||||||
datalist = [
|
datalist = [
|
||||||
(object_fakes.object_name_1, ),
|
(object_fakes.object_name_1,),
|
||||||
(object_fakes.object_name_2, ),
|
(object_fakes.object_name_2,),
|
||||||
]
|
]
|
||||||
self.assertEqual(datalist, list(data))
|
self.assertEqual(datalist, list(data))
|
||||||
|
|
||||||
@ -109,16 +109,17 @@ class TestObjectList(TestObjectAll):
|
|||||||
]
|
]
|
||||||
self.requests_mock.register_uri(
|
self.requests_mock.register_uri(
|
||||||
'GET',
|
'GET',
|
||||||
object_fakes.ENDPOINT +
|
object_fakes.ENDPOINT
|
||||||
'/' +
|
+ '/'
|
||||||
object_fakes.container_name_2 +
|
+ object_fakes.container_name_2
|
||||||
'?prefix=floppy&format=json',
|
+ '?prefix=floppy&format=json',
|
||||||
json=return_body,
|
json=return_body,
|
||||||
status_code=200,
|
status_code=200,
|
||||||
)
|
)
|
||||||
|
|
||||||
arglist = [
|
arglist = [
|
||||||
'--prefix', 'floppy',
|
'--prefix',
|
||||||
|
'floppy',
|
||||||
object_fakes.container_name_2,
|
object_fakes.container_name_2,
|
||||||
]
|
]
|
||||||
verifylist = [
|
verifylist = [
|
||||||
@ -133,14 +134,11 @@ class TestObjectList(TestObjectAll):
|
|||||||
columns, data = self.cmd.take_action(parsed_args)
|
columns, data = self.cmd.take_action(parsed_args)
|
||||||
|
|
||||||
self.assertEqual(self.columns, columns)
|
self.assertEqual(self.columns, columns)
|
||||||
datalist = (
|
datalist = ((object_fakes.object_name_2,),)
|
||||||
(object_fakes.object_name_2, ),
|
|
||||||
)
|
|
||||||
self.assertEqual(datalist, tuple(data))
|
self.assertEqual(datalist, tuple(data))
|
||||||
|
|
||||||
|
|
||||||
class TestObjectShow(TestObjectAll):
|
class TestObjectShow(TestObjectAll):
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
super(TestObjectShow, self).setUp()
|
super(TestObjectShow, self).setUp()
|
||||||
|
|
||||||
@ -158,11 +156,13 @@ class TestObjectShow(TestObjectAll):
|
|||||||
}
|
}
|
||||||
self.requests_mock.register_uri(
|
self.requests_mock.register_uri(
|
||||||
'HEAD',
|
'HEAD',
|
||||||
'/'.join([
|
'/'.join(
|
||||||
object_fakes.ENDPOINT,
|
[
|
||||||
object_fakes.container_name,
|
object_fakes.ENDPOINT,
|
||||||
object_fakes.object_name_1,
|
object_fakes.container_name,
|
||||||
]),
|
object_fakes.object_name_1,
|
||||||
|
]
|
||||||
|
),
|
||||||
headers=headers,
|
headers=headers,
|
||||||
status_code=200,
|
status_code=200,
|
||||||
)
|
)
|
||||||
@ -207,7 +207,6 @@ class TestObjectShow(TestObjectAll):
|
|||||||
|
|
||||||
|
|
||||||
class TestObjectSave(TestObjectAll):
|
class TestObjectSave(TestObjectAll):
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
super(TestObjectSave, self).setUp()
|
super(TestObjectSave, self).setUp()
|
||||||
|
|
||||||
@ -217,20 +216,20 @@ class TestObjectSave(TestObjectAll):
|
|||||||
def test_save_to_stdout(self):
|
def test_save_to_stdout(self):
|
||||||
self.requests_mock.register_uri(
|
self.requests_mock.register_uri(
|
||||||
'GET',
|
'GET',
|
||||||
object_fakes.ENDPOINT +
|
object_fakes.ENDPOINT
|
||||||
'/' +
|
+ '/'
|
||||||
object_fakes.container_name +
|
+ object_fakes.container_name
|
||||||
'/' +
|
+ '/'
|
||||||
object_fakes.object_name_1,
|
+ object_fakes.object_name_1,
|
||||||
status_code=200,
|
status_code=200,
|
||||||
content=object_fakes.object_1_content
|
content=object_fakes.object_1_content,
|
||||||
)
|
)
|
||||||
|
|
||||||
arglist = [
|
arglist = [
|
||||||
object_fakes.container_name,
|
object_fakes.container_name,
|
||||||
object_fakes.object_name_1,
|
object_fakes.object_name_1,
|
||||||
'--file',
|
'--file',
|
||||||
'-'
|
'-',
|
||||||
]
|
]
|
||||||
|
|
||||||
verifylist = [
|
verifylist = [
|
||||||
@ -254,12 +253,16 @@ class TestObjectSave(TestObjectAll):
|
|||||||
self.context_manager_calls.append('__exit__')
|
self.context_manager_calls.append('__exit__')
|
||||||
|
|
||||||
with mock.patch('sys.stdout') as fake_stdout, mock.patch(
|
with mock.patch('sys.stdout') as fake_stdout, mock.patch(
|
||||||
'os.fdopen', return_value=FakeStdout()) as fake_fdopen:
|
'os.fdopen', return_value=FakeStdout()
|
||||||
|
) as fake_fdopen:
|
||||||
fake_stdout.fileno.return_value = 123
|
fake_stdout.fileno.return_value = 123
|
||||||
self.cmd.take_action(parsed_args)
|
self.cmd.take_action(parsed_args)
|
||||||
|
|
||||||
self.assertEqual(fake_fdopen.return_value.getvalue(),
|
self.assertEqual(
|
||||||
object_fakes.object_1_content)
|
fake_fdopen.return_value.getvalue(), object_fakes.object_1_content
|
||||||
|
)
|
||||||
self.assertEqual(fake_fdopen.mock_calls, [mock.call(123, 'wb')])
|
self.assertEqual(fake_fdopen.mock_calls, [mock.call(123, 'wb')])
|
||||||
self.assertEqual(fake_fdopen.return_value.context_manager_calls,
|
self.assertEqual(
|
||||||
['__enter__', '__exit__'])
|
fake_fdopen.return_value.context_manager_calls,
|
||||||
|
['__enter__', '__exit__'],
|
||||||
|
)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user