diff options
| author | Zuul <zuul@review.opendev.org> | 2020-01-07 13:43:15 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2020-01-07 13:43:15 +0000 |
| commit | e43377bafb03cd84926a865b9d6faf31a5e9e0e5 (patch) | |
| tree | 4382c29605418aa1b535f93f0793650630225b4c /openstackclient | |
| parent | f5384ae16a24cdd54149fa21827d14b8b8983d4f (diff) | |
| parent | 509ca3ed36b4ef512a47ff8d39c9df751084015a (diff) | |
| download | python-openstackclient-e43377bafb03cd84926a865b9d6faf31a5e9e0e5.tar.gz | |
Merge "Fix router create/show if extraroute not supported"
Diffstat (limited to 'openstackclient')
| -rw-r--r-- | openstackclient/network/v2/router.py | 2 | ||||
| -rw-r--r-- | openstackclient/tests/unit/network/v2/test_router.py | 18 |
2 files changed, 19 insertions, 1 deletions
diff --git a/openstackclient/network/v2/router.py b/openstackclient/network/v2/router.py index 02da50c3..5d85e485 100644 --- a/openstackclient/network/v2/router.py +++ b/openstackclient/network/v2/router.py @@ -49,7 +49,7 @@ class RouterInfoColumn(cliff_columns.FormattableColumn): class RoutesColumn(cliff_columns.FormattableColumn): def human_readable(self): # Map the route keys to match --route option. - for route in self._value: + for route in self._value or []: if 'nexthop' in route: route['gateway'] = route.pop('nexthop') return utils.format_list_of_dicts(self._value) diff --git a/openstackclient/tests/unit/network/v2/test_router.py b/openstackclient/tests/unit/network/v2/test_router.py index 079b9746..500cfbe5 100644 --- a/openstackclient/tests/unit/network/v2/test_router.py +++ b/openstackclient/tests/unit/network/v2/test_router.py @@ -1285,6 +1285,24 @@ class TestShowRouter(TestRouter): self.assertNotIn("is_distributed", columns) self.assertNotIn("is_ha", columns) + def test_show_no_extra_route_extension(self): + _router = network_fakes.FakeRouter.create_one_router({'routes': None}) + + arglist = [ + _router.name, + ] + verifylist = [ + ('router', _router.name), + ] + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + + with mock.patch.object( + self.network, "find_router", return_value=_router): + columns, data = self.cmd.take_action(parsed_args) + + self.assertIn("routes", columns) + self.assertIsNone(list(data)[columns.index('routes')].human_readable()) + class TestUnsetRouter(TestRouter): |
