summaryrefslogtreecommitdiffstats
path: root/nova/tests
diff options
context:
space:
mode:
authorEd Leafe <ed@leafe.com>2011-07-07 15:24:12 +0000
committerEd Leafe <ed@leafe.com>2011-07-07 15:24:12 +0000
commit6b83e1cd31f5e138af20fbd5c118d55da092eb35 (patch)
treee58c899c777f117a9c1415720f87973610b45502 /nova/tests
parent9d29dc60d904f2c5037d03cead71933dc62777ff (diff)
Added API and supporting code for rebooting or shutting down XenServer hosts.
Diffstat (limited to 'nova/tests')
-rw-r--r--nova/tests/test_hosts.py32
1 files changed, 28 insertions, 4 deletions
diff --git a/nova/tests/test_hosts.py b/nova/tests/test_hosts.py
index 548f81f8b..5a52e36e2 100644
--- a/nova/tests/test_hosts.py
+++ b/nova/tests/test_hosts.py
@@ -48,6 +48,16 @@ def stub_set_host_enabled(context, host, enabled):
return status
+def stub_set_power_state(context, host, power_state):
+ # We'll simulate success and failure by assuming
+ # that 'host_c1' always succeeds, and 'host_c2'
+ # always fails
+ if host == "host_c1":
+ return power_state
+ else:
+ return "fail"
+
+
class FakeRequest(object):
environ = {"nova.context": context.get_admin_context()}
@@ -62,6 +72,8 @@ class HostTestCase(test.TestCase):
self.stubs.Set(scheduler_api, 'get_host_list', stub_get_host_list)
self.stubs.Set(self.controller.compute_api, 'set_host_enabled',
stub_set_host_enabled)
+ self.stubs.Set(self.controller.compute_api, 'set_power_state',
+ stub_set_power_state)
def test_list_hosts(self):
"""Verify that the compute hosts are returned."""
@@ -87,15 +99,27 @@ class HostTestCase(test.TestCase):
result_c2 = self.controller.update(self.req, "host_c2", body=en_body)
self.assertEqual(result_c2["status"], "disabled")
+ def test_power_state(self):
+ en_body = {"power_state": "reboot"}
+ result_c1 = self.controller.update(self.req, "host_c1", body=en_body)
+ self.assertEqual(result_c1["power_state"], "reboot")
+ result_c2 = self.controller.update(self.req, "host_c2", body=en_body)
+ self.assertEqual(result_c2["power_state"], "fail")
+
+ def test_bad_power_state_value(self):
+ bad_body = {"power_state": "bad"}
+ result = self.controller.update(self.req, "host_c1", body=bad_body)
+ self.assertEqual(str(result.wrapped_exc)[:15], "400 Bad Request")
+
def test_bad_status_value(self):
bad_body = {"status": "bad"}
- self.assertRaises(webob.exc.HTTPBadRequest, self.controller.update,
- self.req, "host_c1", body=bad_body)
+ result = self.controller.update(self.req, "host_c1", body=bad_body)
+ self.assertEqual(str(result.wrapped_exc)[:15], "400 Bad Request")
def test_bad_update_key(self):
bad_body = {"crazy": "bad"}
- self.assertRaises(webob.exc.HTTPBadRequest, self.controller.update,
- self.req, "host_c1", body=bad_body)
+ result = self.controller.update(self.req, "host_c1", body=bad_body)
+ self.assertEqual(str(result.wrapped_exc)[:15], "400 Bad Request")
def test_bad_host(self):
self.assertRaises(exception.HostNotFound, self.controller.update,