diff options
| author | Cerberus <matt.dietz@rackspace.com> | 2011-03-11 17:30:51 -0600 |
|---|---|---|
| committer | Cerberus <matt.dietz@rackspace.com> | 2011-03-11 17:30:51 -0600 |
| commit | 1c4afe23157233b7081872ccbc6ea5fa1ff0015a (patch) | |
| tree | 5df7419df9de6be974abab0c6271bb598928285b | |
| parent | 6cd90a95d632d45d1c906d412e3240f730e88b95 (diff) | |
| download | nova-1c4afe23157233b7081872ccbc6ea5fa1ff0015a.tar.gz nova-1c4afe23157233b7081872ccbc6ea5fa1ff0015a.tar.xz nova-1c4afe23157233b7081872ccbc6ea5fa1ff0015a.zip | |
Some unit tests
| -rw-r--r-- | nova/compute/api.py | 9 | ||||
| -rw-r--r-- | nova/tests/test_compute.py | 24 |
2 files changed, 30 insertions, 3 deletions
diff --git a/nova/compute/api.py b/nova/compute/api.py index 1393c01d5..0dc2bb3d3 100644 --- a/nova/compute/api.py +++ b/nova/compute/api.py @@ -460,10 +460,13 @@ class API(base.Base): def resize(self, context, instance_id, flavor_id): """Resize a running instance.""" instance = self.db.instance_get(context, instance_id) - current_instance_type = self.db.instance_type_get_by_flavor_id( - context, instance['flavor_id']) + current_instance_type = self.db.instance_type_get_by_name( + context, instance['instance_type']) + new_instance_type = self.db.instance_type_get_by_flavor_id( - context, flavor_id) + context, flavor_id) + if not new_instance_type: + raise exception.ApiError(_("Requested flavor does not exist")) if current_instance_type.memory_mb > new_instance_typ.memory_mb: raise exception.ApiError(_("Invalid flavor: cannot downsize" diff --git a/nova/tests/test_compute.py b/nova/tests/test_compute.py index 3d25a8997..c53284216 100644 --- a/nova/tests/test_compute.py +++ b/nova/tests/test_compute.py @@ -287,6 +287,30 @@ class ComputeTestCase(test.TestCase): migration_ref['id']) self.compute.terminate_instance(context, instance_id) + def test_resize_invalid_flavor_fails(self): + """Ensure invalid flavors raise""" + instance_id = self._create_instance() + context = self.context.elevated() + self.compute.run_instance(self.context, instance_id) + + self.assertRaises(exception.ApiError, self.compute_api.resize, + context, instance_id, 200) + + self.compute.terminate_instance(context, instance_id) + + def test_resize_down_fails(self): + """Ensure invalid flavors raise""" + instance_id = self._create_instance() + context = self.context.elevated() + self.compute.run_instance(self.context, instance_id) + db.instance_update(self.context, instance_id, + {'instance_type': 'm1.large'}) + + self.assertRaises(exception.ApiError, self.compute_api.resize, + context, instance_id, 1) + + self.compute.terminate_instance(context, instance_id) + def test_get_by_flavor_id(self): type = instance_types.get_by_flavor_id(1) self.assertEqual(type, 'm1.tiny') |
