Deserialization of network group meta parameter
* Add deserialization for 'meta' parameter; * Change default 'meta' notation to 'cidr'; * Add corresponding unit test. Change-Id: Ife2dbf23e1a48eb5be9178500f23446c7340c676 Closes-bug: #1479384
This commit is contained in:
@@ -61,7 +61,13 @@ class NetworkGroupAction(Action):
|
||||
"""Create a new network group
|
||||
fuel network-group --create --node-group 1 --name "new network"
|
||||
--release 2 --vlan 100 --cidr 10.0.0.0/24
|
||||
|
||||
fuel network-group --create --node-group 2 --name "new network"
|
||||
--release 2 --vlan 100 --cidr 10.0.0.0/24 --gateway 10.0.0.1
|
||||
--meta 'meta information in JSON format'
|
||||
"""
|
||||
meta = self.serializer.deserialize(params.meta) if params.meta else {}
|
||||
|
||||
NetworkGroup.create(
|
||||
params.name,
|
||||
params.release,
|
||||
@@ -69,9 +75,8 @@ class NetworkGroupAction(Action):
|
||||
params.cidr,
|
||||
params.gateway,
|
||||
int(params.nodegroup.pop()),
|
||||
params.meta
|
||||
meta
|
||||
)
|
||||
|
||||
self.serializer.print_to_output(
|
||||
{},
|
||||
"Network group {0} has been created".format(params.name)
|
||||
|
||||
@@ -31,7 +31,7 @@ class NetworkGroup(BaseObject):
|
||||
group_id, meta=None):
|
||||
|
||||
metadata = {
|
||||
'notation': 'ip_ranges',
|
||||
'notation': 'cidr',
|
||||
'render_type': None,
|
||||
'map_priority': 2,
|
||||
'configurable': True,
|
||||
|
||||
@@ -45,11 +45,9 @@ class TestNetworkGroupActions(base.UnitTestCase):
|
||||
self.assertEqual(mreq.last_request.method, 'GET')
|
||||
self.assertEqual(mreq.last_request.path, self.req_base_path)
|
||||
|
||||
def test_create_network_group(self, mreq):
|
||||
def create_network_group(self, mreq, cmd):
|
||||
mreq.post(self.req_base_path)
|
||||
self.execute(['fuel', 'network-group', '--create', '--cidr',
|
||||
'10.0.0.0/24', '--name', 'test network',
|
||||
'--node-group', '1'])
|
||||
self.execute(cmd)
|
||||
|
||||
call_data = mreq.last_request.json()
|
||||
self.assertEqual(1, call_data['group_id'])
|
||||
@@ -58,6 +56,22 @@ class TestNetworkGroupActions(base.UnitTestCase):
|
||||
self.assertEqual(mreq.last_request.method, 'POST')
|
||||
self.assertEqual(mreq.last_request.path, self.req_base_path)
|
||||
|
||||
return call_data
|
||||
|
||||
def test_create_network_group(self, mreq):
|
||||
cmd = ['fuel', 'network-group', '--create', '--cidr', '10.0.0.0/24',
|
||||
'--name', 'test network', '--node-group', '1']
|
||||
self.create_network_group(mreq, cmd)
|
||||
|
||||
def test_create_network_group_w_meta(self, mreq):
|
||||
cmd = ['fuel', 'network-group', '--create', '--cidr', '10.0.0.0/24',
|
||||
'--name', 'test network', '--node-group', '1', '--meta',
|
||||
'{"ip_ranges": ["10.0.0.2", "10.0.0.254"]}']
|
||||
self.create_network_group(mreq, cmd)
|
||||
|
||||
meta = mreq.last_request.json()['meta']
|
||||
self.assertEqual(meta['ip_ranges'], ["10.0.0.2", "10.0.0.254"])
|
||||
|
||||
def test_create_network_group_required_args(self, mreq):
|
||||
with mock.patch("sys.stderr") as m_stderr:
|
||||
with self.assertRaises(SystemExit):
|
||||
|
||||
Reference in New Issue
Block a user