Merge "Fix: incorrect check when no shared/private input"

This commit is contained in:
Zuul 2019-03-16 01:05:18 +00:00 committed by Gerrit Code Review
commit 6bd9cb6359
2 changed files with 51 additions and 2 deletions

View File

@ -168,7 +168,7 @@ class CreateNetworkSegmentRange(command.ShowOne):
identity_client = self.app.client_manager.identity
if parsed_args.shared and parsed_args.project:
if not parsed_args.private and parsed_args.project:
msg = _("--project is only allowed with --private")
raise exceptions.CommandError(msg)
@ -202,7 +202,7 @@ class CreateNetworkSegmentRange(command.ShowOne):
msg = (_("Failed to create the network segment range for "
"project %(project_id)s") % parsed_args.project_id)
raise exceptions.CommandError(msg)
elif not parsed_args.shared:
elif not attrs['shared']:
# default to the current project if no project specified and shared
# is not specified.
# Get the project id from the current auth.

View File

@ -98,6 +98,27 @@ class TestCreateNetworkSegmentRange(TestNetworkSegmentRange):
self.assertRaises(tests_utils.ParserException, self.check_parser,
self.cmd, arglist, [])
def test_create_default_with_project_id(self):
arglist = [
'--project', self._network_segment_range.project_id,
'--network-type', 'vxlan',
'--minimum', str(self._network_segment_range.minimum),
'--maximum', str(self._network_segment_range.maximum),
self._network_segment_range.name,
]
verifylist = [
('project', self._network_segment_range.project_id),
('network_type', 'vxlan'),
('minimum', self._network_segment_range.minimum),
('maximum', self._network_segment_range.maximum),
('name', self._network_segment_range.name),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
self.assertRaises(exceptions.CommandError,
self.cmd.take_action,
parsed_args)
def test_create_shared_with_project_id(self):
arglist = [
'--shared',
@ -144,6 +165,34 @@ class TestCreateNetworkSegmentRange(TestNetworkSegmentRange):
self.cmd.take_action,
parsed_args)
def test_create_minimum_options(self):
arglist = [
'--network-type', 'vxlan',
'--minimum', str(self._network_segment_range.minimum),
'--maximum', str(self._network_segment_range.maximum),
self._network_segment_range.name,
]
verifylist = [
('network_type', 'vxlan'),
('minimum', self._network_segment_range.minimum),
('maximum', self._network_segment_range.maximum),
('name', self._network_segment_range.name),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
columns, data = self.cmd.take_action(parsed_args)
self.network.create_network_segment_range.assert_called_once_with(**{
'shared': True,
'network_type': 'vxlan',
'minimum': self._network_segment_range.minimum,
'maximum': self._network_segment_range.maximum,
'name': self._network_segment_range.name,
})
self.assertEqual(self.columns, columns)
self.assertEqual(self.data, data)
def test_create_private_minimum_options(self):
arglist = [
'--private',