)]}'
{"tempest/api/compute/v3/images/test_images.py":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"39e6b0bd916dfbc4284e13d7281405e886f0c8f5","unresolved":false,"context_lines":[{"line_number":54,"context_line":"        for image_id in self.image_ids:"},{"line_number":55,"context_line":"            self.client.delete_image(image_id)"},{"line_number":56,"context_line":"            self.image_ids.remove(image_id)"},{"line_number":57,"context_line":"        super(ImagesTestJSON, self).tearDown()"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    def __create_image__(self, server_id, name, meta\u003dNone):"},{"line_number":60,"context_line":"        resp, body \u003d self.client.create_image(server_id, name, meta)"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAASn%2F%2FEGo%3D","line":57,"updated":"2013-09-12 17:06:04.000000000","message":"I believe we have moved to using addCleanup() calls directly after a resource is created in a test method, instead of manually deleting things like this... would you mind grepping for addCleanup in the code and switching this code to use that strategy for resource management?","commit_id":"93281b3ed9c1c21cfe0ec23101458b6302dea078"},{"author":{"_account_id":5586,"name":"Ivan-Zhu","email":"zhubo198511@gmail.com","username":"ivan-zhu"},"change_message_id":"7ac49372912a78a2b9c003a235eba6079be34399","unresolved":false,"context_lines":[{"line_number":54,"context_line":"        for image_id in self.image_ids:"},{"line_number":55,"context_line":"            self.client.delete_image(image_id)"},{"line_number":56,"context_line":"            self.image_ids.remove(image_id)"},{"line_number":57,"context_line":"        super(ImagesTestJSON, self).tearDown()"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    def __create_image__(self, server_id, name, meta\u003dNone):"},{"line_number":60,"context_line":"        resp, body \u003d self.client.create_image(server_id, name, meta)"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAS3%2F%2Fr4E%3D","line":57,"in_reply_to":"AAAASn%2F%2FEGo%3D","updated":"2013-09-22 02:46:04.000000000","message":"ok, will do it. But it will be done in the part 2 set. this part1 just copied from v2 tests, it\u0027s helpful to review.","commit_id":"93281b3ed9c1c21cfe0ec23101458b6302dea078"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"2d4690fc85ecd1620a38afdfcbd6ecca3c0fc5a5","unresolved":false,"context_lines":[{"line_number":166,"context_line":"    def test_delete_image_id_is_over_35_character_limit(self):"},{"line_number":167,"context_line":"        # Return an error while trying to delete image with id over limit"},{"line_number":168,"context_line":"        self.assertRaises(exceptions.NotFound, self.client.delete_image,"},{"line_number":169,"context_line":"                          \u002711a22b9-120q-5555-cc11-00ab112223gj-3fac\u0027)"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"class ImagesTestXML(ImagesTestJSON):"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAS3%2F%2F%2FCM%3D","line":169,"updated":"2013-09-15 22:36:22.000000000","message":"\"gj\" is not hex, I guess \u002711a22b9-120q-5555-cc11-00ab112223gj-3fac\u0027 should be changed to \u002711a22b9-120q-5555-cc11-00ab112223fa-3fac\u0027.","commit_id":"93281b3ed9c1c21cfe0ec23101458b6302dea078"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"dde7b5a6be3280392177b2217d59e33bfe7ad9ff","unresolved":false,"context_lines":[{"line_number":166,"context_line":"    def test_delete_image_id_is_over_35_character_limit(self):"},{"line_number":167,"context_line":"        # Return an error while trying to delete image with id over limit"},{"line_number":168,"context_line":"        self.assertRaises(exceptions.NotFound, self.client.delete_image,"},{"line_number":169,"context_line":"                          \u002711a22b9-120q-5555-cc11-00ab112223gj-3fac\u0027)"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"class ImagesTestXML(ImagesTestJSON):"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAS3%2F%2F7lI%3D","line":169,"in_reply_to":"AAAAS3%2F%2F%2FCM%3D","updated":"2013-09-17 01:14:38.000000000","message":"This seems an original bug of tempest/api/compute/images/test_images.py, and I have proposed a patch to fix this.\n\nIe1674a540fa540f4d31edccbbeea293a1eb75e6d","commit_id":"93281b3ed9c1c21cfe0ec23101458b6302dea078"},{"author":{"_account_id":5586,"name":"Ivan-Zhu","email":"zhubo198511@gmail.com","username":"ivan-zhu"},"change_message_id":"7ac49372912a78a2b9c003a235eba6079be34399","unresolved":false,"context_lines":[{"line_number":166,"context_line":"    def test_delete_image_id_is_over_35_character_limit(self):"},{"line_number":167,"context_line":"        # Return an error while trying to delete image with id over limit"},{"line_number":168,"context_line":"        self.assertRaises(exceptions.NotFound, self.client.delete_image,"},{"line_number":169,"context_line":"                          \u002711a22b9-120q-5555-cc11-00ab112223gj-3fac\u0027)"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"class ImagesTestXML(ImagesTestJSON):"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAS3%2F%2Fr4Y%3D","line":169,"in_reply_to":"AAAAS3%2F%2F7lI%3D","updated":"2013-09-22 02:46:04.000000000","message":"this file just copied from v2 test. It isn\u0027t synchro. I will update it.","commit_id":"93281b3ed9c1c21cfe0ec23101458b6302dea078"},{"author":{"_account_id":8286,"name":"zhangyanzi","email":"yanzi.zhang@samsung.com","username":"zhangyanzi"},"change_message_id":"4f4438bfcbdaea4a50f73f27b56e0af4903fc7bf","unresolved":false,"context_lines":[{"line_number":103,"context_line":"        self.addCleanup(self.client.delete_image, image[\u0027id\u0027])"},{"line_number":104,"context_line":"        self.assertEqual(snapshot_name, image[\u0027name\u0027])"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    @attr(type\u003d\u0027gate\u0027)"},{"line_number":107,"context_line":"    def test_delete_saving_image(self):"},{"line_number":108,"context_line":"        snapshot_name \u003d rand_name(\u0027test-snap-\u0027)"},{"line_number":109,"context_line":"        resp, server \u003d self.create_server(wait_until\u003d\u0027ACTIVE\u0027)"}],"source_content_type":"text/x-python","patch_set":17,"id":"AAAATn%2F%2FXC0%3D","line":106,"updated":"2013-11-08 08:22:26.000000000","message":"Why not write these tests in two py,such as:test_images.py and  test_images_negative.py","commit_id":"0911194959e0fed555fc62565169431174b4927f"}]}
