diff options
| author | Jay Pipes <jaypipes@gmail.com> | 2012-12-26 14:53:53 -0500 |
|---|---|---|
| committer | Jay Pipes <jaypipes@gmail.com> | 2012-12-26 14:53:53 -0500 |
| commit | fa16f2b68603be04cb5f4e915625181ac6c119eb (patch) | |
| tree | a59e66df652510c156538bbc9b5a8b056d30b00c | |
| parent | 5f697f64e5c445ba1b62c82d9167fd6b9c7256d2 (diff) | |
| download | nova-fa16f2b68603be04cb5f4e915625181ac6c119eb.tar.gz nova-fa16f2b68603be04cb5f4e915625181ac6c119eb.tar.xz nova-fa16f2b68603be04cb5f4e915625181ac6c119eb.zip | |
Remove improper NotFound except block in list servers
Added a couple tests to verify that NotFound was actually
never raised when no results are returned from list servers
or list servers details, and then removed the except blocks
from the controller.
Change-Id: I36856066b9e4c4e3f7b85ddf8facb35204034838
fixes: lp bug #1089385
| -rw-r--r-- | nova/api/openstack/compute/servers.py | 6 | ||||
| -rw-r--r-- | nova/tests/api/openstack/compute/test_servers.py | 24 |
2 files changed, 24 insertions, 6 deletions
diff --git a/nova/api/openstack/compute/servers.py b/nova/api/openstack/compute/servers.py index a62740681..c36d53993 100644 --- a/nova/api/openstack/compute/servers.py +++ b/nova/api/openstack/compute/servers.py @@ -452,9 +452,6 @@ class Controller(wsgi.Controller): servers = self._get_servers(req, is_detail=False) except exception.Invalid as err: raise exc.HTTPBadRequest(explanation=str(err)) - except exception.NotFound: - msg = _("Instance could not be found") - raise exc.HTTPNotFound(explanation=msg) return servers @wsgi.serializers(xml=ServersTemplate) @@ -464,9 +461,6 @@ class Controller(wsgi.Controller): servers = self._get_servers(req, is_detail=True) except exception.Invalid as err: raise exc.HTTPBadRequest(explanation=str(err)) - except exception.NotFound as err: - msg = _("Instance could not be found") - raise exc.HTTPNotFound(explanation=msg) return servers def _add_instance_faults(self, ctxt, instances): diff --git a/nova/tests/api/openstack/compute/test_servers.py b/nova/tests/api/openstack/compute/test_servers.py index 15be74d15..38954ec43 100644 --- a/nova/tests/api/openstack/compute/test_servers.py +++ b/nova/tests/api/openstack/compute/test_servers.py @@ -77,6 +77,10 @@ def return_servers_by_reservation(context, reservation_id=""): reservation_id=reservation_id) for i in xrange(5)] +def return_servers_empty(context, *args, **kwargs): + return [] + + def return_servers_by_reservation_empty(context, reservation_id=""): return [] @@ -527,6 +531,16 @@ class ServersControllerTest(test.TestCase): self.assertRaises(webob.exc.HTTPNotFound, self.ips_controller.index, req, server_id) + def test_get_server_list_empty(self): + self.stubs.Set(db, 'instance_get_all_by_filters', + return_servers_empty) + + req = fakes.HTTPRequest.blank('/v2/fake/servers') + res_dict = self.controller.index(req) + + num_servers = len(res_dict['servers']) + self.assertEqual(0, num_servers) + def test_get_server_list_with_reservation_id(self): self.stubs.Set(db, 'instance_get_all_by_reservation', return_servers_by_reservation) @@ -610,6 +624,16 @@ class ServersControllerTest(test.TestCase): self.assertRaises(webob.exc.HTTPBadRequest, self.controller.index, req) + def test_get_server_details_empty(self): + self.stubs.Set(db, 'instance_get_all_by_filters', + return_servers_empty) + + req = fakes.HTTPRequest.blank('/v2/fake/servers/detail') + res_dict = self.controller.index(req) + + num_servers = len(res_dict['servers']) + self.assertEqual(0, num_servers) + def test_get_server_details_with_limit(self): req = fakes.HTTPRequest.blank('/v2/fake/servers/detail?limit=3') res = self.controller.detail(req) |
