summaryrefslogtreecommitdiffstats
path: root/nova/tests
diff options
context:
space:
mode:
authorEd Leafe <ed@leafe.com>2011-01-07 07:28:30 -0600
committerEd Leafe <ed@leafe.com>2011-01-07 07:28:30 -0600
commitb024dcf6f0c1e5a2735e84d21d6edef5ff38d1cf (patch)
tree72a98ad437b83e6f24e0848739f5502c52dacdae /nova/tests
parente66f3017373dcf9135c53ae4d510b0b2a5dcecf0 (diff)
parente33102d23ec8f357c08e2583f8d9e3c1753bab4d (diff)
downloadnova-b024dcf6f0c1e5a2735e84d21d6edef5ff38d1cf.tar.gz
nova-b024dcf6f0c1e5a2735e84d21d6edef5ff38d1cf.tar.xz
nova-b024dcf6f0c1e5a2735e84d21d6edef5ff38d1cf.zip
merged changes from trunk
Diffstat (limited to 'nova/tests')
-rw-r--r--nova/tests/test_compute.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/nova/tests/test_compute.py b/nova/tests/test_compute.py
index 31e251d5e..41900a2db 100644
--- a/nova/tests/test_compute.py
+++ b/nova/tests/test_compute.py
@@ -185,3 +185,22 @@ class ComputeTestCase(test.TestCase):
self.context,
instance_id)
self.compute.terminate_instance(self.context, instance_id)
+
+ def test_lock(self):
+ """ensure locked instance cannot be changed"""
+ instance_id = self._create_instance()
+ self.compute.run_instance(self.context, instance_id)
+
+ non_admin_context = context.RequestContext(None, None, False, False)
+
+ # decorator should return False (fail) with locked nonadmin context
+ self.compute.lock_instance(self.context, instance_id)
+ ret_val = self.compute.reboot_instance(non_admin_context, instance_id)
+ self.assertEqual(ret_val, False)
+
+ # decorator should return None (success) with unlocked nonadmin context
+ self.compute.unlock_instance(self.context, instance_id)
+ ret_val = self.compute.reboot_instance(non_admin_context, instance_id)
+ self.assertEqual(ret_val, None)
+
+ self.compute.terminate_instance(self.context, instance_id)