Applying fix for bug #814518
Merging from lp:~salvatore-orlando/quantum/bug814518
This commit is contained in:
commit
4f50b13b36
@ -43,7 +43,13 @@ class QuantumController(wsgi.Controller):
|
|||||||
des_body = self._deserialize(req.body,
|
des_body = self._deserialize(req.body,
|
||||||
req.best_match_content_type())
|
req.best_match_content_type())
|
||||||
data = des_body and des_body.get(self._resource_name, None)
|
data = des_body and des_body.get(self._resource_name, None)
|
||||||
param_value = data and data.get(param_name, None)
|
if not data:
|
||||||
|
msg = ("Failed to parse request. Resource: " +
|
||||||
|
self._resource_name + " not found in request body")
|
||||||
|
for line in msg.split('\n'):
|
||||||
|
LOG.error(line)
|
||||||
|
raise exc.HTTPBadRequest(msg)
|
||||||
|
param_value = data.get(param_name, None)
|
||||||
if not param_value:
|
if not param_value:
|
||||||
# 2- parse request headers
|
# 2- parse request headers
|
||||||
# prepend param name with a 'x-' prefix
|
# prepend param name with a 'x-' prefix
|
||||||
|
@ -283,6 +283,21 @@ class APITest(unittest.TestCase):
|
|||||||
self.assertEqual(show_port_res.status_int, 430)
|
self.assertEqual(show_port_res.status_int, 430)
|
||||||
LOG.debug("_test_show_port_portnotfound - format:%s - END", format)
|
LOG.debug("_test_show_port_portnotfound - format:%s - END", format)
|
||||||
|
|
||||||
|
def _test_create_port_noreqbody(self, format):
|
||||||
|
LOG.debug("_test_create_port_noreqbody - format:%s - START", format)
|
||||||
|
content_type = "application/%s" % format
|
||||||
|
network_id = self._create_network(format)
|
||||||
|
port_id = self._create_port(network_id, None, format,
|
||||||
|
custom_req_body='')
|
||||||
|
show_port_req = testlib.show_port_request(self.tenant_id,
|
||||||
|
network_id, port_id, format)
|
||||||
|
show_port_res = show_port_req.get_response(self.api)
|
||||||
|
self.assertEqual(show_port_res.status_int, 200)
|
||||||
|
port_data = self._port_serializer.deserialize(
|
||||||
|
show_port_res.body, content_type)
|
||||||
|
self.assertEqual(port_id, port_data['port']['id'])
|
||||||
|
LOG.debug("_test_create_port_noreqbody - format:%s - END", format)
|
||||||
|
|
||||||
def _test_create_port(self, format):
|
def _test_create_port(self, format):
|
||||||
LOG.debug("_test_create_port - format:%s - START", format)
|
LOG.debug("_test_create_port - format:%s - START", format)
|
||||||
content_type = "application/%s" % format
|
content_type = "application/%s" % format
|
||||||
@ -739,6 +754,12 @@ class APITest(unittest.TestCase):
|
|||||||
def test_create_port_xml(self):
|
def test_create_port_xml(self):
|
||||||
self._test_create_port('xml')
|
self._test_create_port('xml')
|
||||||
|
|
||||||
|
def test_create_port_noreqbody_json(self):
|
||||||
|
self._test_create_port_noreqbody('json')
|
||||||
|
|
||||||
|
def test_create_port_noreqbody_xml(self):
|
||||||
|
self._test_create_port_noreqbody('xml')
|
||||||
|
|
||||||
def test_create_port_networknotfound_json(self):
|
def test_create_port_networknotfound_json(self):
|
||||||
self._test_create_port_networknotfound('json')
|
self._test_create_port_networknotfound('json')
|
||||||
|
|
||||||
|
@ -77,9 +77,10 @@ def new_port_request(tenant_id, network_id, port_state,
|
|||||||
method = 'POST'
|
method = 'POST'
|
||||||
path = "/tenants/%(tenant_id)s/networks/" \
|
path = "/tenants/%(tenant_id)s/networks/" \
|
||||||
"%(network_id)s/ports.%(format)s" % locals()
|
"%(network_id)s/ports.%(format)s" % locals()
|
||||||
data = custom_req_body or {'port': {'port-state': '%s' % port_state}}
|
data = custom_req_body or port_state and \
|
||||||
|
{'port': {'port-state': '%s' % port_state}}
|
||||||
content_type = "application/%s" % format
|
content_type = "application/%s" % format
|
||||||
body = Serializer().serialize(data, content_type)
|
body = data and Serializer().serialize(data, content_type)
|
||||||
return create_request(path, body, content_type, method)
|
return create_request(path, body, content_type, method)
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user