From 574166045c6d4b7d8f5e2afeaa6d13aabf03bdb0 Mon Sep 17 00:00:00 2001 From: Brian Waldon Date: Thu, 10 Nov 2011 17:15:28 -0500 Subject: Converting rescue/unrescue to use instance objects Related to blueprint internal-uuids Change-Id: If256d9a1251e780ff044bd87e0805c9f511c05e9 --- nova/tests/api/openstack/contrib/test_rescue.py | 10 ++++++++-- nova/tests/test_compute.py | 25 +++++++++++++++++++++++++ 2 files changed, 33 insertions(+), 2 deletions(-) (limited to 'nova/tests') diff --git a/nova/tests/api/openstack/contrib/test_rescue.py b/nova/tests/api/openstack/contrib/test_rescue.py index 403bcfd4c..f5b69865c 100644 --- a/nova/tests/api/openstack/contrib/test_rescue.py +++ b/nova/tests/api/openstack/contrib/test_rescue.py @@ -23,17 +23,23 @@ from nova.tests.api.openstack import fakes FLAGS = flags.FLAGS -def rescue(self, context, instance_id, rescue_password=None): +def rescue(self, context, instance, rescue_password=None): pass -def unrescue(self, context, instance_id): +def unrescue(self, context, instance): pass class RescueTest(test.TestCase): def setUp(self): super(RescueTest, self).setUp() + + def fake_compute_get(*args, **kwargs): + uuid = '70f6db34-de8d-4fbd-aafb-4065bdfa6114' + return {'id': 1, 'uuid': uuid} + + self.stubs.Set(compute.api.API, "get", fake_compute_get) self.stubs.Set(compute.api.API, "rescue", rescue) self.stubs.Set(compute.api.API, "unrescue", unrescue) diff --git a/nova/tests/test_compute.py b/nova/tests/test_compute.py index f99927909..6f4d09d5c 100644 --- a/nova/tests/test_compute.py +++ b/nova/tests/test_compute.py @@ -1190,6 +1190,31 @@ class ComputeAPITestCase(BaseTestCase): self.compute.terminate_instance(self.context, instance_id) + def test_rescue_unrescue(self): + 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.rescue(self.context, inst_ref) + + 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.RESCUING) + + params = {'vm_state': vm_states.RESCUED, 'task_state': None} + db.instance_update(self.context, instance_id, params) + + self.compute_api.unrescue(self.context, inst_ref) + + inst_ref = db.instance_get(self.context, instance_id) + self.assertEqual(inst_ref['vm_state'], vm_states.RESCUED) + self.assertEqual(inst_ref['task_state'], task_states.UNRESCUING) + + self.compute.terminate_instance(self.context, instance_id) + def test_snapshot(self): """Can't backup an instance which is already being backed up.""" instance_id = self._create_instance() -- cgit