summaryrefslogtreecommitdiffstats
path: root/nova/tests
diff options
context:
space:
mode:
authorBrian Waldon <brian.waldon@rackspace.com>2011-11-07 15:47:09 -0500
committerBrian Waldon <brian.waldon@rackspace.com>2011-11-07 15:47:09 -0500
commiteef2dfa580c1a675efc2af46830547befe89dd0f (patch)
treeddd14381135bd6bae8f901cb92ea92e1fce72840 /nova/tests
parentd90aaaafbc11c8e951ccde27cac11f70ae65c9b2 (diff)
Set task state to UPDATING_PASSWORD when needed
Fixes bug 885389 Change-Id: Ia4b91fc8ccc55cac4f484f64c73398e803480eac
Diffstat (limited to 'nova/tests')
-rw-r--r--nova/tests/test_compute.py29
1 files changed, 29 insertions, 0 deletions
diff --git a/nova/tests/test_compute.py b/nova/tests/test_compute.py
index b235bcade..3ff3bb425 100644
--- a/nova/tests/test_compute.py
+++ b/nova/tests/test_compute.py
@@ -362,7 +362,36 @@ class ComputeTestCase(test.TestCase):
"""Ensure instance can have its admin password set"""
instance_id = self._create_instance()
self.compute.run_instance(self.context, instance_id)
+ db.instance_update(self.context, instance_id,
+ {'task_state': task_states.UPDATING_PASSWORD})
+
+ inst_ref = db.instance_get(self.context, instance_id)
+ self.assertEqual(inst_ref['vm_state'], vm_states.ACTIVE)
+ self.assertEqual(inst_ref['task_state'], task_states.UPDATING_PASSWORD)
+
self.compute.set_admin_password(self.context, instance_id)
+
+ inst_ref = db.instance_get(self.context, instance_id)
+ self.assertEqual(inst_ref['vm_state'], vm_states.ACTIVE)
+ self.assertEqual(inst_ref['task_state'], None)
+
+ self.compute.terminate_instance(self.context, instance_id)
+
+ def test_set_admin_password_api(self):
+ """Ensure instance can have its admin password set"""
+ instance_id = self._create_instance()
+ self.compute.run_instance(self.context, instance_id)
+
+ inst_ref = db.instance_get(self.context, instance_id)
+ self.assertEqual(inst_ref['vm_state'], vm_states.ACTIVE)
+ self.assertEqual(inst_ref['task_state'], None)
+
+ self.compute_api.set_admin_password(self.context, instance_id)
+
+ inst_ref = db.instance_get(self.context, instance_id)
+ self.assertEqual(inst_ref['vm_state'], vm_states.ACTIVE)
+ self.assertEqual(inst_ref['task_state'], task_states.UPDATING_PASSWORD)
+
self.compute.terminate_instance(self.context, instance_id)
def test_inject_file(self):