summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorUnmesh Gurjar <unmesh.gurjar@vertex.co.in>2012-03-22 11:19:45 +0530
committerUnmesh Gurjar <unmesh.gurjar@vertex.co.in>2012-03-22 11:23:12 +0530
commitb15bfc2edd5d3dd0dca805786bdcf22d3fb0339d (patch)
treebb1ab2547b0dd05e678e2270e20314d67512247f
parent66e152f718f227ebb830fd325685103c50234d99 (diff)
downloadnova-b15bfc2edd5d3dd0dca805786bdcf22d3fb0339d.tar.gz
nova-b15bfc2edd5d3dd0dca805786bdcf22d3fb0339d.tar.xz
nova-b15bfc2edd5d3dd0dca805786bdcf22d3fb0339d.zip
Fixed status validation. Fixes bug 960884.
Fixed the status value validation in os-hosts extension and added a negative scenario in unit test for os-hosts extension. Change-Id: Ib4166757561e531494a1a4d3070d7c8971b57dc5
-rw-r--r--nova/api/openstack/compute/contrib/hosts.py2
-rw-r--r--nova/tests/api/openstack/compute/contrib/test_hosts.py3
2 files changed, 4 insertions, 1 deletions
diff --git a/nova/api/openstack/compute/contrib/hosts.py b/nova/api/openstack/compute/contrib/hosts.py
index 93e0dd983..a93da9e01 100644
--- a/nova/api/openstack/compute/contrib/hosts.py
+++ b/nova/api/openstack/compute/contrib/hosts.py
@@ -138,7 +138,7 @@ class HostController(object):
key = raw_key.lower().strip()
val = raw_val.lower().strip()
if key == "status":
- if val[:6] in ("enable", "disabl"):
+ if val in ("enable", "disable"):
update_values['status'] = val.startswith("enable")
else:
explanation = _("Invalid status: '%s'") % raw_val
diff --git a/nova/tests/api/openstack/compute/contrib/test_hosts.py b/nova/tests/api/openstack/compute/contrib/test_hosts.py
index 76eb77e56..77beeae8c 100644
--- a/nova/tests/api/openstack/compute/contrib/test_hosts.py
+++ b/nova/tests/api/openstack/compute/contrib/test_hosts.py
@@ -159,6 +159,9 @@ class HostTestCase(test.TestCase):
bad_body = {"status": "bad"}
self.assertRaises(webob.exc.HTTPBadRequest, self.controller.update,
self.req, "host_c1", body=bad_body)
+ bad_body2 = {"status": "disablabc"}
+ self.assertRaises(webob.exc.HTTPBadRequest, self.controller.update,
+ self.req, "host_c1", body=bad_body2)
def test_bad_update_key(self):
bad_body = {"crazy": "bad"}