diff options
| author | Jenkins <jenkins@review.openstack.org> | 2016-11-08 19:47:49 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2016-11-08 19:47:49 +0000 |
| commit | 6bba1f000805ee78d92aa37a69b91b51ad954e54 (patch) | |
| tree | 9482f7c84fd9af77628c32ac71a7077d56fbe2a1 /openstackclient | |
| parent | c27da0564cdccb9c073cdacec76e488035a6197f (diff) | |
| parent | d6cc50f0daac71fbe2a18059be94f6d01a26d78d (diff) | |
| download | python-openstackclient-6bba1f000805ee78d92aa37a69b91b51ad954e54.tar.gz | |
Merge "SDK Refactor: Prepare subnet pool commands"
Diffstat (limited to 'openstackclient')
| -rw-r--r-- | openstackclient/network/v2/subnet_pool.py | 35 | ||||
| -rw-r--r-- | openstackclient/tests/unit/network/v2/fakes.py | 5 | ||||
| -rw-r--r-- | openstackclient/tests/unit/network/v2/test_subnet_pool.py | 8 |
3 files changed, 33 insertions, 15 deletions
diff --git a/openstackclient/network/v2/subnet_pool.py b/openstackclient/network/v2/subnet_pool.py index a29c4518..5ebdea02 100644 --- a/openstackclient/network/v2/subnet_pool.py +++ b/openstackclient/network/v2/subnet_pool.py @@ -22,17 +22,21 @@ from osc_lib import utils from openstackclient.i18n import _ from openstackclient.identity import common as identity_common +from openstackclient.network import sdk_utils LOG = logging.getLogger(__name__) def _get_columns(item): - columns = list(item.keys()) - if 'tenant_id' in columns: - columns.remove('tenant_id') - columns.append('project_id') - return tuple(sorted(columns)) + column_map = { + 'default_prefix_length': 'default_prefixlen', + 'is_shared': 'shared', + 'maximum_prefix_length': 'max_prefixlen', + 'minimum_prefix_length': 'min_prefixlen', + 'tenant_id': 'project_id', + } + return sdk_utils.get_osc_show_columns_for_sdk_resource(item, column_map) _formatters = { @@ -134,6 +138,8 @@ def _add_default_options(parser): ) +# TODO(rtheis): Use the SDK resource mapped attribute names once the +# OSC minimum requirements include SDK 1.0. class CreateSubnetPool(command.ShowOne): """Create subnet pool""" @@ -184,9 +190,9 @@ class CreateSubnetPool(command.ShowOne): if "prefixes" not in attrs: attrs['prefixes'] = [] obj = client.create_subnet_pool(**attrs) - columns = _get_columns(obj) + display_columns, columns = _get_columns(obj) data = utils.get_item_properties(obj, columns, formatters=_formatters) - return (columns, data) + return (display_columns, data) class DeleteSubnetPool(command.Command): @@ -223,6 +229,8 @@ class DeleteSubnetPool(command.Command): raise exceptions.CommandError(msg) +# TODO(rtheis): Use only the SDK resource mapped attribute names once the +# OSC minimum requirements include SDK 1.0. class ListSubnetPool(command.Lister): """List subnet pools""" @@ -283,8 +291,10 @@ class ListSubnetPool(command.Lister): filters = {} if parsed_args.share: filters['shared'] = True + filters['is_shared'] = True elif parsed_args.no_share: filters['shared'] = False + filters['is_shared'] = False if parsed_args.default: filters['is_default'] = True elif parsed_args.no_default: @@ -296,6 +306,7 @@ class ListSubnetPool(command.Lister): parsed_args.project_domain, ).id filters['tenant_id'] = project_id + filters['project_id'] = project_id if parsed_args.name is not None: filters['name'] = parsed_args.name if parsed_args.address_scope: @@ -310,8 +321,8 @@ class ListSubnetPool(command.Lister): if parsed_args.long: headers += ('Default Prefix Length', 'Address Scope', 'Default Subnet Pool', 'Shared') - columns += ('default_prefixlen', 'address_scope_id', - 'is_default', 'shared') + columns += ('default_prefix_length', 'address_scope_id', + 'is_default', 'is_shared') return (headers, (utils.get_item_properties( @@ -320,6 +331,8 @@ class ListSubnetPool(command.Lister): ) for s in data)) +# TODO(rtheis): Use the SDK resource mapped attribute names once the +# OSC minimum requirements include SDK 1.0. class SetSubnetPool(command.Command): """Set subnet pool properties""" @@ -390,9 +403,9 @@ class ShowSubnetPool(command.ShowOne): parsed_args.subnet_pool, ignore_missing=False ) - columns = _get_columns(obj) + display_columns, columns = _get_columns(obj) data = utils.get_item_properties(obj, columns, formatters=_formatters) - return (columns, data) + return (display_columns, data) class UnsetSubnetPool(command.Command): diff --git a/openstackclient/tests/unit/network/v2/fakes.py b/openstackclient/tests/unit/network/v2/fakes.py index 90dd0892..f1c72461 100644 --- a/openstackclient/tests/unit/network/v2/fakes.py +++ b/openstackclient/tests/unit/network/v2/fakes.py @@ -1217,6 +1217,11 @@ class FakeSubnetPool(object): ) # Set attributes with special mapping in OpenStack SDK. + subnet_pool.default_prefix_length = \ + subnet_pool_attrs['default_prefixlen'] + subnet_pool.is_shared = subnet_pool_attrs['shared'] + subnet_pool.maximum_prefix_length = subnet_pool_attrs['max_prefixlen'] + subnet_pool.minimum_prefix_length = subnet_pool_attrs['min_prefixlen'] subnet_pool.project_id = subnet_pool_attrs['tenant_id'] return subnet_pool diff --git a/openstackclient/tests/unit/network/v2/test_subnet_pool.py b/openstackclient/tests/unit/network/v2/test_subnet_pool.py index fa6ffff3..f12537e7 100644 --- a/openstackclient/tests/unit/network/v2/test_subnet_pool.py +++ b/openstackclient/tests/unit/network/v2/test_subnet_pool.py @@ -435,7 +435,7 @@ class TestListSubnetPool(TestSubnetPool): parsed_args = self.check_parser(self.cmd, arglist, verifylist) columns, data = self.cmd.take_action(parsed_args) - filters = {'shared': False} + filters = {'shared': False, 'is_shared': False} self.network.subnet_pools.assert_called_once_with(**filters) self.assertEqual(self.columns, columns) @@ -451,7 +451,7 @@ class TestListSubnetPool(TestSubnetPool): parsed_args = self.check_parser(self.cmd, arglist, verifylist) columns, data = self.cmd.take_action(parsed_args) - filters = {'shared': True} + filters = {'shared': True, 'is_shared': True} self.network.subnet_pools.assert_called_once_with(**filters) self.assertEqual(self.columns, columns) @@ -501,7 +501,7 @@ class TestListSubnetPool(TestSubnetPool): parsed_args = self.check_parser(self.cmd, arglist, verifylist) columns, data = self.cmd.take_action(parsed_args) - filters = {'tenant_id': project.id} + filters = {'tenant_id': project.id, 'project_id': project.id} self.network.subnet_pools.assert_called_once_with(**filters) self.assertEqual(self.columns, columns) @@ -521,7 +521,7 @@ class TestListSubnetPool(TestSubnetPool): parsed_args = self.check_parser(self.cmd, arglist, verifylist) columns, data = self.cmd.take_action(parsed_args) - filters = {'tenant_id': project.id} + filters = {'tenant_id': project.id, 'project_id': project.id} self.network.subnet_pools.assert_called_once_with(**filters) self.assertEqual(self.columns, columns) |
