Removed some un-needed code, and started adding tests for show(), which I forgot\!
This commit is contained in:
		| @@ -13,9 +13,10 @@ | |||||||
| #    License for the specific language governing permissions and limitations | #    License for the specific language governing permissions and limitations | ||||||
| #    under the License. | #    under the License. | ||||||
|  |  | ||||||
| from webob import exc | import webob.exc | ||||||
|  |  | ||||||
| from nova import compute | from nova import compute | ||||||
|  | from nova import exception | ||||||
| from nova import flags | from nova import flags | ||||||
| from nova import utils | from nova import utils | ||||||
| from nova import wsgi | from nova import wsgi | ||||||
| @@ -39,11 +40,6 @@ class Controller(wsgi.Controller): | |||||||
|         }, |         }, | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     _builder_dispatch = { |  | ||||||
|         "1.0": images_view.ViewBuilderV10, |  | ||||||
|         "1.1": images_view.ViewBuilderV11, |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     def __init__(self, image_service=None, compute_service=None): |     def __init__(self, image_service=None, compute_service=None): | ||||||
|         """ |         """ | ||||||
|         Initialize new `ImageController`. |         Initialize new `ImageController`. | ||||||
| @@ -60,7 +56,7 @@ class Controller(wsgi.Controller): | |||||||
|         """ |         """ | ||||||
|         Return an index listing of images available to the request. |         Return an index listing of images available to the request. | ||||||
|  |  | ||||||
|         @param req: `webob.Request` object |         @param req: `wsgi.Request` object | ||||||
|         """ |         """ | ||||||
|         context = req.environ['nova.context'] |         context = req.environ['nova.context'] | ||||||
|         images = self.__image.index(context) |         images = self.__image.index(context) | ||||||
| @@ -71,31 +67,38 @@ class Controller(wsgi.Controller): | |||||||
|         """ |         """ | ||||||
|         Return a detailed index listing of images available to the request. |         Return a detailed index listing of images available to the request. | ||||||
|  |  | ||||||
|         @param req: `webob.Request` object. |         @param req: `wsgi.Request` object. | ||||||
|         """ |         """ | ||||||
|         context = req.environ['nova.context'] |         context = req.environ['nova.context'] | ||||||
|         images = self.__image.detail(context) |         images = self.__image.detail(context) | ||||||
|         build = self.get_builder(req).build |         build = self.get_builder(req).build | ||||||
|         return dict(images=[build(image, True) for image in images]) |         return dict(images=[build(image, True) for image in images]) | ||||||
|  |  | ||||||
|     def show(self, req, image_id): |     def show(self, req, id): | ||||||
|         """ |         """ | ||||||
|         Return detailed information about a specific image. |         Return detailed information about a specific image. | ||||||
|  |  | ||||||
|         @param req: `webob.Request` object |         @param req: `wsgi.Request` object | ||||||
|         @param image_id: Image identifier (integer) |         @param id: Image identifier (integer) | ||||||
|         """ |         """ | ||||||
|  |         image_id = id | ||||||
|         context = req.environ['nova.context'] |         context = req.environ['nova.context'] | ||||||
|         image = self.__image.show(context, image_id) |  | ||||||
|         return self.get_builder().build(req, image, True) |  | ||||||
|  |  | ||||||
|     def delete(self, req, image_id): |         try: | ||||||
|  |             image = self.__image.show(context, image_id) | ||||||
|  |         except exception.NotFound: | ||||||
|  |             raise webob.exc.HTTPNotFound | ||||||
|  |  | ||||||
|  |         return self.get_builder(req).build(image, True) | ||||||
|  |  | ||||||
|  |     def delete(self, req, id): | ||||||
|         """ |         """ | ||||||
|         Delete an image, if allowed. |         Delete an image, if allowed. | ||||||
|  |  | ||||||
|         @param req: `webob.Request` object |         @param req: `wsgi.Request` object | ||||||
|         @param image_id: Image identifier (integer) |         @param id: Image identifier (integer) | ||||||
|         """ |         """ | ||||||
|  |         image_id = id | ||||||
|         context = req.environ['nova.context'] |         context = req.environ['nova.context'] | ||||||
|         self.__image.delete(context, image_id) |         self.__image.delete(context, image_id) | ||||||
|         return exc.HTTPNoContent() |         return exc.HTTPNoContent() | ||||||
| @@ -104,7 +107,7 @@ class Controller(wsgi.Controller): | |||||||
|         """ |         """ | ||||||
|         Snapshot a server instance and save the image. |         Snapshot a server instance and save the image. | ||||||
|  |  | ||||||
|         @param req: `webob.Request` object |         @param req: `wsgi.Request` object | ||||||
|         """ |         """ | ||||||
|         context = req.environ['nova.context'] |         context = req.environ['nova.context'] | ||||||
|         body = req.body |         body = req.body | ||||||
|   | |||||||
| @@ -235,6 +235,67 @@ class ImageControllerWithGlanceServiceTest(test.TestCase): | |||||||
|  |  | ||||||
|         self.assertEqual(len(response_list), len(self.IMAGE_FIXTURES)) |         self.assertEqual(len(response_list), len(self.IMAGE_FIXTURES)) | ||||||
|  |  | ||||||
|  |     def test_get_image(self): | ||||||
|  |         request = webob.Request.blank('/v1.0/images/23g2ogk23k4hhkk4k42l') | ||||||
|  |         response = request.get_response(fakes.wsgi_app()) | ||||||
|  |  | ||||||
|  |         actual_image = json.loads(response.body) | ||||||
|  |  | ||||||
|  |         expected = self.IMAGE_FIXTURES[0] | ||||||
|  |         expected_image = { | ||||||
|  |             "id": expected["id"], | ||||||
|  |             "name": expected["name"], | ||||||
|  |             "updated": expected["updated_at"], | ||||||
|  |             "created": expected["created_at"], | ||||||
|  |             "status": expected["status"], | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         self.assertEqual(expected_image, actual_image) | ||||||
|  |  | ||||||
|  |     def test_get_image_v1_1(self): | ||||||
|  |         request = webob.Request.blank('/v1.1/images/23g2ogk23k4hhkk4k42l') | ||||||
|  |         response = request.get_response(fakes.wsgi_app()) | ||||||
|  |  | ||||||
|  |         actual_image = json.loads(response.body) | ||||||
|  |  | ||||||
|  |         expected = self.IMAGE_FIXTURES[0] | ||||||
|  |         href = "http://localhost/v1.1/images/%s" % expected["id"] | ||||||
|  |  | ||||||
|  |         expected_image = { | ||||||
|  |             "id": expected["id"], | ||||||
|  |             "name": expected["name"], | ||||||
|  |             "updated": expected["updated_at"], | ||||||
|  |             "created": expected["created_at"], | ||||||
|  |             "status": expected["status"], | ||||||
|  |             "links": [{ | ||||||
|  |                 "rel": "self", | ||||||
|  |                 "href": href, | ||||||
|  |             }, | ||||||
|  |             { | ||||||
|  |                 "rel": "bookmark", | ||||||
|  |                 "type": "application/json", | ||||||
|  |                 "href": href, | ||||||
|  |             }, | ||||||
|  |             { | ||||||
|  |                 "rel": "bookmark", | ||||||
|  |                 "type": "application/xml", | ||||||
|  |                 "href": href, | ||||||
|  |             }], | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         self.assertEqual(expected_image, actual_image) | ||||||
|  |  | ||||||
|  |     def test_get_image_404(self): | ||||||
|  |         request = webob.Request.blank('/v1.0/images/NonExistantImage') | ||||||
|  |         response = request.get_response(fakes.wsgi_app()) | ||||||
|  |         self.assertEqual(404, response.status_int) | ||||||
|  |         self.assertEqual("", response.body) | ||||||
|  |  | ||||||
|  |     def test_get_image_v1_1_404(self): | ||||||
|  |         request = webob.Request.blank('/v1.1/images/NonExistantImage') | ||||||
|  |         response = request.get_response(fakes.wsgi_app()) | ||||||
|  |         self.assertEqual(404, response.status_int) | ||||||
|  |  | ||||||
|     def test_get_image_index_v1_1(self): |     def test_get_image_index_v1_1(self): | ||||||
|         request = webob.Request.blank('/v1.1/images') |         request = webob.Request.blank('/v1.1/images') | ||||||
|         response = request.get_response(fakes.wsgi_app()) |         response = request.get_response(fakes.wsgi_app()) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Brian Lamar
					Brian Lamar